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
@@ -0,0 +1,31 @@
'use strict'
const tap = require('tap')
const { createCopier } = require('fast-copy')
const fastCopy = createCopier({})
const deleteLogProperty = require('./delete-log-property')
const logData = {
level: 30,
data1: {
data2: { 'data-3': 'bar' }
}
}
tap.test('deleteLogProperty deletes property of depth 1', async t => {
const log = fastCopy(logData)
deleteLogProperty(log, 'data1')
t.same(log, { level: 30 })
})
tap.test('deleteLogProperty deletes property of depth 2', async t => {
const log = fastCopy(logData)
deleteLogProperty(log, 'data1.data2')
t.same(log, { level: 30, data1: { } })
})
tap.test('deleteLogProperty deletes property of depth 3', async t => {
const log = fastCopy(logData)
deleteLogProperty(log, 'data1.data2.data-3')
t.same(log, { level: 30, data1: { data2: { } } })
})