@@ -3,9 +3,9 @@ import { RoleData } from '../../domain/entities/role.entity';
|
||||
import { PermissionData } from '../../domain/entities/permission.entity';
|
||||
|
||||
export class PrismaUserMapper {
|
||||
static toDomain(model: any): UserData {
|
||||
const roles: RoleData[] = (model.roles || []).map((ur: any) => {
|
||||
const r = ur.role;
|
||||
static toDomain(model: any): UserData {
|
||||
const roles: RoleData[] = (model.userRoles || model.roles || []).map((ur: any) => {
|
||||
const r = ur.role || ur.role;
|
||||
const permissions: PermissionData[] = (r?.permissions || []).map((rp: any) =>
|
||||
PermissionData.restore({
|
||||
id: rp.permission.id,
|
||||
@@ -27,21 +27,21 @@ export class PrismaUserMapper {
|
||||
});
|
||||
});
|
||||
|
||||
const permissions: PermissionData[] = (model.permissions || []).map((up: any) =>
|
||||
const permissions: PermissionData[] = (model.userPermissions || model.permissions || []).map((up: any) =>
|
||||
PermissionData.restore({
|
||||
id: up.permission.id,
|
||||
name: up.permission.name,
|
||||
description: up.permission.description,
|
||||
createdAt: up.permission.createdAt,
|
||||
updatedAt: up.permission.updatedAt,
|
||||
id: up.permission?.id || up.id,
|
||||
name: up.permission?.name || up.name,
|
||||
description: up.permission?.description || up.description,
|
||||
createdAt: up.permission?.createdAt || up.createdAt,
|
||||
updatedAt: up.permission?.updatedAt || up.updatedAt,
|
||||
}),
|
||||
);
|
||||
|
||||
return UserData.restore({
|
||||
return UserData.restore({
|
||||
id: model.id,
|
||||
authentikId: model.authentikUserId || model.authentikId || null,
|
||||
username: model.username || model.name || model.username,
|
||||
email: model.email,
|
||||
email: model.email,
|
||||
roles,
|
||||
permissions,
|
||||
isActive: model.isActive ?? true,
|
||||
@@ -52,13 +52,13 @@ export class PrismaUserMapper {
|
||||
});
|
||||
}
|
||||
|
||||
static toPersistence(userData: UserData) {
|
||||
static toPersistence(userData: UserData) {
|
||||
return {
|
||||
id: userData.id,
|
||||
authentikUserId: (userData as any).authentikUserId || userData.authentikId,
|
||||
authentikId: userData.authentikId,
|
||||
username: userData.username,
|
||||
email: userData.email,
|
||||
email: userData.email,
|
||||
isActive: userData.isActive,
|
||||
deletedAt: userData.deletedAt,
|
||||
lastSeenAt: userData.lastSeenAt,
|
||||
|
||||
Reference in New Issue
Block a user