diff --git a/frontend/src/openapi/models/actionEventSchema.ts b/frontend/src/openapi/models/actionEventSchema.ts index d15f05bbb3..9732b8c7d9 100644 --- a/frontend/src/openapi/models/actionEventSchema.ts +++ b/frontend/src/openapi/models/actionEventSchema.ts @@ -16,13 +16,22 @@ export interface ActionEventSchema { createdAt: string; /** The id of user that created this action set */ createdByUserId: number; - /** The details of the action event, if any. */ + /** + * The details of the action event, if any. + * @nullable + */ details?: string | null; /** A map of parameters to pass to the action */ executionParams?: ActionEventSchemaExecutionParams; - /** The id of the action set */ + /** + * The id of the action set + * @minimum 1 + */ id: number; - /** The order in which the action should be executed */ + /** + * The order in which the action should be executed + * @minimum 1 + */ sortOrder: number; /** The state of the action. Can be one of `not started`, `started`, `success`, or `failed`. */ state: ActionEventSchemaState; diff --git a/frontend/src/openapi/models/actionSchema.ts b/frontend/src/openapi/models/actionSchema.ts index 1489d48d44..e6032b0fa7 100644 --- a/frontend/src/openapi/models/actionSchema.ts +++ b/frontend/src/openapi/models/actionSchema.ts @@ -17,8 +17,14 @@ export interface ActionSchema { createdByUserId: number; /** A map of parameters to pass to the action */ executionParams?: ActionSchemaExecutionParams; - /** The id of the action set */ + /** + * The id of the action set + * @minimum 1 + */ id: number; - /** The order in which the action should be executed */ + /** + * The order in which the action should be executed + * @minimum 1 + */ sortOrder: number; } diff --git a/frontend/src/openapi/models/actionSetEventSchema.ts b/frontend/src/openapi/models/actionSetEventSchema.ts index 8a704d0861..5783999087 100644 --- a/frontend/src/openapi/models/actionSetEventSchema.ts +++ b/frontend/src/openapi/models/actionSetEventSchema.ts @@ -17,7 +17,10 @@ export interface ActionSetEventSchema { actionSetId: number; /** The date and time of when the action set event was created. In other words, the date and time of when the action set started executing. */ createdAt: string; - /** The action set event's ID. Action set event IDs are incrementing integers. In other words, a more recently created action set event will always have a higher ID than an older one. */ + /** + * The action set event's ID. Action set event IDs are incrementing integers. In other words, a more recently created action set event will always have a higher ID than an older one. + * @minimum 1 + */ id: number; /** The signal that triggered this action set event. */ signal: SignalSchema; diff --git a/frontend/src/openapi/models/actionSetEventSchemaActionSet.ts b/frontend/src/openapi/models/actionSetEventSchemaActionSet.ts index 372e397082..a6ef97b6bd 100644 --- a/frontend/src/openapi/models/actionSetEventSchemaActionSet.ts +++ b/frontend/src/openapi/models/actionSetEventSchemaActionSet.ts @@ -12,17 +12,26 @@ import type { ActionSetEventSchemaActionSetMatch } from './actionSetEventSchemaA export type ActionSetEventSchemaActionSet = { /** The list of actions executed in sequential order when the action set was triggered, decorated with the individual action states. */ actions: ActionEventSchema[]; - /** The id of the service account that will execute the action */ + /** + * The id of the service account that will execute the action + * @minimum 1 + */ actorId: number; /** The date and time of when the action set was created. */ createdAt: string; /** The ID of the user that created this action set. */ createdByUserId: number; - /** The description of the action set */ + /** + * The description of the action set + * @nullable + */ description?: string | null; /** Whether this action set is enabled or not */ enabled?: boolean; - /** The ID of the action set. */ + /** + * The ID of the action set. + * @minimum 1 + */ id: number; /** Defines a matching rule for the signal that will trigger the action set */ match: ActionSetEventSchemaActionSetMatch; diff --git a/frontend/src/openapi/models/actionsSchema.ts b/frontend/src/openapi/models/actionsSchema.ts index 3685bb1ee4..3bd2a4938a 100644 --- a/frontend/src/openapi/models/actionsSchema.ts +++ b/frontend/src/openapi/models/actionsSchema.ts @@ -12,17 +12,26 @@ import type { ActionsSchemaMatch } from './actionsSchemaMatch'; export interface ActionsSchema { /** The list of actions to execute in sequential order when the action set is triggered. */ actions: ActionSchema[]; - /** The id of the service account that will execute the action */ + /** + * The id of the service account that will execute the action + * @minimum 1 + */ actorId: number; /** The date and time of when the action set was created. */ createdAt: string; /** The ID of the user that created this action set. */ createdByUserId: number; - /** The description of the action set */ + /** + * The description of the action set + * @nullable + */ description?: string | null; /** Whether this action set is enabled or not */ enabled?: boolean; - /** The ID of the action set. */ + /** + * The ID of the action set. + * @minimum 1 + */ id: number; /** Defines a matching rule for the signal that will trigger the action set */ match: ActionsSchemaMatch; diff --git a/frontend/src/openapi/models/addonCreateUpdateSchemaParameters.ts b/frontend/src/openapi/models/addonCreateUpdateSchemaParameters.ts index ade258cb77..0eb5da8946 100644 --- a/frontend/src/openapi/models/addonCreateUpdateSchemaParameters.ts +++ b/frontend/src/openapi/models/addonCreateUpdateSchemaParameters.ts @@ -7,4 +7,4 @@ /** * Parameters for the addon provider. This object has different required and optional properties depending on the provider you choose. Consult the documentation for details. */ -export type AddonCreateUpdateSchemaParameters = { [key: string]: {} }; +export type AddonCreateUpdateSchemaParameters = { [key: string]: unknown }; diff --git a/frontend/src/openapi/models/addonSchema.ts b/frontend/src/openapi/models/addonSchema.ts index aca64317eb..8c650fffd4 100644 --- a/frontend/src/openapi/models/addonSchema.ts +++ b/frontend/src/openapi/models/addonSchema.ts @@ -9,7 +9,10 @@ import type { AddonSchemaParameters } from './addonSchemaParameters'; * An [addon](https://docs.getunleash.io/reference/addons) instance description. Contains data about what kind of provider it uses, whether it's enabled or not, what events it listens for, and more. */ export interface AddonSchema { - /** A description of the addon. `null` if no description exists. */ + /** + * A description of the addon. `null` if no description exists. + * @nullable + */ description: string | null; /** Whether the addon is enabled or not. */ enabled: boolean; @@ -17,7 +20,10 @@ export interface AddonSchema { environments?: string[]; /** The event types that trigger this specific addon. */ events: string[]; - /** The addon's unique identifier. */ + /** + * The addon's unique identifier. + * @minimum 1 + */ id: number; /** Parameters for the addon provider. This object has different required and optional properties depending on the provider you choose. */ parameters: AddonSchemaParameters; diff --git a/frontend/src/openapi/models/addonSchemaParameters.ts b/frontend/src/openapi/models/addonSchemaParameters.ts index 96a8556048..64c2523892 100644 --- a/frontend/src/openapi/models/addonSchemaParameters.ts +++ b/frontend/src/openapi/models/addonSchemaParameters.ts @@ -7,4 +7,4 @@ /** * Parameters for the addon provider. This object has different required and optional properties depending on the provider you choose. */ -export type AddonSchemaParameters = { [key: string]: {} }; +export type AddonSchemaParameters = { [key: string]: unknown }; diff --git a/frontend/src/openapi/models/adminPermissionsSchema.ts b/frontend/src/openapi/models/adminPermissionsSchema.ts index 6104650e9e..92c2bd1a53 100644 --- a/frontend/src/openapi/models/adminPermissionsSchema.ts +++ b/frontend/src/openapi/models/adminPermissionsSchema.ts @@ -12,6 +12,9 @@ import type { AdminPermissionsSchemaVersion } from './adminPermissionsSchemaVers export interface AdminPermissionsSchema { /** Returns permissions available at all three levels (root|project|environment) */ permissions: AdminPermissionsSchemaPermissions; - /** The api version of this response. A natural increasing number. Only increases if format changes */ + /** + * The api version of this response. A natural increasing number. Only increases if format changes + * @minimum 1 + */ version: AdminPermissionsSchemaVersion; } diff --git a/frontend/src/openapi/models/adminPermissionsSchemaVersion.ts b/frontend/src/openapi/models/adminPermissionsSchemaVersion.ts index d0b87067aa..886bc55ded 100644 --- a/frontend/src/openapi/models/adminPermissionsSchemaVersion.ts +++ b/frontend/src/openapi/models/adminPermissionsSchemaVersion.ts @@ -6,6 +6,7 @@ /** * The api version of this response. A natural increasing number. Only increases if format changes + * @minimum 1 */ export type AdminPermissionsSchemaVersion = (typeof AdminPermissionsSchemaVersion)[keyof typeof AdminPermissionsSchemaVersion]; diff --git a/frontend/src/openapi/models/adminSegmentSchema.ts b/frontend/src/openapi/models/adminSegmentSchema.ts index b8dbe5f8e5..9bfe6f43c6 100644 --- a/frontend/src/openapi/models/adminSegmentSchema.ts +++ b/frontend/src/openapi/models/adminSegmentSchema.ts @@ -13,18 +13,38 @@ export interface AdminSegmentSchema { constraints: ConstraintSchema[]; /** When the segment was created */ createdAt: string; - /** The creator's email or username */ + /** + * The creator's email or username + * @nullable + */ createdBy?: string | null; - /** The description for this segment */ + /** + * The description for this segment + * @nullable + */ description?: string | null; - /** The ID of this segment */ + /** + * The ID of this segment + * @minimum 0 + */ id: number; /** The name of this segment */ name: string; - /** The project the segment belongs to. Only present if the segment is a project-specific segment. */ + /** + * The project the segment belongs to. Only present if the segment is a project-specific segment. + * @nullable + */ project?: string | null; - /** The number of feature flags that use this segment. The number also includes the any flags with pending change requests that would add this segment. */ + /** + * The number of feature flags that use this segment. The number also includes the any flags with pending change requests that would add this segment. + * @minimum 0 + * @nullable + */ usedInFeatures?: number | null; - /** The number of projects that use this segment. The number includes any projects with pending change requests that would add this segment. */ + /** + * The number of projects that use this segment. The number includes any projects with pending change requests that would add this segment. + * @minimum 0 + * @nullable + */ usedInProjects?: number | null; } diff --git a/frontend/src/openapi/models/advancedPlaygroundEnvironmentFeatureSchema.ts b/frontend/src/openapi/models/advancedPlaygroundEnvironmentFeatureSchema.ts index 2f6bb91783..b3c71c5b24 100644 --- a/frontend/src/openapi/models/advancedPlaygroundEnvironmentFeatureSchema.ts +++ b/frontend/src/openapi/models/advancedPlaygroundEnvironmentFeatureSchema.ts @@ -28,10 +28,13 @@ export interface AdvancedPlaygroundEnvironmentFeatureSchema { projectId: string; /** Feature's applicable strategies and cumulative results of the strategies */ strategies: AdvancedPlaygroundEnvironmentFeatureSchemaStrategies; - /** The feature variant you receive based on the provided context or the _disabled + /** + * The feature variant you receive based on the provided context or the _disabled variant_. If a feature is disabled or doesn't have any variants, you would get the _disabled variant_. - Otherwise, you'll get one of the feature's defined variants. */ + Otherwise, you'll get one of the feature's defined variants. + * @nullable + */ variant: AdvancedPlaygroundEnvironmentFeatureSchemaVariant; /** The feature variants. */ variants: VariantSchema[]; diff --git a/frontend/src/openapi/models/advancedPlaygroundEnvironmentFeatureSchemaVariant.ts b/frontend/src/openapi/models/advancedPlaygroundEnvironmentFeatureSchemaVariant.ts index ccf260800a..3de0b7e803 100644 --- a/frontend/src/openapi/models/advancedPlaygroundEnvironmentFeatureSchemaVariant.ts +++ b/frontend/src/openapi/models/advancedPlaygroundEnvironmentFeatureSchemaVariant.ts @@ -10,6 +10,7 @@ import type { AdvancedPlaygroundEnvironmentFeatureSchemaVariantPayload } from '. variant_. If a feature is disabled or doesn't have any variants, you would get the _disabled variant_. Otherwise, you'll get one of the feature's defined variants. + * @nullable */ export type AdvancedPlaygroundEnvironmentFeatureSchemaVariant = { /** Whether the variant is enabled or not. If the feature is disabled or if it doesn't have variants, this property will be `false` */ diff --git a/frontend/src/openapi/models/advancedPlaygroundRequestSchema.ts b/frontend/src/openapi/models/advancedPlaygroundRequestSchema.ts index 7bb85bc239..2ccf3f5050 100644 --- a/frontend/src/openapi/models/advancedPlaygroundRequestSchema.ts +++ b/frontend/src/openapi/models/advancedPlaygroundRequestSchema.ts @@ -11,7 +11,10 @@ import type { AdvancedPlaygroundRequestSchemaProjects } from './advancedPlaygrou */ export interface AdvancedPlaygroundRequestSchema { context: SdkContextSchema; - /** The environments to evaluate toggles in. */ + /** + * The environments to evaluate toggles in. + * @minItems 1 + */ environments: string[]; /** A list of projects to check for toggles in. */ projects?: AdvancedPlaygroundRequestSchemaProjects; diff --git a/frontend/src/openapi/models/apiTokenSchema.ts b/frontend/src/openapi/models/apiTokenSchema.ts index dfe101eabf..596bcca18b 100644 --- a/frontend/src/openapi/models/apiTokenSchema.ts +++ b/frontend/src/openapi/models/apiTokenSchema.ts @@ -9,13 +9,19 @@ import type { ApiTokenSchemaType } from './apiTokenSchemaType'; * An overview of an [Unleash API token](https://docs.getunleash.io/reference/api-tokens-and-client-keys). */ export interface ApiTokenSchema { - /** Alias is no longer in active use and will often be NULL. It's kept around as a way of allowing old proxy tokens created with the old metadata format to keep working. */ + /** + * Alias is no longer in active use and will often be NULL. It's kept around as a way of allowing old proxy tokens created with the old metadata format to keep working. + * @nullable + */ alias?: string | null; /** When the token was created. */ createdAt: string; /** The environment the token has access to. `*` if it has access to all environments. */ environment?: string; - /** The token's expiration date. NULL if the token doesn't have an expiration set. */ + /** + * The token's expiration date. NULL if the token doesn't have an expiration set. + * @nullable + */ expiresAt?: string | null; /** The project this token belongs to. */ project: string; @@ -23,7 +29,10 @@ export interface ApiTokenSchema { projects: string[]; /** The token used for authentication. */ secret: string; - /** When the token was last seen/used to authenticate with. NULL if the token has not yet been used for authentication. */ + /** + * When the token was last seen/used to authenticate with. NULL if the token has not yet been used for authentication. + * @nullable + */ seenAt?: string | null; /** A unique name for this particular token */ tokenName: string; diff --git a/frontend/src/openapi/models/applicationOverviewEnvironmentSchema.ts b/frontend/src/openapi/models/applicationOverviewEnvironmentSchema.ts index 9ae6078c9c..f4aaef83e7 100644 --- a/frontend/src/openapi/models/applicationOverviewEnvironmentSchema.ts +++ b/frontend/src/openapi/models/applicationOverviewEnvironmentSchema.ts @@ -13,7 +13,10 @@ export interface ApplicationOverviewEnvironmentSchema { instanceCount: number; /** This list of issues that might be wrong with the application */ issues: ApplicationEnvironmentIssuesSchema; - /** The last time the application environment was seen */ + /** + * The last time the application environment was seen + * @nullable + */ lastSeen: string | null; /** Name of the application environment */ name: string; diff --git a/frontend/src/openapi/models/bannerSchema.ts b/frontend/src/openapi/models/bannerSchema.ts index 0e684b1f65..8983dd8d32 100644 --- a/frontend/src/openapi/models/bannerSchema.ts +++ b/frontend/src/openapi/models/bannerSchema.ts @@ -10,19 +10,37 @@ export interface BannerSchema { /** The date and time of when the banner was created. */ createdAt: string; - /** The markdown to display on the dialog. If not specified, no dialog will be displayed. */ + /** + * The markdown to display on the dialog. If not specified, no dialog will be displayed. + * @nullable + */ dialog?: string | null; - /** The title to display on the dialog. If not specified, this will be the same as `linkText`. */ + /** + * The title to display on the dialog. If not specified, this will be the same as `linkText`. + * @nullable + */ dialogTitle?: string | null; /** Whether the banner should be displayed currently. If not specified, defaults to true. */ enabled?: boolean; - /** The icon to display on the banner. Can be one of https://fonts.google.com/icons. If not specified, this will be the default icon for the variant. If "none", no icon will be displayed. */ + /** + * The icon to display on the banner. Can be one of https://fonts.google.com/icons. If not specified, this will be the default icon for the variant. If "none", no icon will be displayed. + * @nullable + */ icon?: string | null; - /** The banner's ID. Banner IDs are incrementing integers. In other words, a more recently created banner will always have a higher ID than an older one. */ + /** + * The banner's ID. Banner IDs are incrementing integers. In other words, a more recently created banner will always have a higher ID than an older one. + * @minimum 1 + */ id: number; - /** The link to display on the banner. Can either be an absolute or a relative link (e.g. absolute: "https://example.com" or relative: "/admin/service-accounts"). If "dialog", will display a dialog when clicked. If not specified, no link will be displayed. */ + /** + * The link to display on the banner. Can either be an absolute or a relative link (e.g. absolute: "https://example.com" or relative: "/admin/service-accounts"). If "dialog", will display a dialog when clicked. If not specified, no link will be displayed. + * @nullable + */ link?: string | null; - /** The text to display on the link. If not specified, will be displayed as "More info". */ + /** + * The text to display on the link. If not specified, will be displayed as "More info". + * @nullable + */ linkText?: string | null; /** The message to display to all users. Supports markdown. */ message: string; diff --git a/frontend/src/openapi/models/changeRequestChangeSchemaCreatedBy.ts b/frontend/src/openapi/models/changeRequestChangeSchemaCreatedBy.ts index 8749dfaf68..115d2f7623 100644 --- a/frontend/src/openapi/models/changeRequestChangeSchemaCreatedBy.ts +++ b/frontend/src/openapi/models/changeRequestChangeSchemaCreatedBy.ts @@ -8,8 +8,14 @@ * The user who created this change. */ export type ChangeRequestChangeSchemaCreatedBy = { - /** The URL where the user's image can be found. */ + /** + * The URL where the user's image can be found. + * @nullable + */ imageUrl?: string | null; - /** The user's username. */ + /** + * The user's username. + * @nullable + */ username?: string | null; }; diff --git a/frontend/src/openapi/models/changeRequestCommentSchemaCreatedBy.ts b/frontend/src/openapi/models/changeRequestCommentSchemaCreatedBy.ts index 7501c799d3..7586f53969 100644 --- a/frontend/src/openapi/models/changeRequestCommentSchemaCreatedBy.ts +++ b/frontend/src/openapi/models/changeRequestCommentSchemaCreatedBy.ts @@ -8,8 +8,14 @@ * Information about the user who posted the comment */ export type ChangeRequestCommentSchemaCreatedBy = { - /** The URL where the user's image can be found. */ + /** + * The URL where the user's image can be found. + * @nullable + */ imageUrl?: string | null; - /** The user's username. */ + /** + * The user's username. + * @nullable + */ username?: string | null; }; diff --git a/frontend/src/openapi/models/changeRequestEnvironmentConfigSchema.ts b/frontend/src/openapi/models/changeRequestEnvironmentConfigSchema.ts index e586050cf8..da6368939b 100644 --- a/frontend/src/openapi/models/changeRequestEnvironmentConfigSchema.ts +++ b/frontend/src/openapi/models/changeRequestEnvironmentConfigSchema.ts @@ -12,7 +12,10 @@ export interface ChangeRequestEnvironmentConfigSchema { changeRequestEnabled: boolean; /** The environment that this configuration applies to. */ environment: string; - /** The number of approvals that are required for a change request to be fully approved and ready to be applied in this environment. */ + /** + * The number of approvals that are required for a change request to be fully approved and ready to be applied in this environment. + * @nullable + */ requiredApprovals: number | null; /** The [type of the environment](https://docs.getunleash.io/reference/environments#environment-types) listed in `environment`. */ type: string; diff --git a/frontend/src/openapi/models/changeRequestScheduleSchemaOneOfThree.ts b/frontend/src/openapi/models/changeRequestScheduleSchemaOneOfThree.ts index a926887a3c..620269b588 100644 --- a/frontend/src/openapi/models/changeRequestScheduleSchemaOneOfThree.ts +++ b/frontend/src/openapi/models/changeRequestScheduleSchemaOneOfThree.ts @@ -12,6 +12,7 @@ export type ChangeRequestScheduleSchemaOneOfThree = { /** * The reason the scheduled failed to apply. Deprecated in favor of the `reason` property. * @deprecated + * @nullable */ failureReason?: string | null; /** The reason the scheduled failed to apply. */ diff --git a/frontend/src/openapi/models/changeRequestSchemaOneOfCreatedBy.ts b/frontend/src/openapi/models/changeRequestSchemaOneOfCreatedBy.ts index df55f2c46f..b88fac52f4 100644 --- a/frontend/src/openapi/models/changeRequestSchemaOneOfCreatedBy.ts +++ b/frontend/src/openapi/models/changeRequestSchemaOneOfCreatedBy.ts @@ -8,7 +8,11 @@ * The user who created this change request. */ export type ChangeRequestSchemaOneOfCreatedBy = { - /** The URL of the user's profile image. */ + /** + * The URL of the user's profile image. + * @nullable + */ imageUrl?: string | null; + /** @nullable */ username?: string | null; }; diff --git a/frontend/src/openapi/models/changeRequestSchemaOneOfFourCreatedBy.ts b/frontend/src/openapi/models/changeRequestSchemaOneOfFourCreatedBy.ts index 0f3db5d830..3b2c694a1f 100644 --- a/frontend/src/openapi/models/changeRequestSchemaOneOfFourCreatedBy.ts +++ b/frontend/src/openapi/models/changeRequestSchemaOneOfFourCreatedBy.ts @@ -8,7 +8,11 @@ * The user who created this change request. */ export type ChangeRequestSchemaOneOfFourCreatedBy = { - /** The URL of the user's profile image. */ + /** + * The URL of the user's profile image. + * @nullable + */ imageUrl?: string | null; + /** @nullable */ username?: string | null; }; diff --git a/frontend/src/openapi/models/changeRequestSegmentChangeSchemaCreatedBy.ts b/frontend/src/openapi/models/changeRequestSegmentChangeSchemaCreatedBy.ts index b6479e3ac4..fd4c41b5a6 100644 --- a/frontend/src/openapi/models/changeRequestSegmentChangeSchemaCreatedBy.ts +++ b/frontend/src/openapi/models/changeRequestSegmentChangeSchemaCreatedBy.ts @@ -8,8 +8,14 @@ * The user who created this change. */ export type ChangeRequestSegmentChangeSchemaCreatedBy = { - /** The URL where the user's image can be found. */ + /** + * The URL where the user's image can be found. + * @nullable + */ imageUrl?: string | null; - /** The user's username. */ + /** + * The user's username. + * @nullable + */ username?: string | null; }; diff --git a/frontend/src/openapi/models/clientApplicationSchema.ts b/frontend/src/openapi/models/clientApplicationSchema.ts index fd231b01ef..aa0e5d6eab 100644 --- a/frontend/src/openapi/models/clientApplicationSchema.ts +++ b/frontend/src/openapi/models/clientApplicationSchema.ts @@ -18,7 +18,10 @@ export interface ClientApplicationSchema { environment?: string; /** A unique identifier identifying the instance of the application running the SDK. Often changes based on execution environment. For instance: two pods in Kubernetes will have two different instanceIds */ instanceId?: string; - /** How often (in seconds) does the client refresh its toggles */ + /** + * How often (in seconds) does the client refresh its toggles + * @minimum 0 + */ interval: number; /** An SDK version identifier. Usually formatted as "unleash-client-:" */ sdkVersion?: string; diff --git a/frontend/src/openapi/models/clientFeatureSchema.ts b/frontend/src/openapi/models/clientFeatureSchema.ts index b0b44c518f..3321f18cf2 100644 --- a/frontend/src/openapi/models/clientFeatureSchema.ts +++ b/frontend/src/openapi/models/clientFeatureSchema.ts @@ -13,11 +13,17 @@ import type { VariantSchema } from './variantSchema'; export interface ClientFeatureSchema { /** Feature dependencies for this toggle */ dependencies?: DependentFeatureSchema[]; - /** A description of the toggle */ + /** + * A description of the toggle + * @nullable + */ description?: string | null; /** Whether the feature flag is enabled for the current API key or not. This is ANDed with the evaluation results of the strategies list, so if this is false, the evaluation result will always be false */ enabled: boolean; - /** Set to true if SDKs should trigger [impression events](https://docs.getunleash.io/reference/impression-data) when this toggle is evaluated */ + /** + * Set to true if SDKs should trigger [impression events](https://docs.getunleash.io/reference/impression-data) when this toggle is evaluated + * @nullable + */ impressionData?: boolean | null; /** The unique name of a feature toggle. Is validated to be URL safe on creation */ name: string; @@ -29,6 +35,9 @@ export interface ClientFeatureSchema { strategies?: FeatureStrategySchema[]; /** What kind of feature flag is this. Refer to the documentation on [feature toggle types](https://docs.getunleash.io/reference/feature-toggle-types) for more information */ type?: string; - /** [Variants](https://docs.getunleash.io/reference/feature-toggle-variants#what-are-variants) configured for this toggle */ + /** + * [Variants](https://docs.getunleash.io/reference/feature-toggle-variants#what-are-variants) configured for this toggle + * @nullable + */ variants?: VariantSchema[] | null; } diff --git a/frontend/src/openapi/models/clientFeaturesSchema.ts b/frontend/src/openapi/models/clientFeaturesSchema.ts index 338094fc08..071e2a7528 100644 --- a/frontend/src/openapi/models/clientFeaturesSchema.ts +++ b/frontend/src/openapi/models/clientFeaturesSchema.ts @@ -17,6 +17,9 @@ export interface ClientFeaturesSchema { query?: ClientFeaturesQuerySchema; /** A list of [Segments](https://docs.getunleash.io/reference/segments) configured for this Unleash instance */ segments?: ClientSegmentSchema[]; - /** A version number for the format used in the response. Most Unleash instances now return version 2, which includes segments as a separate array */ + /** + * A version number for the format used in the response. Most Unleash instances now return version 2, which includes segments as a separate array + * @minimum 0 + */ version: number; } diff --git a/frontend/src/openapi/models/clientMetricsEnvSchema.ts b/frontend/src/openapi/models/clientMetricsEnvSchema.ts index 0b153370e7..0bba2774a6 100644 --- a/frontend/src/openapi/models/clientMetricsEnvSchema.ts +++ b/frontend/src/openapi/models/clientMetricsEnvSchema.ts @@ -16,12 +16,18 @@ export interface ClientMetricsEnvSchema { environment: string; /** Name of the feature checked by the SDK */ featureName: string; - /** How many times the toggle evaluated to false */ + /** + * How many times the toggle evaluated to false + * @minimum 0 + */ no?: number; /** The start of the time window these metrics are valid for. The window is 1 hour wide */ timestamp?: DateSchema; /** How many times each variant was returned */ variants?: ClientMetricsEnvSchemaVariants; - /** How many times the toggle evaluated to true */ + /** + * How many times the toggle evaluated to true + * @minimum 0 + */ yes?: number; } diff --git a/frontend/src/openapi/models/clientMetricsSchemaBucketToggles.ts b/frontend/src/openapi/models/clientMetricsSchemaBucketToggles.ts index e60e97c47c..182bda3b05 100644 --- a/frontend/src/openapi/models/clientMetricsSchemaBucketToggles.ts +++ b/frontend/src/openapi/models/clientMetricsSchemaBucketToggles.ts @@ -10,11 +10,17 @@ import type { ClientMetricsSchemaBucketTogglesVariants } from './clientMetricsSc */ export type ClientMetricsSchemaBucketToggles = { [key: string]: { - /** How many times the toggle evaluated to false */ + /** + * How many times the toggle evaluated to false + * @minimum 0 + */ no?: number; /** An object describing how many times each variant was returned. Variant names are used as properties, and the number of times they were exposed is the corresponding value (i.e. `{ [variantName]: number }`). */ variants?: ClientMetricsSchemaBucketTogglesVariants; - /** How many times the toggle evaluated to true */ + /** + * How many times the toggle evaluated to true + * @minimum 0 + */ yes?: number; }; }; diff --git a/frontend/src/openapi/models/contextFieldSchema.ts b/frontend/src/openapi/models/contextFieldSchema.ts index c501cdd159..62565b07a2 100644 --- a/frontend/src/openapi/models/contextFieldSchema.ts +++ b/frontend/src/openapi/models/contextFieldSchema.ts @@ -9,9 +9,15 @@ import type { LegalValueSchema } from './legalValueSchema'; * A representation of a [context field](https://docs.getunleash.io/reference/unleash-context). */ export interface ContextFieldSchema { - /** When this context field was created */ + /** + * When this context field was created + * @nullable + */ createdAt?: string | null; - /** The description of the context field. */ + /** + * The description of the context field. + * @nullable + */ description?: string | null; /** Allowed values for this context field schema. Can be used to narrow down accepted input */ legalValues?: LegalValueSchema[]; @@ -21,8 +27,16 @@ export interface ContextFieldSchema { sortOrder?: number; /** Does this context field support being used for [stickiness](https://docs.getunleash.io/reference/stickiness) calculations */ stickiness?: boolean; - /** Number of projects where this context field is used in */ + /** + * Number of projects where this context field is used in + * @minimum 0 + * @nullable + */ usedInFeatures?: number | null; - /** Number of projects where this context field is used in */ + /** + * Number of projects where this context field is used in + * @minimum 0 + * @nullable + */ usedInProjects?: number | null; } diff --git a/frontend/src/openapi/models/createActionSchema.ts b/frontend/src/openapi/models/createActionSchema.ts index 56b54d9901..72d335c804 100644 --- a/frontend/src/openapi/models/createActionSchema.ts +++ b/frontend/src/openapi/models/createActionSchema.ts @@ -13,6 +13,9 @@ export interface CreateActionSchema { action: string; /** A map of parameters to pass to the action */ executionParams?: CreateActionSchemaExecutionParams; - /** The order in which the action should be executed */ + /** + * The order in which the action should be executed + * @minimum 1 + */ sortOrder: number; } diff --git a/frontend/src/openapi/models/createActionsSchema.ts b/frontend/src/openapi/models/createActionsSchema.ts index 7a04da019c..234f42e09c 100644 --- a/frontend/src/openapi/models/createActionsSchema.ts +++ b/frontend/src/openapi/models/createActionsSchema.ts @@ -12,9 +12,15 @@ import type { CreateActionsSchemaMatch } from './createActionsSchemaMatch'; export interface CreateActionsSchema { /** The list of actions to execute in sequential order when the action set is triggered */ actions: CreateActionSchema[]; - /** The id of the service account that will execute the action */ + /** + * The id of the service account that will execute the action + * @minimum 1 + */ actorId: number; - /** The description of the action set */ + /** + * The description of the action set + * @nullable + */ description?: string | null; /** Whether this action set is enabled or not */ enabled?: boolean; diff --git a/frontend/src/openapi/models/createApiTokenSchemaOneOf.ts b/frontend/src/openapi/models/createApiTokenSchemaOneOf.ts index d69dafe406..4ca504fe98 100644 --- a/frontend/src/openapi/models/createApiTokenSchemaOneOf.ts +++ b/frontend/src/openapi/models/createApiTokenSchemaOneOf.ts @@ -9,6 +9,9 @@ export type CreateApiTokenSchemaOneOf = { expiresAt?: string; /** The name of the token. */ tokenName: string; - /** An admin token. Must be the string "admin" (not case sensitive). */ + /** + * An admin token. Must be the string "admin" (not case sensitive). + * @pattern ^[Aa][Dd][Mm][Ii][Nn]$ + */ type: string; }; diff --git a/frontend/src/openapi/models/createApiTokenSchemaOneOfFour.ts b/frontend/src/openapi/models/createApiTokenSchemaOneOfFour.ts index be3a2dd5b7..e50253762f 100644 --- a/frontend/src/openapi/models/createApiTokenSchemaOneOfFour.ts +++ b/frontend/src/openapi/models/createApiTokenSchemaOneOfFour.ts @@ -13,7 +13,10 @@ export type CreateApiTokenSchemaOneOfFour = { project?: string; /** A list of projects that the token should be valid for. This property is mutually incompatible with the `project` property. If you specify one, you cannot specify the other. */ projects?: string[]; - /** A client or frontend token. Must be one of the strings "client" or "frontend" (not case sensitive). */ + /** + * A client or frontend token. Must be one of the strings "client" or "frontend" (not case sensitive). + * @pattern ^([Cc][Ll][Ii][Ee][Nn][Tt]|[Ff][Rr][Oo][Nn][Tt][Ee][Nn][Dd])$ + */ type: string; /** * The name of the token. This property is deprecated. Use `tokenName` instead. diff --git a/frontend/src/openapi/models/createApiTokenSchemaOneOfThree.ts b/frontend/src/openapi/models/createApiTokenSchemaOneOfThree.ts index 97311c914c..e9f0207fc0 100644 --- a/frontend/src/openapi/models/createApiTokenSchemaOneOfThree.ts +++ b/frontend/src/openapi/models/createApiTokenSchemaOneOfThree.ts @@ -15,6 +15,9 @@ export type CreateApiTokenSchemaOneOfThree = { projects?: string[]; /** The name of the token. */ tokenName: string; - /** A client or frontend token. Must be one of the strings "client" or "frontend" (not case sensitive). */ + /** + * A client or frontend token. Must be one of the strings "client" or "frontend" (not case sensitive). + * @pattern ^([Cc][Ll][Ii][Ee][Nn][Tt]|[Ff][Rr][Oo][Nn][Tt][Ee][Nn][Dd])$ + */ type: string; }; diff --git a/frontend/src/openapi/models/createApiTokenSchemaOneOfTwo.ts b/frontend/src/openapi/models/createApiTokenSchemaOneOfTwo.ts index ef09299872..5dc97ec75c 100644 --- a/frontend/src/openapi/models/createApiTokenSchemaOneOfTwo.ts +++ b/frontend/src/openapi/models/createApiTokenSchemaOneOfTwo.ts @@ -7,7 +7,10 @@ export type CreateApiTokenSchemaOneOfTwo = { /** The time when this token should expire. */ expiresAt?: string; - /** An admin token. Must be the string "admin" (not case sensitive). */ + /** + * An admin token. Must be the string "admin" (not case sensitive). + * @pattern ^[Aa][Dd][Mm][Ii][Nn]$ + */ type: string; /** * The name of the token. This property is deprecated. Use `tokenName` instead. diff --git a/frontend/src/openapi/models/createBannerSchema.ts b/frontend/src/openapi/models/createBannerSchema.ts index f665a33917..a4fe63f562 100644 --- a/frontend/src/openapi/models/createBannerSchema.ts +++ b/frontend/src/openapi/models/createBannerSchema.ts @@ -8,17 +8,32 @@ * Describes the properties required to create or update a banner. */ export interface CreateBannerSchema { - /** The markdown to display on the dialog. If not specified, no dialog will be displayed. */ + /** + * The markdown to display on the dialog. If not specified, no dialog will be displayed. + * @nullable + */ dialog?: string | null; - /** The title to display on the dialog. If not specified, this will be the same as `linkText`. */ + /** + * The title to display on the dialog. If not specified, this will be the same as `linkText`. + * @nullable + */ dialogTitle?: string | null; /** Whether the banner should be displayed currently. If not specified, defaults to true. */ enabled?: boolean; - /** The icon to display on the banner. Can be one of https://fonts.google.com/icons. If not specified, this will be the default icon for the variant. If "none", no icon will be displayed. */ + /** + * The icon to display on the banner. Can be one of https://fonts.google.com/icons. If not specified, this will be the default icon for the variant. If "none", no icon will be displayed. + * @nullable + */ icon?: string | null; - /** The link to display on the banner. Can either be an absolute or a relative link (e.g. absolute: "https://example.com" or relative: "/admin/service-accounts"). If "dialog", will display a dialog when clicked. If not specified, no link will be displayed. */ + /** + * The link to display on the banner. Can either be an absolute or a relative link (e.g. absolute: "https://example.com" or relative: "/admin/service-accounts"). If "dialog", will display a dialog when clicked. If not specified, no link will be displayed. + * @nullable + */ link?: string | null; - /** The text to display on the link. If not specified, will be displayed as "More info". */ + /** + * The text to display on the link. If not specified, will be displayed as "More info". + * @nullable + */ linkText?: string | null; /** The message to display to all users. Supports markdown. */ message: string; diff --git a/frontend/src/openapi/models/createEnvironmentSchema.ts b/frontend/src/openapi/models/createEnvironmentSchema.ts index 20cfe25a5a..cb20a4b1a4 100644 --- a/frontend/src/openapi/models/createEnvironmentSchema.ts +++ b/frontend/src/openapi/models/createEnvironmentSchema.ts @@ -10,16 +10,22 @@ export interface CreateEnvironmentSchema { /** Newly created environments are enabled by default. Set this property to `false` to create the environment in a disabled state. */ enabled?: boolean; - /** The name of the environment. Must be a URL-friendly string according to [RFC 3968, section 2.3](https://www.rfc-editor.org/rfc/rfc3986#section-2.3) */ + /** + * The name of the environment. Must be a URL-friendly string according to [RFC 3968, section 2.3](https://www.rfc-editor.org/rfc/rfc3986#section-2.3) + * @pattern ^[a-zA-Z0-9~_.-]+$ + */ name: string; /** Defines where in the list of environments to place this environment. The list uses an ascending sort, so lower numbers are shown first. You can change this value later. */ sortOrder?: number; - /** The [type of environment](https://docs.getunleash.io/reference/environments#environment-types) you would like to create. Unleash officially recognizes the following values: + /** + * The [type of environment](https://docs.getunleash.io/reference/environments#environment-types) you would like to create. Unleash officially recognizes the following values: - `development` - `test` - `preproduction` - `production` -If you pass a string that is not one of the recognized values, Unleash will accept it, but it will carry no special semantics. */ +If you pass a string that is not one of the recognized values, Unleash will accept it, but it will carry no special semantics. + * @minLength 1 + */ type: string; } diff --git a/frontend/src/openapi/models/createFeatureNamingPatternSchema.ts b/frontend/src/openapi/models/createFeatureNamingPatternSchema.ts index 17bf215a9d..4be2e247ee 100644 --- a/frontend/src/openapi/models/createFeatureNamingPatternSchema.ts +++ b/frontend/src/openapi/models/createFeatureNamingPatternSchema.ts @@ -8,10 +8,19 @@ * Create a feature naming pattern */ export interface CreateFeatureNamingPatternSchema { - /** A description of the pattern in a human-readable format. Will be shown to users when they create a new feature flag. */ + /** + * A description of the pattern in a human-readable format. Will be shown to users when they create a new feature flag. + * @nullable + */ description?: string | null; - /** An example of a feature name that matches the pattern. Must itself match the pattern supplied. */ + /** + * An example of a feature name that matches the pattern. Must itself match the pattern supplied. + * @nullable + */ example?: string | null; - /** A JavaScript regular expression pattern, without the start and end delimiters. Optional flags are not allowed. */ + /** + * A JavaScript regular expression pattern, without the start and end delimiters. Optional flags are not allowed. + * @nullable + */ pattern: string | null; } diff --git a/frontend/src/openapi/models/createFeatureSchema.ts b/frontend/src/openapi/models/createFeatureSchema.ts index 600c387d4e..7b5c580ab0 100644 --- a/frontend/src/openapi/models/createFeatureSchema.ts +++ b/frontend/src/openapi/models/createFeatureSchema.ts @@ -8,7 +8,10 @@ * Data used to create a new feature toggle. */ export interface CreateFeatureSchema { - /** Detailed description of the feature */ + /** + * Detailed description of the feature + * @nullable + */ description?: string | null; /** `true` if the impression data collection is enabled for the feature, otherwise `false`. */ impressionData?: boolean; diff --git a/frontend/src/openapi/models/createFeatureStrategySchema.ts b/frontend/src/openapi/models/createFeatureStrategySchema.ts index f0f3ecaabf..73f7e1727a 100644 --- a/frontend/src/openapi/models/createFeatureStrategySchema.ts +++ b/frontend/src/openapi/models/createFeatureStrategySchema.ts @@ -13,7 +13,10 @@ import type { CreateStrategyVariantSchema } from './createStrategyVariantSchema' export interface CreateFeatureStrategySchema { /** A list of the constraints attached to the strategy. See https://docs.getunleash.io/reference/strategy-constraints */ constraints?: ConstraintSchema[]; - /** A toggle to disable the strategy. defaults to false. Disabled strategies are not evaluated or returned to the SDKs */ + /** + * A toggle to disable the strategy. defaults to false. Disabled strategies are not evaluated or returned to the SDKs + * @nullable + */ disabled?: boolean | null; /** The name of the strategy type */ name: string; @@ -23,7 +26,10 @@ export interface CreateFeatureStrategySchema { segments?: number[]; /** The order of the strategy in the list */ sortOrder?: number; - /** A descriptive title for the strategy */ + /** + * A descriptive title for the strategy + * @nullable + */ title?: string | null; /** Strategy level variants */ variants?: CreateStrategyVariantSchema[]; diff --git a/frontend/src/openapi/models/createGroupSchema.ts b/frontend/src/openapi/models/createGroupSchema.ts index d929cd8222..02241aa864 100644 --- a/frontend/src/openapi/models/createGroupSchema.ts +++ b/frontend/src/openapi/models/createGroupSchema.ts @@ -9,13 +9,19 @@ import type { CreateGroupSchemaUsersItem } from './createGroupSchemaUsersItem'; * A detailed information about a user group */ export interface CreateGroupSchema { - /** A custom description of the group */ + /** + * A custom description of the group + * @nullable + */ description?: string | null; /** A list of SSO groups that should map to this Unleash group */ mappingsSSO?: string[]; /** The name of the group */ name: string; - /** A role id that is used as the root role for all users in this group. This can be either the id of the Viewer, Editor or Admin role. */ + /** + * A role id that is used as the root role for all users in this group. This can be either the id of the Viewer, Editor or Admin role. + * @nullable + */ rootRole?: number | null; /** A list of users belonging to this group */ users?: CreateGroupSchemaUsersItem[]; diff --git a/frontend/src/openapi/models/createGroupSchemaUsersItemUser.ts b/frontend/src/openapi/models/createGroupSchemaUsersItemUser.ts index c81aec3740..78bda13c77 100644 --- a/frontend/src/openapi/models/createGroupSchemaUsersItemUser.ts +++ b/frontend/src/openapi/models/createGroupSchemaUsersItemUser.ts @@ -8,6 +8,9 @@ * A minimal user object */ export type CreateGroupSchemaUsersItemUser = { - /** The user id */ + /** + * The user id + * @minimum 0 + */ id: number; }; diff --git a/frontend/src/openapi/models/createProjectSchema.ts b/frontend/src/openapi/models/createProjectSchema.ts index cae48ebb50..98bc7ba5dc 100644 --- a/frontend/src/openapi/models/createProjectSchema.ts +++ b/frontend/src/openapi/models/createProjectSchema.ts @@ -3,20 +3,37 @@ * Do not edit manually. * See `gen:api` script in package.json */ +import type { CreateProjectSchemaChangeRequestEnvironmentsItem } from './createProjectSchemaChangeRequestEnvironmentsItem'; import type { CreateProjectSchemaMode } from './createProjectSchemaMode'; /** * Data used to create a new [project](https://docs.getunleash.io/reference/projects). */ export interface CreateProjectSchema { + /** A list of environments that should have change requests enabled. If the list includes environments not in the `environments` list, they will still have change requests enabled. */ + changeRequestEnvironments?: CreateProjectSchemaChangeRequestEnvironmentsItem[]; /** A default stickiness for the project affecting the default stickiness value for variants and Gradual Rollout strategy */ defaultStickiness?: string; - /** The project's description. */ + /** + * The project's description. + * @nullable + */ description?: string | null; - /** The project's identifier. */ + /** + * A list of environments that should be enabled for this project. The list must contain at least one environment. If this property is missing, Unleash will default to enabling all non-deprecated environments for the project. This is a beta feature and is not yet generally available. + * @minItems 1 + */ + environments?: string[]; + /** + * The project's identifier. + * @pattern [A-Za-z0-9_~.-]+ + */ id: string; /** A mode of the project affecting what actions are possible in this project */ mode?: CreateProjectSchemaMode; - /** The project's name. */ + /** + * The project's name. + * @minLength 1 + */ name: string; } diff --git a/frontend/src/openapi/models/createProjectSchemaChangeRequestEnvironmentsItem.ts b/frontend/src/openapi/models/createProjectSchemaChangeRequestEnvironmentsItem.ts new file mode 100644 index 0000000000..c66fe16d1c --- /dev/null +++ b/frontend/src/openapi/models/createProjectSchemaChangeRequestEnvironmentsItem.ts @@ -0,0 +1,12 @@ +/** + * Generated by Orval + * Do not edit manually. + * See `gen:api` script in package.json + */ + +export type CreateProjectSchemaChangeRequestEnvironmentsItem = { + /** The name of the environment to configure change requests for. */ + name: string; + /** The number of approvals required for a change request to be fully approved and ready to applied in this environment. If no value is provided, it will be set to the default number, which is 1. Values will be clamped to between 1 and 10 inclusive. this is a beta feature is not yet generally available. */ + requiredApprovals?: number; +}; diff --git a/frontend/src/openapi/models/createSignalEndpointSchema.ts b/frontend/src/openapi/models/createSignalEndpointSchema.ts index aaaa667b76..458d1f8651 100644 --- a/frontend/src/openapi/models/createSignalEndpointSchema.ts +++ b/frontend/src/openapi/models/createSignalEndpointSchema.ts @@ -8,7 +8,10 @@ * Describes the properties required to create or update a signal endpoint. */ export interface CreateSignalEndpointSchema { - /** A more detailed description of the signal endpoint and its intended use. */ + /** + * A more detailed description of the signal endpoint and its intended use. + * @nullable + */ description?: string | null; /** Whether the signal endpoint is currently enabled. If not specified, defaults to true. */ enabled?: boolean; diff --git a/frontend/src/openapi/models/createStrategyVariantSchema.ts b/frontend/src/openapi/models/createStrategyVariantSchema.ts index 795b0451ef..18cc59b9e0 100644 --- a/frontend/src/openapi/models/createStrategyVariantSchema.ts +++ b/frontend/src/openapi/models/createStrategyVariantSchema.ts @@ -16,7 +16,11 @@ export interface CreateStrategyVariantSchema { payload?: CreateStrategyVariantSchemaPayload; /** The [stickiness](https://docs.getunleash.io/reference/feature-toggle-variants#variant-stickiness) to use for distribution of this variant. Stickiness is how Unleash guarantees that the same user gets the same variant every time */ stickiness: string; - /** The weight is the likelihood of any one user getting this variant. It is an integer between 0 and 1000. See the section on [variant weights](https://docs.getunleash.io/reference/feature-toggle-variants#variant-weight) for more information */ + /** + * The weight is the likelihood of any one user getting this variant. It is an integer between 0 and 1000. See the section on [variant weights](https://docs.getunleash.io/reference/feature-toggle-variants#variant-weight) for more information + * @minimum 0 + * @maximum 1000 + */ weight: number; /** Set to `fix` if this variant must have exactly the weight allocated to it. If the type is `variable`, the weight will adjust so that the total weight of all variants adds up to 1000. Refer to the [variant weight documentation](https://docs.getunleash.io/reference/feature-toggle-variants#variant-weight). */ weightType: CreateStrategyVariantSchemaWeightType; diff --git a/frontend/src/openapi/models/createUserResponseSchema.ts b/frontend/src/openapi/models/createUserResponseSchema.ts index aee07dfa98..2f903e3deb 100644 --- a/frontend/src/openapi/models/createUserResponseSchema.ts +++ b/frontend/src/openapi/models/createUserResponseSchema.ts @@ -28,18 +28,33 @@ export interface CreateUserResponseSchema { * @deprecated */ isAPI?: boolean; - /** How many unsuccessful attempts at logging in has the user made */ + /** + * How many unsuccessful attempts at logging in has the user made + * @minimum 0 + */ loginAttempts?: number; - /** Name of the user */ + /** + * Name of the user + * @nullable + */ name?: string | null; /** Deprecated */ permissions?: string[]; /** Which [root role](https://docs.getunleash.io/reference/rbac#predefined-roles) this user is assigned. Usually a numeric role ID, but can be a string when returning newly created user with an explicit string role. */ rootRole?: CreateUserResponseSchemaRootRole; - /** The SCIM ID of the user, only present if managed by SCIM */ + /** + * The SCIM ID of the user, only present if managed by SCIM + * @nullable + */ scimId?: string | null; - /** The last time this user logged in */ + /** + * The last time this user logged in + * @nullable + */ seenAt?: string | null; - /** A unique username for the user */ + /** + * A unique username for the user + * @nullable + */ username?: string | null; } diff --git a/frontend/src/openapi/models/deprecatedProjectOverviewSchema.ts b/frontend/src/openapi/models/deprecatedProjectOverviewSchema.ts index d12a8fd6a3..186ff12b61 100644 --- a/frontend/src/openapi/models/deprecatedProjectOverviewSchema.ts +++ b/frontend/src/openapi/models/deprecatedProjectOverviewSchema.ts @@ -13,17 +13,26 @@ import type { ProjectStatsSchema } from './projectStatsSchema'; * A high-level overview of a project. It contains information such as project statistics, the name of the project, what members and what features it contains, etc. */ export interface DeprecatedProjectOverviewSchema { - /** When the project was created. */ + /** + * When the project was created. + * @nullable + */ createdAt?: string | null; /** A default stickiness for the project affecting the default stickiness value for variants and Gradual Rollout strategy */ defaultStickiness?: string; - /** Additional information about the project */ + /** + * Additional information about the project + * @nullable + */ description?: string | null; /** The environments that are enabled for this project */ environments?: ProjectEnvironmentSchema[]; /** `true` if the project was favorited, otherwise `false`. */ favorite?: boolean; - /** A limit on the number of features allowed in the project. Null if no limit. */ + /** + * A limit on the number of features allowed in the project. Null if no limit. + * @nullable + */ featureLimit?: number | null; featureNaming?: CreateFeatureNamingPatternSchema; /** The full list of features in this project (excluding archived features) */ @@ -38,7 +47,10 @@ export interface DeprecatedProjectOverviewSchema { name: string; /** Project statistics */ stats?: ProjectStatsSchema; - /** When the project was last updated. */ + /** + * When the project was last updated. + * @nullable + */ updatedAt?: string | null; /** The schema version used to describe the project overview */ version: number; diff --git a/frontend/src/openapi/models/environmentProjectSchema.ts b/frontend/src/openapi/models/environmentProjectSchema.ts index 635433f157..a86f2047ae 100644 --- a/frontend/src/openapi/models/environmentProjectSchema.ts +++ b/frontend/src/openapi/models/environmentProjectSchema.ts @@ -15,9 +15,15 @@ export interface EnvironmentProjectSchema { enabled: boolean; /** The name of the environment */ name: string; - /** The number of client and front-end API tokens that have access to this project */ + /** + * The number of client and front-end API tokens that have access to this project + * @minimum 0 + */ projectApiTokenCount?: number; - /** The number of features enabled in this environment for this project */ + /** + * The number of features enabled in this environment for this project + * @minimum 0 + */ projectEnabledToggleCount?: number; /** `true` if the environment is protected, otherwise `false`. A *protected* environment can not be deleted. */ protected: boolean; diff --git a/frontend/src/openapi/models/environmentSchema.ts b/frontend/src/openapi/models/environmentSchema.ts index c979d76b6e..9155251d26 100644 --- a/frontend/src/openapi/models/environmentSchema.ts +++ b/frontend/src/openapi/models/environmentSchema.ts @@ -8,15 +8,27 @@ * A definition of the project environment */ export interface EnvironmentSchema { - /** The number of API tokens for the project environment */ + /** + * The number of API tokens for the project environment + * @minimum 0 + * @nullable + */ apiTokenCount?: number | null; /** `true` if the environment is enabled for the project, otherwise `false`. */ enabled: boolean; - /** The number of enabled toggles for the project environment */ + /** + * The number of enabled toggles for the project environment + * @minimum 0 + * @nullable + */ enabledToggleCount?: number | null; /** The name of the environment */ name: string; - /** The number of projects with this environment */ + /** + * The number of projects with this environment + * @minimum 0 + * @nullable + */ projectCount?: number | null; /** `true` if the environment is protected, otherwise `false`. A *protected* environment can not be deleted. */ protected: boolean; diff --git a/frontend/src/openapi/models/eventSchema.ts b/frontend/src/openapi/models/eventSchema.ts index 8ea2010abf..f923a92d74 100644 --- a/frontend/src/openapi/models/eventSchema.ts +++ b/frontend/src/openapi/models/eventSchema.ts @@ -16,21 +16,45 @@ export interface EventSchema { createdAt: string; /** Which user created this event */ createdBy: string; - /** The is of the user that created this event */ + /** + * The is of the user that created this event + * @nullable + */ createdByUserId?: number | null; - /** Extra associated data related to the event, such as feature toggle state, segment configuration, etc., if applicable. */ + /** + * Extra associated data related to the event, such as feature toggle state, segment configuration, etc., if applicable. + * @nullable + */ data?: EventSchemaData; - /** The feature toggle environment the event relates to, if applicable. */ + /** + * The feature toggle environment the event relates to, if applicable. + * @nullable + */ environment?: string | null; - /** The name of the feature toggle the event relates to, if applicable. */ + /** + * The name of the feature toggle the event relates to, if applicable. + * @nullable + */ featureName?: string | null; - /** The ID of the event. An increasing natural number. */ + /** + * The ID of the event. An increasing natural number. + * @minimum 1 + */ id: number; - /** Data relating to the previous state of the event's subject. */ + /** + * Data relating to the previous state of the event's subject. + * @nullable + */ preData?: EventSchemaPreData; - /** The project the event relates to, if applicable. */ + /** + * The project the event relates to, if applicable. + * @nullable + */ project?: string | null; - /** Any tags related to the event, if applicable. */ + /** + * Any tags related to the event, if applicable. + * @nullable + */ tags?: TagSchema[] | null; /** What [type](https://docs.getunleash.io/reference/api/legacy/unleash/admin/events#event-type-description) of event this is */ type: EventSchemaType; diff --git a/frontend/src/openapi/models/eventSchemaData.ts b/frontend/src/openapi/models/eventSchemaData.ts index 68f9997993..342d8e22e0 100644 --- a/frontend/src/openapi/models/eventSchemaData.ts +++ b/frontend/src/openapi/models/eventSchemaData.ts @@ -6,5 +6,6 @@ /** * Extra associated data related to the event, such as feature toggle state, segment configuration, etc., if applicable. + * @nullable */ export type EventSchemaData = { [key: string]: any } | null; diff --git a/frontend/src/openapi/models/eventSchemaPreData.ts b/frontend/src/openapi/models/eventSchemaPreData.ts index 81db3960a3..fb8f247336 100644 --- a/frontend/src/openapi/models/eventSchemaPreData.ts +++ b/frontend/src/openapi/models/eventSchemaPreData.ts @@ -6,5 +6,6 @@ /** * Data relating to the previous state of the event's subject. + * @nullable */ export type EventSchemaPreData = { [key: string]: any } | null; diff --git a/frontend/src/openapi/models/eventsSchema.ts b/frontend/src/openapi/models/eventsSchema.ts index d0a96ac02c..131b282afe 100644 --- a/frontend/src/openapi/models/eventsSchema.ts +++ b/frontend/src/openapi/models/eventsSchema.ts @@ -12,8 +12,14 @@ import type { EventsSchemaVersion } from './eventsSchemaVersion'; export interface EventsSchema { /** The list of events */ events: EventSchema[]; - /** The total count of events */ + /** + * The total count of events + * @minimum 0 + */ totalEvents?: number; - /** The api version of this response. A natural increasing number. Only increases if format changes */ + /** + * The api version of this response. A natural increasing number. Only increases if format changes + * @minimum 1 + */ version: EventsSchemaVersion; } diff --git a/frontend/src/openapi/models/eventsSchemaVersion.ts b/frontend/src/openapi/models/eventsSchemaVersion.ts index df04beb0c9..6ab85ed015 100644 --- a/frontend/src/openapi/models/eventsSchemaVersion.ts +++ b/frontend/src/openapi/models/eventsSchemaVersion.ts @@ -6,6 +6,7 @@ /** * The api version of this response. A natural increasing number. Only increases if format changes + * @minimum 1 */ export type EventsSchemaVersion = (typeof EventsSchemaVersion)[keyof typeof EventsSchemaVersion]; diff --git a/frontend/src/openapi/models/featureEnvironmentMetricsSchema.ts b/frontend/src/openapi/models/featureEnvironmentMetricsSchema.ts index eb28cab957..c52e0fe32a 100644 --- a/frontend/src/openapi/models/featureEnvironmentMetricsSchema.ts +++ b/frontend/src/openapi/models/featureEnvironmentMetricsSchema.ts @@ -16,12 +16,18 @@ export interface FeatureEnvironmentMetricsSchema { environment: string; /** The name of the feature */ featureName?: string; - /** How many times the toggle evaluated to false */ + /** + * How many times the toggle evaluated to false + * @minimum 0 + */ no: number; /** The start of the time window these metrics are valid for. The window is usually 1 hour wide */ timestamp: DateSchema; /** How many times each variant was returned */ variants?: FeatureEnvironmentMetricsSchemaVariants; - /** How many times the toggle evaluated to true */ + /** + * How many times the toggle evaluated to true + * @minimum 0 + */ yes: number; } diff --git a/frontend/src/openapi/models/featureEnvironmentSchema.ts b/frontend/src/openapi/models/featureEnvironmentSchema.ts index dc1b8088ee..747fef98b5 100644 --- a/frontend/src/openapi/models/featureEnvironmentSchema.ts +++ b/frontend/src/openapi/models/featureEnvironmentSchema.ts @@ -20,7 +20,10 @@ export interface FeatureEnvironmentSchema { hasEnabledStrategies?: boolean; /** Whether the feature has any strategies defined. */ hasStrategies?: boolean; - /** The date when metrics where last collected for the feature environment */ + /** + * The date when metrics where last collected for the feature environment + * @nullable + */ lastSeenAt?: string | null; /** The name of the environment */ name: string; diff --git a/frontend/src/openapi/models/featureEventsSchema.ts b/frontend/src/openapi/models/featureEventsSchema.ts index 6af614d97d..3ddfd00bb6 100644 --- a/frontend/src/openapi/models/featureEventsSchema.ts +++ b/frontend/src/openapi/models/featureEventsSchema.ts @@ -14,8 +14,14 @@ export interface FeatureEventsSchema { events: EventSchema[]; /** The name of the feature toggle these events relate to */ toggleName?: string; - /** How many events are there for this feature toggle */ + /** + * How many events are there for this feature toggle + * @minimum 0 + */ totalEvents?: number; - /** An API versioning number */ + /** + * An API versioning number + * @minimum 1 + */ version?: FeatureEventsSchemaVersion; } diff --git a/frontend/src/openapi/models/featureEventsSchemaVersion.ts b/frontend/src/openapi/models/featureEventsSchemaVersion.ts index 5691e44bbc..5b76dcb22e 100644 --- a/frontend/src/openapi/models/featureEventsSchemaVersion.ts +++ b/frontend/src/openapi/models/featureEventsSchemaVersion.ts @@ -6,6 +6,7 @@ /** * An API versioning number + * @minimum 1 */ export type FeatureEventsSchemaVersion = (typeof FeatureEventsSchemaVersion)[keyof typeof FeatureEventsSchemaVersion]; diff --git a/frontend/src/openapi/models/featureMetricsSchema.ts b/frontend/src/openapi/models/featureMetricsSchema.ts index a529ab2167..4c87119041 100644 --- a/frontend/src/openapi/models/featureMetricsSchema.ts +++ b/frontend/src/openapi/models/featureMetricsSchema.ts @@ -13,6 +13,9 @@ export interface FeatureMetricsSchema { data: FeatureEnvironmentMetricsSchema[]; /** The maturity level of this API (alpha, beta, stable, deprecated) */ maturity: string; - /** The version of this schema */ + /** + * The version of this schema + * @minimum 1 + */ version: number; } diff --git a/frontend/src/openapi/models/featureSchema.ts b/frontend/src/openapi/models/featureSchema.ts index 65f91a7cfc..6728e7c361 100644 --- a/frontend/src/openapi/models/featureSchema.ts +++ b/frontend/src/openapi/models/featureSchema.ts @@ -5,6 +5,7 @@ */ import type { FeatureSchemaDependenciesItem } from './featureSchemaDependenciesItem'; import type { FeatureEnvironmentSchema } from './featureEnvironmentSchema'; +import type { FeatureSchemaLifecycle } from './featureSchemaLifecycle'; import type { FeatureSchemaStrategiesItem } from './featureSchemaStrategiesItem'; import type { TagSchema } from './tagSchema'; import type { VariantSchema } from './variantSchema'; @@ -15,15 +16,24 @@ import type { VariantSchema } from './variantSchema'; export interface FeatureSchema { /** `true` if the feature is archived */ archived?: boolean; - /** The date the feature was archived */ + /** + * The date the feature was archived + * @nullable + */ archivedAt?: string | null; /** The list of child feature names. This is an experimental field and may change. */ children?: string[]; - /** The date the feature was created */ + /** + * The date the feature was created + * @nullable + */ createdAt?: string | null; /** The list of parent dependencies. This is an experimental field and may change. */ dependencies?: FeatureSchemaDependenciesItem[]; - /** Detailed description of the feature */ + /** + * Detailed description of the feature + * @nullable + */ description?: string | null; /** `true` if the feature is enabled, otherwise `false`. */ enabled?: boolean; @@ -36,8 +46,11 @@ export interface FeatureSchema { /** * The date when metrics where last collected for the feature. This field is deprecated, use the one in featureEnvironmentSchema * @deprecated + * @nullable */ lastSeenAt?: string | null; + /** Current lifecycle stage of the feature */ + lifecycle?: FeatureSchemaLifecycle; /** Unique feature name */ name: string; /** Name of the project the feature belongs to */ @@ -49,7 +62,10 @@ export interface FeatureSchema { * @deprecated */ strategies?: FeatureSchemaStrategiesItem[]; - /** The list of feature tags */ + /** + * The list of feature tags + * @nullable + */ tags?: TagSchema[] | null; /** Type of the toggle e.g. experiment, kill-switch, release, operational, permission */ type?: string; diff --git a/frontend/src/openapi/models/featureSchemaLifecycle.ts b/frontend/src/openapi/models/featureSchemaLifecycle.ts new file mode 100644 index 0000000000..1647c0e212 --- /dev/null +++ b/frontend/src/openapi/models/featureSchemaLifecycle.ts @@ -0,0 +1,16 @@ +/** + * Generated by Orval + * Do not edit manually. + * See `gen:api` script in package.json + */ +import type { FeatureSchemaLifecycleStage } from './featureSchemaLifecycleStage'; + +/** + * Current lifecycle stage of the feature + */ +export type FeatureSchemaLifecycle = { + /** When the feature entered this stage */ + enteredStageAt: string; + /** The name of the current lifecycle stage */ + stage: FeatureSchemaLifecycleStage; +}; diff --git a/frontend/src/openapi/models/featureSchemaLifecycleStage.ts b/frontend/src/openapi/models/featureSchemaLifecycleStage.ts new file mode 100644 index 0000000000..52fb913b83 --- /dev/null +++ b/frontend/src/openapi/models/featureSchemaLifecycleStage.ts @@ -0,0 +1,20 @@ +/** + * Generated by Orval + * Do not edit manually. + * See `gen:api` script in package.json + */ + +/** + * The name of the current lifecycle stage + */ +export type FeatureSchemaLifecycleStage = + (typeof FeatureSchemaLifecycleStage)[keyof typeof FeatureSchemaLifecycleStage]; + +// eslint-disable-next-line @typescript-eslint/no-redeclare +export const FeatureSchemaLifecycleStage = { + initial: 'initial', + 'pre-live': 'pre-live', + live: 'live', + completed: 'completed', + archived: 'archived', +} as const; diff --git a/frontend/src/openapi/models/featureSearchEnvironmentSchema.ts b/frontend/src/openapi/models/featureSearchEnvironmentSchema.ts index 4a085a0be4..cc584f0470 100644 --- a/frontend/src/openapi/models/featureSearchEnvironmentSchema.ts +++ b/frontend/src/openapi/models/featureSearchEnvironmentSchema.ts @@ -20,11 +20,17 @@ export interface FeatureSearchEnvironmentSchema { hasEnabledStrategies?: boolean; /** Whether the feature has any strategies defined. */ hasStrategies?: boolean; - /** The date when metrics where last collected for the feature environment */ + /** + * The date when metrics where last collected for the feature environment + * @nullable + */ lastSeenAt?: string | null; /** The name of the environment */ name: string; - /** How many times the toggle evaluated to false in last hour bucket */ + /** + * How many times the toggle evaluated to false in last hour bucket + * @minimum 0 + */ no?: number; /** The sort order of the feature environment in the feature environments list */ sortOrder?: number; @@ -36,6 +42,9 @@ export interface FeatureSearchEnvironmentSchema { variantCount?: number; /** A list of variants for the feature environment */ variants?: VariantSchema[]; - /** How many times the toggle evaluated to true in last hour bucket */ + /** + * How many times the toggle evaluated to true in last hour bucket + * @minimum 0 + */ yes?: number; } diff --git a/frontend/src/openapi/models/featureSearchResponseSchema.ts b/frontend/src/openapi/models/featureSearchResponseSchema.ts index 7ddacdd0b4..d653ef59ea 100644 --- a/frontend/src/openapi/models/featureSearchResponseSchema.ts +++ b/frontend/src/openapi/models/featureSearchResponseSchema.ts @@ -15,13 +15,25 @@ import type { VariantSchema } from './variantSchema'; export interface FeatureSearchResponseSchema { /** `true` if the feature is archived */ archived?: boolean; - /** The date the feature was archived */ + /** + * The date the feature was archived + * @nullable + */ archivedAt?: string | null; - /** The date the feature was created */ + /** + * The date the feature was created + * @nullable + */ createdAt: string | null; - /** The type of dependency. 'parent' means that the feature is a parent feature, 'child' means that the feature is a child feature. */ + /** + * The type of dependency. 'parent' means that the feature is a parent feature, 'child' means that the feature is a child feature. + * @nullable + */ dependencyType: FeatureSearchResponseSchemaDependencyType; - /** Detailed description of the feature */ + /** + * Detailed description of the feature + * @nullable + */ description?: string | null; /** The list of environments where the feature can be used */ environments: FeatureSearchEnvironmentSchema[]; @@ -32,6 +44,7 @@ export interface FeatureSearchResponseSchema { /** * The date when metrics where last collected for the feature. This field is deprecated, use the one in featureEnvironmentSchema * @deprecated + * @nullable */ lastSeenAt?: string | null; /** Unique feature name */ @@ -47,7 +60,10 @@ export interface FeatureSearchResponseSchema { * @deprecated */ strategies?: FeatureSearchResponseSchemaStrategiesItem[]; - /** The list of feature tags */ + /** + * The list of feature tags + * @nullable + */ tags?: TagSchema[] | null; /** Type of the toggle e.g. experiment, kill-switch, release, operational, permission */ type: string; diff --git a/frontend/src/openapi/models/featureSearchResponseSchemaDependencyType.ts b/frontend/src/openapi/models/featureSearchResponseSchemaDependencyType.ts index f2c842b457..342945732c 100644 --- a/frontend/src/openapi/models/featureSearchResponseSchemaDependencyType.ts +++ b/frontend/src/openapi/models/featureSearchResponseSchemaDependencyType.ts @@ -6,6 +6,7 @@ /** * The type of dependency. 'parent' means that the feature is a parent feature, 'child' means that the feature is a child feature. + * @nullable */ export type FeatureSearchResponseSchemaDependencyType = | (typeof FeatureSearchResponseSchemaDependencyType)[keyof typeof FeatureSearchResponseSchemaDependencyType] diff --git a/frontend/src/openapi/models/featureStrategySchema.ts b/frontend/src/openapi/models/featureStrategySchema.ts index a4ac3c783c..12dcffef49 100644 --- a/frontend/src/openapi/models/featureStrategySchema.ts +++ b/frontend/src/openapi/models/featureStrategySchema.ts @@ -13,7 +13,10 @@ import type { StrategyVariantSchema } from './strategyVariantSchema'; export interface FeatureStrategySchema { /** A list of the constraints attached to the strategy. See https://docs.getunleash.io/reference/strategy-constraints */ constraints?: ConstraintSchema[]; - /** A toggle to disable the strategy. defaults to false. Disabled strategies are not evaluated or returned to the SDKs */ + /** + * A toggle to disable the strategy. defaults to false. Disabled strategies are not evaluated or returned to the SDKs + * @nullable + */ disabled?: boolean | null; /** The name or feature the strategy is attached to */ featureName?: string; @@ -26,7 +29,10 @@ export interface FeatureStrategySchema { segments?: number[]; /** The order of the strategy in the list */ sortOrder?: number; - /** A descriptive title for the strategy */ + /** + * A descriptive title for the strategy + * @nullable + */ title?: string | null; /** Strategy level variants */ variants?: StrategyVariantSchema[]; diff --git a/frontend/src/openapi/models/featureTagSchema.ts b/frontend/src/openapi/models/featureTagSchema.ts index b5e2fc81da..f68f5736de 100644 --- a/frontend/src/openapi/models/featureTagSchema.ts +++ b/frontend/src/openapi/models/featureTagSchema.ts @@ -8,7 +8,10 @@ * Describes a tag applied to a feature */ export interface FeatureTagSchema { - /** The id of the user who created this tag */ + /** + * The id of the user who created this tag + * @nullable + */ createdByUserId?: number | null; /** The name of the feature this tag is applied to */ featureName: string; diff --git a/frontend/src/openapi/models/featureTypeSchema.ts b/frontend/src/openapi/models/featureTypeSchema.ts index 6176a6715c..3740d0206c 100644 --- a/frontend/src/openapi/models/featureTypeSchema.ts +++ b/frontend/src/openapi/models/featureTypeSchema.ts @@ -12,7 +12,11 @@ export interface FeatureTypeSchema { description: string; /** The identifier of this feature toggle type. */ id: string; - /** How many days it takes before a feature toggle of this typed is flagged as [potentially stale](https://docs.getunleash.io/reference/technical-debt#stale-and-potentially-stale-toggles) by Unleash. If this value is `null`, Unleash will never mark it as potentially stale. */ + /** + * How many days it takes before a feature toggle of this typed is flagged as [potentially stale](https://docs.getunleash.io/reference/technical-debt#stale-and-potentially-stale-toggles) by Unleash. If this value is `null`, Unleash will never mark it as potentially stale. + * @minimum 0 + * @nullable + */ lifetimeDays: number | null; /** The display name of this feature toggle type. */ name: string; diff --git a/frontend/src/openapi/models/featureUsageSchema.ts b/frontend/src/openapi/models/featureUsageSchema.ts index a561fc8706..55449967f2 100644 --- a/frontend/src/openapi/models/featureUsageSchema.ts +++ b/frontend/src/openapi/models/featureUsageSchema.ts @@ -17,6 +17,9 @@ export interface FeatureUsageSchema { maturity: string; /** A list of applications seen using this feature */ seenApplications: string[]; - /** The version of this schema */ + /** + * The version of this schema + * @minimum 1 + */ version: number; } diff --git a/frontend/src/openapi/models/feedbackResponseSchema.ts b/frontend/src/openapi/models/feedbackResponseSchema.ts index 48f6ec260c..b282cd2b05 100644 --- a/frontend/src/openapi/models/feedbackResponseSchema.ts +++ b/frontend/src/openapi/models/feedbackResponseSchema.ts @@ -10,7 +10,10 @@ export interface FeedbackResponseSchema { /** The name of the feedback session */ feedbackId?: string; - /** When this feedback was given */ + /** + * When this feedback was given + * @nullable + */ given?: string | null; /** `true` if the user has asked never to see this feedback questionnaire again. */ neverShow?: boolean; diff --git a/frontend/src/openapi/models/feedbackSchema.ts b/frontend/src/openapi/models/feedbackSchema.ts index 18cdf5f922..b660eeb0fe 100644 --- a/frontend/src/openapi/models/feedbackSchema.ts +++ b/frontend/src/openapi/models/feedbackSchema.ts @@ -8,18 +8,30 @@ * Schema representing feedback information. */ export interface FeedbackSchema { - /** Details aspects of the service or product that could benefit from enhancements or modifications. Aids in pinpointing areas needing attention for improvement. */ + /** + * Details aspects of the service or product that could benefit from enhancements or modifications. Aids in pinpointing areas needing attention for improvement. + * @nullable + */ areasForImprovement: string | null; /** The category of the feedback. */ category: string; /** The date and time when the feedback was provided. */ createdAt: string; - /** A score indicating the difficulty experienced by the user. */ + /** + * A score indicating the difficulty experienced by the user. + * @nullable + */ difficultyScore: number | null; /** The unique identifier of the feedback. */ id: number; - /** This field is for users to mention what they liked. */ + /** + * This field is for users to mention what they liked. + * @nullable + */ positive: string | null; - /** The type of user providing the feedback. */ + /** + * The type of user providing the feedback. + * @nullable + */ userType: string | null; } diff --git a/frontend/src/openapi/models/feedbackUpdateSchema.ts b/frontend/src/openapi/models/feedbackUpdateSchema.ts index d5fad3e1e6..bdb64b7793 100644 --- a/frontend/src/openapi/models/feedbackUpdateSchema.ts +++ b/frontend/src/openapi/models/feedbackUpdateSchema.ts @@ -8,7 +8,10 @@ * User feedback information to be updated. */ export interface FeedbackUpdateSchema { - /** When this feedback was given */ + /** + * When this feedback was given + * @nullable + */ given?: string | null; /** `true` if the user has asked never to see this feedback questionnaire again. */ neverShow?: boolean; diff --git a/frontend/src/openapi/models/groupSchema.ts b/frontend/src/openapi/models/groupSchema.ts index 64f98f3cdd..989a7cb1ea 100644 --- a/frontend/src/openapi/models/groupSchema.ts +++ b/frontend/src/openapi/models/groupSchema.ts @@ -9,11 +9,20 @@ import type { GroupUserModelSchema } from './groupUserModelSchema'; * A detailed information about a user group */ export interface GroupSchema { - /** When was this group created */ + /** + * When was this group created + * @nullable + */ createdAt?: string | null; - /** A user who created this group */ + /** + * A user who created this group + * @nullable + */ createdBy?: string | null; - /** A custom description of the group */ + /** + * A custom description of the group + * @nullable + */ description?: string | null; /** The group id */ id?: number; @@ -23,11 +32,20 @@ export interface GroupSchema { name: string; /** A list of projects where this group is used */ projects?: string[]; - /** A role id that is used as the root role for all users in this group. This can be either the id of the Viewer, Editor or Admin role. */ + /** + * A role id that is used as the root role for all users in this group. This can be either the id of the Viewer, Editor or Admin role. + * @nullable + */ rootRole?: number | null; - /** The SCIM ID of the group, only present if managed by SCIM */ + /** + * The SCIM ID of the group, only present if managed by SCIM + * @nullable + */ scimId?: string | null; - /** The number of users that belong to this group */ + /** + * The number of users that belong to this group + * @minimum 0 + */ userCount?: number; /** A list of users belonging to this group */ users?: GroupUserModelSchema[]; diff --git a/frontend/src/openapi/models/groupUserModelSchema.ts b/frontend/src/openapi/models/groupUserModelSchema.ts index d71e5ad091..44f9655eea 100644 --- a/frontend/src/openapi/models/groupUserModelSchema.ts +++ b/frontend/src/openapi/models/groupUserModelSchema.ts @@ -9,7 +9,10 @@ import type { UserSchema } from './userSchema'; * Details for a single user belonging to a group */ export interface GroupUserModelSchema { - /** The username of the user who added this user to this group */ + /** + * The username of the user who added this user to this group + * @nullable + */ createdBy?: string | null; /** The date when the user joined the group */ joinedAt?: string; diff --git a/frontend/src/openapi/models/groupWithProjectRoleSchema.ts b/frontend/src/openapi/models/groupWithProjectRoleSchema.ts index 2d74a72004..a0a5fd4c70 100644 --- a/frontend/src/openapi/models/groupWithProjectRoleSchema.ts +++ b/frontend/src/openapi/models/groupWithProjectRoleSchema.ts @@ -11,25 +11,46 @@ import type { GroupUserModelSchema } from './groupUserModelSchema'; export interface GroupWithProjectRoleSchema { /** When this group was added to the project */ addedAt?: string; - /** When was this group created */ + /** + * When was this group created + * @nullable + */ createdAt?: string | null; - /** A user who created this group */ + /** + * A user who created this group + * @nullable + */ createdBy?: string | null; - /** A custom description of the group */ + /** + * A custom description of the group + * @nullable + */ description?: string | null; - /** The group's ID in the Unleash system */ + /** + * The group's ID in the Unleash system + * @minimum 0 + */ id: number; /** A list of SSO groups that should map to this Unleash group */ mappingsSSO?: string[]; /** The name of the group */ name?: string; - /** The ID of the role this group has in the given project */ + /** + * The ID of the role this group has in the given project + * @minimum 0 + */ roleId?: number; /** A list of roles this user has in the given project */ roles?: number[]; - /** A role id that is used as the root role for all users in this group. This can be either the id of the Viewer, Editor or Admin role. */ + /** + * A role id that is used as the root role for all users in this group. This can be either the id of the Viewer, Editor or Admin role. + * @nullable + */ rootRole?: number | null; - /** The SCIM ID of the group, only present if managed by SCIM */ + /** + * The SCIM ID of the group, only present if managed by SCIM + * @nullable + */ scimId?: string | null; /** A list of users belonging to this group */ users?: GroupUserModelSchema[]; diff --git a/frontend/src/openapi/models/healthOverviewSchema.ts b/frontend/src/openapi/models/healthOverviewSchema.ts index 8c03635f1c..cbee4b31bc 100644 --- a/frontend/src/openapi/models/healthOverviewSchema.ts +++ b/frontend/src/openapi/models/healthOverviewSchema.ts @@ -13,24 +13,36 @@ import type { ProjectStatsSchema } from './projectStatsSchema'; * An overview of a project's stats and its health as described in the documentation on [technical debt](https://docs.getunleash.io/reference/technical-debt) */ export interface HealthOverviewSchema { - /** When the project was last updated. */ + /** + * When the project was last updated. + * @nullable + */ createdAt?: string | null; /** A default stickiness for the project affecting the default stickiness value for variants and Gradual Rollout strategy */ defaultStickiness: string; - /** The project's description */ + /** + * The project's description + * @nullable + */ description?: string | null; /** An array containing the names of all the environments configured for the project. */ environments: ProjectEnvironmentSchema[]; /** Indicates if the project has been marked as a favorite by the current user requesting the project health overview. */ favorite?: boolean; - /** A limit on the number of features allowed in the project. Null if no limit. */ + /** + * A limit on the number of features allowed in the project. Null if no limit. + * @nullable + */ featureLimit?: number | null; featureNaming?: CreateFeatureNamingPatternSchema; /** An array containing an overview of all the features of the project and their individual status */ features: FeatureSchema[]; /** The overall [health rating](https://docs.getunleash.io/reference/technical-debt#health-rating) of the project. */ health: number; - /** The number of users/members in the project. */ + /** + * The number of users/members in the project. + * @minimum 0 + */ members: number; /** The project's [collaboration mode](https://docs.getunleash.io/reference/project-collaboration-mode). Determines whether non-project members can submit change requests or not. */ mode: HealthOverviewSchemaMode; @@ -38,7 +50,10 @@ export interface HealthOverviewSchema { name: string; /** Project statistics */ stats?: ProjectStatsSchema; - /** When the project was last updated. */ + /** + * When the project was last updated. + * @nullable + */ updatedAt?: string | null; /** The project overview version. */ version: number; diff --git a/frontend/src/openapi/models/healthReportSchema.ts b/frontend/src/openapi/models/healthReportSchema.ts index 562413de6c..3da2d32375 100644 --- a/frontend/src/openapi/models/healthReportSchema.ts +++ b/frontend/src/openapi/models/healthReportSchema.ts @@ -15,24 +15,36 @@ import type { ProjectStatsSchema } from './projectStatsSchema'; export interface HealthReportSchema { /** The number of active feature toggles. */ activeCount: number; - /** When the project was last updated. */ + /** + * When the project was last updated. + * @nullable + */ createdAt?: string | null; /** A default stickiness for the project affecting the default stickiness value for variants and Gradual Rollout strategy */ defaultStickiness: string; - /** The project's description */ + /** + * The project's description + * @nullable + */ description?: string | null; /** An array containing the names of all the environments configured for the project. */ environments: ProjectEnvironmentSchema[]; /** Indicates if the project has been marked as a favorite by the current user requesting the project health overview. */ favorite?: boolean; - /** A limit on the number of features allowed in the project. Null if no limit. */ + /** + * A limit on the number of features allowed in the project. Null if no limit. + * @nullable + */ featureLimit?: number | null; featureNaming?: CreateFeatureNamingPatternSchema; /** An array containing an overview of all the features of the project and their individual status */ features: FeatureSchema[]; /** The overall [health rating](https://docs.getunleash.io/reference/technical-debt#health-rating) of the project. */ health: number; - /** The number of users/members in the project. */ + /** + * The number of users/members in the project. + * @minimum 0 + */ members: number; /** The project's [collaboration mode](https://docs.getunleash.io/reference/project-collaboration-mode). Determines whether non-project members can submit change requests or not. */ mode: HealthReportSchemaMode; @@ -44,7 +56,10 @@ export interface HealthReportSchema { staleCount: number; /** Project statistics */ stats?: ProjectStatsSchema; - /** When the project was last updated. */ + /** + * When the project was last updated. + * @nullable + */ updatedAt?: string | null; /** The project overview version. */ version: number; diff --git a/frontend/src/openapi/models/inactiveUserSchema.ts b/frontend/src/openapi/models/inactiveUserSchema.ts index 4fc1a6db9e..079662cf75 100644 --- a/frontend/src/openapi/models/inactiveUserSchema.ts +++ b/frontend/src/openapi/models/inactiveUserSchema.ts @@ -12,14 +12,29 @@ export interface InactiveUserSchema { createdAt?: string; /** Email of the user */ email?: string; - /** The user id */ + /** + * The user id + * @minimum 0 + */ id: number; - /** Name of the user */ + /** + * Name of the user + * @nullable + */ name?: string | null; - /** The last time this user's PAT token (if any) was used */ + /** + * The last time this user's PAT token (if any) was used + * @nullable + */ patSeenAt?: string | null; - /** The last time this user logged in */ + /** + * The last time this user logged in + * @nullable + */ seenAt?: string | null; - /** A unique username for the user */ + /** + * A unique username for the user + * @nullable + */ username?: string | null; } diff --git a/frontend/src/openapi/models/inactiveUsersSchema.ts b/frontend/src/openapi/models/inactiveUsersSchema.ts index 8576429a3c..3783bb4851 100644 --- a/frontend/src/openapi/models/inactiveUsersSchema.ts +++ b/frontend/src/openapi/models/inactiveUsersSchema.ts @@ -11,6 +11,9 @@ import type { InactiveUserSchema } from './inactiveUserSchema'; export interface InactiveUsersSchema { /** The list of users that are flagged as inactive */ inactiveUsers: InactiveUserSchema[]; - /** The version of this schema. Used to keep track of compatibility */ + /** + * The version of this schema. Used to keep track of compatibility + * @minimum 1 + */ version: number; } diff --git a/frontend/src/openapi/models/index.ts b/frontend/src/openapi/models/index.ts index a6e1d4c472..25fd567091 100644 --- a/frontend/src/openapi/models/index.ts +++ b/frontend/src/openapi/models/index.ts @@ -378,6 +378,7 @@ export * from './createProjectApiToken401'; export * from './createProjectApiToken403'; export * from './createProjectApiToken404'; export * from './createProjectSchema'; +export * from './createProjectSchemaChangeRequestEnvironmentsItem'; export * from './createProjectSchemaMode'; export * from './createPublicSignupToken400'; export * from './createPublicSignupToken401'; @@ -542,6 +543,8 @@ export * from './featureLifecycleSchemaItemStage'; export * from './featureMetricsSchema'; export * from './featureSchema'; export * from './featureSchemaDependenciesItem'; +export * from './featureSchemaLifecycle'; +export * from './featureSchemaLifecycleStage'; export * from './featureSchemaStrategiesItem'; export * from './featureSearchEnvironmentSchema'; export * from './featureSearchResponseSchema'; @@ -848,7 +851,6 @@ export * from './patchFeatureVariants403'; export * from './patchFeatureVariants404'; export * from './patchSchema'; export * from './patchSchemaOp'; -export * from './patchSchemaValue'; export * from './patchesSchema'; export * from './patsSchema'; export * from './permissionSchema'; @@ -898,6 +900,17 @@ export * from './projectRoleSchema'; export * from './projectRoleUsageSchema'; export * from './projectSchema'; export * from './projectSchemaMode'; +export * from './projectSchemaOwners'; +export * from './projectSchemaOwnersOneOfItem'; +export * from './projectSchemaOwnersOneOfItemAnyOf'; +export * from './projectSchemaOwnersOneOfItemAnyOfEmail'; +export * from './projectSchemaOwnersOneOfItemAnyOfFive'; +export * from './projectSchemaOwnersOneOfItemAnyOfFiveName'; +export * from './projectSchemaOwnersOneOfItemAnyOfFiveOwnerType'; +export * from './projectSchemaOwnersOneOfItemAnyOfImageUrl'; +export * from './projectSchemaOwnersOneOfItemAnyOfOwnerType'; +export * from './projectSchemaOwnersOneOfNineItem'; +export * from './projectSchemaOwnersOneOfNineItemOwnerType'; export * from './projectSettingsSchema'; export * from './projectSettingsSchemaDefaultStickiness'; export * from './projectSettingsSchemaMode'; diff --git a/frontend/src/openapi/models/instanceAdminStatsSchema.ts b/frontend/src/openapi/models/instanceAdminStatsSchema.ts index 5cf50346e6..90d4ff6dab 100644 --- a/frontend/src/openapi/models/instanceAdminStatsSchema.ts +++ b/frontend/src/openapi/models/instanceAdminStatsSchema.ts @@ -16,17 +16,35 @@ export interface InstanceAdminStatsSchema { activeUsers?: InstanceAdminStatsSchemaActiveUsers; /** A count of connected applications in the last week, last month and all time since last restart */ clientApps?: InstanceAdminStatsSchemaClientAppsItem[]; - /** The number of context fields defined in this instance. */ + /** + * The number of context fields defined in this instance. + * @minimum 0 + */ contextFields?: number; - /** The number of environments defined in this instance */ + /** + * The number of environments defined in this instance + * @minimum 0 + */ environments?: number; - /** The number of export operations on this instance */ + /** + * The number of export operations on this instance + * @minimum 0 + */ featureExports?: number; - /** The number of import operations on this instance */ + /** + * The number of import operations on this instance + * @minimum 0 + */ featureImports?: number; - /** The number of feature-toggles this instance has */ + /** + * The number of feature-toggles this instance has + * @minimum 0 + */ featureToggles?: number; - /** The number of groups defined in this instance */ + /** + * The number of groups defined in this instance + * @minimum 0 + */ groups?: number; /** A unique identifier for this instance. Generated by the database migration scripts at first run. Typically a UUID. */ instanceId: string; @@ -36,21 +54,39 @@ export interface InstanceAdminStatsSchema { previousDayMetricsBucketsCount?: InstanceAdminStatsSchemaPreviousDayMetricsBucketsCount; /** The number of changes to the production environment in the last 30, 60 and 90 days */ productionChanges?: InstanceAdminStatsSchemaProductionChanges; - /** The number of projects defined in this instance. */ + /** + * The number of projects defined in this instance. + * @minimum 0 + */ projects?: number; - /** The number of roles defined in this instance */ + /** + * The number of roles defined in this instance + * @minimum 0 + */ roles?: number; /** Whether or not SAML authentication is enabled for this instance */ SAMLenabled?: boolean; - /** The number of segments defined in this instance */ + /** + * The number of segments defined in this instance + * @minimum 0 + */ segments?: number; - /** The number of strategies defined in this instance */ + /** + * The number of strategies defined in this instance + * @minimum 0 + */ strategies?: number; /** A SHA-256 checksum of the instance statistics to be used to verify that the data in this object has not been tampered with */ sum?: string; - /** When these statistics were produced */ + /** + * When these statistics were produced + * @nullable + */ timestamp?: string | null; - /** The number of users this instance has */ + /** + * The number of users this instance has + * @minimum 0 + */ users?: number; /** The version of Unleash Enterprise that is bundled in this instance */ versionEnterprise?: string; diff --git a/frontend/src/openapi/models/instanceAdminStatsSchemaActiveUsers.ts b/frontend/src/openapi/models/instanceAdminStatsSchemaActiveUsers.ts index 5b1981a43c..c291cd1e73 100644 --- a/frontend/src/openapi/models/instanceAdminStatsSchemaActiveUsers.ts +++ b/frontend/src/openapi/models/instanceAdminStatsSchemaActiveUsers.ts @@ -8,12 +8,24 @@ * The number of active users in the last 7, 30 and 90 days */ export type InstanceAdminStatsSchemaActiveUsers = { - /** The number of active users in the last 30 days */ + /** + * The number of active users in the last 30 days + * @minimum 0 + */ last30?: number; - /** The number of active users in the last 60 days */ + /** + * The number of active users in the last 60 days + * @minimum 0 + */ last60?: number; - /** The number of active users in the last 7 days */ + /** + * The number of active users in the last 7 days + * @minimum 0 + */ last7?: number; - /** The number of active users in the last 90 days */ + /** + * The number of active users in the last 90 days + * @minimum 0 + */ last90?: number; }; diff --git a/frontend/src/openapi/models/instanceAdminStatsSchemaPreviousDayMetricsBucketsCount.ts b/frontend/src/openapi/models/instanceAdminStatsSchemaPreviousDayMetricsBucketsCount.ts index 1034882a49..7fa0e39f5a 100644 --- a/frontend/src/openapi/models/instanceAdminStatsSchemaPreviousDayMetricsBucketsCount.ts +++ b/frontend/src/openapi/models/instanceAdminStatsSchemaPreviousDayMetricsBucketsCount.ts @@ -8,8 +8,14 @@ * The number client metrics buckets records recorded in the previous day. # features * # apps * # envs * # hours with metrics */ export type InstanceAdminStatsSchemaPreviousDayMetricsBucketsCount = { - /** The number of enabled/disabled metrics buckets recorded in the previous day */ + /** + * The number of enabled/disabled metrics buckets recorded in the previous day + * @minimum 0 + */ enabledCount?: number; - /** The number of variant metrics buckets recorded in the previous day */ + /** + * The number of variant metrics buckets recorded in the previous day + * @minimum 0 + */ variantCount?: number; }; diff --git a/frontend/src/openapi/models/instanceAdminStatsSchemaProductionChanges.ts b/frontend/src/openapi/models/instanceAdminStatsSchemaProductionChanges.ts index f6452c44a7..257e2c33b9 100644 --- a/frontend/src/openapi/models/instanceAdminStatsSchemaProductionChanges.ts +++ b/frontend/src/openapi/models/instanceAdminStatsSchemaProductionChanges.ts @@ -8,10 +8,19 @@ * The number of changes to the production environment in the last 30, 60 and 90 days */ export type InstanceAdminStatsSchemaProductionChanges = { - /** The number of changes in production in the last 30 days */ + /** + * The number of changes in production in the last 30 days + * @minimum 0 + */ last30?: number; - /** The number of changes in production in the last 60 days */ + /** + * The number of changes in production in the last 60 days + * @minimum 0 + */ last60?: number; - /** The number of changes in production in the last 90 days */ + /** + * The number of changes in production in the last 90 days + * @minimum 0 + */ last90?: number; }; diff --git a/frontend/src/openapi/models/loginEventSchema.ts b/frontend/src/openapi/models/loginEventSchema.ts index 5c970c1e26..dbd96f23ee 100644 --- a/frontend/src/openapi/models/loginEventSchema.ts +++ b/frontend/src/openapi/models/loginEventSchema.ts @@ -12,11 +12,20 @@ export interface LoginEventSchema { auth_type?: string; /** The date and time of when the login was attempted. */ created_at?: string; - /** The reason for the login failure. This property is only present if the login was unsuccessful. */ + /** + * The reason for the login failure. This property is only present if the login was unsuccessful. + * @nullable + */ failure_reason?: string | null; - /** The event's ID. Event IDs are incrementing integers. In other words, a more recent event will always have a higher ID than an older event. */ + /** + * The event's ID. Event IDs are incrementing integers. In other words, a more recent event will always have a higher ID than an older event. + * @minimum 1 + */ id: number; - /** The IP address of the client that attempted to log in. */ + /** + * The IP address of the client that attempted to log in. + * @nullable + */ ip?: string | null; /** Whether the login was successful or not. */ successful?: boolean; diff --git a/frontend/src/openapi/models/notificationsSchemaItem.ts b/frontend/src/openapi/models/notificationsSchemaItem.ts index bd48ec83cc..29c84e91e4 100644 --- a/frontend/src/openapi/models/notificationsSchemaItem.ts +++ b/frontend/src/openapi/models/notificationsSchemaItem.ts @@ -18,6 +18,9 @@ export type NotificationsSchemaItem = { message: string; /** The type of the notification used e.g. for the graphical hints */ notificationType: NotificationsSchemaItemNotificationType; - /** The date and time when the notification was read or marked as read, otherwise `null` */ + /** + * The date and time when the notification was read or marked as read, otherwise `null` + * @nullable + */ readAt: string | null; }; diff --git a/frontend/src/openapi/models/notificationsSchemaItemCreatedBy.ts b/frontend/src/openapi/models/notificationsSchemaItemCreatedBy.ts index 8f5f8b3e75..9e20763e9d 100644 --- a/frontend/src/openapi/models/notificationsSchemaItemCreatedBy.ts +++ b/frontend/src/openapi/models/notificationsSchemaItemCreatedBy.ts @@ -5,8 +5,14 @@ */ export type NotificationsSchemaItemCreatedBy = { - /** The avatar url of the user who triggered the notification */ + /** + * The avatar url of the user who triggered the notification + * @nullable + */ imageUrl?: string | null; - /** The name of the user who triggered the notification */ + /** + * The name of the user who triggered the notification + * @nullable + */ username?: string | null; }; diff --git a/frontend/src/openapi/models/patSchema.ts b/frontend/src/openapi/models/patSchema.ts index 9f0df19e97..f495147034 100644 --- a/frontend/src/openapi/models/patSchema.ts +++ b/frontend/src/openapi/models/patSchema.ts @@ -14,11 +14,17 @@ export interface PatSchema { description: string; /** The PAT's expiration date. */ expiresAt: string; - /** The PAT's ID. PAT IDs are incrementing integers. In other words, a more recently created PAT will always have a higher ID than an older one. */ + /** + * The PAT's ID. PAT IDs are incrementing integers. In other words, a more recently created PAT will always have a higher ID than an older one. + * @minimum 1 + */ id: number; /** The token used for authentication. It is automatically generated by Unleash when the PAT is created and that is the only time this property is returned. */ secret?: string; - /** When the PAT was last seen/used to authenticate with. `null` if it has not been used yet. */ + /** + * When the PAT was last seen/used to authenticate with. `null` if it has not been used yet. + * @nullable + */ seenAt?: string | null; /** The ID of the user this PAT belongs to. */ userId?: number; diff --git a/frontend/src/openapi/models/patchSchema.ts b/frontend/src/openapi/models/patchSchema.ts index 7daa7240a9..94c0d06918 100644 --- a/frontend/src/openapi/models/patchSchema.ts +++ b/frontend/src/openapi/models/patchSchema.ts @@ -4,7 +4,6 @@ * See `gen:api` script in package.json */ import type { PatchSchemaOp } from './patchSchemaOp'; -import type { PatchSchemaValue } from './patchSchemaValue'; /** * A [JSON patch](https://www.rfc-editor.org/rfc/rfc6902) operation description @@ -17,5 +16,5 @@ export interface PatchSchema { /** The path to the property to operate on */ path: string; /** The value to add or replace, if performing one of those operations */ - value?: PatchSchemaValue; + value?: unknown; } diff --git a/frontend/src/openapi/models/patchSchemaValue.ts b/frontend/src/openapi/models/patchSchemaValue.ts deleted file mode 100644 index db10f81928..0000000000 --- a/frontend/src/openapi/models/patchSchemaValue.ts +++ /dev/null @@ -1,10 +0,0 @@ -/** - * Generated by Orval - * Do not edit manually. - * See `gen:api` script in package.json - */ - -/** - * The value to add or replace, if performing one of those operations - */ -export type PatchSchemaValue = {}; diff --git a/frontend/src/openapi/models/playgroundFeatureSchema.ts b/frontend/src/openapi/models/playgroundFeatureSchema.ts index 9d1fece363..9ce9c50f58 100644 --- a/frontend/src/openapi/models/playgroundFeatureSchema.ts +++ b/frontend/src/openapi/models/playgroundFeatureSchema.ts @@ -25,10 +25,13 @@ export interface PlaygroundFeatureSchema { projectId: string; /** The feature's applicable strategies and cumulative results of the strategies */ strategies: PlaygroundFeatureSchemaStrategies; - /** The feature variant you receive based on the provided context or the _disabled + /** + * The feature variant you receive based on the provided context or the _disabled variant_. If a feature is disabled or doesn't have any variants, you would get the _disabled variant_. - Otherwise, you'll get one of thefeature's defined variants. */ + Otherwise, you'll get one of thefeature's defined variants. + * @nullable + */ variant: PlaygroundFeatureSchemaVariant; /** The feature variants. */ variants: VariantSchema[]; diff --git a/frontend/src/openapi/models/playgroundFeatureSchemaVariant.ts b/frontend/src/openapi/models/playgroundFeatureSchemaVariant.ts index b38113ed67..76dc71a6d5 100644 --- a/frontend/src/openapi/models/playgroundFeatureSchemaVariant.ts +++ b/frontend/src/openapi/models/playgroundFeatureSchemaVariant.ts @@ -10,6 +10,7 @@ import type { PlaygroundFeatureSchemaVariantPayload } from './playgroundFeatureS variant_. If a feature is disabled or doesn't have any variants, you would get the _disabled variant_. Otherwise, you'll get one of thefeature's defined variants. + * @nullable */ export type PlaygroundFeatureSchemaVariant = { /** Whether the variant is enabled or not. If the feature is disabled or if it doesn't have variants, this property will be `false` */ diff --git a/frontend/src/openapi/models/playgroundStrategySchema.ts b/frontend/src/openapi/models/playgroundStrategySchema.ts index 2286bc2632..19b79e9278 100644 --- a/frontend/src/openapi/models/playgroundStrategySchema.ts +++ b/frontend/src/openapi/models/playgroundStrategySchema.ts @@ -15,7 +15,10 @@ import type { PlaygroundSegmentSchema } from './playgroundSegmentSchema'; export interface PlaygroundStrategySchema { /** The strategy's constraints and their evaluation results. */ constraints: PlaygroundConstraintSchema[]; - /** The strategy's status. Disabled strategies are not evaluated */ + /** + * The strategy's status. Disabled strategies are not evaluated + * @nullable + */ disabled: boolean | null; /** The strategy's id. */ id: string; diff --git a/frontend/src/openapi/models/playgroundStrategySchemaResultAnyOfFour.ts b/frontend/src/openapi/models/playgroundStrategySchemaResultAnyOfFour.ts index 273e4f9fed..c77e6b0b56 100644 --- a/frontend/src/openapi/models/playgroundStrategySchemaResultAnyOfFour.ts +++ b/frontend/src/openapi/models/playgroundStrategySchemaResultAnyOfFour.ts @@ -12,10 +12,13 @@ export type PlaygroundStrategySchemaResultAnyOfFour = { enabled: boolean; /** Signals that this strategy was evaluated successfully. */ evaluationStatus: PlaygroundStrategySchemaResultAnyOfFourEvaluationStatus; - /** The feature variant you receive based on the provided context or the _disabled + /** + * The feature variant you receive based on the provided context or the _disabled variant_. If a feature is disabled or doesn't have any variants, you would get the _disabled variant_. - Otherwise, you'll get one of the feature's defined variants. */ + Otherwise, you'll get one of the feature's defined variants. + * @nullable + */ variant?: PlaygroundStrategySchemaResultAnyOfFourVariant; /** The feature variants. */ variants?: VariantSchema[]; diff --git a/frontend/src/openapi/models/playgroundStrategySchemaResultAnyOfFourVariant.ts b/frontend/src/openapi/models/playgroundStrategySchemaResultAnyOfFourVariant.ts index 68a7038837..2f3edaee96 100644 --- a/frontend/src/openapi/models/playgroundStrategySchemaResultAnyOfFourVariant.ts +++ b/frontend/src/openapi/models/playgroundStrategySchemaResultAnyOfFourVariant.ts @@ -10,6 +10,7 @@ import type { PlaygroundStrategySchemaResultAnyOfFourVariantPayload } from './pl variant_. If a feature is disabled or doesn't have any variants, you would get the _disabled variant_. Otherwise, you'll get one of the feature's defined variants. + * @nullable */ export type PlaygroundStrategySchemaResultAnyOfFourVariant = { /** Whether the variant is enabled or not. If the feature is disabled or if it doesn't have variants, this property will be `false` */ diff --git a/frontend/src/openapi/models/projectAccessConfigurationSchemaRolesItem.ts b/frontend/src/openapi/models/projectAccessConfigurationSchemaRolesItem.ts index 4b212978fa..2e17a28f5f 100644 --- a/frontend/src/openapi/models/projectAccessConfigurationSchemaRolesItem.ts +++ b/frontend/src/openapi/models/projectAccessConfigurationSchemaRolesItem.ts @@ -7,7 +7,10 @@ export type ProjectAccessConfigurationSchemaRolesItem = { /** A list of group ids that will be assigned this role */ groups?: number[]; - /** The id of the role. */ + /** + * The id of the role. + * @minimum 1 + */ id?: number; /** A list of user ids that will be assigned this role */ users?: number[]; diff --git a/frontend/src/openapi/models/projectAddRoleAccessSchemaGroupsItem.ts b/frontend/src/openapi/models/projectAddRoleAccessSchemaGroupsItem.ts index 261ac41630..9034d5d232 100644 --- a/frontend/src/openapi/models/projectAddRoleAccessSchemaGroupsItem.ts +++ b/frontend/src/openapi/models/projectAddRoleAccessSchemaGroupsItem.ts @@ -5,6 +5,9 @@ */ export type ProjectAddRoleAccessSchemaGroupsItem = { - /** A group ID */ + /** + * A group ID + * @minimum 0 + */ id: number; }; diff --git a/frontend/src/openapi/models/projectAddRoleAccessSchemaUsersItem.ts b/frontend/src/openapi/models/projectAddRoleAccessSchemaUsersItem.ts index e686c15c2c..11ec60cb8d 100644 --- a/frontend/src/openapi/models/projectAddRoleAccessSchemaUsersItem.ts +++ b/frontend/src/openapi/models/projectAddRoleAccessSchemaUsersItem.ts @@ -5,6 +5,9 @@ */ export type ProjectAddRoleAccessSchemaUsersItem = { - /** A user ID */ + /** + * A user ID + * @minimum 0 + */ id: number; }; diff --git a/frontend/src/openapi/models/projectCreatedSchema.ts b/frontend/src/openapi/models/projectCreatedSchema.ts index 316bfefe59..679ebc927d 100644 --- a/frontend/src/openapi/models/projectCreatedSchema.ts +++ b/frontend/src/openapi/models/projectCreatedSchema.ts @@ -11,14 +11,31 @@ import type { ProjectCreatedSchemaMode } from './projectCreatedSchemaMode'; export interface ProjectCreatedSchema { /** A default stickiness for the project affecting the default stickiness value for variants and Gradual Rollout strategy */ defaultStickiness?: string; - /** The project's description. */ + /** + * The project's description. + * @nullable + */ description?: string | null; - /** A limit on the number of features allowed in the project. `null` if no limit. */ + /** + * The environments enabled for the project. + * @minItems 1 + */ + environments?: string[]; + /** + * A limit on the number of features allowed in the project. `null` if no limit. + * @nullable + */ featureLimit?: number | null; - /** The project's identifier. */ + /** + * The project's identifier. + * @pattern [A-Za-z0-9_~.-]+ + */ id: string; /** A mode of the project affecting what actions are possible in this project */ mode?: ProjectCreatedSchemaMode; - /** The project's name. */ + /** + * The project's name. + * @minLength 1 + */ name: string; } diff --git a/frontend/src/openapi/models/projectOverviewSchema.ts b/frontend/src/openapi/models/projectOverviewSchema.ts index 993c560cf3..7f37c3a139 100644 --- a/frontend/src/openapi/models/projectOverviewSchema.ts +++ b/frontend/src/openapi/models/projectOverviewSchema.ts @@ -13,17 +13,26 @@ import type { ProjectStatsSchema } from './projectStatsSchema'; * A high-level overview of a project. It contains information such as project statistics, the name of the project, what members and what features it contains, etc. */ export interface ProjectOverviewSchema { - /** When the project was created. */ + /** + * When the project was created. + * @nullable + */ createdAt?: string | null; /** A default stickiness for the project affecting the default stickiness value for variants and Gradual Rollout strategy */ defaultStickiness?: string; - /** Additional information about the project */ + /** + * Additional information about the project + * @nullable + */ description?: string | null; /** The environments that are enabled for this project */ environments?: ProjectEnvironmentSchema[]; /** `true` if the project was favorited, otherwise `false`. */ favorite?: boolean; - /** A limit on the number of features allowed in the project. Null if no limit. */ + /** + * A limit on the number of features allowed in the project. Null if no limit. + * @nullable + */ featureLimit?: number | null; featureNaming?: CreateFeatureNamingPatternSchema; /** The number of features of each type that are in this project */ @@ -38,7 +47,10 @@ export interface ProjectOverviewSchema { name: string; /** Project statistics */ stats?: ProjectStatsSchema; - /** When the project was last updated. */ + /** + * When the project was last updated. + * @nullable + */ updatedAt?: string | null; /** The schema version used to describe the project overview */ version: number; diff --git a/frontend/src/openapi/models/projectRoleSchema.ts b/frontend/src/openapi/models/projectRoleSchema.ts index e44a96b526..453e8ecdd2 100644 --- a/frontend/src/openapi/models/projectRoleSchema.ts +++ b/frontend/src/openapi/models/projectRoleSchema.ts @@ -8,14 +8,23 @@ * An overview of how many users and groups are mapped to the specified project with the specified role. */ export interface ProjectRoleSchema { - /** Number of groups mapped to this project. */ + /** + * Number of groups mapped to this project. + * @minimum 0 + */ groupCount?: number; /** The id of the project user and group count are counted for. */ project: string; /** Id of the role the user and group count are counted for. */ role?: number; - /** Number of service accounts mapped to this project. */ + /** + * Number of service accounts mapped to this project. + * @minimum 0 + */ serviceAccountCount?: number; - /** Number of users mapped to this project. */ + /** + * Number of users mapped to this project. + * @minimum 0 + */ userCount?: number; } diff --git a/frontend/src/openapi/models/projectSchema.ts b/frontend/src/openapi/models/projectSchema.ts index dc69385c3c..82b46fb70d 100644 --- a/frontend/src/openapi/models/projectSchema.ts +++ b/frontend/src/openapi/models/projectSchema.ts @@ -4,6 +4,7 @@ * See `gen:api` script in package.json */ import type { ProjectSchemaMode } from './projectSchemaMode'; +import type { ProjectSchemaOwners } from './projectSchemaOwners'; /** * A definition of the project used for projects listing purposes @@ -15,7 +16,10 @@ export interface ProjectSchema { createdAt?: string; /** A default stickiness for the project affecting the default stickiness value for variants and Gradual Rollout strategy */ defaultStickiness?: string; - /** Additional information about the project */ + /** + * Additional information about the project + * @nullable + */ description?: string | null; /** `true` if the project was favorited, otherwise `false`. */ favorite?: boolean; @@ -31,10 +35,15 @@ export interface ProjectSchema { mode?: ProjectSchemaMode; /** The name of this project */ name: string; + /** The owners of this project, both users and groups. */ + owners?: ProjectSchemaOwners; /** The number of potentially stale features this project has */ potentiallyStaleFeatureCount?: number; /** The number of stale features this project has */ staleFeatureCount?: number; - /** When this project was last updated. */ + /** + * When this project was last updated. + * @nullable + */ updatedAt?: string | null; } diff --git a/frontend/src/openapi/models/projectSchemaOwners.ts b/frontend/src/openapi/models/projectSchemaOwners.ts new file mode 100644 index 0000000000..c1ebe550ee --- /dev/null +++ b/frontend/src/openapi/models/projectSchemaOwners.ts @@ -0,0 +1,14 @@ +/** + * Generated by Orval + * Do not edit manually. + * See `gen:api` script in package.json + */ +import type { ProjectSchemaOwnersOneOfItem } from './projectSchemaOwnersOneOfItem'; +import type { ProjectSchemaOwnersOneOfNineItem } from './projectSchemaOwnersOneOfNineItem'; + +/** + * The owners of this project, both users and groups. + */ +export type ProjectSchemaOwners = + | ProjectSchemaOwnersOneOfItem[] + | ProjectSchemaOwnersOneOfNineItem[]; diff --git a/frontend/src/openapi/models/projectSchemaOwnersOneOfItem.ts b/frontend/src/openapi/models/projectSchemaOwnersOneOfItem.ts new file mode 100644 index 0000000000..e14899ef21 --- /dev/null +++ b/frontend/src/openapi/models/projectSchemaOwnersOneOfItem.ts @@ -0,0 +1,11 @@ +/** + * Generated by Orval + * Do not edit manually. + * See `gen:api` script in package.json + */ +import type { ProjectSchemaOwnersOneOfItemAnyOf } from './projectSchemaOwnersOneOfItemAnyOf'; +import type { ProjectSchemaOwnersOneOfItemAnyOfFive } from './projectSchemaOwnersOneOfItemAnyOfFive'; + +export type ProjectSchemaOwnersOneOfItem = + | ProjectSchemaOwnersOneOfItemAnyOf + | ProjectSchemaOwnersOneOfItemAnyOfFive; diff --git a/frontend/src/openapi/models/projectSchemaOwnersOneOfItemAnyOf.ts b/frontend/src/openapi/models/projectSchemaOwnersOneOfItemAnyOf.ts new file mode 100644 index 0000000000..211f0e8f4e --- /dev/null +++ b/frontend/src/openapi/models/projectSchemaOwnersOneOfItemAnyOf.ts @@ -0,0 +1,15 @@ +/** + * Generated by Orval + * Do not edit manually. + * See `gen:api` script in package.json + */ +import type { ProjectSchemaOwnersOneOfItemAnyOfEmail } from './projectSchemaOwnersOneOfItemAnyOfEmail'; +import type { ProjectSchemaOwnersOneOfItemAnyOfImageUrl } from './projectSchemaOwnersOneOfItemAnyOfImageUrl'; +import type { ProjectSchemaOwnersOneOfItemAnyOfOwnerType } from './projectSchemaOwnersOneOfItemAnyOfOwnerType'; + +export type ProjectSchemaOwnersOneOfItemAnyOf = { + email?: ProjectSchemaOwnersOneOfItemAnyOfEmail; + imageUrl?: ProjectSchemaOwnersOneOfItemAnyOfImageUrl; + name: string; + ownerType: ProjectSchemaOwnersOneOfItemAnyOfOwnerType; +}; diff --git a/frontend/src/openapi/models/projectSchemaOwnersOneOfItemAnyOfEmail.ts b/frontend/src/openapi/models/projectSchemaOwnersOneOfItemAnyOfEmail.ts new file mode 100644 index 0000000000..ac52668d91 --- /dev/null +++ b/frontend/src/openapi/models/projectSchemaOwnersOneOfItemAnyOfEmail.ts @@ -0,0 +1,7 @@ +/** + * Generated by Orval + * Do not edit manually. + * See `gen:api` script in package.json + */ + +export type ProjectSchemaOwnersOneOfItemAnyOfEmail = string | null; diff --git a/frontend/src/openapi/models/projectSchemaOwnersOneOfItemAnyOfFive.ts b/frontend/src/openapi/models/projectSchemaOwnersOneOfItemAnyOfFive.ts new file mode 100644 index 0000000000..13f8d57377 --- /dev/null +++ b/frontend/src/openapi/models/projectSchemaOwnersOneOfItemAnyOfFive.ts @@ -0,0 +1,12 @@ +/** + * Generated by Orval + * Do not edit manually. + * See `gen:api` script in package.json + */ +import type { ProjectSchemaOwnersOneOfItemAnyOfFiveName } from './projectSchemaOwnersOneOfItemAnyOfFiveName'; +import type { ProjectSchemaOwnersOneOfItemAnyOfFiveOwnerType } from './projectSchemaOwnersOneOfItemAnyOfFiveOwnerType'; + +export type ProjectSchemaOwnersOneOfItemAnyOfFive = { + name: ProjectSchemaOwnersOneOfItemAnyOfFiveName; + ownerType: ProjectSchemaOwnersOneOfItemAnyOfFiveOwnerType; +}; diff --git a/frontend/src/openapi/models/projectSchemaOwnersOneOfItemAnyOfFiveName.ts b/frontend/src/openapi/models/projectSchemaOwnersOneOfItemAnyOfFiveName.ts new file mode 100644 index 0000000000..ae1dd2a016 --- /dev/null +++ b/frontend/src/openapi/models/projectSchemaOwnersOneOfItemAnyOfFiveName.ts @@ -0,0 +1,7 @@ +/** + * Generated by Orval + * Do not edit manually. + * See `gen:api` script in package.json + */ + +export type ProjectSchemaOwnersOneOfItemAnyOfFiveName = string | null; diff --git a/frontend/src/openapi/models/projectSchemaOwnersOneOfItemAnyOfFiveOwnerType.ts b/frontend/src/openapi/models/projectSchemaOwnersOneOfItemAnyOfFiveOwnerType.ts new file mode 100644 index 0000000000..951d9e0849 --- /dev/null +++ b/frontend/src/openapi/models/projectSchemaOwnersOneOfItemAnyOfFiveOwnerType.ts @@ -0,0 +1,13 @@ +/** + * Generated by Orval + * Do not edit manually. + * See `gen:api` script in package.json + */ + +export type ProjectSchemaOwnersOneOfItemAnyOfFiveOwnerType = + (typeof ProjectSchemaOwnersOneOfItemAnyOfFiveOwnerType)[keyof typeof ProjectSchemaOwnersOneOfItemAnyOfFiveOwnerType]; + +// eslint-disable-next-line @typescript-eslint/no-redeclare +export const ProjectSchemaOwnersOneOfItemAnyOfFiveOwnerType = { + group: 'group', +} as const; diff --git a/frontend/src/openapi/models/projectSchemaOwnersOneOfItemAnyOfImageUrl.ts b/frontend/src/openapi/models/projectSchemaOwnersOneOfItemAnyOfImageUrl.ts new file mode 100644 index 0000000000..ce57e39654 --- /dev/null +++ b/frontend/src/openapi/models/projectSchemaOwnersOneOfItemAnyOfImageUrl.ts @@ -0,0 +1,7 @@ +/** + * Generated by Orval + * Do not edit manually. + * See `gen:api` script in package.json + */ + +export type ProjectSchemaOwnersOneOfItemAnyOfImageUrl = string | null; diff --git a/frontend/src/openapi/models/projectSchemaOwnersOneOfItemAnyOfOwnerType.ts b/frontend/src/openapi/models/projectSchemaOwnersOneOfItemAnyOfOwnerType.ts new file mode 100644 index 0000000000..34317da9df --- /dev/null +++ b/frontend/src/openapi/models/projectSchemaOwnersOneOfItemAnyOfOwnerType.ts @@ -0,0 +1,13 @@ +/** + * Generated by Orval + * Do not edit manually. + * See `gen:api` script in package.json + */ + +export type ProjectSchemaOwnersOneOfItemAnyOfOwnerType = + (typeof ProjectSchemaOwnersOneOfItemAnyOfOwnerType)[keyof typeof ProjectSchemaOwnersOneOfItemAnyOfOwnerType]; + +// eslint-disable-next-line @typescript-eslint/no-redeclare +export const ProjectSchemaOwnersOneOfItemAnyOfOwnerType = { + user: 'user', +} as const; diff --git a/frontend/src/openapi/models/projectSchemaOwnersOneOfNineItem.ts b/frontend/src/openapi/models/projectSchemaOwnersOneOfNineItem.ts new file mode 100644 index 0000000000..002a254858 --- /dev/null +++ b/frontend/src/openapi/models/projectSchemaOwnersOneOfNineItem.ts @@ -0,0 +1,10 @@ +/** + * Generated by Orval + * Do not edit manually. + * See `gen:api` script in package.json + */ +import type { ProjectSchemaOwnersOneOfNineItemOwnerType } from './projectSchemaOwnersOneOfNineItemOwnerType'; + +export type ProjectSchemaOwnersOneOfNineItem = { + ownerType: ProjectSchemaOwnersOneOfNineItemOwnerType; +}; diff --git a/frontend/src/openapi/models/projectSchemaOwnersOneOfNineItemOwnerType.ts b/frontend/src/openapi/models/projectSchemaOwnersOneOfNineItemOwnerType.ts new file mode 100644 index 0000000000..dafb9c5c8c --- /dev/null +++ b/frontend/src/openapi/models/projectSchemaOwnersOneOfNineItemOwnerType.ts @@ -0,0 +1,13 @@ +/** + * Generated by Orval + * Do not edit manually. + * See `gen:api` script in package.json + */ + +export type ProjectSchemaOwnersOneOfNineItemOwnerType = + (typeof ProjectSchemaOwnersOneOfNineItemOwnerType)[keyof typeof ProjectSchemaOwnersOneOfNineItemOwnerType]; + +// eslint-disable-next-line @typescript-eslint/no-redeclare +export const ProjectSchemaOwnersOneOfNineItemOwnerType = { + system: 'system', +} as const; diff --git a/frontend/src/openapi/models/projectSettingsSchema.ts b/frontend/src/openapi/models/projectSettingsSchema.ts index 8921159ffe..e9c0530ed6 100644 --- a/frontend/src/openapi/models/projectSettingsSchema.ts +++ b/frontend/src/openapi/models/projectSettingsSchema.ts @@ -10,8 +10,14 @@ import type { ProjectSettingsSchemaMode } from './projectSettingsSchemaMode'; * Project settings for a given project */ export interface ProjectSettingsSchema { - /** The [default stickiness for this project](https://docs.getunleash.io/reference/stickiness#project-default-stickiness) */ + /** + * The [default stickiness for this project](https://docs.getunleash.io/reference/stickiness#project-default-stickiness) + * @nullable + */ defaultStickiness: ProjectSettingsSchemaDefaultStickiness; - /** The project's [collaboration mode](https://docs.getunleash.io/reference/project-collaboration-mode). */ + /** + * The project's [collaboration mode](https://docs.getunleash.io/reference/project-collaboration-mode). + * @nullable + */ mode: ProjectSettingsSchemaMode; } diff --git a/frontend/src/openapi/models/projectSettingsSchemaDefaultStickiness.ts b/frontend/src/openapi/models/projectSettingsSchemaDefaultStickiness.ts index 2ba828848a..b0bbe4affd 100644 --- a/frontend/src/openapi/models/projectSettingsSchemaDefaultStickiness.ts +++ b/frontend/src/openapi/models/projectSettingsSchemaDefaultStickiness.ts @@ -6,6 +6,7 @@ /** * The [default stickiness for this project](https://docs.getunleash.io/reference/stickiness#project-default-stickiness) + * @nullable */ export type ProjectSettingsSchemaDefaultStickiness = | (typeof ProjectSettingsSchemaDefaultStickiness)[keyof typeof ProjectSettingsSchemaDefaultStickiness] diff --git a/frontend/src/openapi/models/projectSettingsSchemaMode.ts b/frontend/src/openapi/models/projectSettingsSchemaMode.ts index 7db6d24bb5..06b98873c0 100644 --- a/frontend/src/openapi/models/projectSettingsSchemaMode.ts +++ b/frontend/src/openapi/models/projectSettingsSchemaMode.ts @@ -6,6 +6,7 @@ /** * The project's [collaboration mode](https://docs.getunleash.io/reference/project-collaboration-mode). + * @nullable */ export type ProjectSettingsSchemaMode = | (typeof ProjectSettingsSchemaMode)[keyof typeof ProjectSettingsSchemaMode] diff --git a/frontend/src/openapi/models/provideFeedbackSchema.ts b/frontend/src/openapi/models/provideFeedbackSchema.ts index 71b4e0db2d..7c1c1339c8 100644 --- a/frontend/src/openapi/models/provideFeedbackSchema.ts +++ b/frontend/src/openapi/models/provideFeedbackSchema.ts @@ -8,14 +8,26 @@ * Schema representing the creation of feedback information. */ export interface ProvideFeedbackSchema { - /** Details aspects of the service or product that could benefit from enhancements or modifications. Aids in pinpointing areas needing attention for improvement. */ + /** + * Details aspects of the service or product that could benefit from enhancements or modifications. Aids in pinpointing areas needing attention for improvement. + * @nullable + */ areasForImprovement?: string | null; /** The category of the feedback. */ category: string; - /** A score indicating the difficulty experienced by the user. */ + /** + * A score indicating the difficulty experienced by the user. + * @nullable + */ difficultyScore?: number | null; - /** This field is for users to mention what they liked. */ + /** + * This field is for users to mention what they liked. + * @nullable + */ positive?: string | null; - /** The type of user providing the feedback. */ + /** + * The type of user providing the feedback. + * @nullable + */ userType?: string | null; } diff --git a/frontend/src/openapi/models/publicSignupTokenSchema.ts b/frontend/src/openapi/models/publicSignupTokenSchema.ts index b40172b822..ad6a3ce36d 100644 --- a/frontend/src/openapi/models/publicSignupTokenSchema.ts +++ b/frontend/src/openapi/models/publicSignupTokenSchema.ts @@ -12,7 +12,10 @@ import type { UserSchema } from './userSchema'; export interface PublicSignupTokenSchema { /** When the token was created. */ createdAt: string; - /** The creator's email or username */ + /** + * The creator's email or username + * @nullable + */ createdBy: string | null; /** Whether the token is active. This property will always be `false` for a token that has expired. */ enabled: boolean; @@ -24,8 +27,14 @@ export interface PublicSignupTokenSchema { role: RoleSchema; /** The actual value of the token. This is the part that is used by Unleash to create an invite link */ secret: string; - /** The public signup link for the token. Users who follow this link will be taken to a signup page where they can create an Unleash user. */ + /** + * The public signup link for the token. Users who follow this link will be taken to a signup page where they can create an Unleash user. + * @nullable + */ url: string | null; - /** Array of users that have signed up using the token. */ + /** + * Array of users that have signed up using the token. + * @nullable + */ users?: UserSchema[] | null; } diff --git a/frontend/src/openapi/models/roleSchema.ts b/frontend/src/openapi/models/roleSchema.ts index ad5cf68ed6..f2dde1bc17 100644 --- a/frontend/src/openapi/models/roleSchema.ts +++ b/frontend/src/openapi/models/roleSchema.ts @@ -10,11 +10,17 @@ export interface RoleSchema { /** A more detailed description of the role and what use it's intended for */ description?: string; - /** The role id */ + /** + * The role id + * @minimum 0 + */ id: number; /** The name of the role */ name: string; - /** What project the role belongs to */ + /** + * What project the role belongs to + * @nullable + */ project?: string | null; /** A role can either be a global root role (applies to all projects) or a project role */ type: string; diff --git a/frontend/src/openapi/models/roleWithVersionSchema.ts b/frontend/src/openapi/models/roleWithVersionSchema.ts index a8fca3354c..47dc4f460c 100644 --- a/frontend/src/openapi/models/roleWithVersionSchema.ts +++ b/frontend/src/openapi/models/roleWithVersionSchema.ts @@ -11,6 +11,9 @@ import type { RoleSchema } from './roleSchema'; export interface RoleWithVersionSchema { /** A single role */ roles: RoleSchema; - /** The version of this schema */ + /** + * The version of this schema + * @minimum 1 + */ version: number; } diff --git a/frontend/src/openapi/models/rolesSchema.ts b/frontend/src/openapi/models/rolesSchema.ts index 4eb5beb7e4..562b1100dc 100644 --- a/frontend/src/openapi/models/rolesSchema.ts +++ b/frontend/src/openapi/models/rolesSchema.ts @@ -11,6 +11,9 @@ import type { RoleSchema } from './roleSchema'; export interface RolesSchema { /** A list of roles */ roles: RoleSchema[]; - /** The version of the role schema used */ + /** + * The version of the role schema used + * @minimum 1 + */ version: number; } diff --git a/frontend/src/openapi/models/rolesWithVersionSchema.ts b/frontend/src/openapi/models/rolesWithVersionSchema.ts index 1a0287fd3b..93ffcfe035 100644 --- a/frontend/src/openapi/models/rolesWithVersionSchema.ts +++ b/frontend/src/openapi/models/rolesWithVersionSchema.ts @@ -11,6 +11,9 @@ import type { RoleSchema } from './roleSchema'; export interface RolesWithVersionSchema { /** A list of roles */ roles: RoleSchema[]; - /** The version of this schema */ + /** + * The version of this schema + * @minimum 1 + */ version: number; } diff --git a/frontend/src/openapi/models/scimSettingsSchema.ts b/frontend/src/openapi/models/scimSettingsSchema.ts index 4514a3795b..eeeb60347e 100644 --- a/frontend/src/openapi/models/scimSettingsSchema.ts +++ b/frontend/src/openapi/models/scimSettingsSchema.ts @@ -8,6 +8,8 @@ * An object describing settings for SCIM provisioning. */ export interface ScimSettingsSchema { + /** Whether SCIM assumes control of existing users */ + assumeControlOfExisting: boolean; /** Whether SCIM provisioning is currently enabled. */ enabled: boolean; /** Whether a SCIM provisioning API token is currently set. */ diff --git a/frontend/src/openapi/models/sdkContextSchema.ts b/frontend/src/openapi/models/sdkContextSchema.ts index 2d623062b1..7462700064 100644 --- a/frontend/src/openapi/models/sdkContextSchema.ts +++ b/frontend/src/openapi/models/sdkContextSchema.ts @@ -9,7 +9,10 @@ import type { SdkContextSchemaProperties } from './sdkContextSchemaProperties'; * The Unleash context as modeled in client SDKs */ export interface SdkContextSchema { - /** The name of the application. */ + /** + * The name of the application. + * @minLength 1 + */ appName: string; /** A DateTime (or similar) data class instance or a string in an RFC3339-compatible format. Defaults to the current time if not set by the user. */ currentTime?: string; diff --git a/frontend/src/openapi/models/sdkFlatContextSchema.ts b/frontend/src/openapi/models/sdkFlatContextSchema.ts index 8cc8b2f99b..cc51aebef1 100644 --- a/frontend/src/openapi/models/sdkFlatContextSchema.ts +++ b/frontend/src/openapi/models/sdkFlatContextSchema.ts @@ -8,7 +8,10 @@ * The Unleash context with flattened properties */ export interface SdkFlatContextSchema { - /** The name of the application. */ + /** + * The name of the application. + * @minLength 1 + */ appName: string; /** A DateTime (or similar) data class instance or a string in an RFC3339-compatible format. Defaults to the current time if not set by the user. */ currentTime?: string; diff --git a/frontend/src/openapi/models/searchEventsSchema.ts b/frontend/src/openapi/models/searchEventsSchema.ts index 3cd55d3791..1d5db2ceda 100644 --- a/frontend/src/openapi/models/searchEventsSchema.ts +++ b/frontend/src/openapi/models/searchEventsSchema.ts @@ -14,9 +14,16 @@ import type { SearchEventsSchemaType } from './searchEventsSchemaType'; export interface SearchEventsSchema { /** Find events by feature toggle name (case-sensitive). */ feature?: string; - /** The maximum amount of events to return in the search result */ + /** + * The maximum amount of events to return in the search result + * @minimum 1 + * @maximum 100 + */ limit?: number; - /** Which event id to start listing from */ + /** + * Which event id to start listing from + * @minimum 0 + */ offset?: number; /** Find events by project ID (case-sensitive). */ project?: string; diff --git a/frontend/src/openapi/models/segmentSchema.ts b/frontend/src/openapi/models/segmentSchema.ts index b050a80482..b303a54f32 100644 --- a/frontend/src/openapi/models/segmentSchema.ts +++ b/frontend/src/openapi/models/segmentSchema.ts @@ -15,12 +15,18 @@ export interface SegmentSchema { createdAt?: string; /** Which user created this segment */ createdBy?: string; - /** The description of the segment. */ + /** + * The description of the segment. + * @nullable + */ description?: string | null; /** The segment's id. */ id: number; /** The name of the segment. */ name?: string; - /** The project the segment relates to, if applicable. */ + /** + * The project the segment relates to, if applicable. + * @nullable + */ project?: string | null; } diff --git a/frontend/src/openapi/models/serviceAccountSchema.ts b/frontend/src/openapi/models/serviceAccountSchema.ts index b09f095dec..0ff55ea182 100644 --- a/frontend/src/openapi/models/serviceAccountSchema.ts +++ b/frontend/src/openapi/models/serviceAccountSchema.ts @@ -47,6 +47,7 @@ export interface ServiceAccountSchema { /** * Deprecated. This property is always `null`. To find out when a service account was last seen, check its `tokens` list and refer to each token's `lastSeen` property instead. * @deprecated + * @nullable */ seenAt?: string | null; /** The list of tokens associated with the service account */ diff --git a/frontend/src/openapi/models/setScimSettingsSchema.ts b/frontend/src/openapi/models/setScimSettingsSchema.ts index 6881ec236b..b19cd808e6 100644 --- a/frontend/src/openapi/models/setScimSettingsSchema.ts +++ b/frontend/src/openapi/models/setScimSettingsSchema.ts @@ -8,6 +8,8 @@ * An object describing settings for SCIM provisioning. */ export interface SetScimSettingsSchema { + /** Whether SCIM assumes control of existing users */ + assumeControlOfExisting: boolean; /** Whether SCIM provisioning is currently enabled. */ enabled: boolean; } diff --git a/frontend/src/openapi/models/signalEndpointSchema.ts b/frontend/src/openapi/models/signalEndpointSchema.ts index 48becc64de..fff2f178b2 100644 --- a/frontend/src/openapi/models/signalEndpointSchema.ts +++ b/frontend/src/openapi/models/signalEndpointSchema.ts @@ -13,11 +13,17 @@ export interface SignalEndpointSchema { createdAt: string; /** The ID of the user that created this signal endpoint. */ createdByUserId: number; - /** A more detailed description of the signal endpoint and its intended use. */ + /** + * A more detailed description of the signal endpoint and its intended use. + * @nullable + */ description?: string | null; /** Whether the signal endpoint is currently enabled. If not specified, defaults to true. */ enabled: boolean; - /** The signal endpoint's ID. Signal endpoint IDs are incrementing integers. In other words, a more recently created signal endpoint will always have a higher ID than an older one. */ + /** + * The signal endpoint's ID. Signal endpoint IDs are incrementing integers. In other words, a more recently created signal endpoint will always have a higher ID than an older one. + * @minimum 1 + */ id: number; /** The signal endpoint name. Must be URL-safe. */ name: string; diff --git a/frontend/src/openapi/models/signalEndpointSignalSchema.ts b/frontend/src/openapi/models/signalEndpointSignalSchema.ts index c15b0f5e91..6d9e272014 100644 --- a/frontend/src/openapi/models/signalEndpointSignalSchema.ts +++ b/frontend/src/openapi/models/signalEndpointSignalSchema.ts @@ -12,7 +12,10 @@ import type { SignalEndpointSignalSchemaSource } from './signalEndpointSignalSch export interface SignalEndpointSignalSchema { /** The date and time of when the signal was created. */ createdAt: string; - /** The signal's ID. Signal IDs are incrementing integers. In other words, a more recently created signal will always have a higher ID than an older one. */ + /** + * The signal's ID. Signal IDs are incrementing integers. In other words, a more recently created signal will always have a higher ID than an older one. + * @minimum 1 + */ id?: number; /** The payload of the signal. */ payload?: SignalEndpointSignalSchemaPayload; @@ -20,6 +23,9 @@ export interface SignalEndpointSignalSchema { source: SignalEndpointSignalSchemaSource; /** The ID of the source that created this signal. Should be used along with `source` to uniquely identify the resource that created this signal. */ sourceId: number; - /** The name of the token used to register this signal. */ + /** + * The name of the token used to register this signal. + * @nullable + */ tokenName?: string | null; } diff --git a/frontend/src/openapi/models/signalEndpointTokenSchema.ts b/frontend/src/openapi/models/signalEndpointTokenSchema.ts index 98d7fa710a..45a331db02 100644 --- a/frontend/src/openapi/models/signalEndpointTokenSchema.ts +++ b/frontend/src/openapi/models/signalEndpointTokenSchema.ts @@ -12,7 +12,10 @@ export interface SignalEndpointTokenSchema { createdAt: string; /** The ID of the user that created this signal endpoint token. */ createdByUserId: number; - /** The signal endpoint token's ID. Signal endpoint token IDs are incrementing integers. In other words, a more recently created signal endpoint token will always have a higher ID than an older one. */ + /** + * The signal endpoint token's ID. Signal endpoint token IDs are incrementing integers. In other words, a more recently created signal endpoint token will always have a higher ID than an older one. + * @minimum 1 + */ id: number; /** The signal endpoint token name. */ name: string; diff --git a/frontend/src/openapi/models/signalSchema.ts b/frontend/src/openapi/models/signalSchema.ts index 1121f299b9..bd05ec0a7f 100644 --- a/frontend/src/openapi/models/signalSchema.ts +++ b/frontend/src/openapi/models/signalSchema.ts @@ -12,9 +12,15 @@ import type { SignalSchemaSource } from './signalSchemaSource'; export interface SignalSchema { /** The date and time of when the signal was created. */ createdAt: string; - /** The ID of the source token that created this signal. Only present if the signal was created by a signal endpoint. */ + /** + * The ID of the source token that created this signal. Only present if the signal was created by a signal endpoint. + * @nullable + */ createdBySourceTokenId?: number | null; - /** The signal's ID. Signal IDs are incrementing integers. In other words, a more recently created signal will always have a higher ID than an older one. */ + /** + * The signal's ID. Signal IDs are incrementing integers. In other words, a more recently created signal will always have a higher ID than an older one. + * @minimum 1 + */ id: number; /** The payload of the signal. */ payload?: SignalSchemaPayload; diff --git a/frontend/src/openapi/models/strategySchema.ts b/frontend/src/openapi/models/strategySchema.ts index 377facc70c..483248ef87 100644 --- a/frontend/src/openapi/models/strategySchema.ts +++ b/frontend/src/openapi/models/strategySchema.ts @@ -10,9 +10,15 @@ import type { StrategySchemaParametersItem } from './strategySchemaParametersIte */ export interface StrategySchema { deprecated: boolean; - /** A short description of the strategy */ + /** + * A short description of the strategy + * @nullable + */ description: string | null; - /** A human friendly name for the strategy */ + /** + * A human friendly name for the strategy + * @nullable + */ displayName: string | null; /** Whether the strategy can be edited or not. Strategies bundled with Unleash cannot be edited. */ editable: boolean; @@ -20,6 +26,9 @@ export interface StrategySchema { name: string; /** A list of relevant parameters for each strategy */ parameters: StrategySchemaParametersItem[]; - /** An optional title for the strategy */ + /** + * An optional title for the strategy + * @nullable + */ title?: string | null; } diff --git a/frontend/src/openapi/models/strategyVariantSchema.ts b/frontend/src/openapi/models/strategyVariantSchema.ts index 00346306b5..743ae0d983 100644 --- a/frontend/src/openapi/models/strategyVariantSchema.ts +++ b/frontend/src/openapi/models/strategyVariantSchema.ts @@ -16,7 +16,11 @@ export interface StrategyVariantSchema { payload?: StrategyVariantSchemaPayload; /** The [stickiness](https://docs.getunleash.io/reference/feature-toggle-variants#variant-stickiness) to use for distribution of this variant. Stickiness is how Unleash guarantees that the same user gets the same variant every time */ stickiness: string; - /** The weight is the likelihood of any one user getting this variant. It is an integer between 0 and 1000. See the section on [variant weights](https://docs.getunleash.io/reference/feature-toggle-variants#variant-weight) for more information */ + /** + * The weight is the likelihood of any one user getting this variant. It is an integer between 0 and 1000. See the section on [variant weights](https://docs.getunleash.io/reference/feature-toggle-variants#variant-weight) for more information + * @minimum 0 + * @maximum 1000 + */ weight: number; /** Set to `fix` if this variant must have exactly the weight allocated to it. If the type is `variable`, the weight will adjust so that the total weight of all variants adds up to 1000. Refer to the [variant weight documentation](https://docs.getunleash.io/reference/feature-toggle-variants#variant-weight). */ weightType: StrategyVariantSchemaWeightType; diff --git a/frontend/src/openapi/models/tagTypeSchema.ts b/frontend/src/openapi/models/tagTypeSchema.ts index 75e59021e6..ee93c6591f 100644 --- a/frontend/src/openapi/models/tagTypeSchema.ts +++ b/frontend/src/openapi/models/tagTypeSchema.ts @@ -10,7 +10,10 @@ export interface TagTypeSchema { /** The description of the tag type. */ description?: string; - /** The icon of the tag type. */ + /** + * The icon of the tag type. + * @nullable + */ icon?: string | null; /** The name of the tag type. */ name: string; diff --git a/frontend/src/openapi/models/tokenUserSchema.ts b/frontend/src/openapi/models/tokenUserSchema.ts index 4b49df9a32..549078bdac 100644 --- a/frontend/src/openapi/models/tokenUserSchema.ts +++ b/frontend/src/openapi/models/tokenUserSchema.ts @@ -9,7 +9,10 @@ import type { RoleSchema } from './roleSchema'; * A user identified by a token */ export interface TokenUserSchema { - /** A username or email identifying which user created this token */ + /** + * A username or email identifying which user created this token + * @nullable + */ createdBy: string | null; /** The email of the user */ email: string; diff --git a/frontend/src/openapi/models/updateChangeRequestEnvironmentConfigSchema.ts b/frontend/src/openapi/models/updateChangeRequestEnvironmentConfigSchema.ts index 3625518db7..6b1c5b5ff5 100644 --- a/frontend/src/openapi/models/updateChangeRequestEnvironmentConfigSchema.ts +++ b/frontend/src/openapi/models/updateChangeRequestEnvironmentConfigSchema.ts @@ -10,6 +10,9 @@ export interface UpdateChangeRequestEnvironmentConfigSchema { /** `true` if change requests should be enabled, otherwise `false`. */ changeRequestsEnabled: boolean; - /** The number of approvals required before a change request can be applied in this environment. */ + /** + * The number of approvals required before a change request can be applied in this environment. + * @minimum 0 + */ requiredApprovals?: number; } diff --git a/frontend/src/openapi/models/updateFeatureStrategySchema.ts b/frontend/src/openapi/models/updateFeatureStrategySchema.ts index f220af72e8..4f7d4b87c6 100644 --- a/frontend/src/openapi/models/updateFeatureStrategySchema.ts +++ b/frontend/src/openapi/models/updateFeatureStrategySchema.ts @@ -12,13 +12,19 @@ import type { ParametersSchema } from './parametersSchema'; export interface UpdateFeatureStrategySchema { /** A list of the constraints attached to the strategy. See https://docs.getunleash.io/reference/strategy-constraints */ constraints?: ConstraintSchema[]; - /** A toggle to disable the strategy. defaults to true. Disabled strategies are not evaluated or returned to the SDKs */ + /** + * A toggle to disable the strategy. defaults to true. Disabled strategies are not evaluated or returned to the SDKs + * @nullable + */ disabled?: boolean | null; /** The name of the strategy type */ name?: string; parameters?: ParametersSchema; /** The order of the strategy in the list in feature environment configuration */ sortOrder?: number; - /** A descriptive title for the strategy */ + /** + * A descriptive title for the strategy + * @nullable + */ title?: string | null; } diff --git a/frontend/src/openapi/models/updateFeatureTypeLifetimeSchema.ts b/frontend/src/openapi/models/updateFeatureTypeLifetimeSchema.ts index bc2a0aa3c7..813a5b0168 100644 --- a/frontend/src/openapi/models/updateFeatureTypeLifetimeSchema.ts +++ b/frontend/src/openapi/models/updateFeatureTypeLifetimeSchema.ts @@ -8,6 +8,11 @@ * Data used when updating the lifetime of a [feature toggle type](https://docs.getunleash.io/reference/feature-toggle-types). */ export interface UpdateFeatureTypeLifetimeSchema { - /** The new lifetime (in days) that you want to assign to the feature toggle type. If the value is `null` or `0`, then the feature toggles of that type will never be marked as potentially stale. Otherwise, they will be considered potentially stale after the number of days indicated by this property. */ + /** + * The new lifetime (in days) that you want to assign to the feature toggle type. If the value is `null` or `0`, then the feature toggles of that type will never be marked as potentially stale. Otherwise, they will be considered potentially stale after the number of days indicated by this property. + * @minimum 0 + * @maximum 2147483647 + * @nullable + */ lifetimeDays: number | null; } diff --git a/frontend/src/openapi/models/upsertSegmentSchema.ts b/frontend/src/openapi/models/upsertSegmentSchema.ts index d944ad7752..c89aa718bf 100644 --- a/frontend/src/openapi/models/upsertSegmentSchema.ts +++ b/frontend/src/openapi/models/upsertSegmentSchema.ts @@ -11,10 +11,16 @@ import type { ConstraintSchema } from './constraintSchema'; export interface UpsertSegmentSchema { /** The list of constraints that make up this segment */ constraints: ConstraintSchema[]; - /** A description of what the segment is for */ + /** + * A description of what the segment is for + * @nullable + */ description?: string | null; /** The name of the segment */ name: string; - /** The project the segment belongs to if any. */ + /** + * The project the segment belongs to if any. + * @nullable + */ project?: string | null; } diff --git a/frontend/src/openapi/models/userAccessSchema.ts b/frontend/src/openapi/models/userAccessSchema.ts index d2337249cf..b133f1a5c0 100644 --- a/frontend/src/openapi/models/userAccessSchema.ts +++ b/frontend/src/openapi/models/userAccessSchema.ts @@ -10,11 +10,17 @@ export interface UserAccessSchema { /** A list of project ids that this user has access to */ accessibleProjects: string[]; - /** When the user was created */ + /** + * When the user was created + * @nullable + */ createdAt?: string | null; /** A list of group names that this user is a member of */ groups: string[]; - /** The last time the user logged in */ + /** + * The last time the user logged in + * @nullable + */ lastSeen?: string | null; /** The name of the root role that this user has */ rootRole: string; @@ -22,6 +28,9 @@ export interface UserAccessSchema { userEmail: string; /** The identifier for the user */ userId: number; - /** The name of the user */ + /** + * The name of the user + * @nullable + */ userName?: string | null; } diff --git a/frontend/src/openapi/models/userSchema.ts b/frontend/src/openapi/models/userSchema.ts index 72a04497ae..d25116420b 100644 --- a/frontend/src/openapi/models/userSchema.ts +++ b/frontend/src/openapi/models/userSchema.ts @@ -27,18 +27,36 @@ export interface UserSchema { * @deprecated */ isAPI?: boolean; - /** How many unsuccessful attempts at logging in has the user made */ + /** + * How many unsuccessful attempts at logging in has the user made + * @minimum 0 + */ loginAttempts?: number; - /** Name of the user */ + /** + * Name of the user + * @nullable + */ name?: string | null; /** Deprecated */ permissions?: string[]; - /** Which [root role](https://docs.getunleash.io/reference/rbac#predefined-roles) this user is assigned */ + /** + * Which [root role](https://docs.getunleash.io/reference/rbac#predefined-roles) this user is assigned + * @minimum 0 + */ rootRole?: number; - /** The SCIM ID of the user, only present if managed by SCIM */ + /** + * The SCIM ID of the user, only present if managed by SCIM + * @nullable + */ scimId?: string | null; - /** The last time this user logged in */ + /** + * The last time this user logged in + * @nullable + */ seenAt?: string | null; - /** A unique username for the user */ + /** + * A unique username for the user + * @nullable + */ username?: string | null; } diff --git a/frontend/src/openapi/models/userWithProjectRoleSchema.ts b/frontend/src/openapi/models/userWithProjectRoleSchema.ts index 554a3245f1..a7dc1de7d1 100644 --- a/frontend/src/openapi/models/userWithProjectRoleSchema.ts +++ b/frontend/src/openapi/models/userWithProjectRoleSchema.ts @@ -10,11 +10,20 @@ export interface UserWithProjectRoleSchema { /** When this user was added to the project */ addedAt?: string; - /** The user's email address */ + /** + * The user's email address + * @nullable + */ email?: string | null; - /** The user's ID in the Unleash system */ + /** + * The user's ID in the Unleash system + * @minimum 0 + */ id: number; - /** A URL pointing to the user's image. */ + /** + * A URL pointing to the user's image. + * @nullable + */ imageUrl?: string | null; /** * Whether this user is authenticated through Unleash tokens or logged in with a session @@ -23,7 +32,10 @@ export interface UserWithProjectRoleSchema { isAPI?: boolean; /** The name of the user */ name?: string; - /** The ID of the role this user has in the given project */ + /** + * The ID of the role this user has in the given project + * @minimum 0 + */ roleId?: number; /** A list of roles this user has in the given project */ roles?: number[]; diff --git a/frontend/src/openapi/models/validateFeatureSchema.ts b/frontend/src/openapi/models/validateFeatureSchema.ts index af23171017..fb7d3e5934 100644 --- a/frontend/src/openapi/models/validateFeatureSchema.ts +++ b/frontend/src/openapi/models/validateFeatureSchema.ts @@ -10,6 +10,9 @@ export interface ValidateFeatureSchema { /** The feature name to validate. */ name: string; - /** The id of the project that the feature flag will belong to. If the target project has a feature naming pattern defined, the name will be validated against that pattern. */ + /** + * The id of the project that the feature flag will belong to. If the target project has a feature naming pattern defined, the name will be validated against that pattern. + * @nullable + */ projectId?: string | null; } diff --git a/frontend/src/openapi/models/variantSchema.ts b/frontend/src/openapi/models/variantSchema.ts index 20f2ffe948..887ce3dfb9 100644 --- a/frontend/src/openapi/models/variantSchema.ts +++ b/frontend/src/openapi/models/variantSchema.ts @@ -19,7 +19,11 @@ export interface VariantSchema { payload?: VariantSchemaPayload; /** [Stickiness](https://docs.getunleash.io/reference/feature-toggle-variants#variant-stickiness) is how Unleash guarantees that the same user gets the same variant every time */ stickiness?: string; - /** The weight is the likelihood of any one user getting this variant. It is a number between 0 and 1000. See the section on [variant weights](https://docs.getunleash.io/reference/feature-toggle-variants#variant-weight) for more information */ + /** + * The weight is the likelihood of any one user getting this variant. It is a number between 0 and 1000. See the section on [variant weights](https://docs.getunleash.io/reference/feature-toggle-variants#variant-weight) for more information + * @minimum 0 + * @maximum 1000 + */ weight: number; /** Set to fix if this variant must have exactly the weight allocated to it. If the type is variable, the weight will adjust so that the total weight of all variants adds up to 1000 */ weightType?: VariantSchemaWeightType;