diff --git a/src/Umbraco.Web.UI.Client/src/mocks/data/scripts.data.ts b/src/Umbraco.Web.UI.Client/src/mocks/data/scripts.data.ts index 9803695a1b..41f5f4f5d1 100644 --- a/src/Umbraco.Web.UI.Client/src/mocks/data/scripts.data.ts +++ b/src/Umbraco.Web.UI.Client/src/mocks/data/scripts.data.ts @@ -1,11 +1,12 @@ import { UmbData } from './data.js'; import { UmbEntityData } from './entity.data.js'; -import { createFileSystemTreeItem, createTextFileItem } from './utils.js'; +import { createFileItemResponseModelBaseModel, createFileSystemTreeItem, createTextFileItem } from './utils.js'; import { CreatePathFolderRequestModel, CreateTextFileViewModelBaseModel, FileSystemTreeItemPresentationModel, PagedFileSystemTreeItemPresentationModel, + ScriptItemResponseModel, ScriptResponseModel, UpdateScriptRequestModel, } from '@umbraco-cms/backoffice/backend-api'; @@ -138,6 +139,11 @@ class UmbScriptsData extends UmbData { return items.map((item) => createFileSystemTreeItem(item)); } + getItem(paths: Array): Array { + const items = this.data.filter((item) => paths.includes(item.path ?? '')); + return items.map((item) => createFileItemResponseModelBaseModel(item)); + } + getFolder(path: string): FileSystemTreeItemPresentationModel { const items = data.filter((item) => item.isFolder && item.path === path); return items as FileSystemTreeItemPresentationModel; diff --git a/src/Umbraco.Web.UI.Client/src/mocks/handlers/scripts.handlers.ts b/src/Umbraco.Web.UI.Client/src/mocks/handlers/scripts.handlers.ts index 819b83a4ae..fa3fd65840 100644 --- a/src/Umbraco.Web.UI.Client/src/mocks/handlers/scripts.handlers.ts +++ b/src/Umbraco.Web.UI.Client/src/mocks/handlers/scripts.handlers.ts @@ -35,6 +35,13 @@ const detailHandlers: RestHandler>[] = [ return res(ctx.status(200), ctx.json(response)); }), + rest.get(umbracoPath('/script/item'), (req, res, ctx) => { + const path = decodeURIComponent(req.url.searchParams.get('path') ?? '').replace('-js', '.js'); + if (!path) return res(ctx.status(400, 'no body found')); + const response = umbScriptsData.getItem([path]); + return res(ctx.status(200), ctx.json(response)); + }), + rest.post(umbracoPath('/script'), (req, res, ctx) => { const requestBody = req.json() as CreateTextFileViewModelBaseModel; if (!requestBody) return res(ctx.status(400, 'no body found'));