mirror of
https://github.com/Unleash/unleash.git
synced 2025-01-25 00:07:47 +01:00
3fb00b281c
This PR changes the OpenAPI schema for the advanced playground to not accept empty lists of environments and to not accept environment names that don't match the env name pattern we use. The pattern is the same as the one we use for controlling environment names on creation. However, there is a (small) chance that these may get out of sync later, so we could do something to only define this pattern once (and import it in the enterprise package), but that may be more work than is necessary, and I'd suggest we do that later. I've also added a minLength to the string items although it isn't strictly necessary. It's primarily to give the users better feedback if the name is empty.
53 lines
1.6 KiB
TypeScript
53 lines
1.6 KiB
TypeScript
import { FromSchema } from 'json-schema-to-ts';
|
|
import { ALL } from '../../types/models/api-token';
|
|
import { sdkContextSchema } from './sdk-context-schema';
|
|
|
|
export const advancedPlaygroundRequestSchema = {
|
|
$id: '#/components/schemas/advancedPlaygroundRequestSchema',
|
|
description:
|
|
'Data for the playground API to evaluate toggles in advanced mode with environment and context multi selection',
|
|
type: 'object',
|
|
required: ['environments', 'context'],
|
|
properties: {
|
|
environments: {
|
|
type: 'array',
|
|
items: {
|
|
type: 'string',
|
|
minLength: 1,
|
|
pattern: '^[a-zA-Z0-9~_.-]+$',
|
|
},
|
|
minItems: 1,
|
|
example: ['development', 'production'],
|
|
description: 'The environments to evaluate toggles in.',
|
|
},
|
|
projects: {
|
|
description: 'A list of projects to check for toggles in.',
|
|
oneOf: [
|
|
{
|
|
type: 'array',
|
|
items: { type: 'string' },
|
|
example: ['my-project'],
|
|
description: 'A list of projects to check for toggles in.',
|
|
},
|
|
{
|
|
type: 'string',
|
|
enum: [ALL],
|
|
description: 'Check toggles in all projects.',
|
|
},
|
|
],
|
|
},
|
|
context: {
|
|
$ref: sdkContextSchema.$id,
|
|
},
|
|
},
|
|
components: {
|
|
schemas: {
|
|
sdkContextSchema,
|
|
},
|
|
},
|
|
} as const;
|
|
|
|
export type AdvancedPlaygroundRequestSchema = FromSchema<
|
|
typeof advancedPlaygroundRequestSchema
|
|
>;
|