diff --git a/src/Umbraco.Web.UI.Client/src/packages/templating/scripts/repository/script.repository.ts b/src/Umbraco.Web.UI.Client/src/packages/templating/scripts/repository/script.repository.ts index 08a7a450d7..c56e7ea061 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/templating/scripts/repository/script.repository.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/templating/scripts/repository/script.repository.ts @@ -1,27 +1,18 @@ import { UmbScriptTreeRepository } from '../tree/index.js'; import { UmbScriptServerDataSource } from './sources/script-detail.server.data.js'; -import { ScriptGetFolderResponse, UmbScriptFolderServerDataSource } from './sources/script-folder.server.data.js'; -import { - DataSourceResponse, - UmbDataSourceErrorResponse, - UmbDetailRepository, - UmbFolderRepository, -} from '@umbraco-cms/backoffice/repository'; +import { UmbScriptFolderServerDataSource } from './sources/script-folder.server.data.js'; +import { UmbDetailRepository, UmbFolderRepository } from '@umbraco-cms/backoffice/repository'; import { CreateFolderRequestModel, CreateScriptRequestModel, - FileItemResponseModelBaseModel, - FolderModelBaseModel, FolderResponseModel, - ProblemDetails, ScriptResponseModel, - TextFileResponseModelBaseModel, UpdateScriptRequestModel, } from '@umbraco-cms/backoffice/backend-api'; import { UmbBaseController } from '@umbraco-cms/backoffice/class-api'; import { type UmbControllerHost } from '@umbraco-cms/backoffice/controller-api'; -import { Observable } from '@umbraco-cms/backoffice/external/rxjs'; import { UmbApi } from '@umbraco-cms/backoffice/extension-api'; +import { UmbId } from '@umbraco-cms/backoffice/id'; export class UmbScriptRepository extends UmbBaseController @@ -44,18 +35,16 @@ export class UmbScriptRepository } //#region FOLDER - createFolderScaffold( - parentId: string | null, - ): Promise<{ data?: FolderResponseModel | undefined; error?: ProblemDetails | undefined }> { + createFolderScaffold(parentId: string | null) { const data: FolderResponseModel = { + id: UmbId.new(), name: '', parentId, }; return Promise.resolve({ data, error: undefined }); } - async createFolder( - requestBody: CreateFolderRequestModel, - ): Promise<{ data?: string | undefined; error?: ProblemDetails | undefined }> { + + async createFolder(requestBody: CreateFolderRequestModel) { const req = { parentPath: requestBody.parentId, name: requestBody.name, @@ -65,18 +54,16 @@ export class UmbScriptRepository this.#treeRepository.requestTreeItemsOf(requestBody.parentId ? requestBody.parentId : null); return promise; } - async requestFolder( - unique: string, - ): Promise<{ data?: ScriptGetFolderResponse | undefined; error?: ProblemDetails | undefined }> { + + async requestFolder(unique: string) { return this.#folderDataSource.read(unique); } - updateFolder( - unique: string, - folder: FolderModelBaseModel, - ): Promise<{ data?: FolderModelBaseModel | undefined; error?: ProblemDetails | undefined }> { + + updateFolder(): any { throw new Error('Method not implemented.'); } - async deleteFolder(path: string): Promise<{ error?: ProblemDetails | undefined }> { + + async deleteFolder(path: string) { const { data } = await this.requestFolder(path); const promise = this.#folderDataSource.delete(path); await promise; @@ -92,33 +79,37 @@ export class UmbScriptRepository return { data, error }; } - requestById(id: string): Promise> { - throw new Error('Method not implemented.'); - } - byId(id: string): Promise> { + requestById(): any { throw new Error('Method not implemented.'); } - createScaffold(parentId: string | null, preset: string): Promise> { + byId(): any { + throw new Error('Method not implemented.'); + } + + createScaffold(parentId: string | null, preset: string) { return this.#detailDataSource.createScaffold(parentId, preset); } - async create(data: CreateScriptRequestModel): Promise> { + + async create(data: CreateScriptRequestModel) { const promise = this.#detailDataSource.create(data); await promise; this.#treeRepository.requestTreeItemsOf(data.parentPath ? data.parentPath : null); return promise; } - save(id: string, requestBody: UpdateScriptRequestModel): Promise { + + save(id: string, requestBody: UpdateScriptRequestModel) { return this.#detailDataSource.update(id, requestBody); } - async delete(id: string): Promise { + + async delete(id: string) { const promise = this.#detailDataSource.delete(id); const parentPath = id.substring(0, id.lastIndexOf('/')); this.#treeRepository.requestTreeItemsOf(parentPath ? parentPath : null); return promise; } - requestItems(keys: Array): Promise> { + requestItems(keys: Array) { return this.#detailDataSource.getItems(keys); } diff --git a/src/Umbraco.Web.UI.Client/src/packages/templating/scripts/repository/sources/script-folder.server.data.ts b/src/Umbraco.Web.UI.Client/src/packages/templating/scripts/repository/sources/script-folder.server.data.ts index ef31e2ec67..f1a4e31172 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/templating/scripts/repository/sources/script-folder.server.data.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/templating/scripts/repository/sources/script-folder.server.data.ts @@ -1,35 +1,32 @@ -import { - CreateFolderRequestModel, - FolderModelBaseModel, - FolderResponseModel, - ScriptResource, -} from '@umbraco-cms/backoffice/backend-api'; +import { CreateFolderRequestModel, ScriptResource } from '@umbraco-cms/backoffice/backend-api'; import type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api'; -import { DataSourceResponse, UmbFolderDataSource } from '@umbraco-cms/backoffice/repository'; +import { UmbFolderDataSource } from '@umbraco-cms/backoffice/repository'; import { tryExecuteAndNotify } from '@umbraco-cms/backoffice/resources'; -//! this is of any type in the backend-api -export type ScriptGetFolderResponse = { path: string; parentPath: string; name: string }; - export class UmbScriptFolderServerDataSource implements UmbFolderDataSource { #host: UmbControllerHost; constructor(host: UmbControllerHost) { this.#host = host; } - createScaffold(parentId: string | null): Promise> { + + createScaffold(): any { throw new Error('Method not implemented.'); } - read(unique: string): Promise> { + + read(unique: string) { return tryExecuteAndNotify(this.#host, ScriptResource.getScriptFolder({ path: unique })); } - create(requestBody: CreateFolderRequestModel): Promise> { + + create(requestBody: CreateFolderRequestModel) { return tryExecuteAndNotify(this.#host, ScriptResource.postScriptFolder({ requestBody })); } - update(unique: string, data: CreateFolderRequestModel): Promise> { + + update(): any { throw new Error('Method not implemented.'); } - delete(path: string): Promise> { + + delete(path: string) { return tryExecuteAndNotify(this.#host, ScriptResource.deleteScriptFolder({ path })); } }