split up user handlers

This commit is contained in:
Mads Rasmussen
2023-10-11 14:50:53 +02:00
parent 4f2e940b10
commit f034e05379
8 changed files with 103 additions and 74 deletions

View File

@@ -6,7 +6,7 @@ import * as manifestsHandlers from './handlers/manifests.handlers.js';
import { handlers as publishedStatusHandlers } from './handlers/published-status.handlers.js';
import * as serverHandlers from './handlers/server.handlers.js';
import { handlers as upgradeHandlers } from './handlers/upgrade.handlers.js';
import { handlers as userHandlers } from './handlers/user.handlers.js';
import { handlers as userHandlers } from './handlers/user/index.js';
import { handlers as telemetryHandlers } from './handlers/telemetry.handlers.js';
import { handlers as userGroupsHandlers } from './handlers/user-group/index.js';
import { handlers as examineManagementHandlers } from './handlers/examine-management.handlers.js';

View File

@@ -1,73 +0,0 @@
const { rest } = window.MockServiceWorker;
import { umbUsersData } from '../data/user.data.js';
import { umbracoPath } from '@umbraco-cms/backoffice/utils';
const slug = '/user';
export const handlers = [
rest.get(umbracoPath(`${slug}/item`), (req, res, ctx) => {
const ids = req.url.searchParams.getAll('id');
if (!ids) return;
const items = umbUsersData.getItems(ids);
return res(ctx.status(200), ctx.json(items));
}),
rest.post(umbracoPath(`${slug}/set-user-groups`), async (req, res, ctx) => {
const data = await req.json();
if (!data) return;
umbUsersData.setUserGroups(data);
return res(ctx.status(200));
}),
rest.get(umbracoPath(`${slug}/filter`), (req, res, ctx) => {
//TODO: Implementer filter
const response = umbUsersData.getAll();
return res(ctx.status(200), ctx.json(response));
}),
rest.get(umbracoPath(`${slug}/current`), (_req, res, ctx) => {
const loggedInUser = umbUsersData.getCurrentUser();
return res(ctx.status(200), ctx.json(loggedInUser));
}),
rest.get(umbracoPath(`${slug}/sections`), (_req, res, ctx) => {
return res(
ctx.status(200),
ctx.json({
sections: ['Umb.Section.Content', 'Umb.Section.Media', 'Umb.Section.Settings', 'My.Section.Custom'],
}),
);
}),
rest.get(umbracoPath(`${slug}`), (req, res, ctx) => {
const response = umbUsersData.getAll();
return res(ctx.status(200), ctx.json(response));
}),
rest.get(umbracoPath(`${slug}/:id`), (req, res, ctx) => {
const id = req.params.id as string;
if (!id) return;
const user = umbUsersData.getById(id);
if (!user) return res(ctx.status(404));
return res(ctx.status(200), ctx.json(user));
}),
rest.put(umbracoPath(`${slug}/:id`), async (req, res, ctx) => {
const id = req.params.id as string;
if (!id) return;
const data = await req.json();
if (!data) return;
const saved = umbUsersData.save(id, data);
return res(ctx.status(200), ctx.json(saved));
}),
];

View File

@@ -0,0 +1,11 @@
const { rest } = window.MockServiceWorker;
import { umbUsersData } from '../../data/user.data.js';
import { slug } from './slug.js';
import { umbracoPath } from '@umbraco-cms/backoffice/utils';
export const handlers = [
rest.get(umbracoPath(`${slug}/current`), (_req, res, ctx) => {
const loggedInUser = umbUsersData.getCurrentUser();
return res(ctx.status(200), ctx.json(loggedInUser));
}),
];

View File

@@ -0,0 +1,56 @@
const { rest } = window.MockServiceWorker;
import { umbUsersData } from '../../data/user.data.js';
import { slug } from './slug.js';
import { umbracoPath } from '@umbraco-cms/backoffice/utils';
export const handlers = [
rest.post(umbracoPath(`${slug}`), async (req, res, ctx) => {
const data = await req.json();
if (!data) return;
umbUsersData.insert(data);
return res(ctx.status(200));
}),
rest.get(umbracoPath(`${slug}`), (req, res, ctx) => {
const response = umbUsersData.getAll();
return res(ctx.status(200), ctx.json(response));
}),
rest.get(umbracoPath(`${slug}/filter`), (req, res, ctx) => {
//TODO: Implementer filter
const response = umbUsersData.getAll();
return res(ctx.status(200), ctx.json(response));
}),
rest.get(umbracoPath(`${slug}/:id`), (req, res, ctx) => {
const id = req.params.id as string;
if (!id) return;
const item = umbUsersData.getById(id);
return res(ctx.status(200), ctx.json(item));
}),
rest.put(umbracoPath(`${slug}/:id`), async (req, res, ctx) => {
const id = req.params.id as string;
if (!id) return;
const data = await req.json();
if (!data) return;
umbUsersData.save(id, data);
return res(ctx.status(200));
}),
rest.delete<string>(umbracoPath(`${slug}/:id`), async (req, res, ctx) => {
const id = req.params.id as string;
if (!id) return;
umbUsersData.delete([id]);
return res(ctx.status(200));
}),
];

View File

@@ -0,0 +1,6 @@
import { handlers as detailHandlers } from './detail.handlers.js';
import { handlers as itemHandlers } from './item.handlers.js';
import { handlers as currentHandlers } from './current.handlers.js';
import { handlers as setUserGroupsHandlers } from './set-user-groups.handlers.js';
export const handlers = [...itemHandlers, ...currentHandlers, ...setUserGroupsHandlers, ...detailHandlers];

View File

@@ -0,0 +1,13 @@
const { rest } = window.MockServiceWorker;
import { umbUsersData } from '../../data/user.data.js';
import { slug } from './slug.js';
import { umbracoPath } from '@umbraco-cms/backoffice/utils';
export const handlers = [
rest.get(umbracoPath(`${slug}/item`), (req, res, ctx) => {
const ids = req.url.searchParams.getAll('id');
if (!ids) return;
const items = umbUsersData.getItems(ids);
return res(ctx.status(200), ctx.json(items));
}),
];

View File

@@ -0,0 +1,15 @@
const { rest } = window.MockServiceWorker;
import { umbUsersData } from '../../data/user.data.js';
import { slug } from './slug.js';
import { umbracoPath } from '@umbraco-cms/backoffice/utils';
export const handlers = [
rest.post(umbracoPath(`${slug}/set-user-groups`), async (req, res, ctx) => {
const data = await req.json();
if (!data) return;
umbUsersData.setUserGroups(data);
return res(ctx.status(200));
}),
];

View File

@@ -0,0 +1 @@
export const slug = '/user';