From 6bf17e23a53cbae318d4bd0e704884a556acd867 Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Fri, 12 Jan 2024 14:02:03 +0100 Subject: [PATCH] add stylesheet rename request handler --- .../src/mocks/handlers/stylesheet/index.ts | 10 +++++++- .../handlers/stylesheet/rename.handlers.ts | 24 +++++++++++++++++++ 2 files changed, 33 insertions(+), 1 deletion(-) create mode 100644 src/Umbraco.Web.UI.Client/src/mocks/handlers/stylesheet/rename.handlers.ts diff --git a/src/Umbraco.Web.UI.Client/src/mocks/handlers/stylesheet/index.ts b/src/Umbraco.Web.UI.Client/src/mocks/handlers/stylesheet/index.ts index 2fed924518..6e30e733db 100644 --- a/src/Umbraco.Web.UI.Client/src/mocks/handlers/stylesheet/index.ts +++ b/src/Umbraco.Web.UI.Client/src/mocks/handlers/stylesheet/index.ts @@ -3,5 +3,13 @@ import { treeHandlers } from './tree.handlers.js'; import { detailHandlers } from './detail.handlers.js'; import { itemHandlers } from './item.handlers.js'; import { overviewHandlers } from './overview.handlers.js'; +import { renameHandlers } from './rename.handlers.js'; -export const handlers = [...treeHandlers, ...itemHandlers, ...folderHandlers, ...overviewHandlers, ...detailHandlers]; +export const handlers = [ + ...treeHandlers, + ...itemHandlers, + ...folderHandlers, + ...overviewHandlers, + ...renameHandlers, + ...detailHandlers, +]; diff --git a/src/Umbraco.Web.UI.Client/src/mocks/handlers/stylesheet/rename.handlers.ts b/src/Umbraco.Web.UI.Client/src/mocks/handlers/stylesheet/rename.handlers.ts new file mode 100644 index 0000000000..b5cdf1cdf8 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/mocks/handlers/stylesheet/rename.handlers.ts @@ -0,0 +1,24 @@ +const { rest } = window.MockServiceWorker; +import { umbStylesheetData } from '../../data/stylesheet/stylesheet.db.js'; +import { UMB_SLUG } from './slug.js'; +import { RenameStylesheetRequestModel } from '@umbraco-cms/backoffice/backend-api'; +import { umbracoPath } from '@umbraco-cms/backoffice/utils'; + +export const renameHandlers = [ + rest.put(umbracoPath(`${UMB_SLUG}/:path/rename`), async (req, res, ctx) => { + const path = req.params.path as string; + if (!path) return res(ctx.status(400)); + + const requestBody = (await req.json()) as RenameStylesheetRequestModel; + if (!requestBody) return res(ctx.status(400, 'no body found')); + + const newPath = umbStylesheetData.file.rename(decodeURIComponent(path), requestBody.name); + + return res( + ctx.status(201), + ctx.set({ + Location: encodeURIComponent(newPath), + }), + ); + }), +];