fix npm run build

This commit is contained in:
Rayyan
2026-08-02 20:01:29 +07:00
parent 306c145f91
commit eb6031282a
236 changed files with 5557 additions and 47 deletions
@@ -0,0 +1,56 @@
"use strict";
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __metadata = (this && this.__metadata) || function (k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.RoleAssignPermissionHandler = void 0;
const common_1 = require("@nestjs/common");
const role_interface_1 = require("../../../domain/repositories/role.interface");
const permission_interface_1 = require("../../../domain/repositories/permission.interface");
const authorization_service_1 = require("../../../../authorization/authorization.service");
const event_bus_service_1 = require("../../../../../core/event-bus/event-bus.service");
let RoleAssignPermissionHandler = class RoleAssignPermissionHandler {
roleRepository;
permissionRepository;
authorizationService;
events;
constructor(roleRepository, permissionRepository, authorizationService, events) {
this.roleRepository = roleRepository;
this.permissionRepository = permissionRepository;
this.authorizationService = authorizationService;
this.events = events;
}
async execute(roleId, permissionId) {
const role = await this.roleRepository.findById(roleId);
if (!role)
throw new common_1.NotFoundException('Role not found.');
const perm = await this.permissionRepository.getById(permissionId);
if (!perm)
throw new common_1.NotFoundException('Permission not found.');
role.assignPermission(perm);
const updated = await this.roleRepository.update(role);
// Invalidate permissions cache for users who have this role
const userIds = await this.roleRepository.getAssignedUserIds(roleId);
for (const uid of userIds) {
await this.authorizationService.invalidateUserPermissions(uid);
}
// Publish role.updated event
this.events.publish({ id: require('crypto').randomUUID(), timestamp: new Date().toISOString(), type: 'RoleUpdated', payload: { roleId, permissionId } });
return updated;
}
};
exports.RoleAssignPermissionHandler = RoleAssignPermissionHandler;
exports.RoleAssignPermissionHandler = RoleAssignPermissionHandler = __decorate([
(0, common_1.Injectable)(),
__metadata("design:paramtypes", [role_interface_1.IRole,
permission_interface_1.IPermission,
authorization_service_1.AuthorizationService,
event_bus_service_1.EventBus])
], RoleAssignPermissionHandler);
//# sourceMappingURL=assign-permission.handler.js.map
@@ -0,0 +1 @@
{"version":3,"file":"assign-permission.handler.js","sourceRoot":"","sources":["../../../../../../src/modules/identity/application/handlers/role/assign-permission.handler.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAAuE;AACvE,gFAAoE;AACpE,4FAAgF;AAChF,2FAAuF;AACvF,uFAA2E;AAGpE,IAAM,2BAA2B,GAAjC,MAAM,2BAA2B;IAEnB;IACA;IACA;IACA;IAJnB,YACmB,cAAqB,EACrB,oBAAiC,EACjC,oBAA0C,EAC1C,MAAgB;QAHhB,mBAAc,GAAd,cAAc,CAAO;QACrB,yBAAoB,GAApB,oBAAoB,CAAa;QACjC,yBAAoB,GAApB,oBAAoB,CAAsB;QAC1C,WAAM,GAAN,MAAM,CAAU;IAChC,CAAC;IAEJ,KAAK,CAAC,OAAO,CAAC,MAAc,EAAE,YAAoB;QAChD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACxD,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,0BAAiB,CAAC,iBAAiB,CAAC,CAAC;QAE1D,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QACnE,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,0BAAiB,CAAC,uBAAuB,CAAC,CAAC;QAEhE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAE5B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAEvD,4DAA4D;QAC5D,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;QACrE,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;YAC1B,MAAM,IAAI,CAAC,oBAAoB,CAAC,yBAAyB,CAAC,GAAG,CAAC,CAAC;QACjE,CAAC;QAED,6BAA6B;QAC7B,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC;QAEzJ,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAA;AA9BY,kEAA2B;sCAA3B,2BAA2B;IADvC,IAAA,mBAAU,GAAE;qCAGwB,sBAAK;QACC,kCAAW;QACX,4CAAoB;QAClC,4BAAQ;GALxB,2BAA2B,CA8BvC"}
@@ -0,0 +1,54 @@
"use strict";
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __metadata = (this && this.__metadata) || function (k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.CreateRoleHandler = void 0;
const common_1 = require("@nestjs/common");
const role_interface_1 = require("../../../domain/repositories/role.interface");
const role_entity_1 = require("../../../domain/entities/role.entity");
const event_bus_service_1 = require("../../../../../core/event-bus/event-bus.service");
const crypto = require('crypto');
let CreateRoleHandler = class CreateRoleHandler {
roleRepository;
events;
constructor(roleRepository, events) {
this.roleRepository = roleRepository;
this.events = events;
}
async execute(dto) {
// basic validation
if (!dto.code || !dto.name)
throw new common_1.ConflictException('Missing required fields');
try {
const role = role_entity_1.RoleData.restore({
id: crypto.randomUUID(),
code: dto.code,
name: dto.name,
description: dto.description || '',
permissions: [],
isDefault: dto.isDefault || false,
createdAt: new Date(),
updatedAt: new Date(),
});
const created = await this.roleRepository.create(role);
this.events.publish({ id: require('crypto').randomUUID(), timestamp: new Date().toISOString(), type: 'RoleCreated', payload: { roleId: created.id } });
return created;
}
catch (e) {
throw new common_1.ConflictException('Role creation failed.');
}
}
};
exports.CreateRoleHandler = CreateRoleHandler;
exports.CreateRoleHandler = CreateRoleHandler = __decorate([
(0, common_1.Injectable)(),
__metadata("design:paramtypes", [role_interface_1.IRole, event_bus_service_1.EventBus])
], CreateRoleHandler);
//# sourceMappingURL=create-role.handler.js.map
@@ -0,0 +1 @@
{"version":3,"file":"create-role.handler.js","sourceRoot":"","sources":["../../../../../../src/modules/identity/application/handlers/role/create-role.handler.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA+D;AAC/D,gFAAoE;AACpE,sEAAgE;AAChE,uFAA2E;AAE3E,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;AAG1B,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB;IACC;IAAwC;IAArE,YAA6B,cAAqB,EAAmB,MAAgB;QAAxD,mBAAc,GAAd,cAAc,CAAO;QAAmB,WAAM,GAAN,MAAM,CAAU;IAAG,CAAC;IAEzF,KAAK,CAAC,OAAO,CAAC,GAAQ;QACpB,mBAAmB;QACnB,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI;YAAE,MAAM,IAAI,0BAAiB,CAAC,yBAAyB,CAAC,CAAC;QAEnF,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,sBAAQ,CAAC,OAAO,CAAC;gBAC5B,EAAE,EAAE,MAAM,CAAC,UAAU,EAAE;gBACvB,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,WAAW,EAAE,GAAG,CAAC,WAAW,IAAI,EAAE;gBAClC,WAAW,EAAE,EAAE;gBACf,SAAS,EAAE,GAAG,CAAC,SAAS,IAAI,KAAK;gBACjC,SAAS,EAAE,IAAI,IAAI,EAAE;gBACrB,SAAS,EAAE,IAAI,IAAI,EAAE;aACf,CAAC,CAAC;YAEV,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAEvD,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YAEvJ,OAAO,OAAO,CAAC;QACjB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,IAAI,0BAAiB,CAAC,uBAAuB,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;CACF,CAAA;AA5BY,8CAAiB;4BAAjB,iBAAiB;IAD7B,IAAA,mBAAU,GAAE;qCAEkC,sBAAK,EAA2B,4BAAQ;GAD1E,iBAAiB,CA4B7B"}
@@ -0,0 +1,45 @@
"use strict";
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __metadata = (this && this.__metadata) || function (k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.DeleteRoleHandler = void 0;
const common_1 = require("@nestjs/common");
const role_interface_1 = require("../../../domain/repositories/role.interface");
const authorization_service_1 = require("../../../../authorization/authorization.service");
const event_bus_service_1 = require("../../../../../core/event-bus/event-bus.service");
let DeleteRoleHandler = class DeleteRoleHandler {
roleRepository;
authorizationService;
events;
constructor(roleRepository, authorizationService, events) {
this.roleRepository = roleRepository;
this.authorizationService = authorizationService;
this.events = events;
}
async execute(id) {
const role = await this.roleRepository.findById(id);
if (!role)
throw new common_1.NotFoundException('Role not found.');
// get affected users before delete
const userIds = await this.roleRepository.getAssignedUserIds(id);
await this.roleRepository.delete(id);
// invalidate caches
for (const uid of userIds)
await this.authorizationService.invalidateUserPermissions(uid);
this.events.publish({ id: require('crypto').randomUUID(), timestamp: new Date().toISOString(), type: 'RoleDeleted', payload: { roleId: id } });
return;
}
};
exports.DeleteRoleHandler = DeleteRoleHandler;
exports.DeleteRoleHandler = DeleteRoleHandler = __decorate([
(0, common_1.Injectable)(),
__metadata("design:paramtypes", [role_interface_1.IRole, authorization_service_1.AuthorizationService, event_bus_service_1.EventBus])
], DeleteRoleHandler);
//# sourceMappingURL=delete-role.handler.js.map
@@ -0,0 +1 @@
{"version":3,"file":"delete-role.handler.js","sourceRoot":"","sources":["../../../../../../src/modules/identity/application/handlers/role/delete-role.handler.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA+D;AAC/D,gFAAoE;AACpE,2FAAuF;AACvF,uFAA2E;AAGpE,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB;IACC;IAAwC;IAA6D;IAAlI,YAA6B,cAAqB,EAAmB,oBAA0C,EAAmB,MAAgB;QAArH,mBAAc,GAAd,cAAc,CAAO;QAAmB,yBAAoB,GAApB,oBAAoB,CAAsB;QAAmB,WAAM,GAAN,MAAM,CAAU;IAAG,CAAC;IAEtJ,KAAK,CAAC,OAAO,CAAC,EAAU;QACtB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACpD,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,0BAAiB,CAAC,iBAAiB,CAAC,CAAC;QAE1D,mCAAmC;QACnC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;QAEjE,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAErC,oBAAoB;QACpB,KAAK,MAAM,GAAG,IAAI,OAAO;YAAE,MAAM,IAAI,CAAC,oBAAoB,CAAC,yBAAyB,CAAC,GAAG,CAAC,CAAC;QAE1F,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QAE/I,OAAO;IACT,CAAC;CACF,CAAA;AAnBY,8CAAiB;4BAAjB,iBAAiB;IAD7B,IAAA,mBAAU,GAAE;qCAEkC,sBAAK,EAAyC,4CAAoB,EAA2B,4BAAQ;GADvI,iBAAiB,CAmB7B"}
@@ -0,0 +1,29 @@
"use strict";
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __metadata = (this && this.__metadata) || function (k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.GetRoleHandler = void 0;
const common_1 = require("@nestjs/common");
const role_interface_1 = require("../../../domain/repositories/role.interface");
let GetRoleHandler = class GetRoleHandler {
roleRepository;
constructor(roleRepository) {
this.roleRepository = roleRepository;
}
async execute(id) {
return this.roleRepository.findById(id);
}
};
exports.GetRoleHandler = GetRoleHandler;
exports.GetRoleHandler = GetRoleHandler = __decorate([
(0, common_1.Injectable)(),
__metadata("design:paramtypes", [role_interface_1.IRole])
], GetRoleHandler);
//# sourceMappingURL=get-role.handler.js.map
@@ -0,0 +1 @@
{"version":3,"file":"get-role.handler.js","sourceRoot":"","sources":["../../../../../../src/modules/identity/application/handlers/role/get-role.handler.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAC5C,gFAAoE;AAG7D,IAAM,cAAc,GAApB,MAAM,cAAc;IACI;IAA7B,YAA6B,cAAqB;QAArB,mBAAc,GAAd,cAAc,CAAO;IAAG,CAAC;IAEtD,KAAK,CAAC,OAAO,CAAC,EAAU;QACtB,OAAO,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC1C,CAAC;CACF,CAAA;AANY,wCAAc;yBAAd,cAAc;IAD1B,IAAA,mBAAU,GAAE;qCAEkC,sBAAK;GADvC,cAAc,CAM1B"}
@@ -0,0 +1,29 @@
"use strict";
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __metadata = (this && this.__metadata) || function (k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.GetRolesHandler = void 0;
const common_1 = require("@nestjs/common");
const role_interface_1 = require("../../../domain/repositories/role.interface");
let GetRolesHandler = class GetRolesHandler {
roleRepository;
constructor(roleRepository) {
this.roleRepository = roleRepository;
}
async execute(query) {
return this.roleRepository.find({ page: query.page, limit: query.limit, search: query.search || null });
}
};
exports.GetRolesHandler = GetRolesHandler;
exports.GetRolesHandler = GetRolesHandler = __decorate([
(0, common_1.Injectable)(),
__metadata("design:paramtypes", [role_interface_1.IRole])
], GetRolesHandler);
//# sourceMappingURL=get-roles.handler.js.map
@@ -0,0 +1 @@
{"version":3,"file":"get-roles.handler.js","sourceRoot":"","sources":["../../../../../../src/modules/identity/application/handlers/role/get-roles.handler.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAC5C,gFAAoE;AAG7D,IAAM,eAAe,GAArB,MAAM,eAAe;IACG;IAA7B,YAA6B,cAAqB;QAArB,mBAAc,GAAd,cAAc,CAAO;IAAG,CAAC;IAEtD,KAAK,CAAC,OAAO,CAAC,KAAyD;QACrE,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC,CAAC;IAC1G,CAAC;CACF,CAAA;AANY,0CAAe;0BAAf,eAAe;IAD3B,IAAA,mBAAU,GAAE;qCAEkC,sBAAK;GADvC,eAAe,CAM3B"}
@@ -0,0 +1,46 @@
"use strict";
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __metadata = (this && this.__metadata) || function (k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.RoleRemovePermissionHandler = void 0;
const common_1 = require("@nestjs/common");
const role_interface_1 = require("../../../domain/repositories/role.interface");
const authorization_service_1 = require("../../../../authorization/authorization.service");
const event_bus_service_1 = require("../../../../../core/event-bus/event-bus.service");
let RoleRemovePermissionHandler = class RoleRemovePermissionHandler {
roleRepository;
authorizationService;
events;
constructor(roleRepository, authorizationService, events) {
this.roleRepository = roleRepository;
this.authorizationService = authorizationService;
this.events = events;
}
async execute(roleId, permissionId) {
const role = await this.roleRepository.findById(roleId);
if (!role)
throw new common_1.NotFoundException('Role not found.');
role.removePermission(permissionId);
const updated = await this.roleRepository.update(role);
// Invalidate caches for users with the role
const userIds = await this.roleRepository.getAssignedUserIds(roleId);
for (const uid of userIds)
await this.authorizationService.invalidateUserPermissions(uid);
// Publish event
this.events.publish({ id: require('crypto').randomUUID(), timestamp: new Date().toISOString(), type: 'RoleUpdated', payload: { roleId, removedPermissionId: permissionId } });
return updated;
}
};
exports.RoleRemovePermissionHandler = RoleRemovePermissionHandler;
exports.RoleRemovePermissionHandler = RoleRemovePermissionHandler = __decorate([
(0, common_1.Injectable)(),
__metadata("design:paramtypes", [role_interface_1.IRole, authorization_service_1.AuthorizationService, event_bus_service_1.EventBus])
], RoleRemovePermissionHandler);
//# sourceMappingURL=remove-permission.handler.js.map
@@ -0,0 +1 @@
{"version":3,"file":"remove-permission.handler.js","sourceRoot":"","sources":["../../../../../../src/modules/identity/application/handlers/role/remove-permission.handler.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA+D;AAC/D,gFAAoE;AACpE,2FAAuF;AACvF,uFAA2E;AAGpE,IAAM,2BAA2B,GAAjC,MAAM,2BAA2B;IACT;IAAwC;IAA6D;IAAlI,YAA6B,cAAqB,EAAmB,oBAA0C,EAAmB,MAAgB;QAArH,mBAAc,GAAd,cAAc,CAAO;QAAmB,yBAAoB,GAApB,oBAAoB,CAAsB;QAAmB,WAAM,GAAN,MAAM,CAAU;IAAG,CAAC;IAEtJ,KAAK,CAAC,OAAO,CAAC,MAAc,EAAE,YAAoB;QAChD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACxD,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,0BAAiB,CAAC,iBAAiB,CAAC,CAAC;QAE1D,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC;QAEpC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAEvD,4CAA4C;QAC5C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;QACrE,KAAK,MAAM,GAAG,IAAI,OAAO;YAAE,MAAM,IAAI,CAAC,oBAAoB,CAAC,yBAAyB,CAAC,GAAG,CAAC,CAAC;QAE1F,gBAAgB;QAChB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,mBAAmB,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC;QAE9K,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAA;AApBY,kEAA2B;sCAA3B,2BAA2B;IADvC,IAAA,mBAAU,GAAE;qCAEkC,sBAAK,EAAyC,4CAAoB,EAA2B,4BAAQ;GADvI,2BAA2B,CAoBvC"}
@@ -0,0 +1,53 @@
"use strict";
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __metadata = (this && this.__metadata) || function (k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.UpdateRoleHandler = void 0;
const common_1 = require("@nestjs/common");
const role_interface_1 = require("../../../domain/repositories/role.interface");
const authorization_service_1 = require("../../../../authorization/authorization.service");
const event_bus_service_1 = require("../../../../../core/event-bus/event-bus.service");
let UpdateRoleHandler = class UpdateRoleHandler {
roleRepository;
authorizationService;
events;
constructor(roleRepository, authorizationService, events) {
this.roleRepository = roleRepository;
this.authorizationService = authorizationService;
this.events = events;
}
async execute(id, dto) {
const role = await this.roleRepository.findById(id);
if (!role)
throw new common_1.NotFoundException('Role not found.');
// validation
if (dto.name && dto.name.length < 2)
throw new common_1.BadRequestException('Name too short');
if (dto.name)
role.changeName(dto.name);
if (dto.description !== undefined)
role.changeDescription(dto.description);
if (dto.isDefault !== undefined)
role.setDefault(!!dto.isDefault);
const updated = await this.roleRepository.update(role);
// invalidate caches for users with this role
const userIds = await this.roleRepository.getAssignedUserIds(id);
for (const uid of userIds)
await this.authorizationService.invalidateUserPermissions(uid);
this.events.publish({ id: require('crypto').randomUUID(), timestamp: new Date().toISOString(), type: 'RoleUpdated', payload: { roleId: id } });
return updated;
}
};
exports.UpdateRoleHandler = UpdateRoleHandler;
exports.UpdateRoleHandler = UpdateRoleHandler = __decorate([
(0, common_1.Injectable)(),
__metadata("design:paramtypes", [role_interface_1.IRole, authorization_service_1.AuthorizationService, event_bus_service_1.EventBus])
], UpdateRoleHandler);
//# sourceMappingURL=update-role.handler.js.map
@@ -0,0 +1 @@
{"version":3,"file":"update-role.handler.js","sourceRoot":"","sources":["../../../../../../src/modules/identity/application/handlers/role/update-role.handler.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAAoF;AACpF,gFAAoE;AACpE,2FAAuF;AACvF,uFAA2E;AAGpE,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB;IACC;IAAwC;IAA6D;IAAlI,YAA6B,cAAqB,EAAmB,oBAA0C,EAAmB,MAAgB;QAArH,mBAAc,GAAd,cAAc,CAAO;QAAmB,yBAAoB,GAApB,oBAAoB,CAAsB;QAAmB,WAAM,GAAN,MAAM,CAAU;IAAG,CAAC;IAEtJ,KAAK,CAAC,OAAO,CAAC,EAAU,EAAE,GAAQ;QAChC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACpD,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,0BAAiB,CAAC,iBAAiB,CAAC,CAAC;QAE1D,aAAa;QACb,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC;YAAE,MAAM,IAAI,4BAAmB,CAAC,gBAAgB,CAAC,CAAC;QAErF,IAAI,GAAG,CAAC,IAAI;YAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,GAAG,CAAC,WAAW,KAAK,SAAS;YAAE,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC3E,IAAI,GAAG,CAAC,SAAS,KAAK,SAAS;YAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAElE,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAEvD,6CAA6C;QAC7C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;QACjE,KAAK,MAAM,GAAG,IAAI,OAAO;YAAE,MAAM,IAAI,CAAC,oBAAoB,CAAC,yBAAyB,CAAC,GAAG,CAAC,CAAC;QAE1F,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QAE/I,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAA;AAxBY,8CAAiB;4BAAjB,iBAAiB;IAD7B,IAAA,mBAAU,GAAE;qCAEkC,sBAAK,EAAyC,4CAAoB,EAA2B,4BAAQ;GADvI,iBAAiB,CAwB7B"}