From 5a65eb1758a28af18efbc7ca3f62ecd1b908333c Mon Sep 17 00:00:00 2001 From: Andy Butland Date: Fri, 17 Oct 2025 15:01:09 +0200 Subject: [PATCH] Update OpenApi.json and client-side models. --- src/Umbraco.Cms.Api.Management/OpenApi.json | 56 +++++++++++++++++-- .../packages/core/backend-api/types.gen.ts | 20 +++++-- .../src/packages/documents/documents/utils.ts | 1 + ...ace-split-view-variant-selector.element.ts | 1 + 4 files changed, 67 insertions(+), 11 deletions(-) diff --git a/src/Umbraco.Cms.Api.Management/OpenApi.json b/src/Umbraco.Cms.Api.Management/OpenApi.json index 35de8ff74e..f4d4118c94 100644 --- a/src/Umbraco.Cms.Api.Management/OpenApi.json +++ b/src/Umbraco.Cms.Api.Management/OpenApi.json @@ -37322,6 +37322,9 @@ { "$ref": "#/components/schemas/DocumentPropertyValuePermissionPresentationModel" }, + { + "$ref": "#/components/schemas/DocumentTypePermissionPresentationModel" + }, { "$ref": "#/components/schemas/UnknownTypePermissionPresentationModel" } @@ -37608,6 +37611,9 @@ { "$ref": "#/components/schemas/DocumentPropertyValuePermissionPresentationModel" }, + { + "$ref": "#/components/schemas/DocumentTypePermissionPresentationModel" + }, { "$ref": "#/components/schemas/UnknownTypePermissionPresentationModel" } @@ -38444,7 +38450,8 @@ "type": "boolean" }, "allowNonExistingSegmentsCreation": { - "type": "boolean" + "type": "boolean", + "deprecated": true } }, "additionalProperties": false @@ -39088,6 +39095,36 @@ }, "additionalProperties": false }, + "DocumentTypePermissionPresentationModel": { + "required": [ + "$type", + "documentTypeAlias", + "verbs" + ], + "type": "object", + "properties": { + "$type": { + "type": "string" + }, + "verbs": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + } + }, + "documentTypeAlias": { + "type": "string" + } + }, + "additionalProperties": false, + "discriminator": { + "propertyName": "$type", + "mapping": { + "DocumentTypePermissionPresentationModel": "#/components/schemas/DocumentTypePermissionPresentationModel" + } + } + }, "DocumentTypePropertyTypeContainerResponseModel": { "required": [ "id", @@ -39683,7 +39720,8 @@ "NotCreated", "Draft", "Published", - "PublishedPendingChanges" + "PublishedPendingChanges", + "Trashed" ], "type": "string" }, @@ -40178,7 +40216,7 @@ }, "actionParameters": { "type": "object", - "additionalProperties": { }, + "additionalProperties": {}, "nullable": true } }, @@ -40803,7 +40841,7 @@ }, "extensions": { "type": "array", - "items": { } + "items": {} } }, "additionalProperties": false @@ -44640,7 +44678,7 @@ "nullable": true } }, - "additionalProperties": { } + "additionalProperties": {} }, "ProblemDetailsBuilderModel": { "type": "object", @@ -47813,6 +47851,9 @@ { "$ref": "#/components/schemas/DocumentPropertyValuePermissionPresentationModel" }, + { + "$ref": "#/components/schemas/DocumentTypePermissionPresentationModel" + }, { "$ref": "#/components/schemas/UnknownTypePermissionPresentationModel" } @@ -48250,6 +48291,9 @@ { "$ref": "#/components/schemas/DocumentPropertyValuePermissionPresentationModel" }, + { + "$ref": "#/components/schemas/DocumentTypePermissionPresentationModel" + }, { "$ref": "#/components/schemas/UnknownTypePermissionPresentationModel" } @@ -48932,4 +48976,4 @@ } } } -} \ No newline at end of file +} diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/backend-api/types.gen.ts b/src/Umbraco.Web.UI.Client/src/packages/core/backend-api/types.gen.ts index 8050b85556..94facac649 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/backend-api/types.gen.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/backend-api/types.gen.ts @@ -412,7 +412,7 @@ export type CreateUserGroupRequestModel = { mediaStartNode?: ReferenceByIdModel | null; mediaRootAccess: boolean; fallbackPermissions: Array; - permissions: Array; + permissions: Array; id?: string | null; }; @@ -471,7 +471,7 @@ export type CurrentUserResponseModel = { hasAccessToAllLanguages: boolean; hasAccessToSensitiveData: boolean; fallbackPermissions: Array; - permissions: Array; + permissions: Array; allowedSections: Array; isAdmin: boolean; }; @@ -659,6 +659,9 @@ export type DocumentConfigurationResponseModel = { disableDeleteWhenReferenced: boolean; disableUnpublishWhenReferenced: boolean; allowEditInvariantFromNonDefault: boolean; + /** + * @deprecated + */ allowNonExistingSegmentsCreation: boolean; }; @@ -791,6 +794,12 @@ export type DocumentTypeItemResponseModel = { description?: string | null; }; +export type DocumentTypePermissionPresentationModel = { + $type: string; + verbs: Array; + documentTypeAlias: string; +}; + export type DocumentTypePropertyTypeContainerResponseModel = { id: string; parent?: ReferenceByIdModel | null; @@ -920,7 +929,8 @@ export enum DocumentVariantStateModel { NOT_CREATED = 'NotCreated', DRAFT = 'Draft', PUBLISHED = 'Published', - PUBLISHED_PENDING_CHANGES = 'PublishedPendingChanges' + PUBLISHED_PENDING_CHANGES = 'PublishedPendingChanges', + TRASHED = 'Trashed' } export type DocumentVersionItemResponseModel = { @@ -2822,7 +2832,7 @@ export type UpdateUserGroupRequestModel = { mediaStartNode?: ReferenceByIdModel | null; mediaRootAccess: boolean; fallbackPermissions: Array; - permissions: Array; + permissions: Array; }; export type UpdateUserGroupsOnUserRequestModel = { @@ -2923,7 +2933,7 @@ export type UserGroupResponseModel = { mediaStartNode?: ReferenceByIdModel | null; mediaRootAccess: boolean; fallbackPermissions: Array; - permissions: Array; + permissions: Array; id: string; isDeletable: boolean; aliasCanBeChanged: boolean; diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/utils.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/utils.ts index 3622652b51..531bca043e 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/utils.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/utils.ts @@ -8,6 +8,7 @@ const variantStatesOrder = { [DocumentVariantStateModel.PUBLISHED]: 1, [DocumentVariantStateModel.DRAFT]: 2, [DocumentVariantStateModel.NOT_CREATED]: 3, + [DocumentVariantStateModel.TRASHED]: 4, }; const getVariantStateOrderValue = (variant?: UmbDocumentVariantOptionModel['variant']) => { diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/workspace/document-workspace-split-view-variant-selector.element.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/workspace/document-workspace-split-view-variant-selector.element.ts index 45ef5f33bc..5be90a4278 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/workspace/document-workspace-split-view-variant-selector.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/workspace/document-workspace-split-view-variant-selector.element.ts @@ -22,6 +22,7 @@ export class UmbDocumentWorkspaceSplitViewVariantSelectorElement extends UmbWork // We should also make our own state model for this [DocumentVariantStateModel.PUBLISHED_PENDING_CHANGES]: 'content_published', [DocumentVariantStateModel.NOT_CREATED]: 'content_notCreated', + [DocumentVariantStateModel.TRASHED]: 'mediaPicker_trashed', }; constructor() {