added handler

This commit is contained in:
Jesper Møller Jensen
2023-03-09 20:35:33 +13:00
parent c7955e9e75
commit 850399ee11
2 changed files with 74 additions and 0 deletions

View File

@@ -1,4 +1,5 @@
import { handlers as dataTypeHandlers } from './domains/data-type.handlers';
import { handlers as relationTypeHandlers } from './domains/relation-type.handlers';
import { handlers as documentTypeHandlers } from './domains/document-type.handlers';
import { handlers as installHandlers } from './domains/install.handlers';
import * as manifestsHandlers from './domains/manifests.handlers';
@@ -34,6 +35,7 @@ const handlers = [
...documentHandlers,
...mediaHandlers,
...dataTypeHandlers,
...relationTypeHandlers,
...documentTypeHandlers,
...telemetryHandlers,
...publishedStatusHandlers,

View File

@@ -0,0 +1,72 @@
import { rest } from 'msw';
import { umbRelationTypeData } from '../data/relation-type.data';
import { umbracoPath } from '@umbraco-cms/utils';
// TODO: add schema
export const handlers = [
rest.delete<string[]>('/umbraco/backoffice/relation-type/:key', async (req, res, ctx) => {
const key = req.params.key as string;
if (!key) return;
umbRelationTypeData.delete([key]);
return res(ctx.status(200));
}),
rest.get('/umbraco/management/api/v1/tree/relation-type/root', (req, res, ctx) => {
const rootItems = umbRelationTypeData.getTreeRoot();
const response = {
total: rootItems.length,
items: rootItems,
};
return res(ctx.status(200), ctx.json(response));
}),
rest.get('/umbraco/management/api/v1/tree/relation-type/children', (req, res, ctx) => {
const parentKey = req.url.searchParams.get('parentKey');
if (!parentKey) return;
const children = umbRelationTypeData.getTreeItemChildren(parentKey);
const response = {
total: children.length,
items: children,
};
return res(ctx.status(200), ctx.json(response));
}),
rest.get('/umbraco/management/api/v1/tree/relation-type/item', (req, res, ctx) => {
const keys = req.url.searchParams.getAll('key');
if (!keys) return;
const items = umbRelationTypeData.getTreeItem(keys);
return res(ctx.status(200), ctx.json(items));
}),
rest.get(umbracoPath('/relation-type/:key'), (req, res, ctx) => {
const key = req.params.key as string;
if (!key) return;
const RelationType = umbRelationTypeData.getByKey(key);
return res(ctx.status(200), ctx.json(RelationType));
}),
rest.post(umbracoPath('/relation-type/:key'), async (req, res, ctx) => {
const data = await req.json();
if (!data) return;
const saved = umbRelationTypeData.save(data);
return res(ctx.status(200), ctx.json(saved));
}),
rest.put(umbracoPath('/relation-type/:key'), async (req, res, ctx) => {
const data = await req.json();
if (!data) return;
const saved = umbRelationTypeData.save(data);
return res(ctx.status(200), ctx.json(saved));
}),
];