mirror of
https://github.com/Unleash/unleash.git
synced 2025-01-25 00:07:47 +01:00
docs: prep to add OpenAPI spec to Unleash docs (#1907)
* Docs: start experimenting with OpenAPI and docusaurus * Docs: add docusaurus-theme-openapi-docs pkg * Wip: current status * Docs: Add 'docusaurus-plugin-api-docs' * Move openapi into own sidebar; generate from localhost * Chore: Update docusaurus plugin for OpenAPI * Add website/yarn.lock to git * Fix: fix CSS warning by using flex-end instead of end * docs: make openapi generated code work again * docs: make tags work properly with openapi sidebar * Docs/chore: update OpenAPI tag scheme. Add a whole bunch of new tags to make it easier to understand available tags in OpenAPI. * docs: point to new openapi docs from old api docs * docs: typo * Docs: link restructure * docs: add operation indicators to openapi docs * docs: change badge color for operations * docs: update openapi-docs package It now sorts tags the same as the schema * docs: pluralize APIs in slug * docs: update links to generated api docs * docs: update openapi snapshot tests with new tags * docs: conditionally load spec from localhost or from file * docs: Remove changes relating to immediate switchover * refactor: rename types; extract into separate file * docs: fix api doc links
This commit is contained in:
parent
a7d575061e
commit
9448461aaa
2
.gitignore
vendored
2
.gitignore
vendored
@ -50,10 +50,8 @@ package-lock.json
|
||||
/website/build
|
||||
/website/backers.json
|
||||
/website/node_modules
|
||||
/website/yarn.lock
|
||||
/website/translated_docs
|
||||
/website/i18n/*
|
||||
.env
|
||||
|
||||
#report.json
|
||||
|
||||
|
@ -104,6 +104,7 @@ import { groupSchema } from './spec/group-schema';
|
||||
import { groupsSchema } from './spec/groups-schema';
|
||||
import { groupUserModelSchema } from './spec/group-user-model-schema';
|
||||
import { usersGroupsBaseSchema } from './spec/users-groups-base-schema';
|
||||
import { openApiTags } from './util/openapi-tags';
|
||||
import { searchEventsSchema } from './spec/search-events-schema';
|
||||
|
||||
// All schemas in `openapi/spec` should be listed here.
|
||||
@ -271,5 +272,6 @@ export const createOpenApiSchema = ({
|
||||
},
|
||||
schemas: mapValues(schemas, removeJsonSchemaProps),
|
||||
},
|
||||
tags: openApiTags,
|
||||
};
|
||||
};
|
||||
|
@ -1,6 +1,7 @@
|
||||
import { OpenAPIV3 } from 'openapi-types';
|
||||
import { OpenApiTag } from './openapi-tags';
|
||||
|
||||
export interface ApiOperation<Tag = 'admin' | 'client' | 'auth' | 'other'>
|
||||
export interface ApiOperation<Tag = OpenApiTag>
|
||||
extends Omit<OpenAPIV3.OperationObject, 'tags'> {
|
||||
operationId: string;
|
||||
tags: [Tag];
|
||||
|
82
src/lib/openapi/util/openapi-tags.ts
Normal file
82
src/lib/openapi/util/openapi-tags.ts
Normal file
@ -0,0 +1,82 @@
|
||||
const OPENAPI_TAGS = [
|
||||
{
|
||||
name: 'Addons',
|
||||
description:
|
||||
'Create, update, and delete [Unleash addons](https://docs.getunleash.io/addons).',
|
||||
},
|
||||
{ name: 'Admin UI', description: 'Configure the Unleash Admin UI.' },
|
||||
{
|
||||
name: 'API tokens',
|
||||
description:
|
||||
'Create, update, and delete [Unleash API tokens](https://docs.getunleash.io/reference/api-tokens-and-client-keys).',
|
||||
},
|
||||
{
|
||||
name: 'Archive',
|
||||
description:
|
||||
'Revive or permanently delete [archived feature toggles](https://docs.getunleash.io/advanced/archived_toggles).',
|
||||
},
|
||||
{ name: 'Auth', description: 'Manage logins, passwords, etc.' },
|
||||
{
|
||||
name: 'Client',
|
||||
description:
|
||||
'Endpoints for [Unleash server-side clients](https://docs.getunleash.io/sdks).',
|
||||
},
|
||||
{
|
||||
name: 'Context',
|
||||
description:
|
||||
'Create, update, and delete [context fields](https://docs.getunleash.io/user_guide/unleash_context) that Unleash is aware of.',
|
||||
},
|
||||
{
|
||||
name: 'Environments',
|
||||
description:
|
||||
'Create, update, delete, enable or disable [environments](https://docs.getunleash.io/user_guide/environments) for this Unleash instance.',
|
||||
},
|
||||
{ name: 'Events', description: 'Read events from this Unleash instance.' },
|
||||
{
|
||||
name: 'Features',
|
||||
description:
|
||||
'Create, update, and delete [features toggles](https://docs.getunleash.io/reference/feature-toggles).',
|
||||
},
|
||||
{
|
||||
name: 'Import/Export',
|
||||
description:
|
||||
'[Import and export](https://docs.getunleash.io/deploy/import_export) the state of your Unleash instance.',
|
||||
},
|
||||
{
|
||||
name: 'Metrics',
|
||||
description: 'Register, read, or delete metrics recorded by Unleash.',
|
||||
},
|
||||
{
|
||||
name: 'Operational',
|
||||
description:
|
||||
'Endpoints related to the operational status of this Unleash instance.',
|
||||
},
|
||||
{
|
||||
name: 'Playground',
|
||||
description:
|
||||
'Evaluate an Unleash context against your feature toggles.',
|
||||
},
|
||||
{
|
||||
name: 'Projects',
|
||||
description:
|
||||
'Create, update, and delete [Unleash projects](https://docs.getunleash.io/user_guide/projects).',
|
||||
},
|
||||
{
|
||||
name: 'Strategies',
|
||||
description:
|
||||
'Create, update, delete, manage [custom strategies](https://docs.getunleash.io/advanced/custom_activation_strategy).',
|
||||
},
|
||||
{
|
||||
name: 'Tags',
|
||||
description:
|
||||
'Create, update, and delete [tags and tag types](https://docs.getunleash.io/advanced/tags).',
|
||||
},
|
||||
{ name: 'Users', description: 'Manage users and passwords.' },
|
||||
] as const;
|
||||
|
||||
// make the export mutable, so it can be used in a schema
|
||||
export const openApiTags = [...OPENAPI_TAGS].sort((a, b) =>
|
||||
a.name.localeCompare(b.name),
|
||||
);
|
||||
|
||||
export type OpenApiTag = typeof OPENAPI_TAGS[number]['name'];
|
@ -47,7 +47,7 @@ class AddonController extends Controller {
|
||||
handler: this.getAddons,
|
||||
middleware: [
|
||||
openApiService.validPath({
|
||||
tags: ['admin'],
|
||||
tags: ['Addons'],
|
||||
operationId: 'getAddons',
|
||||
responses: {
|
||||
200: createResponseSchema('addonsSchema'),
|
||||
@ -63,7 +63,7 @@ class AddonController extends Controller {
|
||||
permission: CREATE_ADDON,
|
||||
middleware: [
|
||||
openApiService.validPath({
|
||||
tags: ['admin'],
|
||||
tags: ['Addons'],
|
||||
operationId: 'createAddon',
|
||||
requestBody: createRequestSchema('addonSchema'),
|
||||
responses: { 200: createResponseSchema('addonSchema') },
|
||||
@ -78,7 +78,7 @@ class AddonController extends Controller {
|
||||
permission: NONE,
|
||||
middleware: [
|
||||
openApiService.validPath({
|
||||
tags: ['admin'],
|
||||
tags: ['Addons'],
|
||||
operationId: 'getAddon',
|
||||
responses: { 200: createResponseSchema('addonSchema') },
|
||||
}),
|
||||
@ -92,7 +92,7 @@ class AddonController extends Controller {
|
||||
permission: UPDATE_ADDON,
|
||||
middleware: [
|
||||
openApiService.validPath({
|
||||
tags: ['admin'],
|
||||
tags: ['Addons'],
|
||||
operationId: 'updateAddon',
|
||||
requestBody: createRequestSchema('addonSchema'),
|
||||
responses: { 200: createResponseSchema('addonSchema') },
|
||||
@ -108,7 +108,7 @@ class AddonController extends Controller {
|
||||
permission: DELETE_ADDON,
|
||||
middleware: [
|
||||
openApiService.validPath({
|
||||
tags: ['admin'],
|
||||
tags: ['Addons'],
|
||||
operationId: 'deleteAddon',
|
||||
responses: { 200: emptyResponse },
|
||||
}),
|
||||
|
@ -68,7 +68,7 @@ export class ApiTokenController extends Controller {
|
||||
permission: READ_API_TOKEN,
|
||||
middleware: [
|
||||
openApiService.validPath({
|
||||
tags: ['admin'],
|
||||
tags: ['API tokens'],
|
||||
operationId: 'getAllApiTokens',
|
||||
responses: {
|
||||
200: createResponseSchema('apiTokensSchema'),
|
||||
@ -84,7 +84,7 @@ export class ApiTokenController extends Controller {
|
||||
permission: CREATE_API_TOKEN,
|
||||
middleware: [
|
||||
openApiService.validPath({
|
||||
tags: ['admin'],
|
||||
tags: ['API tokens'],
|
||||
operationId: 'createApiToken',
|
||||
requestBody: createRequestSchema('createApiTokenSchema'),
|
||||
responses: {
|
||||
@ -101,7 +101,7 @@ export class ApiTokenController extends Controller {
|
||||
permission: UPDATE_API_TOKEN,
|
||||
middleware: [
|
||||
openApiService.validPath({
|
||||
tags: ['admin'],
|
||||
tags: ['API tokens'],
|
||||
operationId: 'updateApiToken',
|
||||
requestBody: createRequestSchema('updateApiTokenSchema'),
|
||||
responses: {
|
||||
@ -119,7 +119,7 @@ export class ApiTokenController extends Controller {
|
||||
permission: DELETE_API_TOKEN,
|
||||
middleware: [
|
||||
openApiService.validPath({
|
||||
tags: ['admin'],
|
||||
tags: ['API tokens'],
|
||||
operationId: 'deleteApiToken',
|
||||
responses: {
|
||||
200: emptyResponse,
|
||||
|
@ -42,7 +42,7 @@ export default class ArchiveController extends Controller {
|
||||
permission: NONE,
|
||||
middleware: [
|
||||
openApiService.validPath({
|
||||
tags: ['admin'],
|
||||
tags: ['Archive'],
|
||||
operationId: 'getArchivedFeatures',
|
||||
responses: { 200: createResponseSchema('featuresSchema') },
|
||||
deprecated: true,
|
||||
@ -57,7 +57,7 @@ export default class ArchiveController extends Controller {
|
||||
permission: NONE,
|
||||
middleware: [
|
||||
openApiService.validPath({
|
||||
tags: ['admin'],
|
||||
tags: ['Archive'],
|
||||
operationId: 'getArchivedFeaturesByProjectId',
|
||||
responses: { 200: createResponseSchema('featuresSchema') },
|
||||
deprecated: true,
|
||||
@ -73,7 +73,7 @@ export default class ArchiveController extends Controller {
|
||||
permission: DELETE_FEATURE,
|
||||
middleware: [
|
||||
openApiService.validPath({
|
||||
tags: ['admin'],
|
||||
tags: ['Archive'],
|
||||
operationId: 'deleteFeature',
|
||||
responses: { 200: emptyResponse },
|
||||
}),
|
||||
@ -88,7 +88,7 @@ export default class ArchiveController extends Controller {
|
||||
permission: UPDATE_FEATURE,
|
||||
middleware: [
|
||||
openApiService.validPath({
|
||||
tags: ['admin'],
|
||||
tags: ['Archive'],
|
||||
operationId: 'reviveFeature',
|
||||
responses: { 200: emptyResponse },
|
||||
}),
|
||||
|
@ -57,7 +57,7 @@ class ClientMetricsController extends Controller {
|
||||
middleware: [
|
||||
openApiService.validPath({
|
||||
operationId: 'getRawFeatureMetrics',
|
||||
tags: ['admin'],
|
||||
tags: ['Metrics'],
|
||||
responses: {
|
||||
200: createResponseSchema('featureMetricsSchema'),
|
||||
},
|
||||
@ -73,7 +73,7 @@ class ClientMetricsController extends Controller {
|
||||
middleware: [
|
||||
openApiService.validPath({
|
||||
operationId: 'getFeatureUsageSummary',
|
||||
tags: ['admin'],
|
||||
tags: ['Metrics'],
|
||||
responses: {
|
||||
200: createResponseSchema('featureUsageSchema'),
|
||||
},
|
||||
|
@ -55,7 +55,7 @@ class ConfigController extends Controller {
|
||||
permission: NONE,
|
||||
middleware: [
|
||||
openApiService.validPath({
|
||||
tags: ['admin'],
|
||||
tags: ['Admin UI'],
|
||||
operationId: 'getUIConfig',
|
||||
responses: {
|
||||
200: createResponseSchema('uiConfigSchema'),
|
||||
|
@ -35,7 +35,7 @@ export default class ConstraintController extends Controller {
|
||||
permission: NONE,
|
||||
middleware: [
|
||||
openApiService.validPath({
|
||||
tags: ['admin'],
|
||||
tags: ['Features'],
|
||||
operationId: 'validateConstraint',
|
||||
requestBody: createRequestSchema('constraintSchema'),
|
||||
responses: {
|
||||
|
@ -60,7 +60,7 @@ export class ContextController extends Controller {
|
||||
permission: NONE,
|
||||
middleware: [
|
||||
openApiService.validPath({
|
||||
tags: ['admin'],
|
||||
tags: ['Context'],
|
||||
operationId: 'getContextFields',
|
||||
responses: {
|
||||
200: createResponseSchema('contextFieldsSchema'),
|
||||
@ -76,7 +76,7 @@ export class ContextController extends Controller {
|
||||
permission: NONE,
|
||||
middleware: [
|
||||
openApiService.validPath({
|
||||
tags: ['admin'],
|
||||
tags: ['Context'],
|
||||
operationId: 'getContextField',
|
||||
responses: {
|
||||
200: createResponseSchema('contextFieldSchema'),
|
||||
@ -92,7 +92,7 @@ export class ContextController extends Controller {
|
||||
permission: CREATE_CONTEXT_FIELD,
|
||||
middleware: [
|
||||
openApiService.validPath({
|
||||
tags: ['admin'],
|
||||
tags: ['Context'],
|
||||
operationId: 'createContextField',
|
||||
requestBody: createRequestSchema(
|
||||
'upsertContextFieldSchema',
|
||||
@ -111,7 +111,7 @@ export class ContextController extends Controller {
|
||||
permission: UPDATE_CONTEXT_FIELD,
|
||||
middleware: [
|
||||
openApiService.validPath({
|
||||
tags: ['admin'],
|
||||
tags: ['Context'],
|
||||
operationId: 'updateContextField',
|
||||
requestBody: createRequestSchema(
|
||||
'upsertContextFieldSchema',
|
||||
@ -131,7 +131,7 @@ export class ContextController extends Controller {
|
||||
permission: DELETE_CONTEXT_FIELD,
|
||||
middleware: [
|
||||
openApiService.validPath({
|
||||
tags: ['admin'],
|
||||
tags: ['Context'],
|
||||
operationId: 'deleteContextField',
|
||||
responses: {
|
||||
200: emptyResponse,
|
||||
@ -147,7 +147,7 @@ export class ContextController extends Controller {
|
||||
permission: UPDATE_CONTEXT_FIELD,
|
||||
middleware: [
|
||||
openApiService.validPath({
|
||||
tags: ['admin'],
|
||||
tags: ['Context'],
|
||||
operationId: 'validate',
|
||||
requestBody: createRequestSchema('nameSchema'),
|
||||
responses: {
|
||||
|
@ -49,7 +49,7 @@ export class EnvironmentsController extends Controller {
|
||||
permission: NONE,
|
||||
middleware: [
|
||||
openApiService.validPath({
|
||||
tags: ['admin'],
|
||||
tags: ['Environments'],
|
||||
operationId: 'getAllEnvironments',
|
||||
responses: { 200: emptyResponse },
|
||||
}),
|
||||
@ -63,7 +63,7 @@ export class EnvironmentsController extends Controller {
|
||||
permission: NONE,
|
||||
middleware: [
|
||||
openApiService.validPath({
|
||||
tags: ['admin'],
|
||||
tags: ['Environments'],
|
||||
operationId: 'getEnvironment',
|
||||
responses: {
|
||||
200: createResponseSchema('environmentSchema'),
|
||||
@ -79,7 +79,7 @@ export class EnvironmentsController extends Controller {
|
||||
permission: ADMIN,
|
||||
middleware: [
|
||||
openApiService.validPath({
|
||||
tags: ['admin'],
|
||||
tags: ['Environments'],
|
||||
operationId: 'updateSortOrder',
|
||||
requestBody: createRequestSchema('sortOrderSchema'),
|
||||
responses: { 200: emptyResponse },
|
||||
@ -95,7 +95,7 @@ export class EnvironmentsController extends Controller {
|
||||
permission: ADMIN,
|
||||
middleware: [
|
||||
openApiService.validPath({
|
||||
tags: ['admin'],
|
||||
tags: ['Environments'],
|
||||
operationId: 'toggleEnvironmentOn',
|
||||
responses: { 204: emptyResponse },
|
||||
}),
|
||||
@ -110,7 +110,7 @@ export class EnvironmentsController extends Controller {
|
||||
permission: ADMIN,
|
||||
middleware: [
|
||||
openApiService.validPath({
|
||||
tags: ['admin'],
|
||||
tags: ['Environments'],
|
||||
operationId: 'toggleEnvironmentOff',
|
||||
responses: { 204: emptyResponse },
|
||||
}),
|
||||
|
@ -50,7 +50,7 @@ export default class EventController extends Controller {
|
||||
middleware: [
|
||||
openApiService.validPath({
|
||||
operationId: 'getEvents',
|
||||
tags: ['admin'],
|
||||
tags: ['Events'],
|
||||
responses: {
|
||||
...getStandardResponses(401),
|
||||
200: createResponseSchema('eventsSchema'),
|
||||
@ -79,7 +79,7 @@ export default class EventController extends Controller {
|
||||
middleware: [
|
||||
openApiService.validPath({
|
||||
operationId: 'getEventsForToggle',
|
||||
tags: ['admin'],
|
||||
tags: ['Events'],
|
||||
responses: {
|
||||
...getStandardResponses(401),
|
||||
200: createResponseSchema('featureEventsSchema'),
|
||||
@ -97,7 +97,7 @@ export default class EventController extends Controller {
|
||||
middleware: [
|
||||
openApiService.validPath({
|
||||
operationId: 'searchEvents',
|
||||
tags: ['admin'],
|
||||
tags: ['Events'],
|
||||
requestBody: createRequestSchema('searchEventsSchema'),
|
||||
responses: { 200: createResponseSchema('eventsSchema') },
|
||||
}),
|
||||
|
@ -37,7 +37,7 @@ export class FeatureTypeController extends Controller {
|
||||
permission: NONE,
|
||||
middleware: [
|
||||
openApiService.validPath({
|
||||
tags: ['admin'],
|
||||
tags: ['Features'],
|
||||
operationId: 'getAllFeatureTypes',
|
||||
responses: {
|
||||
200: createResponseSchema('featureTypesSchema'),
|
||||
|
@ -77,7 +77,7 @@ class FeatureController extends Controller {
|
||||
permission: NONE,
|
||||
middleware: [
|
||||
openApiService.validPath({
|
||||
tags: ['admin'],
|
||||
tags: ['Features'],
|
||||
operationId: 'getAllToggles',
|
||||
responses: { 200: createResponseSchema('featuresSchema') },
|
||||
deprecated: true,
|
||||
@ -92,7 +92,7 @@ class FeatureController extends Controller {
|
||||
permission: NONE,
|
||||
middleware: [
|
||||
openApiService.validPath({
|
||||
tags: ['admin'],
|
||||
tags: ['Features'],
|
||||
operationId: 'validateFeature',
|
||||
responses: { 200: emptyResponse },
|
||||
}),
|
||||
@ -106,7 +106,7 @@ class FeatureController extends Controller {
|
||||
permission: NONE,
|
||||
middleware: [
|
||||
openApiService.validPath({
|
||||
tags: ['admin'],
|
||||
tags: ['Features'],
|
||||
operationId: 'listTags',
|
||||
responses: { 200: createResponseSchema('tagsSchema') },
|
||||
}),
|
||||
@ -120,7 +120,7 @@ class FeatureController extends Controller {
|
||||
handler: this.addTag,
|
||||
middleware: [
|
||||
openApiService.validPath({
|
||||
tags: ['admin'],
|
||||
tags: ['Features'],
|
||||
operationId: 'addTag',
|
||||
requestBody: createRequestSchema('tagSchema'),
|
||||
responses: { 201: createResponseSchema('tagSchema') },
|
||||
@ -136,7 +136,7 @@ class FeatureController extends Controller {
|
||||
handler: this.removeTag,
|
||||
middleware: [
|
||||
openApiService.validPath({
|
||||
tags: ['admin'],
|
||||
tags: ['Features'],
|
||||
operationId: 'removeTag',
|
||||
responses: { 200: emptyResponse },
|
||||
}),
|
||||
|
@ -41,7 +41,7 @@ class MetricsController extends Controller {
|
||||
permission: UPDATE_APPLICATION,
|
||||
middleware: [
|
||||
openApiService.validPath({
|
||||
tags: ['admin'],
|
||||
tags: ['Metrics'],
|
||||
operationId: 'createApplication',
|
||||
responses: {
|
||||
202: emptyResponse,
|
||||
@ -58,7 +58,7 @@ class MetricsController extends Controller {
|
||||
acceptAnyContentType: true,
|
||||
middleware: [
|
||||
openApiService.validPath({
|
||||
tags: ['admin'],
|
||||
tags: ['Metrics'],
|
||||
operationId: 'deleteApplication',
|
||||
responses: {
|
||||
200: emptyResponse,
|
||||
@ -73,7 +73,7 @@ class MetricsController extends Controller {
|
||||
permission: NONE,
|
||||
middleware: [
|
||||
openApiService.validPath({
|
||||
tags: ['admin'],
|
||||
tags: ['Metrics'],
|
||||
operationId: 'getApplications',
|
||||
responses: {
|
||||
200: createResponseSchema('applicationsSchema'),
|
||||
@ -88,7 +88,7 @@ class MetricsController extends Controller {
|
||||
permission: NONE,
|
||||
middleware: [
|
||||
openApiService.validPath({
|
||||
tags: ['admin'],
|
||||
tags: ['Metrics'],
|
||||
operationId: 'getApplication',
|
||||
responses: {
|
||||
200: createResponseSchema('applicationSchema'),
|
||||
|
@ -39,7 +39,7 @@ export default class PlaygroundController extends Controller {
|
||||
middleware: [
|
||||
openApiService.validPath({
|
||||
operationId: 'getPlayground',
|
||||
tags: ['admin'],
|
||||
tags: ['Playground'],
|
||||
responses: {
|
||||
...getStandardResponses(400, 401),
|
||||
200: createResponseSchema('playgroundResponseSchema'),
|
||||
|
@ -40,7 +40,7 @@ export default class EnvironmentsController extends Controller {
|
||||
permission: UPDATE_PROJECT,
|
||||
middleware: [
|
||||
openApiService.validPath({
|
||||
tags: ['admin'],
|
||||
tags: ['Projects'],
|
||||
operationId: 'addEnvironmentToProject',
|
||||
requestBody: createRequestSchema(
|
||||
'projectEnvironmentSchema',
|
||||
@ -58,7 +58,7 @@ export default class EnvironmentsController extends Controller {
|
||||
permission: UPDATE_PROJECT,
|
||||
middleware: [
|
||||
openApiService.validPath({
|
||||
tags: ['admin'],
|
||||
tags: ['Projects'],
|
||||
operationId: 'removeEnvironmentFromProject',
|
||||
responses: { 200: emptyResponse },
|
||||
}),
|
||||
|
@ -94,7 +94,7 @@ export default class ProjectFeaturesController extends Controller {
|
||||
handler: this.getFeatureEnvironment,
|
||||
middleware: [
|
||||
openApiService.validPath({
|
||||
tags: ['admin'],
|
||||
tags: ['Features'],
|
||||
operationId: 'getFeatureEnvironment',
|
||||
responses: {
|
||||
200: createResponseSchema('featureEnvironmentSchema'),
|
||||
@ -111,7 +111,7 @@ export default class ProjectFeaturesController extends Controller {
|
||||
permission: UPDATE_FEATURE_ENVIRONMENT,
|
||||
middleware: [
|
||||
openApiService.validPath({
|
||||
tags: ['admin'],
|
||||
tags: ['Features'],
|
||||
operationId: 'toggleFeatureEnvironmentOff',
|
||||
responses: { 200: createResponseSchema('featureSchema') },
|
||||
}),
|
||||
@ -126,7 +126,7 @@ export default class ProjectFeaturesController extends Controller {
|
||||
permission: UPDATE_FEATURE_ENVIRONMENT,
|
||||
middleware: [
|
||||
openApiService.validPath({
|
||||
tags: ['admin'],
|
||||
tags: ['Features'],
|
||||
operationId: 'toggleFeatureEnvironmentOn',
|
||||
responses: { 200: createResponseSchema('featureSchema') },
|
||||
}),
|
||||
@ -140,7 +140,7 @@ export default class ProjectFeaturesController extends Controller {
|
||||
permission: NONE,
|
||||
middleware: [
|
||||
openApiService.validPath({
|
||||
tags: ['admin'],
|
||||
tags: ['Features'],
|
||||
operationId: 'getFeatureStrategies',
|
||||
responses: {
|
||||
200: createResponseSchema('featureStrategySchema'),
|
||||
@ -156,7 +156,7 @@ export default class ProjectFeaturesController extends Controller {
|
||||
permission: CREATE_FEATURE_STRATEGY,
|
||||
middleware: [
|
||||
openApiService.validPath({
|
||||
tags: ['admin'],
|
||||
tags: ['Features'],
|
||||
operationId: 'addFeatureStrategy',
|
||||
requestBody: createRequestSchema(
|
||||
'createFeatureStrategySchema',
|
||||
@ -175,7 +175,7 @@ export default class ProjectFeaturesController extends Controller {
|
||||
permission: NONE,
|
||||
middleware: [
|
||||
openApiService.validPath({
|
||||
tags: ['admin'],
|
||||
tags: ['Features'],
|
||||
operationId: 'getFeatureStrategy',
|
||||
responses: {
|
||||
200: createResponseSchema('featureStrategySchema'),
|
||||
@ -191,7 +191,7 @@ export default class ProjectFeaturesController extends Controller {
|
||||
permission: UPDATE_FEATURE_STRATEGY,
|
||||
middleware: [
|
||||
openApiService.validPath({
|
||||
tags: ['admin'],
|
||||
tags: ['Features'],
|
||||
operationId: 'setStrategySortOrder',
|
||||
requestBody: createRequestSchema(
|
||||
'setStrategySortOrderSchema',
|
||||
@ -210,7 +210,7 @@ export default class ProjectFeaturesController extends Controller {
|
||||
permission: UPDATE_FEATURE_STRATEGY,
|
||||
middleware: [
|
||||
openApiService.validPath({
|
||||
tags: ['admin'],
|
||||
tags: ['Features'],
|
||||
operationId: 'updateFeatureStrategy',
|
||||
requestBody: createRequestSchema(
|
||||
'updateFeatureStrategySchema',
|
||||
@ -229,7 +229,7 @@ export default class ProjectFeaturesController extends Controller {
|
||||
permission: UPDATE_FEATURE_STRATEGY,
|
||||
middleware: [
|
||||
openApiService.validPath({
|
||||
tags: ['admin'],
|
||||
tags: ['Features'],
|
||||
operationId: 'patchFeatureStrategy',
|
||||
requestBody: createRequestSchema('patchesSchema'),
|
||||
responses: {
|
||||
@ -248,7 +248,7 @@ export default class ProjectFeaturesController extends Controller {
|
||||
middleware: [
|
||||
openApiService.validPath({
|
||||
operationId: 'deleteFeatureStrategy',
|
||||
tags: ['admin'],
|
||||
tags: ['Features'],
|
||||
responses: { 200: emptyResponse },
|
||||
}),
|
||||
],
|
||||
@ -261,7 +261,7 @@ export default class ProjectFeaturesController extends Controller {
|
||||
permission: NONE,
|
||||
middleware: [
|
||||
openApiService.validPath({
|
||||
tags: ['admin'],
|
||||
tags: ['Features'],
|
||||
operationId: 'getFeatures',
|
||||
responses: { 200: createResponseSchema('featuresSchema') },
|
||||
}),
|
||||
@ -275,7 +275,7 @@ export default class ProjectFeaturesController extends Controller {
|
||||
permission: CREATE_FEATURE,
|
||||
middleware: [
|
||||
openApiService.validPath({
|
||||
tags: ['admin'],
|
||||
tags: ['Features'],
|
||||
operationId: 'createFeature',
|
||||
requestBody: createRequestSchema('createFeatureSchema'),
|
||||
responses: { 200: createResponseSchema('featureSchema') },
|
||||
@ -291,7 +291,7 @@ export default class ProjectFeaturesController extends Controller {
|
||||
permission: CREATE_FEATURE,
|
||||
middleware: [
|
||||
openApiService.validPath({
|
||||
tags: ['admin'],
|
||||
tags: ['Features'],
|
||||
operationId: 'cloneFeature',
|
||||
requestBody: createRequestSchema('cloneFeatureSchema'),
|
||||
responses: { 200: createResponseSchema('featureSchema') },
|
||||
@ -307,7 +307,7 @@ export default class ProjectFeaturesController extends Controller {
|
||||
middleware: [
|
||||
openApiService.validPath({
|
||||
operationId: 'getFeature',
|
||||
tags: ['admin'],
|
||||
tags: ['Features'],
|
||||
responses: { 200: createResponseSchema('featureSchema') },
|
||||
}),
|
||||
],
|
||||
@ -320,7 +320,7 @@ export default class ProjectFeaturesController extends Controller {
|
||||
permission: UPDATE_FEATURE,
|
||||
middleware: [
|
||||
openApiService.validPath({
|
||||
tags: ['admin'],
|
||||
tags: ['Features'],
|
||||
operationId: 'updateFeature',
|
||||
requestBody: createRequestSchema('updateFeatureSchema'),
|
||||
responses: { 200: createResponseSchema('featureSchema') },
|
||||
@ -335,7 +335,7 @@ export default class ProjectFeaturesController extends Controller {
|
||||
permission: UPDATE_FEATURE,
|
||||
middleware: [
|
||||
openApiService.validPath({
|
||||
tags: ['admin'],
|
||||
tags: ['Features'],
|
||||
operationId: 'patchFeature',
|
||||
requestBody: createRequestSchema('patchesSchema'),
|
||||
responses: { 200: createResponseSchema('featureSchema') },
|
||||
@ -351,7 +351,7 @@ export default class ProjectFeaturesController extends Controller {
|
||||
permission: DELETE_FEATURE,
|
||||
middleware: [
|
||||
openApiService.validPath({
|
||||
tags: ['admin'],
|
||||
tags: ['Features'],
|
||||
operationId: 'archiveFeature',
|
||||
responses: { 200: emptyResponse },
|
||||
}),
|
||||
|
@ -44,7 +44,7 @@ export default class ProjectHealthReport extends Controller {
|
||||
permission: NONE,
|
||||
middleware: [
|
||||
openApiService.validPath({
|
||||
tags: ['admin'],
|
||||
tags: ['Projects'],
|
||||
operationId: 'getProjectHealthOverview',
|
||||
responses: {
|
||||
200: createResponseSchema('healthOverviewSchema'),
|
||||
@ -60,7 +60,7 @@ export default class ProjectHealthReport extends Controller {
|
||||
permission: NONE,
|
||||
middleware: [
|
||||
openApiService.validPath({
|
||||
tags: ['admin'],
|
||||
tags: ['Projects'],
|
||||
operationId: 'getProjectHealthReport',
|
||||
responses: {
|
||||
200: createResponseSchema('healthReportSchema'),
|
||||
|
@ -33,7 +33,7 @@ export default class ProjectApi extends Controller {
|
||||
permission: NONE,
|
||||
middleware: [
|
||||
services.openApiService.validPath({
|
||||
tags: ['admin'],
|
||||
tags: ['Projects'],
|
||||
operationId: 'getProjects',
|
||||
responses: {
|
||||
200: createResponseSchema('projectsSchema'),
|
||||
|
@ -44,7 +44,7 @@ export default class VariantsController extends Controller {
|
||||
handler: this.getVariants,
|
||||
middleware: [
|
||||
openApiService.validPath({
|
||||
tags: ['admin'],
|
||||
tags: ['Features'],
|
||||
operationId: 'getFeatureVariants',
|
||||
responses: {
|
||||
200: createResponseSchema('featureVariantsSchema'),
|
||||
@ -59,7 +59,7 @@ export default class VariantsController extends Controller {
|
||||
handler: this.patchVariants,
|
||||
middleware: [
|
||||
openApiService.validPath({
|
||||
tags: ['admin'],
|
||||
tags: ['Features'],
|
||||
operationId: 'patchFeatureVariants',
|
||||
requestBody: createRequestSchema('patchesSchema'),
|
||||
responses: {
|
||||
@ -75,7 +75,7 @@ export default class VariantsController extends Controller {
|
||||
handler: this.overwriteVariants,
|
||||
middleware: [
|
||||
openApiService.validPath({
|
||||
tags: ['admin'],
|
||||
tags: ['Features'],
|
||||
operationId: 'overwriteFeatureVariants',
|
||||
requestBody: createRequestSchema('variantsSchema'),
|
||||
responses: {
|
||||
|
@ -58,7 +58,7 @@ class StateController extends Controller {
|
||||
handler: this.import,
|
||||
middleware: [
|
||||
this.openApiService.validPath({
|
||||
tags: ['admin'],
|
||||
tags: ['Import/Export'],
|
||||
operationId: 'import',
|
||||
responses: {
|
||||
202: emptyResponse,
|
||||
@ -74,7 +74,7 @@ class StateController extends Controller {
|
||||
handler: this.export,
|
||||
middleware: [
|
||||
this.openApiService.validPath({
|
||||
tags: ['admin'],
|
||||
tags: ['Import/Export'],
|
||||
operationId: 'export',
|
||||
responses: {
|
||||
200: createResponseSchema('stateSchema'),
|
||||
|
@ -54,7 +54,7 @@ class StrategyController extends Controller {
|
||||
permission: NONE,
|
||||
middleware: [
|
||||
openApiService.validPath({
|
||||
tags: ['admin'],
|
||||
tags: ['Strategies'],
|
||||
operationId: 'getAllStrategies',
|
||||
responses: {
|
||||
200: createResponseSchema('strategiesSchema'),
|
||||
@ -70,7 +70,7 @@ class StrategyController extends Controller {
|
||||
permission: NONE,
|
||||
middleware: [
|
||||
openApiService.validPath({
|
||||
tags: ['admin'],
|
||||
tags: ['Strategies'],
|
||||
operationId: 'getStrategy',
|
||||
responses: { 200: createResponseSchema('strategySchema') },
|
||||
}),
|
||||
@ -85,7 +85,7 @@ class StrategyController extends Controller {
|
||||
acceptAnyContentType: true,
|
||||
middleware: [
|
||||
openApiService.validPath({
|
||||
tags: ['admin'],
|
||||
tags: ['Strategies'],
|
||||
operationId: 'removeStrategy',
|
||||
responses: { 200: emptyResponse },
|
||||
}),
|
||||
@ -99,7 +99,7 @@ class StrategyController extends Controller {
|
||||
permission: CREATE_STRATEGY,
|
||||
middleware: [
|
||||
openApiService.validPath({
|
||||
tags: ['admin'],
|
||||
tags: ['Strategies'],
|
||||
operationId: 'createStrategy',
|
||||
requestBody: createRequestSchema('upsertStrategySchema'),
|
||||
responses: { 201: emptyResponse },
|
||||
@ -114,7 +114,7 @@ class StrategyController extends Controller {
|
||||
permission: UPDATE_STRATEGY,
|
||||
middleware: [
|
||||
openApiService.validPath({
|
||||
tags: ['admin'],
|
||||
tags: ['Strategies'],
|
||||
operationId: 'updateStrategy',
|
||||
requestBody: createRequestSchema('upsertStrategySchema'),
|
||||
responses: { 200: emptyResponse },
|
||||
@ -130,7 +130,7 @@ class StrategyController extends Controller {
|
||||
acceptAnyContentType: true,
|
||||
middleware: [
|
||||
openApiService.validPath({
|
||||
tags: ['admin'],
|
||||
tags: ['Strategies'],
|
||||
operationId: 'deprecateStrategy',
|
||||
responses: { 200: emptyResponse },
|
||||
}),
|
||||
@ -145,7 +145,7 @@ class StrategyController extends Controller {
|
||||
acceptAnyContentType: true,
|
||||
middleware: [
|
||||
openApiService.validPath({
|
||||
tags: ['admin'],
|
||||
tags: ['Strategies'],
|
||||
operationId: 'reactivateStrategy',
|
||||
responses: { 200: emptyResponse },
|
||||
}),
|
||||
|
@ -51,7 +51,7 @@ class TagTypeController extends Controller {
|
||||
permission: NONE,
|
||||
middleware: [
|
||||
openApiService.validPath({
|
||||
tags: ['admin'],
|
||||
tags: ['Tags'],
|
||||
operationId: 'getTagTypes',
|
||||
responses: { 200: createResponseSchema('tagTypesSchema') },
|
||||
}),
|
||||
@ -64,7 +64,7 @@ class TagTypeController extends Controller {
|
||||
permission: UPDATE_TAG_TYPE,
|
||||
middleware: [
|
||||
openApiService.validPath({
|
||||
tags: ['admin'],
|
||||
tags: ['Tags'],
|
||||
operationId: 'createTagType',
|
||||
responses: { 201: createResponseSchema('tagTypeSchema') },
|
||||
requestBody: createRequestSchema('tagTypeSchema'),
|
||||
@ -78,7 +78,7 @@ class TagTypeController extends Controller {
|
||||
permission: UPDATE_TAG_TYPE,
|
||||
middleware: [
|
||||
openApiService.validPath({
|
||||
tags: ['admin'],
|
||||
tags: ['Tags'],
|
||||
operationId: 'validateTagType',
|
||||
responses: {
|
||||
200: createResponseSchema('validateTagTypeSchema'),
|
||||
@ -94,7 +94,7 @@ class TagTypeController extends Controller {
|
||||
permission: NONE,
|
||||
middleware: [
|
||||
openApiService.validPath({
|
||||
tags: ['admin'],
|
||||
tags: ['Tags'],
|
||||
operationId: 'getTagType',
|
||||
responses: {
|
||||
200: createResponseSchema('tagTypeSchema'),
|
||||
@ -109,7 +109,7 @@ class TagTypeController extends Controller {
|
||||
permission: UPDATE_TAG_TYPE,
|
||||
middleware: [
|
||||
openApiService.validPath({
|
||||
tags: ['admin'],
|
||||
tags: ['Tags'],
|
||||
operationId: 'updateTagType',
|
||||
responses: {
|
||||
200: emptyResponse,
|
||||
@ -126,7 +126,7 @@ class TagTypeController extends Controller {
|
||||
permission: DELETE_TAG_TYPE,
|
||||
middleware: [
|
||||
openApiService.validPath({
|
||||
tags: ['admin'],
|
||||
tags: ['Tags'],
|
||||
operationId: 'deleteTagType',
|
||||
responses: {
|
||||
200: emptyResponse,
|
||||
|
@ -48,7 +48,7 @@ class TagController extends Controller {
|
||||
permission: NONE,
|
||||
middleware: [
|
||||
openApiService.validPath({
|
||||
tags: ['admin'],
|
||||
tags: ['Tags'],
|
||||
operationId: 'getTags',
|
||||
responses: { 200: createResponseSchema('tagsSchema') },
|
||||
}),
|
||||
@ -61,7 +61,7 @@ class TagController extends Controller {
|
||||
permission: UPDATE_FEATURE,
|
||||
middleware: [
|
||||
openApiService.validPath({
|
||||
tags: ['admin'],
|
||||
tags: ['Tags'],
|
||||
operationId: 'createTag',
|
||||
responses: {
|
||||
201: emptyResponse,
|
||||
@ -77,7 +77,7 @@ class TagController extends Controller {
|
||||
permission: NONE,
|
||||
middleware: [
|
||||
openApiService.validPath({
|
||||
tags: ['admin'],
|
||||
tags: ['Tags'],
|
||||
operationId: 'getTagsByType',
|
||||
responses: {
|
||||
200: createResponseSchema('tagsSchema'),
|
||||
@ -92,7 +92,7 @@ class TagController extends Controller {
|
||||
permission: NONE,
|
||||
middleware: [
|
||||
openApiService.validPath({
|
||||
tags: ['admin'],
|
||||
tags: ['Tags'],
|
||||
operationId: 'getTag',
|
||||
responses: {
|
||||
200: createResponseSchema('tagWithVersionSchema'),
|
||||
@ -108,7 +108,7 @@ class TagController extends Controller {
|
||||
permission: UPDATE_FEATURE,
|
||||
middleware: [
|
||||
openApiService.validPath({
|
||||
tags: ['admin'],
|
||||
tags: ['Tags'],
|
||||
operationId: 'deleteTag',
|
||||
responses: {
|
||||
200: emptyResponse,
|
||||
|
@ -99,7 +99,7 @@ export default class UserAdminController extends Controller {
|
||||
permission: NONE,
|
||||
middleware: [
|
||||
openApiService.validPath({
|
||||
tags: ['admin'],
|
||||
tags: ['Users'],
|
||||
operationId: 'validateUserPassword',
|
||||
requestBody: createRequestSchema('passwordSchema'),
|
||||
responses: { 200: emptyResponse },
|
||||
@ -114,7 +114,7 @@ export default class UserAdminController extends Controller {
|
||||
permission: ADMIN,
|
||||
middleware: [
|
||||
openApiService.validPath({
|
||||
tags: ['admin'],
|
||||
tags: ['Users'],
|
||||
operationId: 'changeUserPassword',
|
||||
requestBody: createRequestSchema('passwordSchema'),
|
||||
responses: { 200: emptyResponse },
|
||||
@ -129,7 +129,7 @@ export default class UserAdminController extends Controller {
|
||||
permission: ADMIN,
|
||||
middleware: [
|
||||
openApiService.validPath({
|
||||
tags: ['admin'],
|
||||
tags: ['Users'],
|
||||
operationId: 'resetUserPassword',
|
||||
requestBody: createRequestSchema('idSchema'),
|
||||
responses: {
|
||||
@ -146,7 +146,7 @@ export default class UserAdminController extends Controller {
|
||||
permission: ADMIN,
|
||||
middleware: [
|
||||
openApiService.validPath({
|
||||
tags: ['admin'],
|
||||
tags: ['Users'],
|
||||
operationId: 'getUsers',
|
||||
responses: { 200: createResponseSchema('usersSchema') },
|
||||
}),
|
||||
@ -160,7 +160,7 @@ export default class UserAdminController extends Controller {
|
||||
permission: NONE,
|
||||
middleware: [
|
||||
openApiService.validPath({
|
||||
tags: ['admin'],
|
||||
tags: ['Users'],
|
||||
operationId: 'searchUsers',
|
||||
responses: { 200: createResponseSchema('usersSchema') },
|
||||
}),
|
||||
@ -174,7 +174,7 @@ export default class UserAdminController extends Controller {
|
||||
permission: NONE,
|
||||
middleware: [
|
||||
openApiService.validPath({
|
||||
tags: ['admin'],
|
||||
tags: ['Users'],
|
||||
operationId: 'getBaseUsersAndGroups',
|
||||
responses: {
|
||||
200: createResponseSchema('usersGroupsBaseSchema'),
|
||||
@ -190,7 +190,7 @@ export default class UserAdminController extends Controller {
|
||||
permission: ADMIN,
|
||||
middleware: [
|
||||
openApiService.validPath({
|
||||
tags: ['admin'],
|
||||
tags: ['Users'],
|
||||
operationId: 'createUser',
|
||||
requestBody: createRequestSchema('createUserSchema'),
|
||||
responses: { 200: createResponseSchema('userSchema') },
|
||||
@ -205,7 +205,7 @@ export default class UserAdminController extends Controller {
|
||||
permission: ADMIN,
|
||||
middleware: [
|
||||
openApiService.validPath({
|
||||
tags: ['admin'],
|
||||
tags: ['Users'],
|
||||
operationId: 'getUser',
|
||||
responses: { 200: createResponseSchema('userSchema') },
|
||||
}),
|
||||
@ -219,7 +219,7 @@ export default class UserAdminController extends Controller {
|
||||
permission: ADMIN,
|
||||
middleware: [
|
||||
openApiService.validPath({
|
||||
tags: ['admin'],
|
||||
tags: ['Users'],
|
||||
operationId: 'updateUser',
|
||||
requestBody: createRequestSchema('updateUserSchema'),
|
||||
responses: { 200: createResponseSchema('userSchema') },
|
||||
@ -235,7 +235,7 @@ export default class UserAdminController extends Controller {
|
||||
permission: ADMIN,
|
||||
middleware: [
|
||||
openApiService.validPath({
|
||||
tags: ['admin'],
|
||||
tags: ['Users'],
|
||||
operationId: 'deleteUser',
|
||||
responses: { 200: emptyResponse },
|
||||
}),
|
||||
|
@ -43,7 +43,7 @@ class UserFeedbackController extends Controller {
|
||||
permission: NONE,
|
||||
middleware: [
|
||||
openApiService.validPath({
|
||||
tags: ['admin'],
|
||||
tags: ['Admin UI'],
|
||||
operationId: 'createFeedback',
|
||||
requestBody: createRequestSchema('feedbackSchema'),
|
||||
responses: { 200: createResponseSchema('feedbackSchema') },
|
||||
@ -58,7 +58,7 @@ class UserFeedbackController extends Controller {
|
||||
permission: NONE,
|
||||
middleware: [
|
||||
openApiService.validPath({
|
||||
tags: ['admin'],
|
||||
tags: ['Admin UI'],
|
||||
operationId: 'updateFeedback',
|
||||
requestBody: createRequestSchema('feedbackSchema'),
|
||||
responses: { 200: createResponseSchema('feedbackSchema') },
|
||||
|
@ -37,7 +37,7 @@ class UserSplashController extends Controller {
|
||||
permission: NONE,
|
||||
middleware: [
|
||||
openApiService.validPath({
|
||||
tags: ['admin'],
|
||||
tags: ['Admin UI'],
|
||||
operationId: 'updateSplashSettings',
|
||||
responses: { 200: createResponseSchema('splashSchema') },
|
||||
}),
|
||||
|
@ -59,7 +59,7 @@ class UserController extends Controller {
|
||||
permission: NONE,
|
||||
middleware: [
|
||||
openApiService.validPath({
|
||||
tags: ['admin'],
|
||||
tags: ['Users'],
|
||||
operationId: 'getMe',
|
||||
responses: { 200: createResponseSchema('meSchema') },
|
||||
}),
|
||||
@ -73,7 +73,7 @@ class UserController extends Controller {
|
||||
permission: NONE,
|
||||
middleware: [
|
||||
openApiService.validPath({
|
||||
tags: ['admin'],
|
||||
tags: ['Users'],
|
||||
operationId: 'changeMyPassword',
|
||||
requestBody: createRequestSchema('passwordSchema'),
|
||||
responses: {
|
||||
|
@ -56,7 +56,7 @@ class ResetPasswordController extends Controller {
|
||||
permission: NONE,
|
||||
middleware: [
|
||||
openApiService.validPath({
|
||||
tags: ['auth'],
|
||||
tags: ['Auth'],
|
||||
operationId: 'validateToken',
|
||||
responses: { 200: createResponseSchema('tokenUserSchema') },
|
||||
}),
|
||||
@ -69,7 +69,7 @@ class ResetPasswordController extends Controller {
|
||||
permission: NONE,
|
||||
middleware: [
|
||||
openApiService.validPath({
|
||||
tags: ['other'],
|
||||
tags: ['Auth'],
|
||||
operationId: 'changePassword',
|
||||
requestBody: createRequestSchema('changePasswordSchema'),
|
||||
responses: { 200: emptyResponse },
|
||||
@ -83,7 +83,7 @@ class ResetPasswordController extends Controller {
|
||||
permission: NONE,
|
||||
middleware: [
|
||||
openApiService.validPath({
|
||||
tags: ['other'],
|
||||
tags: ['Auth'],
|
||||
operationId: 'validatePassword',
|
||||
requestBody: createRequestSchema('validatePasswordSchema'),
|
||||
responses: { 200: emptyResponse },
|
||||
@ -97,7 +97,7 @@ class ResetPasswordController extends Controller {
|
||||
permission: NONE,
|
||||
middleware: [
|
||||
openApiService.validPath({
|
||||
tags: ['other'],
|
||||
tags: ['Auth'],
|
||||
operationId: 'sendResetPasswordEmail',
|
||||
requestBody: createRequestSchema('emailSchema'),
|
||||
responses: { 200: emptyResponse },
|
||||
|
@ -39,7 +39,7 @@ export class SimplePasswordProvider extends Controller {
|
||||
permission: NONE,
|
||||
middleware: [
|
||||
openApiService.validPath({
|
||||
tags: ['auth'],
|
||||
tags: ['Auth'],
|
||||
operationId: 'login',
|
||||
requestBody: createRequestSchema('loginSchema'),
|
||||
responses: {
|
||||
|
@ -79,7 +79,7 @@ export default class FeatureController extends Controller {
|
||||
middleware: [
|
||||
openApiService.validPath({
|
||||
operationId: 'getClientFeature',
|
||||
tags: ['client'],
|
||||
tags: ['Client'],
|
||||
responses: {
|
||||
200: createResponseSchema('clientFeaturesSchema'),
|
||||
},
|
||||
@ -95,7 +95,7 @@ export default class FeatureController extends Controller {
|
||||
middleware: [
|
||||
openApiService.validPath({
|
||||
operationId: 'getAllClientFeatures',
|
||||
tags: ['client'],
|
||||
tags: ['Client'],
|
||||
responses: {
|
||||
200: createResponseSchema('clientFeaturesSchema'),
|
||||
},
|
||||
|
@ -54,7 +54,7 @@ export default class ClientMetricsController extends Controller {
|
||||
permission: NONE,
|
||||
middleware: [
|
||||
openApiService.validPath({
|
||||
tags: ['client'],
|
||||
tags: ['Client'],
|
||||
operationId: 'registerClientMetrics',
|
||||
requestBody: createRequestSchema('clientMetricsSchema'),
|
||||
responses: {
|
||||
|
@ -40,7 +40,7 @@ export default class RegisterController extends Controller {
|
||||
permission: NONE,
|
||||
middleware: [
|
||||
openApiService.validPath({
|
||||
tags: ['client'],
|
||||
tags: ['Client'],
|
||||
operationId: 'registerClientApplication',
|
||||
requestBody: createRequestSchema('clientApplicationSchema'),
|
||||
responses: { 202: emptyResponse },
|
||||
|
@ -29,7 +29,7 @@ export class HealthCheckController extends Controller {
|
||||
permission: NONE,
|
||||
middleware: [
|
||||
openApiService.validPath({
|
||||
tags: ['other'],
|
||||
tags: ['Operational'],
|
||||
operationId: 'getHealth',
|
||||
responses: {
|
||||
200: createResponseSchema('healthCheckSchema'),
|
||||
|
@ -3061,7 +3061,7 @@ Object {
|
||||
},
|
||||
},
|
||||
"tags": Array [
|
||||
"admin",
|
||||
"Addons",
|
||||
],
|
||||
},
|
||||
"post": Object {
|
||||
@ -3090,7 +3090,7 @@ Object {
|
||||
},
|
||||
},
|
||||
"tags": Array [
|
||||
"admin",
|
||||
"Addons",
|
||||
],
|
||||
},
|
||||
},
|
||||
@ -3113,7 +3113,7 @@ Object {
|
||||
},
|
||||
},
|
||||
"tags": Array [
|
||||
"admin",
|
||||
"Addons",
|
||||
],
|
||||
},
|
||||
"get": Object {
|
||||
@ -3141,7 +3141,7 @@ Object {
|
||||
},
|
||||
},
|
||||
"tags": Array [
|
||||
"admin",
|
||||
"Addons",
|
||||
],
|
||||
},
|
||||
"put": Object {
|
||||
@ -3180,7 +3180,7 @@ Object {
|
||||
},
|
||||
},
|
||||
"tags": Array [
|
||||
"admin",
|
||||
"Addons",
|
||||
],
|
||||
},
|
||||
},
|
||||
@ -3200,7 +3200,7 @@ Object {
|
||||
},
|
||||
},
|
||||
"tags": Array [
|
||||
"admin",
|
||||
"API tokens",
|
||||
],
|
||||
},
|
||||
"post": Object {
|
||||
@ -3229,7 +3229,7 @@ Object {
|
||||
},
|
||||
},
|
||||
"tags": Array [
|
||||
"admin",
|
||||
"API tokens",
|
||||
],
|
||||
},
|
||||
},
|
||||
@ -3252,7 +3252,7 @@ Object {
|
||||
},
|
||||
},
|
||||
"tags": Array [
|
||||
"admin",
|
||||
"API tokens",
|
||||
],
|
||||
},
|
||||
"put": Object {
|
||||
@ -3284,7 +3284,7 @@ Object {
|
||||
},
|
||||
},
|
||||
"tags": Array [
|
||||
"admin",
|
||||
"API tokens",
|
||||
],
|
||||
},
|
||||
},
|
||||
@ -3305,7 +3305,7 @@ Object {
|
||||
},
|
||||
},
|
||||
"tags": Array [
|
||||
"admin",
|
||||
"Archive",
|
||||
],
|
||||
},
|
||||
},
|
||||
@ -3336,7 +3336,7 @@ Object {
|
||||
},
|
||||
},
|
||||
"tags": Array [
|
||||
"admin",
|
||||
"Archive",
|
||||
],
|
||||
},
|
||||
},
|
||||
@ -3359,7 +3359,7 @@ Object {
|
||||
},
|
||||
},
|
||||
"tags": Array [
|
||||
"admin",
|
||||
"Archive",
|
||||
],
|
||||
},
|
||||
},
|
||||
@ -3382,7 +3382,7 @@ Object {
|
||||
},
|
||||
},
|
||||
"tags": Array [
|
||||
"admin",
|
||||
"Archive",
|
||||
],
|
||||
},
|
||||
},
|
||||
@ -3412,7 +3412,7 @@ Object {
|
||||
},
|
||||
},
|
||||
"tags": Array [
|
||||
"admin",
|
||||
"Metrics",
|
||||
],
|
||||
},
|
||||
},
|
||||
@ -3442,7 +3442,7 @@ Object {
|
||||
},
|
||||
},
|
||||
"tags": Array [
|
||||
"admin",
|
||||
"Metrics",
|
||||
],
|
||||
},
|
||||
},
|
||||
@ -3469,7 +3469,7 @@ Object {
|
||||
},
|
||||
},
|
||||
"tags": Array [
|
||||
"admin",
|
||||
"Features",
|
||||
],
|
||||
},
|
||||
},
|
||||
@ -3489,7 +3489,7 @@ Object {
|
||||
},
|
||||
},
|
||||
"tags": Array [
|
||||
"admin",
|
||||
"Context",
|
||||
],
|
||||
},
|
||||
"post": Object {
|
||||
@ -3511,7 +3511,7 @@ Object {
|
||||
},
|
||||
},
|
||||
"tags": Array [
|
||||
"admin",
|
||||
"Context",
|
||||
],
|
||||
},
|
||||
},
|
||||
@ -3535,7 +3535,7 @@ Object {
|
||||
},
|
||||
},
|
||||
"tags": Array [
|
||||
"admin",
|
||||
"Context",
|
||||
],
|
||||
},
|
||||
},
|
||||
@ -3558,7 +3558,7 @@ Object {
|
||||
},
|
||||
},
|
||||
"tags": Array [
|
||||
"admin",
|
||||
"Context",
|
||||
],
|
||||
},
|
||||
"get": Object {
|
||||
@ -3586,7 +3586,7 @@ Object {
|
||||
},
|
||||
},
|
||||
"tags": Array [
|
||||
"admin",
|
||||
"Context",
|
||||
],
|
||||
},
|
||||
"put": Object {
|
||||
@ -3618,7 +3618,7 @@ Object {
|
||||
},
|
||||
},
|
||||
"tags": Array [
|
||||
"admin",
|
||||
"Context",
|
||||
],
|
||||
},
|
||||
},
|
||||
@ -3631,7 +3631,7 @@ Object {
|
||||
},
|
||||
},
|
||||
"tags": Array [
|
||||
"admin",
|
||||
"Environments",
|
||||
],
|
||||
},
|
||||
},
|
||||
@ -3655,7 +3655,7 @@ Object {
|
||||
},
|
||||
},
|
||||
"tags": Array [
|
||||
"admin",
|
||||
"Environments",
|
||||
],
|
||||
},
|
||||
},
|
||||
@ -3685,7 +3685,7 @@ Object {
|
||||
},
|
||||
},
|
||||
"tags": Array [
|
||||
"admin",
|
||||
"Environments",
|
||||
],
|
||||
},
|
||||
},
|
||||
@ -3708,7 +3708,7 @@ Object {
|
||||
},
|
||||
},
|
||||
"tags": Array [
|
||||
"admin",
|
||||
"Environments",
|
||||
],
|
||||
},
|
||||
},
|
||||
@ -3731,7 +3731,7 @@ Object {
|
||||
},
|
||||
},
|
||||
"tags": Array [
|
||||
"admin",
|
||||
"Environments",
|
||||
],
|
||||
},
|
||||
},
|
||||
@ -3768,7 +3768,7 @@ If the provided project does not exist, the list of events will be empty.",
|
||||
},
|
||||
"summary": "Get the most recent events from the Unleash instance or all events related to a project.",
|
||||
"tags": Array [
|
||||
"admin",
|
||||
"Events",
|
||||
],
|
||||
},
|
||||
},
|
||||
@ -3799,7 +3799,7 @@ If the provided project does not exist, the list of events will be empty.",
|
||||
},
|
||||
},
|
||||
"tags": Array [
|
||||
"admin",
|
||||
"Events",
|
||||
],
|
||||
},
|
||||
},
|
||||
@ -3834,7 +3834,7 @@ If the provided project does not exist, the list of events will be empty.",
|
||||
},
|
||||
"summary": "Get all events related to a specific feature toggle.",
|
||||
"tags": Array [
|
||||
"admin",
|
||||
"Events",
|
||||
],
|
||||
},
|
||||
},
|
||||
@ -3854,7 +3854,7 @@ If the provided project does not exist, the list of events will be empty.",
|
||||
},
|
||||
},
|
||||
"tags": Array [
|
||||
"admin",
|
||||
"Features",
|
||||
],
|
||||
},
|
||||
},
|
||||
@ -3875,7 +3875,7 @@ If the provided project does not exist, the list of events will be empty.",
|
||||
},
|
||||
},
|
||||
"tags": Array [
|
||||
"admin",
|
||||
"Features",
|
||||
],
|
||||
},
|
||||
},
|
||||
@ -3888,7 +3888,7 @@ If the provided project does not exist, the list of events will be empty.",
|
||||
},
|
||||
},
|
||||
"tags": Array [
|
||||
"admin",
|
||||
"Features",
|
||||
],
|
||||
},
|
||||
},
|
||||
@ -3918,7 +3918,7 @@ If the provided project does not exist, the list of events will be empty.",
|
||||
},
|
||||
},
|
||||
"tags": Array [
|
||||
"admin",
|
||||
"Features",
|
||||
],
|
||||
},
|
||||
"post": Object {
|
||||
@ -3957,7 +3957,7 @@ If the provided project does not exist, the list of events will be empty.",
|
||||
},
|
||||
},
|
||||
"tags": Array [
|
||||
"admin",
|
||||
"Features",
|
||||
],
|
||||
},
|
||||
},
|
||||
@ -3996,7 +3996,7 @@ If the provided project does not exist, the list of events will be empty.",
|
||||
},
|
||||
},
|
||||
"tags": Array [
|
||||
"admin",
|
||||
"Features",
|
||||
],
|
||||
},
|
||||
},
|
||||
@ -4027,7 +4027,7 @@ If the provided project does not exist, the list of events will be empty.",
|
||||
},
|
||||
},
|
||||
"tags": Array [
|
||||
"admin",
|
||||
"Admin UI",
|
||||
],
|
||||
},
|
||||
},
|
||||
@ -4068,7 +4068,7 @@ If the provided project does not exist, the list of events will be empty.",
|
||||
},
|
||||
},
|
||||
"tags": Array [
|
||||
"admin",
|
||||
"Admin UI",
|
||||
],
|
||||
},
|
||||
},
|
||||
@ -4088,7 +4088,7 @@ If the provided project does not exist, the list of events will be empty.",
|
||||
},
|
||||
},
|
||||
"tags": Array [
|
||||
"admin",
|
||||
"Metrics",
|
||||
],
|
||||
},
|
||||
},
|
||||
@ -4111,7 +4111,7 @@ If the provided project does not exist, the list of events will be empty.",
|
||||
},
|
||||
},
|
||||
"tags": Array [
|
||||
"admin",
|
||||
"Metrics",
|
||||
],
|
||||
},
|
||||
"get": Object {
|
||||
@ -4139,7 +4139,7 @@ If the provided project does not exist, the list of events will be empty.",
|
||||
},
|
||||
},
|
||||
"tags": Array [
|
||||
"admin",
|
||||
"Metrics",
|
||||
],
|
||||
},
|
||||
"post": Object {
|
||||
@ -4171,7 +4171,7 @@ If the provided project does not exist, the list of events will be empty.",
|
||||
},
|
||||
},
|
||||
"tags": Array [
|
||||
"admin",
|
||||
"Metrics",
|
||||
],
|
||||
},
|
||||
},
|
||||
@ -4210,7 +4210,7 @@ If the provided project does not exist, the list of events will be empty.",
|
||||
},
|
||||
"summary": "Evaluate an Unleash context against a set of environments and projects.",
|
||||
"tags": Array [
|
||||
"admin",
|
||||
"Playground",
|
||||
],
|
||||
},
|
||||
},
|
||||
@ -4230,7 +4230,7 @@ If the provided project does not exist, the list of events will be empty.",
|
||||
},
|
||||
},
|
||||
"tags": Array [
|
||||
"admin",
|
||||
"Projects",
|
||||
],
|
||||
},
|
||||
},
|
||||
@ -4260,7 +4260,7 @@ If the provided project does not exist, the list of events will be empty.",
|
||||
},
|
||||
},
|
||||
"tags": Array [
|
||||
"admin",
|
||||
"Projects",
|
||||
],
|
||||
},
|
||||
},
|
||||
@ -4294,7 +4294,7 @@ If the provided project does not exist, the list of events will be empty.",
|
||||
},
|
||||
},
|
||||
"tags": Array [
|
||||
"admin",
|
||||
"Projects",
|
||||
],
|
||||
},
|
||||
},
|
||||
@ -4325,7 +4325,7 @@ If the provided project does not exist, the list of events will be empty.",
|
||||
},
|
||||
},
|
||||
"tags": Array [
|
||||
"admin",
|
||||
"Projects",
|
||||
],
|
||||
},
|
||||
},
|
||||
@ -4355,7 +4355,7 @@ If the provided project does not exist, the list of events will be empty.",
|
||||
},
|
||||
},
|
||||
"tags": Array [
|
||||
"admin",
|
||||
"Features",
|
||||
],
|
||||
},
|
||||
"post": Object {
|
||||
@ -4394,7 +4394,7 @@ If the provided project does not exist, the list of events will be empty.",
|
||||
},
|
||||
},
|
||||
"tags": Array [
|
||||
"admin",
|
||||
"Features",
|
||||
],
|
||||
},
|
||||
},
|
||||
@ -4425,7 +4425,7 @@ If the provided project does not exist, the list of events will be empty.",
|
||||
},
|
||||
},
|
||||
"tags": Array [
|
||||
"admin",
|
||||
"Features",
|
||||
],
|
||||
},
|
||||
"get": Object {
|
||||
@ -4461,7 +4461,7 @@ If the provided project does not exist, the list of events will be empty.",
|
||||
},
|
||||
},
|
||||
"tags": Array [
|
||||
"admin",
|
||||
"Features",
|
||||
],
|
||||
},
|
||||
"patch": Object {
|
||||
@ -4508,7 +4508,7 @@ If the provided project does not exist, the list of events will be empty.",
|
||||
},
|
||||
},
|
||||
"tags": Array [
|
||||
"admin",
|
||||
"Features",
|
||||
],
|
||||
},
|
||||
"put": Object {
|
||||
@ -4555,7 +4555,7 @@ If the provided project does not exist, the list of events will be empty.",
|
||||
},
|
||||
},
|
||||
"tags": Array [
|
||||
"admin",
|
||||
"Features",
|
||||
],
|
||||
},
|
||||
},
|
||||
@ -4604,7 +4604,7 @@ If the provided project does not exist, the list of events will be empty.",
|
||||
},
|
||||
},
|
||||
"tags": Array [
|
||||
"admin",
|
||||
"Features",
|
||||
],
|
||||
},
|
||||
},
|
||||
@ -4650,7 +4650,7 @@ If the provided project does not exist, the list of events will be empty.",
|
||||
},
|
||||
},
|
||||
"tags": Array [
|
||||
"admin",
|
||||
"Features",
|
||||
],
|
||||
},
|
||||
},
|
||||
@ -4696,7 +4696,7 @@ If the provided project does not exist, the list of events will be empty.",
|
||||
},
|
||||
},
|
||||
"tags": Array [
|
||||
"admin",
|
||||
"Features",
|
||||
],
|
||||
},
|
||||
},
|
||||
@ -4742,7 +4742,7 @@ If the provided project does not exist, the list of events will be empty.",
|
||||
},
|
||||
},
|
||||
"tags": Array [
|
||||
"admin",
|
||||
"Features",
|
||||
],
|
||||
},
|
||||
},
|
||||
@ -4788,7 +4788,7 @@ If the provided project does not exist, the list of events will be empty.",
|
||||
},
|
||||
},
|
||||
"tags": Array [
|
||||
"admin",
|
||||
"Features",
|
||||
],
|
||||
},
|
||||
"post": Object {
|
||||
@ -4843,7 +4843,7 @@ If the provided project does not exist, the list of events will be empty.",
|
||||
},
|
||||
},
|
||||
"tags": Array [
|
||||
"admin",
|
||||
"Features",
|
||||
],
|
||||
},
|
||||
},
|
||||
@ -4893,7 +4893,7 @@ If the provided project does not exist, the list of events will be empty.",
|
||||
},
|
||||
},
|
||||
"tags": Array [
|
||||
"admin",
|
||||
"Features",
|
||||
],
|
||||
},
|
||||
},
|
||||
@ -4940,7 +4940,7 @@ If the provided project does not exist, the list of events will be empty.",
|
||||
},
|
||||
},
|
||||
"tags": Array [
|
||||
"admin",
|
||||
"Features",
|
||||
],
|
||||
},
|
||||
"get": Object {
|
||||
@ -4992,7 +4992,7 @@ If the provided project does not exist, the list of events will be empty.",
|
||||
},
|
||||
},
|
||||
"tags": Array [
|
||||
"admin",
|
||||
"Features",
|
||||
],
|
||||
},
|
||||
"patch": Object {
|
||||
@ -5055,7 +5055,7 @@ If the provided project does not exist, the list of events will be empty.",
|
||||
},
|
||||
},
|
||||
"tags": Array [
|
||||
"admin",
|
||||
"Features",
|
||||
],
|
||||
},
|
||||
"put": Object {
|
||||
@ -5118,7 +5118,7 @@ If the provided project does not exist, the list of events will be empty.",
|
||||
},
|
||||
},
|
||||
"tags": Array [
|
||||
"admin",
|
||||
"Features",
|
||||
],
|
||||
},
|
||||
},
|
||||
@ -5156,7 +5156,7 @@ If the provided project does not exist, the list of events will be empty.",
|
||||
},
|
||||
},
|
||||
"tags": Array [
|
||||
"admin",
|
||||
"Features",
|
||||
],
|
||||
},
|
||||
"patch": Object {
|
||||
@ -5203,7 +5203,7 @@ If the provided project does not exist, the list of events will be empty.",
|
||||
},
|
||||
},
|
||||
"tags": Array [
|
||||
"admin",
|
||||
"Features",
|
||||
],
|
||||
},
|
||||
"put": Object {
|
||||
@ -5250,7 +5250,7 @@ If the provided project does not exist, the list of events will be empty.",
|
||||
},
|
||||
},
|
||||
"tags": Array [
|
||||
"admin",
|
||||
"Features",
|
||||
],
|
||||
},
|
||||
},
|
||||
@ -5280,7 +5280,7 @@ If the provided project does not exist, the list of events will be empty.",
|
||||
},
|
||||
},
|
||||
"tags": Array [
|
||||
"admin",
|
||||
"Projects",
|
||||
],
|
||||
},
|
||||
},
|
||||
@ -5310,7 +5310,7 @@ If the provided project does not exist, the list of events will be empty.",
|
||||
},
|
||||
},
|
||||
"tags": Array [
|
||||
"admin",
|
||||
"Admin UI",
|
||||
],
|
||||
},
|
||||
},
|
||||
@ -5465,7 +5465,7 @@ If the provided project does not exist, the list of events will be empty.",
|
||||
},
|
||||
},
|
||||
"tags": Array [
|
||||
"admin",
|
||||
"Import/Export",
|
||||
],
|
||||
},
|
||||
},
|
||||
@ -5489,7 +5489,7 @@ If the provided project does not exist, the list of events will be empty.",
|
||||
},
|
||||
},
|
||||
"tags": Array [
|
||||
"admin",
|
||||
"Import/Export",
|
||||
],
|
||||
},
|
||||
},
|
||||
@ -5509,7 +5509,7 @@ If the provided project does not exist, the list of events will be empty.",
|
||||
},
|
||||
},
|
||||
"tags": Array [
|
||||
"admin",
|
||||
"Strategies",
|
||||
],
|
||||
},
|
||||
"post": Object {
|
||||
@ -5531,7 +5531,7 @@ If the provided project does not exist, the list of events will be empty.",
|
||||
},
|
||||
},
|
||||
"tags": Array [
|
||||
"admin",
|
||||
"Strategies",
|
||||
],
|
||||
},
|
||||
},
|
||||
@ -5554,7 +5554,7 @@ If the provided project does not exist, the list of events will be empty.",
|
||||
},
|
||||
},
|
||||
"tags": Array [
|
||||
"admin",
|
||||
"Strategies",
|
||||
],
|
||||
},
|
||||
"get": Object {
|
||||
@ -5582,7 +5582,7 @@ If the provided project does not exist, the list of events will be empty.",
|
||||
},
|
||||
},
|
||||
"tags": Array [
|
||||
"admin",
|
||||
"Strategies",
|
||||
],
|
||||
},
|
||||
},
|
||||
@ -5616,7 +5616,7 @@ If the provided project does not exist, the list of events will be empty.",
|
||||
},
|
||||
},
|
||||
"tags": Array [
|
||||
"admin",
|
||||
"Strategies",
|
||||
],
|
||||
},
|
||||
},
|
||||
@ -5639,7 +5639,7 @@ If the provided project does not exist, the list of events will be empty.",
|
||||
},
|
||||
},
|
||||
"tags": Array [
|
||||
"admin",
|
||||
"Strategies",
|
||||
],
|
||||
},
|
||||
},
|
||||
@ -5662,7 +5662,7 @@ If the provided project does not exist, the list of events will be empty.",
|
||||
},
|
||||
},
|
||||
"tags": Array [
|
||||
"admin",
|
||||
"Strategies",
|
||||
],
|
||||
},
|
||||
},
|
||||
@ -5682,7 +5682,7 @@ If the provided project does not exist, the list of events will be empty.",
|
||||
},
|
||||
},
|
||||
"tags": Array [
|
||||
"admin",
|
||||
"Tags",
|
||||
],
|
||||
},
|
||||
"post": Object {
|
||||
@ -5711,7 +5711,7 @@ If the provided project does not exist, the list of events will be empty.",
|
||||
},
|
||||
},
|
||||
"tags": Array [
|
||||
"admin",
|
||||
"Tags",
|
||||
],
|
||||
},
|
||||
},
|
||||
@ -5742,7 +5742,7 @@ If the provided project does not exist, the list of events will be empty.",
|
||||
},
|
||||
},
|
||||
"tags": Array [
|
||||
"admin",
|
||||
"Tags",
|
||||
],
|
||||
},
|
||||
},
|
||||
@ -5765,7 +5765,7 @@ If the provided project does not exist, the list of events will be empty.",
|
||||
},
|
||||
},
|
||||
"tags": Array [
|
||||
"admin",
|
||||
"Tags",
|
||||
],
|
||||
},
|
||||
"get": Object {
|
||||
@ -5793,7 +5793,7 @@ If the provided project does not exist, the list of events will be empty.",
|
||||
},
|
||||
},
|
||||
"tags": Array [
|
||||
"admin",
|
||||
"Tags",
|
||||
],
|
||||
},
|
||||
"put": Object {
|
||||
@ -5825,7 +5825,7 @@ If the provided project does not exist, the list of events will be empty.",
|
||||
},
|
||||
},
|
||||
"tags": Array [
|
||||
"admin",
|
||||
"Tags",
|
||||
],
|
||||
},
|
||||
},
|
||||
@ -5845,7 +5845,7 @@ If the provided project does not exist, the list of events will be empty.",
|
||||
},
|
||||
},
|
||||
"tags": Array [
|
||||
"admin",
|
||||
"Tags",
|
||||
],
|
||||
},
|
||||
"post": Object {
|
||||
@ -5867,7 +5867,7 @@ If the provided project does not exist, the list of events will be empty.",
|
||||
},
|
||||
},
|
||||
"tags": Array [
|
||||
"admin",
|
||||
"Tags",
|
||||
],
|
||||
},
|
||||
},
|
||||
@ -5897,7 +5897,7 @@ If the provided project does not exist, the list of events will be empty.",
|
||||
},
|
||||
},
|
||||
"tags": Array [
|
||||
"admin",
|
||||
"Tags",
|
||||
],
|
||||
},
|
||||
},
|
||||
@ -5928,7 +5928,7 @@ If the provided project does not exist, the list of events will be empty.",
|
||||
},
|
||||
},
|
||||
"tags": Array [
|
||||
"admin",
|
||||
"Tags",
|
||||
],
|
||||
},
|
||||
"get": Object {
|
||||
@ -5964,7 +5964,7 @@ If the provided project does not exist, the list of events will be empty.",
|
||||
},
|
||||
},
|
||||
"tags": Array [
|
||||
"admin",
|
||||
"Tags",
|
||||
],
|
||||
},
|
||||
},
|
||||
@ -5984,7 +5984,7 @@ If the provided project does not exist, the list of events will be empty.",
|
||||
},
|
||||
},
|
||||
"tags": Array [
|
||||
"admin",
|
||||
"Admin UI",
|
||||
],
|
||||
},
|
||||
},
|
||||
@ -6004,7 +6004,7 @@ If the provided project does not exist, the list of events will be empty.",
|
||||
},
|
||||
},
|
||||
"tags": Array [
|
||||
"admin",
|
||||
"Users",
|
||||
],
|
||||
},
|
||||
},
|
||||
@ -6024,7 +6024,7 @@ If the provided project does not exist, the list of events will be empty.",
|
||||
},
|
||||
},
|
||||
"tags": Array [
|
||||
"admin",
|
||||
"Users",
|
||||
],
|
||||
},
|
||||
"post": Object {
|
||||
@ -6053,7 +6053,7 @@ If the provided project does not exist, the list of events will be empty.",
|
||||
},
|
||||
},
|
||||
"tags": Array [
|
||||
"admin",
|
||||
"Users",
|
||||
],
|
||||
},
|
||||
},
|
||||
@ -6073,7 +6073,7 @@ If the provided project does not exist, the list of events will be empty.",
|
||||
},
|
||||
},
|
||||
"tags": Array [
|
||||
"admin",
|
||||
"Users",
|
||||
],
|
||||
},
|
||||
},
|
||||
@ -6104,7 +6104,7 @@ If the provided project does not exist, the list of events will be empty.",
|
||||
},
|
||||
},
|
||||
"tags": Array [
|
||||
"admin",
|
||||
"Users",
|
||||
],
|
||||
},
|
||||
},
|
||||
@ -6124,7 +6124,7 @@ If the provided project does not exist, the list of events will be empty.",
|
||||
},
|
||||
},
|
||||
"tags": Array [
|
||||
"admin",
|
||||
"Users",
|
||||
],
|
||||
},
|
||||
},
|
||||
@ -6148,7 +6148,7 @@ If the provided project does not exist, the list of events will be empty.",
|
||||
},
|
||||
},
|
||||
"tags": Array [
|
||||
"admin",
|
||||
"Users",
|
||||
],
|
||||
},
|
||||
},
|
||||
@ -6171,7 +6171,7 @@ If the provided project does not exist, the list of events will be empty.",
|
||||
},
|
||||
},
|
||||
"tags": Array [
|
||||
"admin",
|
||||
"Users",
|
||||
],
|
||||
},
|
||||
"get": Object {
|
||||
@ -6199,7 +6199,7 @@ If the provided project does not exist, the list of events will be empty.",
|
||||
},
|
||||
},
|
||||
"tags": Array [
|
||||
"admin",
|
||||
"Users",
|
||||
],
|
||||
},
|
||||
"put": Object {
|
||||
@ -6238,7 +6238,7 @@ If the provided project does not exist, the list of events will be empty.",
|
||||
},
|
||||
},
|
||||
"tags": Array [
|
||||
"admin",
|
||||
"Users",
|
||||
],
|
||||
},
|
||||
},
|
||||
@ -6272,7 +6272,7 @@ If the provided project does not exist, the list of events will be empty.",
|
||||
},
|
||||
},
|
||||
"tags": Array [
|
||||
"admin",
|
||||
"Users",
|
||||
],
|
||||
},
|
||||
},
|
||||
@ -6299,7 +6299,7 @@ If the provided project does not exist, the list of events will be empty.",
|
||||
},
|
||||
},
|
||||
"tags": Array [
|
||||
"admin",
|
||||
"Users",
|
||||
],
|
||||
},
|
||||
},
|
||||
@ -6319,7 +6319,7 @@ If the provided project does not exist, the list of events will be empty.",
|
||||
},
|
||||
},
|
||||
"tags": Array [
|
||||
"client",
|
||||
"Client",
|
||||
],
|
||||
},
|
||||
},
|
||||
@ -6349,7 +6349,7 @@ If the provided project does not exist, the list of events will be empty.",
|
||||
},
|
||||
},
|
||||
"tags": Array [
|
||||
"client",
|
||||
"Client",
|
||||
],
|
||||
},
|
||||
},
|
||||
@ -6376,7 +6376,7 @@ If the provided project does not exist, the list of events will be empty.",
|
||||
},
|
||||
},
|
||||
"tags": Array [
|
||||
"client",
|
||||
"Client",
|
||||
],
|
||||
},
|
||||
},
|
||||
@ -6400,7 +6400,7 @@ If the provided project does not exist, the list of events will be empty.",
|
||||
},
|
||||
},
|
||||
"tags": Array [
|
||||
"client",
|
||||
"Client",
|
||||
],
|
||||
},
|
||||
},
|
||||
@ -6424,7 +6424,7 @@ If the provided project does not exist, the list of events will be empty.",
|
||||
},
|
||||
},
|
||||
"tags": Array [
|
||||
"other",
|
||||
"Auth",
|
||||
],
|
||||
},
|
||||
},
|
||||
@ -6448,7 +6448,7 @@ If the provided project does not exist, the list of events will be empty.",
|
||||
},
|
||||
},
|
||||
"tags": Array [
|
||||
"other",
|
||||
"Auth",
|
||||
],
|
||||
},
|
||||
},
|
||||
@ -6468,7 +6468,7 @@ If the provided project does not exist, the list of events will be empty.",
|
||||
},
|
||||
},
|
||||
"tags": Array [
|
||||
"auth",
|
||||
"Auth",
|
||||
],
|
||||
},
|
||||
},
|
||||
@ -6492,7 +6492,7 @@ If the provided project does not exist, the list of events will be empty.",
|
||||
},
|
||||
},
|
||||
"tags": Array [
|
||||
"other",
|
||||
"Auth",
|
||||
],
|
||||
},
|
||||
},
|
||||
@ -6523,7 +6523,7 @@ If the provided project does not exist, the list of events will be empty.",
|
||||
},
|
||||
},
|
||||
"tags": Array [
|
||||
"auth",
|
||||
"Auth",
|
||||
],
|
||||
},
|
||||
},
|
||||
@ -6553,7 +6553,7 @@ If the provided project does not exist, the list of events will be empty.",
|
||||
},
|
||||
},
|
||||
"tags": Array [
|
||||
"other",
|
||||
"Operational",
|
||||
],
|
||||
},
|
||||
},
|
||||
@ -6568,5 +6568,79 @@ If the provided project does not exist, the list of events will be empty.",
|
||||
"url": "http://localhost:4242",
|
||||
},
|
||||
],
|
||||
"tags": Array [
|
||||
Object {
|
||||
"description": "Create, update, and delete [Unleash addons](https://docs.getunleash.io/addons).",
|
||||
"name": "Addons",
|
||||
},
|
||||
Object {
|
||||
"description": "Configure the Unleash Admin UI.",
|
||||
"name": "Admin UI",
|
||||
},
|
||||
Object {
|
||||
"description": "Create, update, and delete [Unleash API tokens](https://docs.getunleash.io/reference/api-tokens-and-client-keys).",
|
||||
"name": "API tokens",
|
||||
},
|
||||
Object {
|
||||
"description": "Revive or permanently delete [archived feature toggles](https://docs.getunleash.io/advanced/archived_toggles).",
|
||||
"name": "Archive",
|
||||
},
|
||||
Object {
|
||||
"description": "Manage logins, passwords, etc.",
|
||||
"name": "Auth",
|
||||
},
|
||||
Object {
|
||||
"description": "Endpoints for [Unleash server-side clients](https://docs.getunleash.io/sdks).",
|
||||
"name": "Client",
|
||||
},
|
||||
Object {
|
||||
"description": "Create, update, and delete [context fields](https://docs.getunleash.io/user_guide/unleash_context) that Unleash is aware of.",
|
||||
"name": "Context",
|
||||
},
|
||||
Object {
|
||||
"description": "Create, update, delete, enable or disable [environments](https://docs.getunleash.io/user_guide/environments) for this Unleash instance.",
|
||||
"name": "Environments",
|
||||
},
|
||||
Object {
|
||||
"description": "Read events from this Unleash instance.",
|
||||
"name": "Events",
|
||||
},
|
||||
Object {
|
||||
"description": "Create, update, and delete [features toggles](https://docs.getunleash.io/reference/feature-toggles).",
|
||||
"name": "Features",
|
||||
},
|
||||
Object {
|
||||
"description": "[Import and export](https://docs.getunleash.io/deploy/import_export) the state of your Unleash instance.",
|
||||
"name": "Import/Export",
|
||||
},
|
||||
Object {
|
||||
"description": "Register, read, or delete metrics recorded by Unleash.",
|
||||
"name": "Metrics",
|
||||
},
|
||||
Object {
|
||||
"description": "Endpoints related to the operational status of this Unleash instance.",
|
||||
"name": "Operational",
|
||||
},
|
||||
Object {
|
||||
"description": "Evaluate an Unleash context against your feature toggles.",
|
||||
"name": "Playground",
|
||||
},
|
||||
Object {
|
||||
"description": "Create, update, and delete [Unleash projects](https://docs.getunleash.io/user_guide/projects).",
|
||||
"name": "Projects",
|
||||
},
|
||||
Object {
|
||||
"description": "Create, update, delete, manage [custom strategies](https://docs.getunleash.io/advanced/custom_activation_strategy).",
|
||||
"name": "Strategies",
|
||||
},
|
||||
Object {
|
||||
"description": "Create, update, and delete [tags and tag types](https://docs.getunleash.io/advanced/tags).",
|
||||
"name": "Tags",
|
||||
},
|
||||
Object {
|
||||
"description": "Manage users and passwords.",
|
||||
"name": "Users",
|
||||
},
|
||||
],
|
||||
}
|
||||
`;
|
||||
|
@ -22,11 +22,12 @@ The internal API used by the Admin UI (unleash-frontend). Since v4.0.0 all opera
|
||||
|
||||
With versions earlier than v4.0.0 and `insecure` authentication Basic Auth (with curl `-u myemail@test.com:`) is enough.
|
||||
|
||||
- [Feature Toggles API](/api/admin/features)
|
||||
- [Strategies API](/api/admin/strategies)
|
||||
- [Events API](/api/admin/events)
|
||||
- [Metrics API](/api/admin/metrics)
|
||||
- [Tags API](/api/admin/tags)
|
||||
- [Events API](/api/admin/events-api.md)
|
||||
- [Feature Toggles API](/api/admin/feature-toggles-api.md)
|
||||
- [Metrics API](/api/admin/metrics-api.md)
|
||||
- [Project API](/api/admin/project.md)
|
||||
- [Strategies API](/api/admin/strategies-api.md)
|
||||
- [Tags API](/api/admin/tags-api.md)
|
||||
|
||||
## System API's {#system-apis}
|
||||
|
||||
|
@ -119,6 +119,8 @@ module.exports = {
|
||||
{ sync: true },
|
||||
],
|
||||
],
|
||||
docLayoutComponent: '@theme/DocPage',
|
||||
docItemComponent: '@theme/ApiItem',
|
||||
},
|
||||
theme: {
|
||||
customCss: require.resolve('./src/css/custom.css'),
|
||||
@ -179,5 +181,28 @@ module.exports = {
|
||||
},
|
||||
},
|
||||
],
|
||||
// NOTE: activate this when we sort out the enterprise / open
|
||||
// source API situation
|
||||
//
|
||||
// [
|
||||
// 'docusaurus-plugin-openapi-docs',
|
||||
// {
|
||||
// id: 'api-operations',
|
||||
// docsPluginId: 'classic',
|
||||
// config: {
|
||||
// server: {
|
||||
// specPath: process.env.NODE_ENV === 'development' ?
|
||||
// 'http://localhost:4242/docs/openapi.json'
|
||||
// : './openapi-spec.generated.json',
|
||||
// outputDir: 'docs/reference/apis/unleash',
|
||||
// sidebarOptions: {
|
||||
// groupPathsBy: 'tag',
|
||||
// categoryLinkSource: 'tag',
|
||||
// },
|
||||
// },
|
||||
// },
|
||||
// },
|
||||
// ],
|
||||
],
|
||||
themes: ['docusaurus-theme-openapi-docs'], // Allows use of @theme/ApiItem and other components
|
||||
};
|
||||
|
@ -27,6 +27,8 @@
|
||||
"@mdx-js/react": "1.6.22",
|
||||
"@svgr/webpack": "6.3.1",
|
||||
"clsx": "1.2.1",
|
||||
"docusaurus-plugin-openapi-docs": "1.1.5",
|
||||
"docusaurus-theme-openapi-docs": "1.1.5",
|
||||
"file-loader": "6.2.0",
|
||||
"react": "18.2.0",
|
||||
"react-dom": "18.2.0",
|
||||
|
@ -160,6 +160,7 @@ module.exports = {
|
||||
'api/admin/segments',
|
||||
'api/admin/state',
|
||||
'api/admin/strategies',
|
||||
'api/admin/tags',
|
||||
'api/admin/user-admin',
|
||||
],
|
||||
'Client API': [
|
||||
@ -172,7 +173,21 @@ module.exports = {
|
||||
'api/internal/health',
|
||||
],
|
||||
},
|
||||
'api/open_api',
|
||||
// NOTE: activate this when we're ready to integrate generated OpenAPI docs
|
||||
//
|
||||
// {
|
||||
// label: 'OpenAPI docs',
|
||||
// collapsed: true,
|
||||
// type: 'category',
|
||||
// link: {
|
||||
// title: 'Unleash Server APIs',
|
||||
// type: 'generated-index',
|
||||
// description:
|
||||
// 'Generated API docs based on the Unleash OpenAPI schema. For the time being, some additional info can also be found in the older API docs.',
|
||||
// slug: '/reference/apis/unleash',
|
||||
// },
|
||||
// items: require('./docs/reference/apis/unleash/sidebar.js'),
|
||||
// },
|
||||
],
|
||||
},
|
||||
{
|
||||
|
@ -121,7 +121,7 @@
|
||||
margin-top: var(--row-gap);
|
||||
display: flex;
|
||||
flex-direction: row-reverse;
|
||||
justify-content: end;
|
||||
justify-content: flex-end;
|
||||
gap: var(--element-horizontal-gap);
|
||||
}
|
||||
|
||||
@ -145,7 +145,7 @@ button.close-button {
|
||||
|
||||
.close-button-row {
|
||||
display: flex;
|
||||
justify-content: end;
|
||||
justify-content: flex-end;
|
||||
}
|
||||
|
||||
.close-button svg {
|
||||
|
@ -167,3 +167,65 @@ html[data-theme='dark'] .header-github-link:before {
|
||||
}
|
||||
|
||||
/* end video content container */
|
||||
|
||||
/* docusaurus-plugin-openapi-docs styling
|
||||
|
||||
Taken from
|
||||
https://github.com/PaloAltoNetworks/docusaurus-openapi-docs/blob/main/demo/src/css/custom.css#L45
|
||||
|
||||
Based on this thread:
|
||||
https://github.com/PaloAltoNetworks/docusaurus-openapi-docs/issues/177
|
||||
|
||||
*/
|
||||
|
||||
/* Sidebar Method labels */
|
||||
.api-method > .menu__link {
|
||||
align-items: center;
|
||||
justify-content: start;
|
||||
}
|
||||
|
||||
.api-method > .menu__link::before {
|
||||
width: 50px;
|
||||
height: 20px;
|
||||
font-size: 12px;
|
||||
line-height: 20px;
|
||||
text-transform: uppercase;
|
||||
font-weight: 600;
|
||||
border-radius: 0.25rem;
|
||||
border: 1px solid;
|
||||
margin-right: var(--ifm-spacing-horizontal);
|
||||
text-align: center;
|
||||
flex-shrink: 0;
|
||||
border-color: transparent;
|
||||
color: white;
|
||||
}
|
||||
|
||||
.get > .menu__link::before {
|
||||
content: 'get';
|
||||
background-color: var(--openapi-code-blue);
|
||||
}
|
||||
|
||||
.post > .menu__link::before {
|
||||
content: 'post';
|
||||
background-color: var(--openapi-code-green);
|
||||
}
|
||||
|
||||
.delete > .menu__link::before {
|
||||
content: 'del';
|
||||
background-color: var(--openapi-code-red);
|
||||
}
|
||||
|
||||
.put > .menu__link::before {
|
||||
content: 'put';
|
||||
background-color: var(--openapi-code-orange);
|
||||
}
|
||||
|
||||
.patch > .menu__link::before {
|
||||
content: 'patch';
|
||||
background-color: var(--openapi-code-green);
|
||||
}
|
||||
|
||||
.head > .menu__link::before {
|
||||
content: 'head';
|
||||
background-color: var(--ifm-color-secondary-darkest);
|
||||
}
|
||||
|
14716
website/yarn.lock
Normal file
14716
website/yarn.lock
Normal file
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user