unleash-server
Version:
Unleash is an enterprise ready feature flag service. It provides different strategies for handling feature flags.
72 lines • 3.09 kB
JavaScript
export const createStrategySchema = {
$id: '#/components/schemas/createStrategySchema',
type: 'object',
description: 'The data required to create a strategy type. Refer to the docs on [custom strategy types](https://docs.getunleash.io/concepts/activation-strategies#custom-strategies) for more information.',
required: ['name', 'parameters'],
properties: {
name: {
type: 'string',
description: 'The name of the strategy type. Must be unique.',
example: 'my-custom-strategy',
},
title: {
type: 'string',
description: 'The title of the strategy',
example: 'My awesome strategy',
},
description: {
type: 'string',
description: 'A description of the strategy type.',
example: 'Enable the feature for users who have not logged in before.',
},
editable: {
type: 'boolean',
description: 'Whether the strategy type is editable or not. Defaults to `true`.',
example: false,
},
deprecated: {
type: 'boolean',
description: 'Whether the strategy type is deprecated or not. Defaults to `false`.',
example: true,
},
parameters: {
type: 'array',
description: 'The parameter list lets you pass arguments to your custom activation strategy. These will be made available to your custom strategy implementation.',
items: {
type: 'object',
required: ['name', 'type'],
properties: {
name: {
type: 'string',
description: 'The name of the parameter',
example: 'Rollout percentage',
},
type: {
type: 'string',
description: 'The [type of the parameter](https://docs.getunleash.io/concepts/activation-strategies#parameters)',
enum: [
'string',
'percentage',
'list',
'number',
'boolean',
],
example: 'percentage',
},
description: {
type: 'string',
description: 'A description of this strategy parameter. Use this to indicate to the users what the parameter does.',
example: 'How many percent of users should see this feature?',
},
required: {
type: 'boolean',
description: 'Whether this parameter must be configured when using the strategy. Defaults to `false`',
example: false,
},
},
},
},
},
components: {},
};
//# sourceMappingURL=create-strategy-schema.js.map