diff --git a/src/Umbraco.Web.UI.Client/src/mocks/data/utils/entity/entity-folder.manager.ts b/src/Umbraco.Web.UI.Client/src/mocks/data/utils/entity/entity-folder.manager.ts index 65dfc08ecf..968fe7f8e7 100644 --- a/src/Umbraco.Web.UI.Client/src/mocks/data/utils/entity/entity-folder.manager.ts +++ b/src/Umbraco.Web.UI.Client/src/mocks/data/utils/entity/entity-folder.manager.ts @@ -55,7 +55,6 @@ export class UmbMockEntityFolderManager { createScaffold(preset?: Partial): Promise>; requestByUnique(unique: string): Promise>; byUnique(unique: string): Promise>; - create(data: DetailModelType): Promise>; + create(data: DetailModelType, parentUnique: string | null): Promise>; save(data: DetailModelType): Promise>; delete(unique: string): Promise; } diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/tree/folder/folder-repository.interface.ts b/src/Umbraco.Web.UI.Client/src/packages/core/tree/folder/folder-repository.interface.ts index cce580fd58..e3d5fce3cd 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/tree/folder/folder-repository.interface.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/tree/folder/folder-repository.interface.ts @@ -2,7 +2,7 @@ import type { UmbCreateFolderModel, UmbFolderModel, UmbUpdateFolderModel } from import type { UmbDataSourceResponse, UmbDataSourceErrorResponse } from '@umbraco-cms/backoffice/repository'; import type { UmbApi } from '@umbraco-cms/backoffice/extension-api'; export interface UmbFolderRepository extends UmbApi { - createScaffold(parentUnique: string | null): Promise>; + createScaffold(): Promise>; create(args: UmbCreateFolderModel): Promise>; request(unique: string): Promise>; update(args: UmbUpdateFolderModel): Promise>; diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/tree/folder/modal/folder-create-modal.element.ts b/src/Umbraco.Web.UI.Client/src/packages/core/tree/folder/modal/folder-create-modal.element.ts index dc5837920a..b3bc180d4d 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/tree/folder/modal/folder-create-modal.element.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/tree/folder/modal/folder-create-modal.element.ts @@ -1,6 +1,11 @@ import { UmbFolderModalElementBase } from './folder-modal-element-base.js'; import { customElement, state } from '@umbraco-cms/backoffice/external/lit'; -import type { UmbFolderCreateModalData, UmbFolderCreateModalValue, UmbFolderModel } from '@umbraco-cms/backoffice/tree'; +import type { + UmbCreateFolderModel, + UmbFolderCreateModalData, + UmbFolderCreateModalValue, + UmbFolderModel, +} from '@umbraco-cms/backoffice/tree'; @customElement('umb-folder-create-modal') export class UmbFolderCreateModalElement extends UmbFolderModalElementBase< @@ -17,9 +22,8 @@ export class UmbFolderCreateModalElement extends UmbFolderModalElementBase< async init() { if (!this.folderRepository) throw new Error('A folder repository is required to create a folder'); - if (this.data?.parentUnique === undefined) throw new Error('A parent unique is required to create folder'); - const { data } = await this.folderRepository.createScaffold(this.data.parentUnique); + const { data } = await this.folderRepository.createScaffold(); if (data) { this._folderScaffold = data; @@ -29,13 +33,15 @@ export class UmbFolderCreateModalElement extends UmbFolderModalElementBase< async onFormSubmit({ name }: { name: string }): Promise { if (!this.folderRepository) throw new Error('A folder repository is required to create a folder'); if (!this._folderScaffold) throw new Error('The folder scaffold was not initialized correctly'); + if (this.data?.parentUnique === undefined) throw new Error('A parent unique is required to create folder'); - const data = { + const createFolderModel: UmbCreateFolderModel = { ...this._folderScaffold, + parentUnique: this.data.parentUnique, name, }; - const { data: createdFolder } = await this.folderRepository.create(data); + const { data: createdFolder } = await this.folderRepository.create(createFolderModel); if (createdFolder) { this.value = { folder: createdFolder };