"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