diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/repository/detail/detail-data-source.interface.ts b/src/Umbraco.Web.UI.Client/src/packages/core/repository/detail/detail-data-source.interface.ts index 1cbb2b037b..c63c57a555 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/repository/detail/detail-data-source.interface.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/repository/detail/detail-data-source.interface.ts @@ -7,7 +7,7 @@ export interface UmbDetailDataSourceConstructor { export interface UmbDetailDataSource { createScaffold(preset?: Partial): Promise>; - create(data: DetailType): Promise>; + create(data: DetailType, parentUnique: string | null): Promise>; read(unique: string): Promise>; update(data: DetailType): Promise>; delete(unique: string): Promise; diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/tree/folder/folder-data-source.interface.ts b/src/Umbraco.Web.UI.Client/src/packages/core/tree/folder/folder-data-source.interface.ts index 9294fc489f..0625ba878a 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/tree/folder/folder-data-source.interface.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/tree/folder/folder-data-source.interface.ts @@ -1,5 +1,5 @@ -import type { UmbDataSourceResponse, UmbDataSourceErrorResponse } from '@umbraco-cms/backoffice/repository'; import type { UmbCreateFolderModel, UmbFolderModel, UmbUpdateFolderModel } from './types.js'; +import type { UmbDataSourceResponse, UmbDataSourceErrorResponse } from '@umbraco-cms/backoffice/repository'; import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api'; export interface UmbFolderDataSourceConstructor { diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/tree/folder/folder-repository-base.ts b/src/Umbraco.Web.UI.Client/src/packages/core/tree/folder/folder-repository-base.ts index 579eac8541..5f4d72710c 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/tree/folder/folder-repository-base.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/tree/folder/folder-repository-base.ts @@ -11,6 +11,7 @@ import { UMB_NOTIFICATION_CONTEXT } from '@umbraco-cms/backoffice/notification'; export type UmbFolderToTreeItemMapper = ( item: UmbFolderModel, + parentUnique: string | null, ) => FolderTreeItemType; export abstract class UmbFolderRepositoryBase @@ -70,7 +71,7 @@ export abstract class UmbFolderRepositoryBase { +const folderToDataTypeTreeItemMapper = ( + folder: UmbFolderModel, + parentUnique: string | null, +): UmbDataTypeFolderTreeItemModel => { return { unique: folder.unique, - parentUnique: folder.parentUnique, + parentUnique, name: folder.name, entityType: UMB_DATA_TYPE_FOLDER_ENTITY_TYPE, hasChildren: false, diff --git a/src/Umbraco.Web.UI.Client/src/packages/data-type/tree/folder/data-type-folder.server.data-source.ts b/src/Umbraco.Web.UI.Client/src/packages/data-type/tree/folder/data-type-folder.server.data-source.ts index aac1c20ae9..312cbdb919 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/data-type/tree/folder/data-type-folder.server.data-source.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/data-type/tree/folder/data-type-folder.server.data-source.ts @@ -41,7 +41,6 @@ export class UmbDataTypeFolderServerDataSource implements UmbFolderDataSource { const mappedData = { unique: data.id, name: data.name, - parentUnique: data.parent ? data.parent.id : null, }; return { data: mappedData }; diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/document-types/tree/folder/document-type-folder.repository.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/document-types/tree/folder/document-type-folder.repository.ts index 7c101baf59..50691b9d13 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/documents/document-types/tree/folder/document-type-folder.repository.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/documents/document-types/tree/folder/document-type-folder.repository.ts @@ -17,10 +17,13 @@ export class UmbDocumentTypeFolderRepository extends UmbFolderRepositoryBase { +const folderToDocumentTypeTreeItemMapper = ( + folder: UmbFolderModel, + parentUnique: string | null, +): UmbDocumentTypeFolderTreeItemModel => { return { unique: folder.unique, - parentUnique: folder.parentUnique, + parentUnique, name: folder.name, entityType: UMB_DOCUMENT_TYPE_FOLDER_ENTITY_TYPE, hasChildren: false, diff --git a/src/Umbraco.Web.UI.Client/src/packages/documents/document-types/tree/folder/document-type-folder.server.data-source.ts b/src/Umbraco.Web.UI.Client/src/packages/documents/document-types/tree/folder/document-type-folder.server.data-source.ts index ed781dd616..bf13084cad 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/documents/document-types/tree/folder/document-type-folder.server.data-source.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/documents/document-types/tree/folder/document-type-folder.server.data-source.ts @@ -41,7 +41,6 @@ export class UmbDocumentTypeFolderServerDataSource implements UmbFolderDataSourc const mappedData = { unique: data.id, name: data.name, - parentUnique: data.parent ? data.parent.id : null, }; return { data: mappedData }; diff --git a/src/Umbraco.Web.UI.Client/src/packages/media/media-types/tree/folder/media-type-folder.repository.ts b/src/Umbraco.Web.UI.Client/src/packages/media/media-types/tree/folder/media-type-folder.repository.ts index 15fe2aa1b6..0353ed94e4 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/media/media-types/tree/folder/media-type-folder.repository.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/media/media-types/tree/folder/media-type-folder.repository.ts @@ -14,10 +14,10 @@ export class UmbMediaTypeFolderRepository extends UmbFolderRepositoryBase { +const folderToMediaTypeTreeItemMapper = (folder: UmbFolderModel, parentUnique: string | null) => { const folderTreeItem: UmbMediaTypeFolderTreeItemModel = { unique: folder.unique, - parentUnique: folder.parentUnique, + parentUnique, name: folder.name, entityType: UMB_MEDIA_TYPE_FOLDER_ENTITY_TYPE, hasChildren: false, diff --git a/src/Umbraco.Web.UI.Client/src/packages/media/media-types/tree/folder/media-type-folder.server.data-source.ts b/src/Umbraco.Web.UI.Client/src/packages/media/media-types/tree/folder/media-type-folder.server.data-source.ts index e73d635e22..86f58e066f 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/media/media-types/tree/folder/media-type-folder.server.data-source.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/media/media-types/tree/folder/media-type-folder.server.data-source.ts @@ -41,7 +41,6 @@ export class UmbMediaTypeFolderServerDataSource implements UmbFolderDataSource { const mappedData = { unique: data.id, name: data.name, - parentUnique: data.parent ? data.parent.id : null, }; return { data: mappedData }; diff --git a/src/Umbraco.Web.UI.Client/src/packages/templating/partial-views/tree/folder/partial-view-folder.repository.ts b/src/Umbraco.Web.UI.Client/src/packages/templating/partial-views/tree/folder/partial-view-folder.repository.ts index 1f64e5cb9e..7d7b5a5f95 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/templating/partial-views/tree/folder/partial-view-folder.repository.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/templating/partial-views/tree/folder/partial-view-folder.repository.ts @@ -17,10 +17,13 @@ export class UmbPartialViewFolderRepository extends UmbFolderRepositoryBase { +const folderToPartialViewTreeItemFolder = ( + folder: UmbFolderModel, + parentUnique: string | null, +): UmbPartialViewTreeItemModel => { return { unique: folder.unique, - parentUnique: folder.parentUnique, + parentUnique, name: folder.name, entityType: UMB_PARTIAL_VIEW_FOLDER_ENTITY_TYPE, isFolder: true, diff --git a/src/Umbraco.Web.UI.Client/src/packages/templating/scripts/tree/folder/script-folder.repository.ts b/src/Umbraco.Web.UI.Client/src/packages/templating/scripts/tree/folder/script-folder.repository.ts index bfe4f2e619..34e1110bf8 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/templating/scripts/tree/folder/script-folder.repository.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/templating/scripts/tree/folder/script-folder.repository.ts @@ -14,10 +14,10 @@ export class UmbScriptFolderRepository extends UmbFolderRepositoryBase { +const folderToScriptTreeItemFolder = (folder: UmbFolderModel, parentUnique: string | null): UmbScriptTreeItemModel => { return { unique: folder.unique, - parentUnique: folder.parentUnique, + parentUnique, name: folder.name, entityType: UMB_SCRIPT_FOLDER_ENTITY_TYPE, isFolder: true, diff --git a/src/Umbraco.Web.UI.Client/src/packages/templating/stylesheets/tree/folder/stylesheet-folder.repository.ts b/src/Umbraco.Web.UI.Client/src/packages/templating/stylesheets/tree/folder/stylesheet-folder.repository.ts index c8c9de8b20..5b023daa00 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/templating/stylesheets/tree/folder/stylesheet-folder.repository.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/templating/stylesheets/tree/folder/stylesheet-folder.repository.ts @@ -19,10 +19,13 @@ export class UmbStylesheetFolderRepository extends UmbFolderRepositoryBase { +const folderToStylesheetTreeItemFolder = ( + folder: UmbFolderModel, + parentUnique: string | null, +): UmbStylesheetTreeItemModel => { return { unique: folder.unique, - parentUnique: folder.parentUnique, + parentUnique, name: folder.name, entityType: UMB_STYLESHEET_FOLDER_ENTITY_TYPE, isFolder: true,