add handlers to get user items

This commit is contained in:
Mads Rasmussen
2023-09-26 10:10:41 +02:00
parent 3c377312b7
commit a0273e577f
2 changed files with 26 additions and 1 deletions

View File

@@ -1,7 +1,19 @@
import { UmbEntityData } from './entity.data.js';
import { umbUserGroupData } from './user-group.data.js';
import { UmbLoggedInUser } from '@umbraco-cms/backoffice/auth';
import { PagedUserResponseModel, UserResponseModel, UserStateModel } from '@umbraco-cms/backoffice/backend-api';
import {
PagedUserResponseModel,
UserItemResponseModel,
UserResponseModel,
UserStateModel,
} from '@umbraco-cms/backoffice/backend-api';
const createUserItem = (item: UserResponseModel): UserItemResponseModel => {
return {
name: item.name,
id: item.id,
};
};
// Temp mocked database
class UmbUserData extends UmbEntityData<UserResponseModel> {
@@ -16,6 +28,11 @@ class UmbUserData extends UmbEntityData<UserResponseModel> {
};
}
getItems(ids: Array<string>): Array<UserItemResponseModel> {
const items = this.data.filter((item) => ids.includes(item.id ?? ''));
return items.map((item) => createUserItem(item));
}
getCurrentUser(): UmbLoggedInUser {
const firstUser = this.data[0];
const permissions = firstUser.userGroupIds?.length ? umbUserGroupData.getPermissions(firstUser.userGroupIds) : [];

View File

@@ -6,6 +6,14 @@ 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.get(umbracoPath(`${slug}/filter`), (req, res, ctx) => {
//TODO: Implementer filter
const response = umbUsersData.getAll();