remove parent from main model

This commit is contained in:
Mads Rasmussen
2024-02-29 19:53:12 +01:00
parent bdee5a1d01
commit a8cde8bc20
4 changed files with 13 additions and 8 deletions

View File

@@ -55,7 +55,6 @@ export class UmbMockEntityFolderManager<MockItemType extends Omit<FolderTreeItem
return {
name: item.name,
id: item.id,
parent: item.parent,
};
};
}

View File

@@ -9,7 +9,7 @@ export interface UmbDetailRepository<DetailModelType> {
createScaffold(preset?: Partial<DetailModelType>): Promise<UmbRepositoryResponse<DetailModelType>>;
requestByUnique(unique: string): Promise<UmbRepositoryResponseWithAsObservable<DetailModelType>>;
byUnique(unique: string): Promise<Observable<DetailModelType | undefined>>;
create(data: DetailModelType): Promise<UmbRepositoryResponse<DetailModelType>>;
create(data: DetailModelType, parentUnique: string | null): Promise<UmbRepositoryResponse<DetailModelType>>;
save(data: DetailModelType): Promise<UmbRepositoryResponse<DetailModelType>>;
delete(unique: string): Promise<UmbRepositoryErrorResponse>;
}

View File

@@ -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<UmbDataSourceResponse<UmbFolderModel>>;
createScaffold(): Promise<UmbDataSourceResponse<UmbFolderModel>>;
create(args: UmbCreateFolderModel): Promise<UmbDataSourceResponse<UmbFolderModel>>;
request(unique: string): Promise<UmbDataSourceResponse<UmbFolderModel>>;
update(args: UmbUpdateFolderModel): Promise<UmbDataSourceResponse<UmbFolderModel>>;

View File

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