1
0
mirror of https://github.com/Unleash/unleash.git synced 2024-11-01 19:07:38 +01:00
unleash.unleash/src/lib/openapi/spec/feature-strategy-schema.ts

48 lines
1.1 KiB
TypeScript

import { FromSchema } from 'json-schema-to-ts';
import { constraintSchema } from './constraint-schema';
import { parametersSchema } from './parameters-schema';
export const featureStrategySchema = {
$id: '#/components/schemas/featureStrategySchema',
type: 'object',
additionalProperties: false,
required: ['name'],
properties: {
id: {
type: 'string',
},
name: {
type: 'string',
},
featureName: {
type: 'string',
},
sortOrder: {
type: 'number',
},
segments: {
type: 'array',
items: {
type: 'number',
},
},
constraints: {
type: 'array',
items: {
$ref: '#/components/schemas/constraintSchema',
},
},
parameters: {
$ref: '#/components/schemas/parametersSchema',
},
},
components: {
schemas: {
constraintSchema,
parametersSchema,
},
},
} as const;
export type FeatureStrategySchema = FromSchema<typeof featureStrategySchema>;