remove parents

This commit is contained in:
Mads Rasmussen
2024-02-29 19:42:35 +01:00
parent f98cc48845
commit bdee5a1d01
13 changed files with 28 additions and 19 deletions

View File

@@ -7,7 +7,7 @@ export interface UmbDetailDataSourceConstructor<DetailType = any> {
export interface UmbDetailDataSource<DetailType> {
createScaffold(preset?: Partial<DetailType>): Promise<UmbDataSourceResponse<DetailType>>;
create(data: DetailType): Promise<UmbDataSourceResponse<DetailType>>;
create(data: DetailType, parentUnique: string | null): Promise<UmbDataSourceResponse<DetailType>>;
read(unique: string): Promise<UmbDataSourceResponse<DetailType>>;
update(data: DetailType): Promise<UmbDataSourceResponse<DetailType>>;
delete(unique: string): Promise<UmbDataSourceResponse>;

View File

@@ -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 {

View File

@@ -11,6 +11,7 @@ import { UMB_NOTIFICATION_CONTEXT } from '@umbraco-cms/backoffice/notification';
export type UmbFolderToTreeItemMapper<FolderTreeItemType extends UmbTreeItemModelBase> = (
item: UmbFolderModel,
parentUnique: string | null,
) => FolderTreeItemType;
export abstract class UmbFolderRepositoryBase<FolderTreeItemType extends UmbTreeItemModelBase>
@@ -70,7 +71,7 @@ export abstract class UmbFolderRepositoryBase<FolderTreeItemType extends UmbTree
const { data, error } = await this.#folderDataSource.create(args);
if (data) {
const folderTreeItem = this.#folderToTreeItemMapper(data);
const folderTreeItem = this.#folderToTreeItemMapper(data, args.parentUnique);
this._treeStore!.append(folderTreeItem);
const notification = { data: { message: `Folder created` } };

View File

@@ -1,6 +1,5 @@
export interface UmbFolderModel {
unique: string;
parentUnique: string | null;
name: string;
}

View File

@@ -12,10 +12,13 @@ export class UmbDataTypeFolderRepository extends UmbFolderRepositoryBase<UmbData
}
}
const folderToDataTypeTreeItemMapper = (folder: UmbFolderModel): UmbDataTypeFolderTreeItemModel => {
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,

View File

@@ -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 };

View File

@@ -17,10 +17,13 @@ export class UmbDocumentTypeFolderRepository extends UmbFolderRepositoryBase<Umb
}
}
const folderToDocumentTypeTreeItemMapper = (folder: UmbFolderModel): UmbDocumentTypeFolderTreeItemModel => {
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,

View File

@@ -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 };

View File

@@ -14,10 +14,10 @@ export class UmbMediaTypeFolderRepository extends UmbFolderRepositoryBase<UmbMed
export default UmbMediaTypeFolderRepository;
const folderToMediaTypeTreeItemMapper = (folder: UmbFolderModel) => {
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,

View File

@@ -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 };

View File

@@ -17,10 +17,13 @@ export class UmbPartialViewFolderRepository extends UmbFolderRepositoryBase<UmbP
}
}
const folderToPartialViewTreeItemFolder = (folder: UmbFolderModel): UmbPartialViewTreeItemModel => {
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,

View File

@@ -14,10 +14,10 @@ export class UmbScriptFolderRepository extends UmbFolderRepositoryBase<UmbScript
export default UmbScriptFolderRepository;
const folderToScriptTreeItemFolder = (folder: UmbFolderModel): UmbScriptTreeItemModel => {
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,

View File

@@ -19,10 +19,13 @@ export class UmbStylesheetFolderRepository extends UmbFolderRepositoryBase<UmbSt
export default UmbStylesheetFolderRepository;
const folderToStylesheetTreeItemFolder = (folder: UmbFolderModel): UmbStylesheetTreeItemModel => {
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,