31 lines
1.2 KiB
JavaScript
31 lines
1.2 KiB
JavaScript
"use strict";
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.PrismaRoleMapper = void 0;
|
|
const role_entity_1 = require("../../domain/entities/role.entity");
|
|
const permission_entity_1 = require("../../domain/entities/permission.entity");
|
|
class PrismaRoleMapper {
|
|
static toDomain(model) {
|
|
const permissions = (model.permissions || []).map((p) => {
|
|
const perm = p.permission || p; // p may be RolePermission with nested permission or permission itself
|
|
return permission_entity_1.PermissionData.restore({
|
|
id: perm.id,
|
|
name: perm.name,
|
|
description: perm.description,
|
|
createdAt: perm.createdAt,
|
|
updatedAt: perm.updatedAt,
|
|
});
|
|
});
|
|
return role_entity_1.RoleData.restore({
|
|
id: model.id,
|
|
code: model.code,
|
|
name: model.name,
|
|
description: model.description,
|
|
permissions,
|
|
isDefault: model.isDefault ?? false,
|
|
createdAt: model.createdAt,
|
|
updatedAt: model.updatedAt,
|
|
});
|
|
}
|
|
}
|
|
exports.PrismaRoleMapper = PrismaRoleMapper;
|
|
//# sourceMappingURL=prisma-role.mapper.js.map
|