From eee9151a210c2175c61a1a1401b7b9fefd97d2b7 Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Wed, 13 Sep 2023 15:06:05 +0200 Subject: [PATCH 01/11] refactor to pass document id --- .../allowed-document-types-modal.token.ts | 18 ---- .../token/create-document-modal.token.ts | 17 ++++ .../src/packages/core/modal/token/index.ts | 2 +- .../documents/document-types/manifests.ts | 2 - .../allowed-document-types-modal.element.ts | 99 ------------------- .../document-types/modals/manifests.ts | 12 --- .../create/create-document-modal.element.ts | 73 ++++++++++++++ .../entity-actions/create/create.action.ts | 35 ++----- .../entity-actions/create/manifests.ts | 31 ++++++ .../documents/entity-actions/manifests.ts | 31 +----- .../repository/document.repository.ts | 11 +-- .../sources/document.server.data.ts | 29 +++--- 12 files changed, 154 insertions(+), 206 deletions(-) delete mode 100644 src/Umbraco.Web.UI.Client/src/packages/core/modal/token/allowed-document-types-modal.token.ts create mode 100644 src/Umbraco.Web.UI.Client/src/packages/core/modal/token/create-document-modal.token.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/packages/documents/document-types/modals/allowed-document-types/allowed-document-types-modal.element.ts delete mode 100644 src/Umbraco.Web.UI.Client/src/packages/documents/document-types/modals/manifests.ts create mode 100644 src/Umbraco.Web.UI.Client/src/packages/documents/documents/entity-actions/create/create-document-modal.element.ts create mode 100644 src/Umbraco.Web.UI.Client/src/packages/documents/documents/entity-actions/create/manifests.ts diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/modal/token/allowed-document-types-modal.token.ts b/src/Umbraco.Web.UI.Client/src/packages/core/modal/token/allowed-document-types-modal.token.ts deleted file mode 100644 index d2dc13448e..0000000000 --- a/src/Umbraco.Web.UI.Client/src/packages/core/modal/token/allowed-document-types-modal.token.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { UmbModalToken } from '@umbraco-cms/backoffice/modal'; - -export interface UmbAllowedDocumentTypesModalData { - parentId: string | null; - parentName?: string; -} - -export interface UmbAllowedDocumentTypesModalResult { - documentTypeKey: string; -} - -export const UMB_ALLOWED_DOCUMENT_TYPES_MODAL = new UmbModalToken< - UmbAllowedDocumentTypesModalData, - UmbAllowedDocumentTypesModalResult ->('Umb.Modal.AllowedDocumentTypes', { - type: 'sidebar', - size: 'small', -}); diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/modal/token/create-document-modal.token.ts b/src/Umbraco.Web.UI.Client/src/packages/core/modal/token/create-document-modal.token.ts new file mode 100644 index 0000000000..2c943db95f --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/packages/core/modal/token/create-document-modal.token.ts @@ -0,0 +1,17 @@ +import { UmbModalToken } from '@umbraco-cms/backoffice/modal'; + +export interface UmbCreateDocumentModalData { + id: string | null; +} + +export interface UmbCreateDocumentModalResult { + documentTypeId: string; +} + +export const UMB_CREATE_DOCUMENT_MODAL = new UmbModalToken( + 'Umb.Modal.CreateDocument', + { + type: 'sidebar', + size: 'small', + }, +); diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/modal/token/index.ts b/src/Umbraco.Web.UI.Client/src/packages/core/modal/token/index.ts index b496bee08c..63163c3cb8 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/modal/token/index.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/modal/token/index.ts @@ -1,5 +1,5 @@ export * from './modal-token.js'; -export * from './allowed-document-types-modal.token.js'; +export * from './create-document-modal.token.js'; export * from './change-password-modal.token.js'; export * from './code-editor-modal.token.js'; export * from './confirm-modal.token.js'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/document-types/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/document-types/manifests.ts index 7a43201a06..51dc7d38ed 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/documents/document-types/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/documents/document-types/manifests.ts @@ -1,6 +1,5 @@ import { manifests as entityActionsManifests } from './entity-actions/manifests.js'; import { manifests as menuItemManifests } from './menu-item/manifests.js'; -import { manifests as modalManifests } from './modals/manifests.js'; import { manifests as repositoryManifests } from './repository/manifests.js'; import { manifests as treeManifests } from './tree/manifests.js'; import { manifests as workspaceManifests } from './workspace/manifests.js'; @@ -8,7 +7,6 @@ import { manifests as workspaceManifests } from './workspace/manifests.js'; export const manifests = [ ...entityActionsManifests, ...menuItemManifests, - ...modalManifests, ...repositoryManifests, ...treeManifests, ...workspaceManifests, diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/document-types/modals/allowed-document-types/allowed-document-types-modal.element.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/document-types/modals/allowed-document-types/allowed-document-types-modal.element.ts deleted file mode 100644 index e452d5a543..0000000000 --- a/src/Umbraco.Web.UI.Client/src/packages/documents/document-types/modals/allowed-document-types/allowed-document-types-modal.element.ts +++ /dev/null @@ -1,99 +0,0 @@ -import { html, nothing, customElement, state, ifDefined } from '@umbraco-cms/backoffice/external/lit'; -import { UmbTextStyles } from "@umbraco-cms/backoffice/style"; -import { UmbAllowedDocumentTypesModalData, UmbAllowedDocumentTypesModalResult } from '@umbraco-cms/backoffice/modal'; -import { UmbModalBaseElement } from '@umbraco-cms/internal/modal'; -import { DocumentTypeTreeItemResponseModel } from '@umbraco-cms/backoffice/backend-api'; -import { UmbDocumentRepository } from '@umbraco-cms/backoffice/document'; - -@customElement('umb-allowed-document-types-modal') -export class UmbAllowedDocumentTypesModalElement extends UmbModalBaseElement< - UmbAllowedDocumentTypesModalData, - UmbAllowedDocumentTypesModalResult -> { - #documentRepository = new UmbDocumentRepository(this); - - @state() - private _allowedDocumentTypes: DocumentTypeTreeItemResponseModel[] = []; - - @state() - private _headline?: string; - - public connectedCallback() { - super.connectedCallback(); - - const parentId = this.data?.parentId; - const parentName = this.data?.parentName; - if (parentName) { - this._headline = `Create at '${parentName}'`; - } else { - this._headline = `Create`; - } - if (parentId) { - // TODO: Support root aka. id of null? or maybe its an active prop, like 'atRoot'. - // TODO: show error - - this._retrieveAllowedChildrenOf(parentId); - } else { - this._retrieveAllowedChildrenOfRoot(); - } - } - - private async _retrieveAllowedChildrenOf(id: string) { - const { data } = await this.#documentRepository.requestAllowedDocumentTypesOf(id); - - if (data) { - // TODO: implement pagination, or get 1000? - this._allowedDocumentTypes = data.items; - } - } - - private async _retrieveAllowedChildrenOfRoot() { - const { data } = await this.#documentRepository.requestAllowedDocumentTypesAtRoot(); - - if (data) { - // TODO: implement pagination, or get 1000? - this._allowedDocumentTypes = data.items; - } - } - - private _handleCancel() { - this.modalContext?.reject(); - } - - #onClick(event: PointerEvent) { - event.stopPropagation(); - const target = event.target as HTMLButtonElement; - const documentTypeKey = target.dataset.id; - if (!documentTypeKey) throw new Error('No document type id found'); - this.modalContext?.submit({ documentTypeKey }); - } - - render() { - return html` - - - ${this._allowedDocumentTypes.length === 0 ? html`

No allowed types

` : nothing} - ${this._allowedDocumentTypes.map( - (item) => - html` - - ${item.icon ? html`` : nothing} - - ` - )} -
- Cancel -
- `; - } - - static styles = [UmbTextStyles]; -} - -export default UmbAllowedDocumentTypesModalElement; - -declare global { - interface HTMLElementTagNameMap { - 'umb-allowed-document-types-modal': UmbAllowedDocumentTypesModalElement; - } -} diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/document-types/modals/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/document-types/modals/manifests.ts deleted file mode 100644 index 6d6ec7d251..0000000000 --- a/src/Umbraco.Web.UI.Client/src/packages/documents/document-types/modals/manifests.ts +++ /dev/null @@ -1,12 +0,0 @@ -import type { ManifestModal } from '@umbraco-cms/backoffice/extension-registry'; - -const modals: Array = [ - { - type: 'modal', - alias: 'Umb.Modal.AllowedDocumentTypes', - name: 'Allowed Document Types Modal', - loader: () => import('./allowed-document-types/allowed-document-types-modal.element.js'), - }, -]; - -export const manifests = [...modals]; diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/entity-actions/create/create-document-modal.element.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/entity-actions/create/create-document-modal.element.ts new file mode 100644 index 0000000000..e58c71dd3e --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/entity-actions/create/create-document-modal.element.ts @@ -0,0 +1,73 @@ +import { html, nothing, customElement, state, ifDefined } from '@umbraco-cms/backoffice/external/lit'; +import { UmbTextStyles } from '@umbraco-cms/backoffice/style'; +import { UmbCreateDocumentModalData, UmbCreateDocumentModalResult } from '@umbraco-cms/backoffice/modal'; +import { UmbModalBaseElement } from '@umbraco-cms/internal/modal'; +import { DocumentTypeTreeItemResponseModel } from '@umbraco-cms/backoffice/backend-api'; +import { UmbDocumentRepository } from '@umbraco-cms/backoffice/document'; + +@customElement('umb-create-document-modal') +export class UmbCreateDocumentModalElement extends UmbModalBaseElement< + UmbCreateDocumentModalData, + UmbCreateDocumentModalResult +> { + #documentRepository = new UmbDocumentRepository(this); + + @state() + private _allowedDocumentTypes: DocumentTypeTreeItemResponseModel[] = []; + + @state() + private _headline?: string; + + async firstUpdated() { + await this.#retrieveAllowedChildrenOf(this.data?.id || null); + } + + async #retrieveAllowedChildrenOf(id: string | null) { + const { data } = await this.#documentRepository.requestAllowedDocumentTypesOf(id); + + if (data) { + // TODO: implement pagination, or get 1000? + this._allowedDocumentTypes = data.items; + } + } + + private _handleCancel() { + this.modalContext?.reject(); + } + + #onClick(event: PointerEvent) { + event.stopPropagation(); + const target = event.target as HTMLButtonElement; + const documentTypeId = target.dataset.id; + if (!documentTypeId) throw new Error('No document type id found'); + this.modalContext?.submit({ documentTypeId }); + } + + render() { + return html` + + + ${this._allowedDocumentTypes.length === 0 ? html`

No allowed types

` : nothing} + ${this._allowedDocumentTypes.map( + (item) => html` + + ${item.icon ? html`` : nothing} + + `, + )} +
+ Cancel +
+ `; + } + + static styles = [UmbTextStyles]; +} + +export default UmbCreateDocumentModalElement; + +declare global { + interface HTMLElementTagNameMap { + 'umb-create-document-modal': UmbCreateDocumentModalElement; + } +} diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/entity-actions/create/create.action.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/entity-actions/create/create.action.ts index 331aeea40d..c71842c1a0 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/entity-actions/create/create.action.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/entity-actions/create/create.action.ts @@ -4,7 +4,7 @@ import { UmbControllerHostElement } from '@umbraco-cms/backoffice/controller-api import { UmbModalManagerContext, UMB_MODAL_MANAGER_CONTEXT_TOKEN, - UMB_ALLOWED_DOCUMENT_TYPES_MODAL, + UMB_CREATE_DOCUMENT_MODAL as UMB_CREATE_DOCUMENT_MODAL, } from '@umbraco-cms/backoffice/modal'; import { UmbContextConsumerController } from '@umbraco-cms/backoffice/context-api'; @@ -20,43 +20,24 @@ export class UmbCreateDocumentEntityAction extends UmbEntityActionBase = [ + { + type: 'entityAction', + alias: 'Umb.EntityAction.Document.Create', + name: 'Create Document Entity Action', + weight: 1000, + meta: { + icon: 'umb:add', + label: 'Create', + repositoryAlias: DOCUMENT_REPOSITORY_ALIAS, + api: UmbCreateDocumentEntityAction, + entityTypes: [DOCUMENT_ROOT_ENTITY_TYPE, DOCUMENT_ENTITY_TYPE], + }, + }, +]; + +const modals: Array = [ + { + type: 'modal', + alias: 'Umb.Modal.CreateDocument', + name: 'Create Document Modal', + loader: () => import('./create-document-modal.element.js'), + }, +]; + +export const manifests = [...entityActions, ...modals]; diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/entity-actions/manifests.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/entity-actions/manifests.ts index cdcdced821..c42bbb2eb4 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/entity-actions/manifests.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/entity-actions/manifests.ts @@ -1,6 +1,5 @@ import { DOCUMENT_REPOSITORY_ALIAS } from '../repository/manifests.js'; import { DOCUMENT_ENTITY_TYPE, DOCUMENT_ROOT_ENTITY_TYPE } from '../index.js'; -import { UmbCreateDocumentEntityAction } from './create/create.action.js'; import { UmbPublishDocumentEntityAction } from './publish.action.js'; import { UmbDocumentCultureAndHostnamesEntityAction } from './culture-and-hostnames.action.js'; import { UmbCreateDocumentBlueprintEntityAction } from './create-blueprint.action.js'; @@ -8,28 +7,17 @@ import { UmbDocumentPublicAccessEntityAction } from './public-access.action.js'; import { UmbDocumentPermissionsEntityAction } from './permissions.action.js'; import { UmbUnpublishDocumentEntityAction } from './unpublish.action.js'; import { UmbRollbackDocumentEntityAction } from './rollback.action.js'; +import { manifests as createManifests } from './create/manifests.js'; import { UmbCopyEntityAction, UmbMoveEntityAction, UmbTrashEntityAction, UmbSortChildrenOfEntityAction, } from '@umbraco-cms/backoffice/entity-action'; -import { ManifestEntityAction, ManifestModal } from '@umbraco-cms/backoffice/extension-registry'; +import { ManifestTypes } from '@umbraco-cms/backoffice/extension-registry'; -const entityActions: Array = [ - { - type: 'entityAction', - alias: 'Umb.EntityAction.Document.Create', - name: 'Create Document Entity Action', - weight: 1000, - meta: { - icon: 'umb:add', - label: 'Create', - repositoryAlias: DOCUMENT_REPOSITORY_ALIAS, - api: UmbCreateDocumentEntityAction, - entityTypes: [DOCUMENT_ROOT_ENTITY_TYPE, DOCUMENT_ENTITY_TYPE], - }, - }, +const entityActions: Array = [ + ...createManifests, { type: 'entityAction', alias: 'Umb.EntityAction.Document.Trash', @@ -170,13 +158,4 @@ const entityActions: Array = [ }, ]; -const modals: Array = [ - { - type: 'modal', - alias: 'Umb.Modal.CreateDocument', - name: 'Create Document Modal', - loader: () => import('../../document-types/modals/allowed-document-types/allowed-document-types-modal.element.js'), - }, -]; - -export const manifests = [...entityActions, ...modals]; +export const manifests = [...entityActions]; diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/repository/document.repository.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/repository/document.repository.ts index 1bf8fa0e65..690ceac72c 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/repository/document.repository.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/repository/document.repository.ts @@ -98,13 +98,12 @@ export class UmbDocumentRepository // Structure permissions; - async requestAllowedDocumentTypesAtRoot() { - return this.#detailDataSource.getAllowedDocumentTypesAtRoot(); - } - async requestAllowedDocumentTypesOf(id: string) { - if (!id) throw new Error('Id is missing'); + async requestAllowedDocumentTypesOf(id: string | null) { + if (id === undefined) throw new Error('Id is missing'); await this.#init; - return this.#detailDataSource.getAllowedDocumentTypesOf(id); + return id + ? this.#detailDataSource.getAllowedDocumentTypesOf(id) + : this.#detailDataSource.getAllowedDocumentTypesAtRoot(); } async requestItemsLegacy(ids: Array) { diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/repository/sources/document.server.data.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/repository/sources/document.server.data.ts index 8eeefe8b9c..a79dba84a4 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/repository/sources/document.server.data.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/repository/sources/document.server.data.ts @@ -45,7 +45,7 @@ export class UmbDocumentServerDataSource this.#host, DocumentResource.getDocumentById({ id, - }) + }), ); } @@ -142,7 +142,7 @@ export class UmbDocumentServerDataSource headers: { 'Content-Type': 'application/json', }, - }) as any + }) as any, ); } @@ -165,10 +165,21 @@ export class UmbDocumentServerDataSource headers: { 'Content-Type': 'application/json', }, - }).then((res) => res.json()) + }).then((res) => res.json()), ); } + /** + * Get the allowed document types for root + * @param {string} id + * @return {*} + * @memberof UmbDocumentTypeServerDataSource + */ + async getAllowedDocumentTypesAtRoot() { + // TODO: Notice, here we need to implement pagination. + return tryExecuteAndNotify(this.#host, DocumentResource.getDocumentRootAllowedDocumentTypes({})); + } + /** * Get the allowed document types for a given parent id * @param {string} id @@ -181,16 +192,4 @@ export class UmbDocumentServerDataSource // TODO: Notice, here we need to implement pagination. return tryExecuteAndNotify(this.#host, DocumentResource.getDocumentByIdAllowedDocumentTypes({ id })); } - - /** - * Get the allowed document types for root - * @param {string} id - * @return {*} - * @memberof UmbDocumentTypeServerDataSource - */ - async getAllowedDocumentTypesAtRoot() { - console.log('source requestAllowedDocumentTypesAtRoot'); - // TODO: Notice, here we need to implement pagination. - return tryExecuteAndNotify(this.#host, DocumentResource.getDocumentRootAllowedDocumentTypes({})); - } } From f40eec7fc8929f364741a89d268618b95a2e7b01 Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Wed, 13 Sep 2023 15:24:08 +0200 Subject: [PATCH 02/11] retrieve headline --- .../create/create-document-modal.element.ts | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/entity-actions/create/create-document-modal.element.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/entity-actions/create/create-document-modal.element.ts index e58c71dd3e..fd34740174 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/entity-actions/create/create-document-modal.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/entity-actions/create/create-document-modal.element.ts @@ -16,10 +16,13 @@ export class UmbCreateDocumentModalElement extends UmbModalBaseElement< private _allowedDocumentTypes: DocumentTypeTreeItemResponseModel[] = []; @state() - private _headline?: string; + private _headline: string = 'Create'; async firstUpdated() { - await this.#retrieveAllowedChildrenOf(this.data?.id || null); + const documentId = this.data?.id || null; + + this.#retrieveAllowedChildrenOf(documentId); + this.#retrieveHeadline(documentId); } async #retrieveAllowedChildrenOf(id: string | null) { @@ -31,6 +34,15 @@ export class UmbCreateDocumentModalElement extends UmbModalBaseElement< } } + async #retrieveHeadline(id: string) { + if (!id) return; + const { data } = await this.#documentRepository.requestById(id); + if (data) { + // TODO: we need to get the correct variant context here + this._headline = `Create at ${data.variants?.[0].name}`; + } + } + private _handleCancel() { this.modalContext?.reject(); } From 461cc4b2e387b96deeb1fe294b4a7ddec6e37e8e Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Wed, 13 Sep 2023 15:44:56 +0200 Subject: [PATCH 03/11] clean up --- .../create/create-document-modal.element.ts | 9 ++++++--- .../documents/repository/sources/document.server.data.ts | 2 -- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/entity-actions/create/create-document-modal.element.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/entity-actions/create/create-document-modal.element.ts index fd34740174..991f6aea1d 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/entity-actions/create/create-document-modal.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/entity-actions/create/create-document-modal.element.ts @@ -21,11 +21,14 @@ export class UmbCreateDocumentModalElement extends UmbModalBaseElement< async firstUpdated() { const documentId = this.data?.id || null; - this.#retrieveAllowedChildrenOf(documentId); - this.#retrieveHeadline(documentId); + this.#retrieveAllowedDocumentTypesOf(documentId); + + if (documentId) { + this.#retrieveHeadline(documentId); + } } - async #retrieveAllowedChildrenOf(id: string | null) { + async #retrieveAllowedDocumentTypesOf(id: string | null) { const { data } = await this.#documentRepository.requestAllowedDocumentTypesOf(id); if (data) { diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/repository/sources/document.server.data.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/repository/sources/document.server.data.ts index a79dba84a4..6ee0c6c748 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/repository/sources/document.server.data.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/repository/sources/document.server.data.ts @@ -172,7 +172,6 @@ export class UmbDocumentServerDataSource /** * Get the allowed document types for root * @param {string} id - * @return {*} * @memberof UmbDocumentTypeServerDataSource */ async getAllowedDocumentTypesAtRoot() { @@ -183,7 +182,6 @@ export class UmbDocumentServerDataSource /** * Get the allowed document types for a given parent id * @param {string} id - * @return {*} * @memberof UmbDocumentTypeServerDataSource */ async getAllowedDocumentTypesOf(id: string) { From bd8729055d84a4d8a3df762f30d644c4e81e0fe8 Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Thu, 14 Sep 2023 10:35:13 +0200 Subject: [PATCH 04/11] generate new backend api schema files --- .../src/external/backend-api/src/index.ts | 18 +- ...ntValueModelDocumentVariantRequestModel.ts | 1 + ...MediaValueModelMediaVariantRequestModel.ts | 1 + ...ntTypePropertyTypeContainerRequestModel.ts | 2 + ...iaTypePropertyTypeContainerRequestModel.ts | 27 +++ ...iaTypePropertyTypeContainerRequestModel.ts | 9 + ...CreateMediaTypePropertyTypeRequestModel.ts | 9 + .../src/models/CreateMediaTypeRequestModel.ts | 9 + .../models/DeleteUserGroupsRequestModel.ts | 9 + .../src/models/DeleteUsersRequestModel.ts | 9 + .../src/models/ItemSortingRequestModel.ts | 10 ++ .../src/models/ProblemDetailsBuilderModel.ts | 6 + .../src/models/RelationResponseModel.ts | 4 +- .../src/models/ResetPasswordRequestModel.ts | 9 + .../models/ResetPasswordTokenRequestModel.ts | 11 ++ .../src/models/SortingRequestModel.ts | 12 ++ ...iaTypePropertyTypeContainerRequestModel.ts | 25 +++ ...eModel.ts => UpdateFolderResponseModel.ts} | 2 +- ...iaTypePropertyTypeContainerRequestModel.ts | 9 + ...UpdateMediaTypePropertyTypeRequestModel.ts | 9 + .../src/models/UpdateMediaTypeRequestModel.ts | 9 + .../VerifyResetPasswordTokenRequestModel.ts | 10 ++ .../src/services/DataTypeResource.ts | 10 +- .../src/services/DocumentResource.ts | 123 +++++++------ .../src/services/DocumentTypeResource.ts | 103 ++++++++++- .../backend-api/src/services/MediaResource.ts | 65 ++++--- .../src/services/MediaTypeResource.ts | 165 ++++++++++++++++++ .../src/services/RelationResource.ts | 24 +-- .../src/services/SecurityResource.ts | 65 +++++++ .../src/services/UserGroupResource.ts | 21 +++ .../backend-api/src/services/UserResource.ts | 21 +++ 31 files changed, 691 insertions(+), 116 deletions(-) create mode 100644 src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateContentTypeRequestModelBaseCreateMediaTypePropertyTypeRequestModelCreateMediaTypePropertyTypeContainerRequestModel.ts create mode 100644 src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateMediaTypePropertyTypeContainerRequestModel.ts create mode 100644 src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateMediaTypePropertyTypeRequestModel.ts create mode 100644 src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateMediaTypeRequestModel.ts create mode 100644 src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DeleteUserGroupsRequestModel.ts create mode 100644 src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DeleteUsersRequestModel.ts create mode 100644 src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ItemSortingRequestModel.ts create mode 100644 src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ProblemDetailsBuilderModel.ts create mode 100644 src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ResetPasswordRequestModel.ts create mode 100644 src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ResetPasswordTokenRequestModel.ts create mode 100644 src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/SortingRequestModel.ts create mode 100644 src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateContentTypeRequestModelBaseUpdateMediaTypePropertyTypeRequestModelUpdateMediaTypePropertyTypeContainerRequestModel.ts rename src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/{UpdateFolderReponseModel.ts => UpdateFolderResponseModel.ts} (76%) create mode 100644 src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateMediaTypePropertyTypeContainerRequestModel.ts create mode 100644 src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateMediaTypePropertyTypeRequestModel.ts create mode 100644 src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateMediaTypeRequestModel.ts create mode 100644 src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/VerifyResetPasswordTokenRequestModel.ts diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/index.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/index.ts index 76a6cddf7c..510731a073 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/index.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/index.ts @@ -28,6 +28,7 @@ export type { CopyDocumentRequestModel } from './models/CopyDocumentRequestModel export type { CreateContentRequestModelBaseDocumentValueModelDocumentVariantRequestModel } from './models/CreateContentRequestModelBaseDocumentValueModelDocumentVariantRequestModel'; export type { CreateContentRequestModelBaseMediaValueModelMediaVariantRequestModel } from './models/CreateContentRequestModelBaseMediaValueModelMediaVariantRequestModel'; export type { CreateContentTypeRequestModelBaseCreateDocumentTypePropertyTypeRequestModelCreateDocumentTypePropertyTypeContainerRequestModel } from './models/CreateContentTypeRequestModelBaseCreateDocumentTypePropertyTypeRequestModelCreateDocumentTypePropertyTypeContainerRequestModel'; +export type { CreateContentTypeRequestModelBaseCreateMediaTypePropertyTypeRequestModelCreateMediaTypePropertyTypeContainerRequestModel } from './models/CreateContentTypeRequestModelBaseCreateMediaTypePropertyTypeRequestModelCreateMediaTypePropertyTypeContainerRequestModel'; export type { CreateDataTypeRequestModel } from './models/CreateDataTypeRequestModel'; export type { CreateDictionaryItemRequestModel } from './models/CreateDictionaryItemRequestModel'; export type { CreateDocumentRequestModel } from './models/CreateDocumentRequestModel'; @@ -38,6 +39,9 @@ export type { CreateFolderRequestModel } from './models/CreateFolderRequestModel export type { CreateInitialPasswordUserRequestModel } from './models/CreateInitialPasswordUserRequestModel'; export type { CreateLanguageRequestModel } from './models/CreateLanguageRequestModel'; export type { CreateMediaRequestModel } from './models/CreateMediaRequestModel'; +export type { CreateMediaTypePropertyTypeContainerRequestModel } from './models/CreateMediaTypePropertyTypeContainerRequestModel'; +export type { CreateMediaTypePropertyTypeRequestModel } from './models/CreateMediaTypePropertyTypeRequestModel'; +export type { CreateMediaTypeRequestModel } from './models/CreateMediaTypeRequestModel'; export type { CreatePackageRequestModel } from './models/CreatePackageRequestModel'; export type { CreatePartialViewRequestModel } from './models/CreatePartialViewRequestModel'; export type { CreatePathFolderRequestModel } from './models/CreatePathFolderRequestModel'; @@ -60,6 +64,8 @@ export type { DataTypePropertyReferenceModel } from './models/DataTypePropertyRe export type { DataTypeReferenceResponseModel } from './models/DataTypeReferenceResponseModel'; export type { DataTypeResponseModel } from './models/DataTypeResponseModel'; export type { DataTypeTreeItemResponseModel } from './models/DataTypeTreeItemResponseModel'; +export type { DeleteUserGroupsRequestModel } from './models/DeleteUserGroupsRequestModel'; +export type { DeleteUsersRequestModel } from './models/DeleteUsersRequestModel'; export type { DictionaryItemItemResponseModel } from './models/DictionaryItemItemResponseModel'; export type { DictionaryItemModelBaseModel } from './models/DictionaryItemModelBaseModel'; export type { DictionaryItemResponseModel } from './models/DictionaryItemResponseModel'; @@ -113,6 +119,7 @@ export type { InterpolateRichTextStylesheetRequestModel } from './models/Interpo export type { InterpolateRichTextStylesheetResponseModel } from './models/InterpolateRichTextStylesheetResponseModel'; export type { InviteUserRequestModel } from './models/InviteUserRequestModel'; export type { ItemResponseModelBaseModel } from './models/ItemResponseModelBaseModel'; +export type { ItemSortingRequestModel } from './models/ItemSortingRequestModel'; export type { LanguageItemResponseModel } from './models/LanguageItemResponseModel'; export type { LanguageModelBaseModel } from './models/LanguageModelBaseModel'; export type { LanguageResponseModel } from './models/LanguageResponseModel'; @@ -197,6 +204,7 @@ export type { PartialViewUpdateModel } from './models/PartialViewUpdateModel'; export type { PathFolderModelBaseModel } from './models/PathFolderModelBaseModel'; export type { PathFolderResponseModel } from './models/PathFolderResponseModel'; export type { ProblemDetails } from './models/ProblemDetails'; +export type { ProblemDetailsBuilderModel } from './models/ProblemDetailsBuilderModel'; export type { ProfilingStatusRequestModel } from './models/ProfilingStatusRequestModel'; export type { ProfilingStatusResponseModel } from './models/ProfilingStatusResponseModel'; export type { PropertyTypeAppearanceModel } from './models/PropertyTypeAppearanceModel'; @@ -216,6 +224,8 @@ export type { RelationResponseModel } from './models/RelationResponseModel'; export type { RelationTypeBaseModel } from './models/RelationTypeBaseModel'; export type { RelationTypeItemResponseModel } from './models/RelationTypeItemResponseModel'; export type { RelationTypeResponseModel } from './models/RelationTypeResponseModel'; +export type { ResetPasswordRequestModel } from './models/ResetPasswordRequestModel'; +export type { ResetPasswordTokenRequestModel } from './models/ResetPasswordTokenRequestModel'; export type { RichTextRuleModel } from './models/RichTextRuleModel'; export type { RichTextStylesheetRulesResponseModel } from './models/RichTextStylesheetRulesResponseModel'; export { RuntimeLevelModel } from './models/RuntimeLevelModel'; @@ -232,6 +242,7 @@ export type { ServerStatusResponseModel } from './models/ServerStatusResponseMod export type { SetAvatarRequestModel } from './models/SetAvatarRequestModel'; export type { SetTourStatusRequestModel } from './models/SetTourStatusRequestModel'; export type { SnippetItemResponseModel } from './models/SnippetItemResponseModel'; +export type { SortingRequestModel } from './models/SortingRequestModel'; export type { StaticFileItemResponseModel } from './models/StaticFileItemResponseModel'; export { StatusResultTypeModel } from './models/StatusResultTypeModel'; export type { StylesheetItemResponseModel } from './models/StylesheetItemResponseModel'; @@ -266,6 +277,7 @@ export type { UnlockUsersRequestModel } from './models/UnlockUsersRequestModel'; export type { UpdateContentRequestModelBaseDocumentValueModelDocumentVariantRequestModel } from './models/UpdateContentRequestModelBaseDocumentValueModelDocumentVariantRequestModel'; export type { UpdateContentRequestModelBaseMediaValueModelMediaVariantRequestModel } from './models/UpdateContentRequestModelBaseMediaValueModelMediaVariantRequestModel'; export type { UpdateContentTypeRequestModelBaseUpdateDocumentTypePropertyTypeRequestModelUpdateDocumentTypePropertyTypeContainerRequestModel } from './models/UpdateContentTypeRequestModelBaseUpdateDocumentTypePropertyTypeRequestModelUpdateDocumentTypePropertyTypeContainerRequestModel'; +export type { UpdateContentTypeRequestModelBaseUpdateMediaTypePropertyTypeRequestModelUpdateMediaTypePropertyTypeContainerRequestModel } from './models/UpdateContentTypeRequestModelBaseUpdateMediaTypePropertyTypeRequestModelUpdateMediaTypePropertyTypeContainerRequestModel'; export type { UpdateDataTypeRequestModel } from './models/UpdateDataTypeRequestModel'; export type { UpdateDictionaryItemRequestModel } from './models/UpdateDictionaryItemRequestModel'; export type { UpdateDocumentNotificationsRequestModel } from './models/UpdateDocumentNotificationsRequestModel'; @@ -274,9 +286,12 @@ export type { UpdateDocumentTypePropertyTypeContainerRequestModel } from './mode export type { UpdateDocumentTypePropertyTypeRequestModel } from './models/UpdateDocumentTypePropertyTypeRequestModel'; export type { UpdateDocumentTypeRequestModel } from './models/UpdateDocumentTypeRequestModel'; export type { UpdateDomainsRequestModel } from './models/UpdateDomainsRequestModel'; -export type { UpdateFolderReponseModel } from './models/UpdateFolderReponseModel'; +export type { UpdateFolderResponseModel } from './models/UpdateFolderResponseModel'; export type { UpdateLanguageRequestModel } from './models/UpdateLanguageRequestModel'; export type { UpdateMediaRequestModel } from './models/UpdateMediaRequestModel'; +export type { UpdateMediaTypePropertyTypeContainerRequestModel } from './models/UpdateMediaTypePropertyTypeContainerRequestModel'; +export type { UpdateMediaTypePropertyTypeRequestModel } from './models/UpdateMediaTypePropertyTypeRequestModel'; +export type { UpdateMediaTypeRequestModel } from './models/UpdateMediaTypeRequestModel'; export type { UpdatePackageRequestModel } from './models/UpdatePackageRequestModel'; export type { UpdatePartialViewRequestModel } from './models/UpdatePartialViewRequestModel'; export type { UpdateRelationTypeRequestModel } from './models/UpdateRelationTypeRequestModel'; @@ -308,6 +323,7 @@ export type { VariantModelBaseModel } from './models/VariantModelBaseModel'; export type { VariantResponseModelBaseModel } from './models/VariantResponseModelBaseModel'; export type { VariantTreeItemModel } from './models/VariantTreeItemModel'; export type { VerifyInviteUserRequestModel } from './models/VerifyInviteUserRequestModel'; +export type { VerifyResetPasswordTokenRequestModel } from './models/VerifyResetPasswordTokenRequestModel'; export type { VersionResponseModel } from './models/VersionResponseModel'; export { AuditLogResource } from './services/AuditLogResource'; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateContentRequestModelBaseDocumentValueModelDocumentVariantRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateContentRequestModelBaseDocumentValueModelDocumentVariantRequestModel.ts index 90739657ea..6591afb200 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateContentRequestModelBaseDocumentValueModelDocumentVariantRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateContentRequestModelBaseDocumentValueModelDocumentVariantRequestModel.ts @@ -9,6 +9,7 @@ import type { DocumentVariantRequestModel } from './DocumentVariantRequestModel' export type CreateContentRequestModelBaseDocumentValueModelDocumentVariantRequestModel = { values?: Array; variants?: Array; + id?: string | null; parentId?: string | null; }; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateContentRequestModelBaseMediaValueModelMediaVariantRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateContentRequestModelBaseMediaValueModelMediaVariantRequestModel.ts index fcdfad22ed..dec81140ab 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateContentRequestModelBaseMediaValueModelMediaVariantRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateContentRequestModelBaseMediaValueModelMediaVariantRequestModel.ts @@ -9,6 +9,7 @@ import type { MediaVariantRequestModel } from './MediaVariantRequestModel'; export type CreateContentRequestModelBaseMediaValueModelMediaVariantRequestModel = { values?: Array; variants?: Array; + id?: string | null; parentId?: string | null; }; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateContentTypeRequestModelBaseCreateDocumentTypePropertyTypeRequestModelCreateDocumentTypePropertyTypeContainerRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateContentTypeRequestModelBaseCreateDocumentTypePropertyTypeRequestModelCreateDocumentTypePropertyTypeContainerRequestModel.ts index 774b734e29..b9565427c2 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateContentTypeRequestModelBaseCreateDocumentTypePropertyTypeRequestModelCreateDocumentTypePropertyTypeContainerRequestModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateContentTypeRequestModelBaseCreateDocumentTypePropertyTypeRequestModelCreateDocumentTypePropertyTypeContainerRequestModel.ts @@ -21,5 +21,7 @@ export type CreateContentTypeRequestModelBaseCreateDocumentTypePropertyTypeReque containers?: Array; allowedContentTypes?: Array; compositions?: Array; + id?: string | null; + containerId?: string | null; }; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateContentTypeRequestModelBaseCreateMediaTypePropertyTypeRequestModelCreateMediaTypePropertyTypeContainerRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateContentTypeRequestModelBaseCreateMediaTypePropertyTypeRequestModelCreateMediaTypePropertyTypeContainerRequestModel.ts new file mode 100644 index 0000000000..6f0432710c --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateContentTypeRequestModelBaseCreateMediaTypePropertyTypeRequestModelCreateMediaTypePropertyTypeContainerRequestModel.ts @@ -0,0 +1,27 @@ +/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ + +import type { ContentTypeCompositionModel } from './ContentTypeCompositionModel'; +import type { ContentTypeSortModel } from './ContentTypeSortModel'; +import type { CreateMediaTypePropertyTypeContainerRequestModel } from './CreateMediaTypePropertyTypeContainerRequestModel'; +import type { CreateMediaTypePropertyTypeRequestModel } from './CreateMediaTypePropertyTypeRequestModel'; + +export type CreateContentTypeRequestModelBaseCreateMediaTypePropertyTypeRequestModelCreateMediaTypePropertyTypeContainerRequestModel = { + alias?: string; + name?: string; + description?: string | null; + icon?: string; + allowedAsRoot?: boolean; + variesByCulture?: boolean; + variesBySegment?: boolean; + isElement?: boolean; + properties?: Array; + containers?: Array; + allowedContentTypes?: Array; + compositions?: Array; + id?: string | null; + containerId?: string | null; +}; + diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateMediaTypePropertyTypeContainerRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateMediaTypePropertyTypeContainerRequestModel.ts new file mode 100644 index 0000000000..8fea33fee6 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateMediaTypePropertyTypeContainerRequestModel.ts @@ -0,0 +1,9 @@ +/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ + +import type { PropertyTypeContainerModelBaseModel } from './PropertyTypeContainerModelBaseModel'; + +export type CreateMediaTypePropertyTypeContainerRequestModel = PropertyTypeContainerModelBaseModel; + diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateMediaTypePropertyTypeRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateMediaTypePropertyTypeRequestModel.ts new file mode 100644 index 0000000000..344b1852fb --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateMediaTypePropertyTypeRequestModel.ts @@ -0,0 +1,9 @@ +/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ + +import type { PropertyTypeModelBaseModel } from './PropertyTypeModelBaseModel'; + +export type CreateMediaTypePropertyTypeRequestModel = PropertyTypeModelBaseModel; + diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateMediaTypeRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateMediaTypeRequestModel.ts new file mode 100644 index 0000000000..d4d9646eea --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/CreateMediaTypeRequestModel.ts @@ -0,0 +1,9 @@ +/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ + +import type { CreateContentTypeRequestModelBaseCreateMediaTypePropertyTypeRequestModelCreateMediaTypePropertyTypeContainerRequestModel } from './CreateContentTypeRequestModelBaseCreateMediaTypePropertyTypeRequestModelCreateMediaTypePropertyTypeContainerRequestModel'; + +export type CreateMediaTypeRequestModel = CreateContentTypeRequestModelBaseCreateMediaTypePropertyTypeRequestModelCreateMediaTypePropertyTypeContainerRequestModel; + diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DeleteUserGroupsRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DeleteUserGroupsRequestModel.ts new file mode 100644 index 0000000000..974272a295 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DeleteUserGroupsRequestModel.ts @@ -0,0 +1,9 @@ +/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ + +export type DeleteUserGroupsRequestModel = { + userGroupIds?: Array; +}; + diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DeleteUsersRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DeleteUsersRequestModel.ts new file mode 100644 index 0000000000..2753ab9ed7 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/DeleteUsersRequestModel.ts @@ -0,0 +1,9 @@ +/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ + +export type DeleteUsersRequestModel = { + userIds?: Array; +}; + diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ItemSortingRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ItemSortingRequestModel.ts new file mode 100644 index 0000000000..c9e14c3b02 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ItemSortingRequestModel.ts @@ -0,0 +1,10 @@ +/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ + +export type ItemSortingRequestModel = { + id?: string; + sortOrder?: number; +}; + diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ProblemDetailsBuilderModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ProblemDetailsBuilderModel.ts new file mode 100644 index 0000000000..55d0ffc1e1 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ProblemDetailsBuilderModel.ts @@ -0,0 +1,6 @@ +/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ + +export type ProblemDetailsBuilderModel = Record; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/RelationResponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/RelationResponseModel.ts index 6636579d42..5d06c6d4bb 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/RelationResponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/RelationResponseModel.ts @@ -4,9 +4,9 @@ /* eslint-disable */ export type RelationResponseModel = { - parentId?: number; + parentId?: string; parentName?: string | null; - childId?: number; + childId?: string; childName?: string | null; createDate?: string; comment?: string | null; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ResetPasswordRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ResetPasswordRequestModel.ts new file mode 100644 index 0000000000..8c31c2165f --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ResetPasswordRequestModel.ts @@ -0,0 +1,9 @@ +/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ + +export type ResetPasswordRequestModel = { + email?: string; +}; + diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ResetPasswordTokenRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ResetPasswordTokenRequestModel.ts new file mode 100644 index 0000000000..64e4b7d0aa --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/ResetPasswordTokenRequestModel.ts @@ -0,0 +1,11 @@ +/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ + +import type { VerifyResetPasswordTokenRequestModel } from './VerifyResetPasswordTokenRequestModel'; + +export type ResetPasswordTokenRequestModel = (VerifyResetPasswordTokenRequestModel & { + password?: string; +}); + diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/SortingRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/SortingRequestModel.ts new file mode 100644 index 0000000000..33b894259b --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/SortingRequestModel.ts @@ -0,0 +1,12 @@ +/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ + +import type { ItemSortingRequestModel } from './ItemSortingRequestModel'; + +export type SortingRequestModel = { + parentId?: string | null; + sorting?: Array; +}; + diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateContentTypeRequestModelBaseUpdateMediaTypePropertyTypeRequestModelUpdateMediaTypePropertyTypeContainerRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateContentTypeRequestModelBaseUpdateMediaTypePropertyTypeRequestModelUpdateMediaTypePropertyTypeContainerRequestModel.ts new file mode 100644 index 0000000000..242af0f64f --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateContentTypeRequestModelBaseUpdateMediaTypePropertyTypeRequestModelUpdateMediaTypePropertyTypeContainerRequestModel.ts @@ -0,0 +1,25 @@ +/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ + +import type { ContentTypeCompositionModel } from './ContentTypeCompositionModel'; +import type { ContentTypeSortModel } from './ContentTypeSortModel'; +import type { UpdateMediaTypePropertyTypeContainerRequestModel } from './UpdateMediaTypePropertyTypeContainerRequestModel'; +import type { UpdateMediaTypePropertyTypeRequestModel } from './UpdateMediaTypePropertyTypeRequestModel'; + +export type UpdateContentTypeRequestModelBaseUpdateMediaTypePropertyTypeRequestModelUpdateMediaTypePropertyTypeContainerRequestModel = { + alias?: string; + name?: string; + description?: string | null; + icon?: string; + allowedAsRoot?: boolean; + variesByCulture?: boolean; + variesBySegment?: boolean; + isElement?: boolean; + properties?: Array; + containers?: Array; + allowedContentTypes?: Array; + compositions?: Array; +}; + diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateFolderReponseModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateFolderResponseModel.ts similarity index 76% rename from src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateFolderReponseModel.ts rename to src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateFolderResponseModel.ts index 3b58315409..d5efa20832 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateFolderReponseModel.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateFolderResponseModel.ts @@ -5,5 +5,5 @@ import type { FolderModelBaseModel } from './FolderModelBaseModel'; -export type UpdateFolderReponseModel = FolderModelBaseModel; +export type UpdateFolderResponseModel = FolderModelBaseModel; diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateMediaTypePropertyTypeContainerRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateMediaTypePropertyTypeContainerRequestModel.ts new file mode 100644 index 0000000000..784c0540ad --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateMediaTypePropertyTypeContainerRequestModel.ts @@ -0,0 +1,9 @@ +/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ + +import type { PropertyTypeContainerModelBaseModel } from './PropertyTypeContainerModelBaseModel'; + +export type UpdateMediaTypePropertyTypeContainerRequestModel = PropertyTypeContainerModelBaseModel; + diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateMediaTypePropertyTypeRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateMediaTypePropertyTypeRequestModel.ts new file mode 100644 index 0000000000..01c5dca483 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateMediaTypePropertyTypeRequestModel.ts @@ -0,0 +1,9 @@ +/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ + +import type { PropertyTypeModelBaseModel } from './PropertyTypeModelBaseModel'; + +export type UpdateMediaTypePropertyTypeRequestModel = PropertyTypeModelBaseModel; + diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateMediaTypeRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateMediaTypeRequestModel.ts new file mode 100644 index 0000000000..bdb575bcbe --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/UpdateMediaTypeRequestModel.ts @@ -0,0 +1,9 @@ +/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ + +import type { UpdateContentTypeRequestModelBaseUpdateMediaTypePropertyTypeRequestModelUpdateMediaTypePropertyTypeContainerRequestModel } from './UpdateContentTypeRequestModelBaseUpdateMediaTypePropertyTypeRequestModelUpdateMediaTypePropertyTypeContainerRequestModel'; + +export type UpdateMediaTypeRequestModel = UpdateContentTypeRequestModelBaseUpdateMediaTypePropertyTypeRequestModelUpdateMediaTypePropertyTypeContainerRequestModel; + diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/VerifyResetPasswordTokenRequestModel.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/VerifyResetPasswordTokenRequestModel.ts new file mode 100644 index 0000000000..cbc4864e27 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/models/VerifyResetPasswordTokenRequestModel.ts @@ -0,0 +1,10 @@ +/* generated using openapi-typescript-codegen -- do no edit */ +/* istanbul ignore file */ +/* tslint:disable */ +/* eslint-disable */ + +export type VerifyResetPasswordTokenRequestModel = { + userId?: string; + resetCode?: string; +}; + diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/DataTypeResource.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/DataTypeResource.ts index 2197c38bff..16a2f5e336 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/DataTypeResource.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/DataTypeResource.ts @@ -12,7 +12,7 @@ import type { FolderResponseModel } from '../models/FolderResponseModel'; import type { MoveDataTypeRequestModel } from '../models/MoveDataTypeRequestModel'; import type { PagedDataTypeTreeItemResponseModel } from '../models/PagedDataTypeTreeItemResponseModel'; import type { UpdateDataTypeRequestModel } from '../models/UpdateDataTypeRequestModel'; -import type { UpdateFolderReponseModel } from '../models/UpdateFolderReponseModel'; +import type { UpdateFolderResponseModel } from '../models/UpdateFolderResponseModel'; import type { CancelablePromise } from '../core/CancelablePromise'; import { OpenAPI } from '../core/OpenAPI'; @@ -219,6 +219,10 @@ export class DataTypeResource { body: requestBody, mediaType: 'application/json', responseHeader: 'Location', + errors: { + 400: `Bad Request`, + 404: `Not Found`, + }, }); } @@ -259,6 +263,7 @@ export class DataTypeResource { 'id': id, }, errors: { + 400: `Bad Request`, 404: `Not Found`, }, }); @@ -273,7 +278,7 @@ export class DataTypeResource { requestBody, }: { id: string, - requestBody?: UpdateFolderReponseModel, + requestBody?: UpdateFolderResponseModel, }): CancelablePromise { return __request(OpenAPI, { method: 'PUT', @@ -284,6 +289,7 @@ export class DataTypeResource { body: requestBody, mediaType: 'application/json', errors: { + 400: `Bad Request`, 404: `Not Found`, }, }); diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/DocumentResource.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/DocumentResource.ts index 635a7e333a..a5eb2ae5a3 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/DocumentResource.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/DocumentResource.ts @@ -13,6 +13,7 @@ import type { PagedDocumentTreeItemResponseModel } from '../models/PagedDocument import type { PagedDocumentTypeResponseModel } from '../models/PagedDocumentTypeResponseModel'; import type { PagedRecycleBinItemResponseModel } from '../models/PagedRecycleBinItemResponseModel'; import type { PublicAccessRequestModel } from '../models/PublicAccessRequestModel'; +import type { SortingRequestModel } from '../models/SortingRequestModel'; import type { UpdateDocumentNotificationsRequestModel } from '../models/UpdateDocumentNotificationsRequestModel'; import type { UpdateDocumentRequestModel } from '../models/UpdateDocumentRequestModel'; import type { UpdateDomainsRequestModel } from '../models/UpdateDomainsRequestModel'; @@ -65,27 +66,6 @@ export class DocumentResource { }); } - /** - * @returns any Success - * @throws ApiError - */ - public static deleteDocumentById({ - id, - }: { - id: string, - }): CancelablePromise { - return __request(OpenAPI, { - method: 'DELETE', - url: '/umbraco/management/api/v1/document/{id}', - path: { - 'id': id, - }, - errors: { - 404: `Not Found`, - }, - }); - } - /** * @returns any Success * @throws ApiError @@ -111,35 +91,6 @@ export class DocumentResource { }); } - /** - * @returns PagedDocumentTypeResponseModel Success - * @throws ApiError - */ - public static getDocumentByIdAllowedDocumentTypes({ - id, - skip, - take = 100, - }: { - id: string, - skip?: number, - take?: number, - }): CancelablePromise { - return __request(OpenAPI, { - method: 'GET', - url: '/umbraco/management/api/v1/document/{id}/allowed-document-types', - path: { - 'id': id, - }, - query: { - 'skip': skip, - 'take': take, - }, - errors: { - 404: `Not Found`, - }, - }); - } - /** * @returns string Created * @throws ApiError @@ -234,6 +185,28 @@ export class DocumentResource { }); } + /** + * @returns any Success + * @throws ApiError + */ + public static putDocumentByIdMoveToRecycleBin({ + id, + }: { + id: string, + }): CancelablePromise { + return __request(OpenAPI, { + method: 'PUT', + url: '/umbraco/management/api/v1/document/{id}/move-to-recycle-bin', + path: { + 'id': id, + }, + errors: { + 400: `Bad Request`, + 404: `Not Found`, + }, + }); + } + /** * @returns any Success * @throws ApiError @@ -373,6 +346,33 @@ export class DocumentResource { }); } + /** + * @returns PagedDocumentTypeResponseModel Success + * @throws ApiError + */ + public static getDocumentAllowedDocumentTypes({ + parentId, + skip, + take = 100, + }: { + parentId?: string, + skip?: number, + take?: number, + }): CancelablePromise { + return __request(OpenAPI, { + method: 'GET', + url: '/umbraco/management/api/v1/document/allowed-document-types', + query: { + 'parentId': parentId, + 'skip': skip, + 'take': take, + }, + errors: { + 404: `Not Found`, + }, + }); + } + /** * @returns any Success * @throws ApiError @@ -398,24 +398,21 @@ export class DocumentResource { } /** - * @returns PagedDocumentTypeResponseModel Success + * @returns any Success * @throws ApiError */ - public static getDocumentRootAllowedDocumentTypes({ - skip, - take = 100, + public static putDocumentSort({ + requestBody, }: { - skip?: number, - take?: number, - }): CancelablePromise { + requestBody?: SortingRequestModel, + }): CancelablePromise { return __request(OpenAPI, { - method: 'GET', - url: '/umbraco/management/api/v1/document/root/allowed-document-types', - query: { - 'skip': skip, - 'take': take, - }, + method: 'PUT', + url: '/umbraco/management/api/v1/document/sort', + body: requestBody, + mediaType: 'application/json', errors: { + 400: `Bad Request`, 404: `Not Found`, }, }); diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/DocumentTypeResource.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/DocumentTypeResource.ts index d12bc3b74f..e935c6b91c 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/DocumentTypeResource.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/DocumentTypeResource.ts @@ -3,10 +3,13 @@ /* tslint:disable */ /* eslint-disable */ import type { CreateDocumentTypeRequestModel } from '../models/CreateDocumentTypeRequestModel'; +import type { CreateFolderRequestModel } from '../models/CreateFolderRequestModel'; import type { DocumentTypeItemResponseModel } from '../models/DocumentTypeItemResponseModel'; import type { DocumentTypeResponseModel } from '../models/DocumentTypeResponseModel'; +import type { FolderResponseModel } from '../models/FolderResponseModel'; import type { PagedDocumentTypeTreeItemResponseModel } from '../models/PagedDocumentTypeTreeItemResponseModel'; import type { UpdateDocumentTypeRequestModel } from '../models/UpdateDocumentTypeRequestModel'; +import type { UpdateFolderResponseModel } from '../models/UpdateFolderResponseModel'; import type { CancelablePromise } from '../core/CancelablePromise'; import { OpenAPI } from '../core/OpenAPI'; @@ -15,20 +18,22 @@ import { request as __request } from '../core/request'; export class DocumentTypeResource { /** - * @returns any Success + * @returns string Created * @throws ApiError */ public static postDocumentType({ requestBody, }: { requestBody?: CreateDocumentTypeRequestModel, - }): CancelablePromise { + }): CancelablePromise { return __request(OpenAPI, { method: 'POST', url: '/umbraco/management/api/v1/document-type', body: requestBody, mediaType: 'application/json', + responseHeader: 'Location', errors: { + 400: `Bad Request`, 404: `Not Found`, }, }); @@ -63,7 +68,7 @@ export class DocumentTypeResource { id, }: { id: string, - }): CancelablePromise { + }): CancelablePromise { return __request(OpenAPI, { method: 'DELETE', url: '/umbraco/management/api/v1/document-type/{id}', @@ -96,6 +101,98 @@ export class DocumentTypeResource { body: requestBody, mediaType: 'application/json', errors: { + 400: `Bad Request`, + 404: `Not Found`, + }, + }); + } + + /** + * @returns string Created + * @throws ApiError + */ + public static postDocumentTypeFolder({ + requestBody, + }: { + requestBody?: CreateFolderRequestModel, + }): CancelablePromise { + return __request(OpenAPI, { + method: 'POST', + url: '/umbraco/management/api/v1/document-type/folder', + body: requestBody, + mediaType: 'application/json', + responseHeader: 'Location', + errors: { + 400: `Bad Request`, + 404: `Not Found`, + }, + }); + } + + /** + * @returns any Success + * @throws ApiError + */ + public static getDocumentTypeFolderById({ + id, + }: { + id: string, + }): CancelablePromise { + return __request(OpenAPI, { + method: 'GET', + url: '/umbraco/management/api/v1/document-type/folder/{id}', + path: { + 'id': id, + }, + errors: { + 404: `Not Found`, + }, + }); + } + + /** + * @returns any Success + * @throws ApiError + */ + public static deleteDocumentTypeFolderById({ + id, + }: { + id: string, + }): CancelablePromise { + return __request(OpenAPI, { + method: 'DELETE', + url: '/umbraco/management/api/v1/document-type/folder/{id}', + path: { + 'id': id, + }, + errors: { + 400: `Bad Request`, + 404: `Not Found`, + }, + }); + } + + /** + * @returns any Success + * @throws ApiError + */ + public static putDocumentTypeFolderById({ + id, + requestBody, + }: { + id: string, + requestBody?: UpdateFolderResponseModel, + }): CancelablePromise { + return __request(OpenAPI, { + method: 'PUT', + url: '/umbraco/management/api/v1/document-type/folder/{id}', + path: { + 'id': id, + }, + body: requestBody, + mediaType: 'application/json', + errors: { + 400: `Bad Request`, 404: `Not Found`, }, }); diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/MediaResource.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/MediaResource.ts index bee593f3d7..2b30150feb 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/MediaResource.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/MediaResource.ts @@ -9,6 +9,7 @@ import type { MediaTreeItemResponseModel } from '../models/MediaTreeItemResponse import type { MoveMediaRequestModel } from '../models/MoveMediaRequestModel'; import type { PagedMediaTreeItemResponseModel } from '../models/PagedMediaTreeItemResponseModel'; import type { PagedRecycleBinItemResponseModel } from '../models/PagedRecycleBinItemResponseModel'; +import type { SortingRequestModel } from '../models/SortingRequestModel'; import type { UpdateMediaRequestModel } from '../models/UpdateMediaRequestModel'; import type { CancelablePromise } from '../core/CancelablePromise'; @@ -59,27 +60,6 @@ export class MediaResource { }); } - /** - * @returns any Success - * @throws ApiError - */ - public static deleteMediaById({ - id, - }: { - id: string, - }): CancelablePromise { - return __request(OpenAPI, { - method: 'DELETE', - url: '/umbraco/management/api/v1/media/{id}', - path: { - 'id': id, - }, - errors: { - 404: `Not Found`, - }, - }); - } - /** * @returns any Success * @throws ApiError @@ -130,6 +110,28 @@ export class MediaResource { }); } + /** + * @returns any Success + * @throws ApiError + */ + public static putMediaByIdMoveToRecycleBin({ + id, + }: { + id: string, + }): CancelablePromise { + return __request(OpenAPI, { + method: 'PUT', + url: '/umbraco/management/api/v1/media/{id}/move-to-recycle-bin', + path: { + 'id': id, + }, + errors: { + 400: `Bad Request`, + 404: `Not Found`, + }, + }); + } + /** * @returns any Success * @throws ApiError @@ -151,6 +153,27 @@ export class MediaResource { }); } + /** + * @returns any Success + * @throws ApiError + */ + public static putMediaSort({ + requestBody, + }: { + requestBody?: SortingRequestModel, + }): CancelablePromise { + return __request(OpenAPI, { + method: 'PUT', + url: '/umbraco/management/api/v1/media/sort', + body: requestBody, + mediaType: 'application/json', + errors: { + 400: `Bad Request`, + 404: `Not Found`, + }, + }); + } + /** * @returns PagedRecycleBinItemResponseModel Success * @throws ApiError diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/MediaTypeResource.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/MediaTypeResource.ts index a7634c2906..380743ea07 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/MediaTypeResource.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/MediaTypeResource.ts @@ -2,9 +2,14 @@ /* istanbul ignore file */ /* tslint:disable */ /* eslint-disable */ +import type { CreateFolderRequestModel } from '../models/CreateFolderRequestModel'; +import type { CreateMediaTypeRequestModel } from '../models/CreateMediaTypeRequestModel'; +import type { FolderResponseModel } from '../models/FolderResponseModel'; import type { MediaTypeItemResponseModel } from '../models/MediaTypeItemResponseModel'; import type { MediaTypeResponseModel } from '../models/MediaTypeResponseModel'; import type { PagedMediaTypeTreeItemResponseModel } from '../models/PagedMediaTypeTreeItemResponseModel'; +import type { UpdateFolderResponseModel } from '../models/UpdateFolderResponseModel'; +import type { UpdateMediaTypeRequestModel } from '../models/UpdateMediaTypeRequestModel'; import type { CancelablePromise } from '../core/CancelablePromise'; import { OpenAPI } from '../core/OpenAPI'; @@ -12,6 +17,28 @@ import { request as __request } from '../core/request'; export class MediaTypeResource { + /** + * @returns string Created + * @throws ApiError + */ + public static postMediaType({ + requestBody, + }: { + requestBody?: CreateMediaTypeRequestModel, + }): CancelablePromise { + return __request(OpenAPI, { + method: 'POST', + url: '/umbraco/management/api/v1/media-type', + body: requestBody, + mediaType: 'application/json', + responseHeader: 'Location', + errors: { + 400: `Bad Request`, + 404: `Not Found`, + }, + }); + } + /** * @returns any Success * @throws ApiError @@ -33,6 +60,144 @@ export class MediaTypeResource { }); } + /** + * @returns any Success + * @throws ApiError + */ + public static deleteMediaTypeById({ + id, + }: { + id: string, + }): CancelablePromise { + return __request(OpenAPI, { + method: 'DELETE', + url: '/umbraco/management/api/v1/media-type/{id}', + path: { + 'id': id, + }, + errors: { + 404: `Not Found`, + }, + }); + } + + /** + * @returns any Success + * @throws ApiError + */ + public static putMediaTypeById({ + id, + requestBody, + }: { + id: string, + requestBody?: UpdateMediaTypeRequestModel, + }): CancelablePromise { + return __request(OpenAPI, { + method: 'PUT', + url: '/umbraco/management/api/v1/media-type/{id}', + path: { + 'id': id, + }, + body: requestBody, + mediaType: 'application/json', + errors: { + 400: `Bad Request`, + 404: `Not Found`, + }, + }); + } + + /** + * @returns string Created + * @throws ApiError + */ + public static postMediaTypeFolder({ + requestBody, + }: { + requestBody?: CreateFolderRequestModel, + }): CancelablePromise { + return __request(OpenAPI, { + method: 'POST', + url: '/umbraco/management/api/v1/media-type/folder', + body: requestBody, + mediaType: 'application/json', + responseHeader: 'Location', + errors: { + 400: `Bad Request`, + 404: `Not Found`, + }, + }); + } + + /** + * @returns any Success + * @throws ApiError + */ + public static getMediaTypeFolderById({ + id, + }: { + id: string, + }): CancelablePromise { + return __request(OpenAPI, { + method: 'GET', + url: '/umbraco/management/api/v1/media-type/folder/{id}', + path: { + 'id': id, + }, + errors: { + 404: `Not Found`, + }, + }); + } + + /** + * @returns any Success + * @throws ApiError + */ + public static deleteMediaTypeFolderById({ + id, + }: { + id: string, + }): CancelablePromise { + return __request(OpenAPI, { + method: 'DELETE', + url: '/umbraco/management/api/v1/media-type/folder/{id}', + path: { + 'id': id, + }, + errors: { + 400: `Bad Request`, + 404: `Not Found`, + }, + }); + } + + /** + * @returns any Success + * @throws ApiError + */ + public static putMediaTypeFolderById({ + id, + requestBody, + }: { + id: string, + requestBody?: UpdateFolderResponseModel, + }): CancelablePromise { + return __request(OpenAPI, { + method: 'PUT', + url: '/umbraco/management/api/v1/media-type/folder/{id}', + path: { + 'id': id, + }, + body: requestBody, + mediaType: 'application/json', + errors: { + 400: `Bad Request`, + 404: `Not Found`, + }, + }); + } + /** * @returns any Success * @throws ApiError diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/RelationResource.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/RelationResource.ts index a1ba8086b0..f1faa56e25 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/RelationResource.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/RelationResource.ts @@ -3,7 +3,6 @@ /* tslint:disable */ /* eslint-disable */ import type { PagedRelationResponseModel } from '../models/PagedRelationResponseModel'; -import type { RelationResponseModel } from '../models/RelationResponseModel'; import type { CancelablePromise } from '../core/CancelablePromise'; import { OpenAPI } from '../core/OpenAPI'; @@ -11,27 +10,6 @@ import { request as __request } from '../core/request'; export class RelationResource { - /** - * @returns any Success - * @throws ApiError - */ - public static getRelationById({ - id, - }: { - id: number, - }): CancelablePromise { - return __request(OpenAPI, { - method: 'GET', - url: '/umbraco/management/api/v1/relation/{id}', - path: { - 'id': id, - }, - errors: { - 404: `Not Found`, - }, - }); - } - /** * @returns PagedRelationResponseModel Success * @throws ApiError @@ -42,7 +20,7 @@ export class RelationResource { take = 100, relationTypeAlias = '', }: { - childId: number, + childId: string, skip?: number, take?: number, relationTypeAlias?: string, diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/SecurityResource.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/SecurityResource.ts index 0a8d800f08..e4a240217e 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/SecurityResource.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/SecurityResource.ts @@ -3,6 +3,9 @@ /* tslint:disable */ /* eslint-disable */ import type { LoginRequestModel } from '../models/LoginRequestModel'; +import type { ResetPasswordRequestModel } from '../models/ResetPasswordRequestModel'; +import type { ResetPasswordTokenRequestModel } from '../models/ResetPasswordTokenRequestModel'; +import type { VerifyResetPasswordTokenRequestModel } from '../models/VerifyResetPasswordTokenRequestModel'; import type { CancelablePromise } from '../core/CancelablePromise'; import { OpenAPI } from '../core/OpenAPI'; @@ -38,4 +41,66 @@ export class SecurityResource { }); } + /** + * @returns any Success + * @throws ApiError + */ + public static postSecurityForgotPassword({ + requestBody, + }: { + requestBody?: ResetPasswordRequestModel, + }): CancelablePromise { + return __request(OpenAPI, { + method: 'POST', + url: '/umbraco/management/api/v1/security/forgot-password', + body: requestBody, + mediaType: 'application/json', + errors: { + 400: `Bad Request`, + }, + }); + } + + /** + * @returns void + * @throws ApiError + */ + public static postSecurityForgotPasswordReset({ + requestBody, + }: { + requestBody?: ResetPasswordTokenRequestModel, + }): CancelablePromise { + return __request(OpenAPI, { + method: 'POST', + url: '/umbraco/management/api/v1/security/forgot-password/reset', + body: requestBody, + mediaType: 'application/json', + errors: { + 400: `Bad Request`, + 404: `Not Found`, + }, + }); + } + + /** + * @returns void + * @throws ApiError + */ + public static postSecurityForgotPasswordVerify({ + requestBody, + }: { + requestBody?: (VerifyResetPasswordTokenRequestModel | ResetPasswordTokenRequestModel), + }): CancelablePromise { + return __request(OpenAPI, { + method: 'POST', + url: '/umbraco/management/api/v1/security/forgot-password/verify', + body: requestBody, + mediaType: 'application/json', + errors: { + 400: `Bad Request`, + 404: `Not Found`, + }, + }); + } + } diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/UserGroupResource.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/UserGroupResource.ts index 319cbec483..098b40b497 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/UserGroupResource.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/UserGroupResource.ts @@ -3,6 +3,7 @@ /* tslint:disable */ /* eslint-disable */ import type { CreateUserGroupRequestModel } from '../models/CreateUserGroupRequestModel'; +import type { DeleteUserGroupsRequestModel } from '../models/DeleteUserGroupsRequestModel'; import type { PagedUserGroupResponseModel } from '../models/PagedUserGroupResponseModel'; import type { UpdateUserGroupRequestModel } from '../models/UpdateUserGroupRequestModel'; import type { UserGroupItemResponseModel } from '../models/UserGroupItemResponseModel'; @@ -14,6 +15,26 @@ import { request as __request } from '../core/request'; export class UserGroupResource { + /** + * @returns any Success + * @throws ApiError + */ + public static deleteUserGroup({ + requestBody, + }: { + requestBody?: DeleteUserGroupsRequestModel, + }): CancelablePromise { + return __request(OpenAPI, { + method: 'DELETE', + url: '/umbraco/management/api/v1/user-group', + body: requestBody, + mediaType: 'application/json', + errors: { + 404: `Not Found`, + }, + }); + } + /** * @returns string Created * @throws ApiError diff --git a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/UserResource.ts b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/UserResource.ts index f53761acc8..66d93084ac 100644 --- a/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/UserResource.ts +++ b/src/Umbraco.Web.UI.Client/src/external/backend-api/src/services/UserResource.ts @@ -7,6 +7,7 @@ import type { CreateInitialPasswordUserRequestModel } from '../models/CreateInit import type { CreateUserRequestModel } from '../models/CreateUserRequestModel'; import type { CreateUserResponseModel } from '../models/CreateUserResponseModel'; import type { CurrentUserResponseModel } from '../models/CurrentUserResponseModel'; +import type { DeleteUsersRequestModel } from '../models/DeleteUsersRequestModel'; import type { DirectionModel } from '../models/DirectionModel'; import type { DisableUserRequestModel } from '../models/DisableUserRequestModel'; import type { EnableUserRequestModel } from '../models/EnableUserRequestModel'; @@ -51,6 +52,26 @@ export class UserResource { }); } + /** + * @returns any Success + * @throws ApiError + */ + public static deleteUser({ + requestBody, + }: { + requestBody?: DeleteUsersRequestModel, + }): CancelablePromise { + return __request(OpenAPI, { + method: 'DELETE', + url: '/umbraco/management/api/v1/user', + body: requestBody, + mediaType: 'application/json', + errors: { + 400: `Bad Request`, + }, + }); + } + /** * @returns PagedUserResponseModel Success * @throws ApiError From 8dd8a3e16fce29bffcca5231b6a04973c5294a22 Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Thu, 14 Sep 2023 10:50:51 +0200 Subject: [PATCH 05/11] update to fit new schema --- .../allowed-document-types-modal.element.ts | 15 ++++++----- .../repository/document.repository.ts | 8 ++---- .../sources/document.server.data.ts | 25 +++++-------------- 3 files changed, 15 insertions(+), 33 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/document-types/modals/allowed-document-types/allowed-document-types-modal.element.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/document-types/modals/allowed-document-types/allowed-document-types-modal.element.ts index e452d5a543..663c3175c9 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/documents/document-types/modals/allowed-document-types/allowed-document-types-modal.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/documents/document-types/modals/allowed-document-types/allowed-document-types-modal.element.ts @@ -1,5 +1,5 @@ import { html, nothing, customElement, state, ifDefined } from '@umbraco-cms/backoffice/external/lit'; -import { UmbTextStyles } from "@umbraco-cms/backoffice/style"; +import { UmbTextStyles } from '@umbraco-cms/backoffice/style'; import { UmbAllowedDocumentTypesModalData, UmbAllowedDocumentTypesModalResult } from '@umbraco-cms/backoffice/modal'; import { UmbModalBaseElement } from '@umbraco-cms/internal/modal'; import { DocumentTypeTreeItemResponseModel } from '@umbraco-cms/backoffice/backend-api'; @@ -48,7 +48,7 @@ export class UmbAllowedDocumentTypesModalElement extends UmbModalBaseElement< } private async _retrieveAllowedChildrenOfRoot() { - const { data } = await this.#documentRepository.requestAllowedDocumentTypesAtRoot(); + const { data } = await this.#documentRepository.requestAllowedDocumentTypesOf(null); if (data) { // TODO: implement pagination, or get 1000? @@ -74,12 +74,11 @@ export class UmbAllowedDocumentTypesModalElement extends UmbModalBaseElement< ${this._allowedDocumentTypes.length === 0 ? html`

No allowed types

` : nothing} ${this._allowedDocumentTypes.map( - (item) => - html` - - ${item.icon ? html`` : nothing} - - ` + (item) => html` + + ${item.icon ? html`` : nothing} + + `, )}
Cancel diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/repository/document.repository.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/repository/document.repository.ts index 1bf8fa0e65..3a6360f9d7 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/repository/document.repository.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/repository/document.repository.ts @@ -97,12 +97,8 @@ export class UmbDocumentRepository } // Structure permissions; - - async requestAllowedDocumentTypesAtRoot() { - return this.#detailDataSource.getAllowedDocumentTypesAtRoot(); - } - async requestAllowedDocumentTypesOf(id: string) { - if (!id) throw new Error('Id is missing'); + async requestAllowedDocumentTypesOf(id: string | null) { + if (id === undefined) throw new Error('Id is missing'); await this.#init; return this.#detailDataSource.getAllowedDocumentTypesOf(id); } diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/repository/sources/document.server.data.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/repository/sources/document.server.data.ts index 8eeefe8b9c..232a86a1ef 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/repository/sources/document.server.data.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/repository/sources/document.server.data.ts @@ -45,7 +45,7 @@ export class UmbDocumentServerDataSource this.#host, DocumentResource.getDocumentById({ id, - }) + }), ); } @@ -142,7 +142,7 @@ export class UmbDocumentServerDataSource headers: { 'Content-Type': 'application/json', }, - }) as any + }) as any, ); } @@ -165,7 +165,7 @@ export class UmbDocumentServerDataSource headers: { 'Content-Type': 'application/json', }, - }).then((res) => res.json()) + }).then((res) => res.json()), ); } @@ -175,22 +175,9 @@ export class UmbDocumentServerDataSource * @return {*} * @memberof UmbDocumentTypeServerDataSource */ - async getAllowedDocumentTypesOf(id: string) { - if (!id) throw new Error('Id is missing'); - + async getAllowedDocumentTypesOf(id: string | null) { + if (id === undefined) throw new Error('Id is missing'); // TODO: Notice, here we need to implement pagination. - return tryExecuteAndNotify(this.#host, DocumentResource.getDocumentByIdAllowedDocumentTypes({ id })); - } - - /** - * Get the allowed document types for root - * @param {string} id - * @return {*} - * @memberof UmbDocumentTypeServerDataSource - */ - async getAllowedDocumentTypesAtRoot() { - console.log('source requestAllowedDocumentTypesAtRoot'); - // TODO: Notice, here we need to implement pagination. - return tryExecuteAndNotify(this.#host, DocumentResource.getDocumentRootAllowedDocumentTypes({})); + return tryExecuteAndNotify(this.#host, DocumentResource.getDocumentAllowedDocumentTypes({ parentId: id })); } } From a41410a403ce09b1665ad6f22b603d33f6662824 Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Thu, 14 Sep 2023 11:24:15 +0200 Subject: [PATCH 06/11] use correct type --- .../repository/data-source/folder-data-source.interface.ts | 4 ++-- .../src/shared/repository/folder-repository.interface.ts | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/shared/repository/data-source/folder-data-source.interface.ts b/src/Umbraco.Web.UI.Client/src/shared/repository/data-source/folder-data-source.interface.ts index 789f6b3cdb..f96755e6a3 100644 --- a/src/Umbraco.Web.UI.Client/src/shared/repository/data-source/folder-data-source.interface.ts +++ b/src/Umbraco.Web.UI.Client/src/shared/repository/data-source/folder-data-source.interface.ts @@ -2,13 +2,13 @@ import { DataSourceResponse } from './data-source-response.interface.js'; import { CreateFolderRequestModel, FolderResponseModel, - UpdateFolderReponseModel, + UpdateFolderResponseModel, } from '@umbraco-cms/backoffice/backend-api'; export interface UmbFolderDataSource { createScaffold(parentId: string | null): Promise>; get(unique: string): Promise>; insert(data: CreateFolderRequestModel): Promise>; - update(unique: string, data: CreateFolderRequestModel): Promise>; + update(unique: string, data: CreateFolderRequestModel): Promise>; delete(unique: string): Promise; } diff --git a/src/Umbraco.Web.UI.Client/src/shared/repository/folder-repository.interface.ts b/src/Umbraco.Web.UI.Client/src/shared/repository/folder-repository.interface.ts index 1d7dc1c4d1..16c6f912bd 100644 --- a/src/Umbraco.Web.UI.Client/src/shared/repository/folder-repository.interface.ts +++ b/src/Umbraco.Web.UI.Client/src/shared/repository/folder-repository.interface.ts @@ -3,7 +3,7 @@ import type { FolderModelBaseModel, FolderResponseModel, ProblemDetails, - UpdateFolderReponseModel, + UpdateFolderResponseModel, } from '@umbraco-cms/backoffice/backend-api'; export interface UmbFolderRepository { @@ -23,9 +23,9 @@ export interface UmbFolderRepository { updateFolder( unique: string, - folder: FolderModelBaseModel + folder: FolderModelBaseModel, ): Promise<{ - data?: UpdateFolderReponseModel; + data?: UpdateFolderResponseModel; error?: ProblemDetails; }>; From 5cb30f67eb48ad0df07984f123939e80fed5743f Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Thu, 14 Sep 2023 11:24:36 +0200 Subject: [PATCH 07/11] change integers to strings --- ...ace-view-relation-type-relation.element.ts | 34 +++++++++---------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/packages/settings/relation-types/workspace/views/relation/workspace-view-relation-type-relation.element.ts b/src/Umbraco.Web.UI.Client/src/packages/settings/relation-types/workspace/views/relation/workspace-view-relation-type-relation.element.ts index 4c1ae8fd5d..c23a4aa8b3 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/settings/relation-types/workspace/views/relation/workspace-view-relation-type-relation.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/settings/relation-types/workspace/views/relation/workspace-view-relation-type-relation.element.ts @@ -1,4 +1,4 @@ -import { UmbTextStyles } from "@umbraco-cms/backoffice/style"; +import { UmbTextStyles } from '@umbraco-cms/backoffice/style'; import { css, html, customElement, state } from '@umbraco-cms/backoffice/external/lit'; import { UmbTableColumn, UmbTableConfig } from '@umbraco-cms/backoffice/components'; import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; @@ -83,65 +83,65 @@ export class UmbWorkspaceViewRelationTypeRelationElement const MockData: Array = [ { - parentId: 1, + parentId: '1', parentName: 'Parent 1', - childId: 2, + childId: '2', childName: 'Child 1', createDate: '2021-01-01', comment: 'Comment 1', }, { - parentId: 1, + parentId: '1', parentName: 'Parent 1', - childId: 3, + childId: '3', childName: 'Child 2', createDate: '2021-01-01', comment: 'Comment 2', }, { - parentId: 1, + parentId: '1', parentName: 'Parent 1', - childId: 4, + childId: '4', childName: 'Child 3', createDate: '2021-01-01', comment: 'Comment 3', }, { - parentId: 1, + parentId: '1', parentName: 'Parent 1', - childId: 5, + childId: '5', childName: 'Child 4', createDate: '2021-01-01', comment: 'Comment 4', }, { - parentId: 1, + parentId: '1', parentName: 'Parent 1', - childId: 6, + childId: '6', childName: 'Child 5', createDate: '2021-01-01', comment: 'Comment 5', }, { - parentId: 1, + parentId: '1', parentName: 'Parent 1', - childId: 7, + childId: '7', childName: 'Child 6', createDate: '2021-01-01', comment: 'Comment 6', }, { - parentId: 1, + parentId: '1', parentName: 'Parent 1', - childId: 8, + childId: '8', childName: 'Child 7', createDate: '2021-01-01', comment: 'Comment 7', }, { - parentId: 1, + parentId: '1', parentName: 'Parent 1', - childId: 9, + childId: '9', childName: 'Child 8', createDate: '2021-01-01', comment: 'Comment 8', From f08456c8d6ac56e9a2b4ce9551e35a05a1dcde97 Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Thu, 14 Sep 2023 11:24:49 +0200 Subject: [PATCH 08/11] temp hack if solution --- .../documents/repository/sources/document.server.data.ts | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/repository/sources/document.server.data.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/repository/sources/document.server.data.ts index 232a86a1ef..0c3b18cbf5 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/repository/sources/document.server.data.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/repository/sources/document.server.data.ts @@ -56,11 +56,14 @@ export class UmbDocumentServerDataSource * @memberof UmbDocumentServerDataSource */ async createScaffold(documentTypeId: string, preset?: Partial) { + const id = UmbId.new(); + const hackID = id === null ? undefined : id; + const data: DocumentResponseModel = { urls: [], templateId: null, parentId: null, - id: UmbId.new(), + id: hackID, contentTypeId: documentTypeId, values: [], variants: [ @@ -177,7 +180,9 @@ export class UmbDocumentServerDataSource */ async getAllowedDocumentTypesOf(id: string | null) { if (id === undefined) throw new Error('Id is missing'); + // TODO: remove when null is allowed as id. + const hackId = id === null ? undefined : id; // TODO: Notice, here we need to implement pagination. - return tryExecuteAndNotify(this.#host, DocumentResource.getDocumentAllowedDocumentTypes({ parentId: id })); + return tryExecuteAndNotify(this.#host, DocumentResource.getDocumentAllowedDocumentTypes({ parentId: hackId })); } } From bf8c81d5ef0810ff44d3d8f6ca8ce6bfbb5c07d7 Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Thu, 14 Sep 2023 11:34:24 +0200 Subject: [PATCH 09/11] Update document.server.data.ts --- .../documents/repository/sources/document.server.data.ts | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/repository/sources/document.server.data.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/repository/sources/document.server.data.ts index 0c3b18cbf5..2741130735 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/repository/sources/document.server.data.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/repository/sources/document.server.data.ts @@ -56,14 +56,10 @@ export class UmbDocumentServerDataSource * @memberof UmbDocumentServerDataSource */ async createScaffold(documentTypeId: string, preset?: Partial) { - const id = UmbId.new(); - const hackID = id === null ? undefined : id; - const data: DocumentResponseModel = { urls: [], templateId: null, parentId: null, - id: hackID, contentTypeId: documentTypeId, values: [], variants: [ @@ -78,6 +74,7 @@ export class UmbDocumentServerDataSource }, ], ...preset, + id: UmbId.new(), }; return { data }; From a62cc46176f4edbd25b583f61932899fc606eb03 Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Thu, 14 Sep 2023 12:17:05 +0200 Subject: [PATCH 10/11] remove hacks because server has been updated --- .../sources/document.server.data.ts | 29 ++++--------------- 1 file changed, 5 insertions(+), 24 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/repository/sources/document.server.data.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/repository/sources/document.server.data.ts index 01c2bbc8d0..dac5796b45 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/repository/sources/document.server.data.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/repository/sources/document.server.data.ts @@ -86,40 +86,21 @@ export class UmbDocumentServerDataSource * @return {*} * @memberof UmbDocumentServerDataSource */ - async insert(document: CreateDocumentRequestModel & { id: string }) { + async insert(document: CreateDocumentRequestModel) { if (!document.id) throw new Error('Id is missing'); - - // TODO: Hack to remove some props that ruins the document-type post end-point. - const unFroozenDocument = { ...document }; - (unFroozenDocument as any).id = undefined; - - (unFroozenDocument.variants as any) = - unFroozenDocument.variants?.map((variant) => { - return { ...variant }; - }) ?? []; - - return tryExecuteAndNotify(this.#host, DocumentResource.postDocument({ requestBody: unFroozenDocument })); + return tryExecuteAndNotify(this.#host, DocumentResource.postDocument({ requestBody: document })); } /** * Updates a Document on the server - * @param {Document} Document + * @param {string} id + * @param {UpdateDocumentRequestModel} document * @return {*} * @memberof UmbDocumentServerDataSource */ async update(id: string, document: UpdateDocumentRequestModel) { if (!id) throw new Error('Id is missing'); - - // TODO: Hack to remove some props that ruins the document-type post end-point. - const unFroozenDocument = { ...document }; - (unFroozenDocument as any).id = undefined; - - (unFroozenDocument.variants as any) = - unFroozenDocument.variants?.map((variant) => { - return { ...variant }; - }) ?? []; - - return tryExecuteAndNotify(this.#host, DocumentResource.putDocumentById({ id, requestBody: unFroozenDocument })); + return tryExecuteAndNotify(this.#host, DocumentResource.putDocumentById({ id, requestBody: document })); } /** From bc99862cf4c3bf89dfd825868fd0b7dabcd677fb Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Thu, 14 Sep 2023 12:17:30 +0200 Subject: [PATCH 11/11] don't wait for tree before showing notification --- .../documents/repository/document.repository.ts | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/repository/document.repository.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/repository/document.repository.ts index 3a6360f9d7..8c54f6194d 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/documents/documents/repository/document.repository.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/documents/documents/repository/document.repository.ts @@ -178,12 +178,12 @@ export class UmbDocumentRepository this.#store?.append(item); // TODO: Update tree store with the new item? or ask tree to request the new item? - // TODO: Revisit this call, as we should be able to update tree on client. - await this.requestRootTreeItems(); - const notification = { data: { message: `Document created` } }; this.#notificationContext?.peek('positive', notification); + // TODO: Revisit this call, as we should be able to update tree on client. + await this.requestRootTreeItems(); + return { data: item }; } @@ -206,11 +206,11 @@ export class UmbDocumentRepository //this.#treeStore?.updateItem(item.id, { name: item.name });// Port data to tree store. // TODO: would be nice to align the stores on methods/methodNames. - // TODO: Revisit this call, as we should be able to update tree on client. - await this.requestRootTreeItems(); - const notification = { data: { message: `Document saved` } }; this.#notificationContext?.peek('positive', notification); + + // TODO: Revisit this call, as we should be able to update tree on client. + await this.requestRootTreeItems(); } return { error };