1
0
mirror of https://github.com/Unleash/unleash.git synced 2025-01-06 00:07:44 +01:00
unleash.unleash/src/lib/openapi/spec/admin-strategies-schema.ts
Ivar Conradi Østhus 013efac46b
feat: open-source segments 🚀 (#4690)
We love all open-source Unleash users. in 2022 we built the [segment
capability](https://docs.getunleash.io/reference/segments) (v4.13) as an
enterprise feature, simplify life for our customers.

Now it is time to contribute it to the world 🌏

---------

Co-authored-by: Thomas Heartman <thomas@getunleash.io>
2023-09-19 11:24:26 +00:00

59 lines
2.0 KiB
TypeScript

import { FromSchema } from 'json-schema-to-ts';
export const segmentStrategiesSchema = {
$id: '#/components/schemas/segmentStrategiesSchema',
type: 'object',
required: ['strategies'],
description: 'A collection of strategies belonging to a specified segment.',
properties: {
strategies: {
description: 'The list of strategies',
type: 'array',
items: {
type: 'object',
required: [
'id',
'featureName',
'projectId',
'environment',
'strategyName',
],
properties: {
id: {
type: 'string',
description: 'The ID of the strategy',
example: 'e465c813-cffb-4232-b184-82b1d6fe9d3d',
},
featureName: {
type: 'string',
description: 'The ID of the strategy',
example: 'new-signup-flow',
},
projectId: {
type: 'string',
description:
'The ID of the project that the strategy belongs to.',
example: 'red-vista',
},
environment: {
type: 'string',
description:
'The ID of the environment that the strategy belongs to.',
example: 'development',
},
strategyName: {
type: 'string',
description: "The name of the strategy's type.",
example: 'flexibleRollout',
},
},
},
},
},
components: {},
} as const;
export type SegmentStrategiesSchema = FromSchema<
typeof segmentStrategiesSchema
>;