move filter handler to its own file

This commit is contained in:
Mads Rasmussen
2023-11-02 14:52:34 +01:00
parent 83fb79f338
commit 007ef13dc5
4 changed files with 31 additions and 14 deletions

View File

@@ -1,11 +1,12 @@
import { UmbId } from '@umbraco-cms/backoffice/id';
import { UmbEntityData } from './entity.data.js';
import { umbUserGroupData } from './user-group.data.js';
import { UmbId } from '@umbraco-cms/backoffice/id';
import { UmbLoggedInUser } from '@umbraco-cms/backoffice/auth';
import {
CreateUserRequestModel,
CreateUserResponseModel,
InviteUserRequestModel,
PagedUserResponseModel,
UpdateUserGroupsOnUserRequestModel,
UserItemResponseModel,
UserResponseModel,
@@ -139,6 +140,11 @@ class UmbUserData extends UmbEntityData<UserResponseModel> {
});
}
/**
* Invites a user
* @param {InviteUserRequestModel} data
* @memberof UmbUserData
*/
invite(data: InviteUserRequestModel): void {
const invitedUser = {
status: UserStateModel.INVITED,
@@ -147,6 +153,11 @@ class UmbUserData extends UmbEntityData<UserResponseModel> {
this.createUser(invitedUser);
}
filter (filter: string): PagedUserResponseModel {
const { total, items } = this.getAll();
return { total, items };
};
}
export const data: Array<UserResponseModel & { type: string }> = [

View File

@@ -4,23 +4,16 @@ 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;
const response = umbUsersData.createUser(data);
return res(ctx.status(200), ctx.json(response));
}),
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();
rest.post(umbracoPath(`${slug}`), async (req, res, ctx) => {
const data = await req.json();
if (!data) return;
const response = umbUsersData.createUser(data);
return res(ctx.status(200), ctx.json(response));
}),

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}/filter`), (req, res, ctx) => {
const response = umbUsersData.filter();
return res(ctx.status(200), ctx.json(response));
}),
];

View File

@@ -7,6 +7,7 @@ import { handlers as disableHandlers } from './disable.handlers.js';
import { handlers as changePasswordHandlers } from './change-password.handlers.js';
import { handlers as unlockHandlers } from './unlock.handlers.js';
import { handlers as inviteHandlers } from './invite.handlers.js';
import { handlers as filterHandlers } from './filter.handlers.js';
export const handlers = [
...itemHandlers,
@@ -16,6 +17,7 @@ export const handlers = [
...setUserGroupsHandlers,
...changePasswordHandlers,
...unlockHandlers,
...detailHandlers,
...filterHandlers,
...inviteHandlers,
...detailHandlers,
];