Files
RayLab-Core/dist/modules/identity/infrastructure/mappers/prisma-role.mapper.js
T
2026-08-02 20:01:29 +07:00

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