26 lines
1.1 KiB
TypeScript
26 lines
1.1 KiB
TypeScript
import { FileHelper, z } from '@start9labs/start-sdk'
|
|
import { sdk } from '../sdk'
|
|
|
|
const shape = z.object({
|
|
// Nostr operator keypair — generated once in init, or replaced via the
|
|
// "Import Operator Key" action. SpacesOps signs operator events with it.
|
|
operatorSecretHex: z.string().nullable().catch(null),
|
|
operatorPublicHex: z.string().nullable().catch(null),
|
|
// Strong replacement for the app's weak hardcoded session secret.
|
|
sessionSecret: z.string().nullable().catch(null),
|
|
// Optional config set via the "Configure Platform" action.
|
|
platformMode: z.enum(['prod', 'test']).nullable().catch(null),
|
|
operatorRelay: z.string().nullable().catch(null),
|
|
coingeckoApiKey: z.string().nullable().catch(null),
|
|
coingeckoTokenCoins: z.string().nullable().catch(null),
|
|
subsUrl: z.string().nullable().catch(null),
|
|
subsUser: z.string().nullable().catch(null),
|
|
subsPassword: z.string().nullable().catch(null),
|
|
platformCallbackHost: z.string().nullable().catch(null),
|
|
})
|
|
|
|
export const storeJson = FileHelper.json(
|
|
{ base: sdk.volumes.main, subpath: 'store.json' },
|
|
shape,
|
|
)
|