import { z } from 'zod'
import { MicroDynamicConfigsServer } from '@hile/micro-dynamic-configs'
const schema = z.object({
featureCheckout: z.boolean().default(false),
maxRetries: z.number().int().min(1).max(10).default(3),
})
const configs = new MicroDynamicConfigsServer({
app,
redis,
schema,
redis_key: 'configs:checkout',
})
const cleanup = await configs.initialize()
shutdown(cleanup)
configs.on('change:featureCheckout', (next, previous) => {
logger.info({ previous, next }, 'featureCheckout changed')
})
await configs.save({ featureCheckout: true })