dev-api: add developer portal, OpenAPI spec, and Flatenbadet case study

- New /developers/ page with API docs, SDKs, pricing, use cases
- OpenAPI 3.0 spec for Orders, Missions, Photos, Analytics
- Case study: Glasskiosken i Flatenbadet — complete ROI analysis
- Updated /order/ with recurring missions and frequency dropdown
This commit is contained in:
Bernt
2026-07-14 15:27:33 +00:00
parent 3c522e39f0
commit 1a12fb870b
6296 changed files with 911440 additions and 55607 deletions
+35
View File
@@ -0,0 +1,35 @@
'use strict'
process.env.TZ = 'UTC'
const test = require('tap').test
const _prettyFactory = require('../').prettyFactory
function prettyFactory (opts) {
if (!opts) {
opts = { colorize: false }
} else if (!Object.prototype.hasOwnProperty.call(opts, 'colorize')) {
opts.colorize = false
}
return _prettyFactory(opts)
}
const logLine = '{"level":30,"time":1522431328992,"msg":"hello world","pid":42,"hostname":"foo"}\n'
test('crlf', (t) => {
t.test('uses LF by default', (t) => {
t.plan(1)
const pretty = prettyFactory()
const formatted = pretty(logLine)
t.equal(formatted.substr(-2), 'd\n')
})
t.test('can use CRLF', (t) => {
t.plan(1)
const pretty = prettyFactory({ crlf: true })
const formatted = pretty(logLine)
t.equal(formatted.substr(-3), 'd\r\n')
})
t.end()
})