@open-rlb/nestjs-amqp 2.0.3 → 2.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. package/README.md +4 -2
  2. package/amqp-lib/config/rabbitmq.config.d.ts +6 -0
  3. package/modules/acl/const.d.ts +1 -4
  4. package/modules/acl/const.js +1 -4
  5. package/modules/acl/const.js.map +1 -1
  6. package/modules/acl/models.d.ts +5 -7
  7. package/modules/acl/repository/acl-action.repository.d.ts +1 -5
  8. package/modules/acl/repository/acl-action.repository.js.map +1 -1
  9. package/modules/acl/repository/acl-grant.repository.d.ts +0 -1
  10. package/modules/acl/repository/acl-grant.repository.js.map +1 -1
  11. package/modules/acl/repository/acl-role.repository.d.ts +1 -5
  12. package/modules/acl/repository/acl-role.repository.js.map +1 -1
  13. package/modules/acl/services/acl-management.service.d.ts +6 -7
  14. package/modules/acl/services/acl-management.service.js +44 -61
  15. package/modules/acl/services/acl-management.service.js.map +1 -1
  16. package/modules/acl/services/acl.service.d.ts +1 -3
  17. package/modules/acl/services/acl.service.js +5 -47
  18. package/modules/acl/services/acl.service.js.map +1 -1
  19. package/modules/broker/broker.module.d.ts +2 -4
  20. package/modules/broker/broker.module.js +23 -5
  21. package/modules/broker/broker.module.js.map +1 -1
  22. package/modules/broker/config/route-discovery.config.d.ts +2 -0
  23. package/modules/broker/const.d.ts +1 -0
  24. package/modules/broker/const.js +2 -1
  25. package/modules/broker/const.js.map +1 -1
  26. package/modules/broker/services/broker.service.js +1 -1
  27. package/modules/broker/services/broker.service.js.map +1 -1
  28. package/modules/broker/services/route-discovery-publisher.service.js +7 -5
  29. package/modules/broker/services/route-discovery-publisher.service.js.map +1 -1
  30. package/modules/gateway-admin/config/gateway-admin.config.d.ts +4 -0
  31. package/modules/gateway-admin/const.d.ts +1 -1
  32. package/modules/gateway-admin/const.js +1 -1
  33. package/modules/gateway-admin/const.js.map +1 -1
  34. package/modules/gateway-admin/gateway-admin.module.d.ts +7 -1
  35. package/modules/gateway-admin/gateway-admin.module.js +13 -0
  36. package/modules/gateway-admin/gateway-admin.module.js.map +1 -1
  37. package/modules/gateway-admin/repository/auth-provider.repository.d.ts +3 -4
  38. package/modules/gateway-admin/repository/auth-provider.repository.js.map +1 -1
  39. package/modules/gateway-admin/services/gateway-auth.service.d.ts +3 -4
  40. package/modules/gateway-admin/services/gateway-auth.service.js +15 -23
  41. package/modules/gateway-admin/services/gateway-auth.service.js.map +1 -1
  42. package/modules/gateway-admin/services/gateway-metrics.service.d.ts +3 -0
  43. package/modules/gateway-admin/services/gateway-metrics.service.js +9 -0
  44. package/modules/gateway-admin/services/gateway-metrics.service.js.map +1 -1
  45. package/modules/gateway-admin/services/route-sync.service.d.ts +3 -1
  46. package/modules/gateway-admin/services/route-sync.service.js +14 -8
  47. package/modules/gateway-admin/services/route-sync.service.js.map +1 -1
  48. package/modules/proxy/services/http-handler.service.d.ts +3 -0
  49. package/modules/proxy/services/http-handler.service.js +28 -4
  50. package/modules/proxy/services/http-handler.service.js.map +1 -1
  51. package/package.json +5 -1
  52. package/schematics/nest-add/files/acl/src/cache/in-memory-acl-store.ts +54 -0
  53. package/schematics/nest-add/files/acl/src/modules/database/repository/acl.repository.ts +74 -0
  54. package/schematics/nest-add/files/db-core/src/modules/database/repository/in-memory-collection.ts +122 -0
  55. package/schematics/nest-add/files/gateway-admin/src/modules/database/repository/gateway.repository.ts +151 -0
  56. package/schematics/nest-add/files/gateway-admin/src/modules/database/repository/route-sync.repository.ts +15 -0
  57. package/schematics/nest-add/files/skills/rlb-amqp/SKILL.md +30 -5
  58. package/schematics/nest-add/files/skills/rlb-amqp/references/config-schema.md +182 -93
  59. package/schematics/nest-add/files/skills/rlb-amqp/references/gotchas.md +120 -79
  60. package/schematics/nest-add/files/skills/rlb-amqp-acl/SKILL.md +185 -0
  61. package/schematics/nest-add/files/skills/rlb-amqp-add-action/SKILL.md +49 -2
  62. package/schematics/nest-add/files/skills/rlb-amqp-add-route/SKILL.md +82 -19
  63. package/schematics/nest-add/files/skills/rlb-amqp-add-ws-event/SKILL.md +40 -18
  64. package/schematics/nest-add/files/skills/rlb-amqp-gateway-admin/SKILL.md +233 -0
  65. package/schematics/nest-add/files/skills/rlb-amqp-scaffold/SKILL.md +172 -42
  66. package/schematics/nest-add/index.js +612 -142
  67. package/schematics/nest-add/index.js.map +1 -1
  68. package/schematics/nest-add/index.ts +673 -241
  69. package/schematics/nest-add/init.schema.d.ts +10 -1
  70. package/schematics/nest-add/init.schema.ts +29 -3
  71. package/schematics/nest-add/schema.json +37 -8
package/README.md CHANGED
@@ -1,5 +1,7 @@
1
1
  # @open-rlb/nestjs-amqp
2
2
 
3
+ > 📖 **Full English documentation:** [`docs/`](./docs/README.md) — paginated guides for the Broker, Gateway, ACL and Gateway-admin modules, plus Getting Started and Troubleshooting. (This README is the older Italian overview.)
4
+
3
5
  Libreria **NestJS** che fornisce un'astrazione di alto livello su **RabbitMQ/AMQP**, più un **API Gateway HTTP/WebSocket** che traduce le richieste esterne in messaggi sul broker.
4
6
 
5
7
  È il cuore di un'architettura a microservizi event-driven: i servizi comunicano tra loro via RabbitMQ con semplici decoratori, e un gateway espone tutto al mondo esterno via HTTP/WS, il tutto guidato dalla configurazione YAML.
@@ -531,7 +533,7 @@ ws.send(JSON.stringify({ action: 'unsubscribe', topic: 'orders' }));
531
533
 
532
534
  ## Moduli opzionali `AclModule` e `GatewayAdminModule` (persistenza fornita dal consumer)
533
535
 
534
- Due moduli **opzionali** per gestire ACL e configurazione gateway a database. **La lib non dipende da Mongo/Redis**: definisce i servizi/cache + i **contratti repository (classi astratte)** e l'interfaccia `AclCacheStore`; **il consumer fornisce le implementazioni** (es. Mongo + Redis). Esempio completo e funzionante: **[`apps/gateway-2`](apps/gateway-2)** — per restare autonomo usa **repository in-RAM** (`InMemory*Repository`) e una **cache L2 in-RAM** (`InMemoryAclStore`), così gira solo con RabbitMQ; in produzione si rimpiazzano con implementazioni Mongo/Redis senza toccare la lib.
536
+ Due moduli **opzionali** per gestire ACL e configurazione gateway a database. **La lib non dipende da Mongo/Redis**: definisce i servizi/cache + i **contratti repository (classi astratte)** e l'interfaccia `AclCacheStore`; **il consumer fornisce le implementazioni** (es. Mongo + Redis). Esempio completo e funzionante: **[`sample/config-sample/gateway-in-memory`](sample/config-sample/gateway-in-memory)** — per restare autonomo usa **repository in-RAM** (`InMemory*Repository`) e una **cache L2 in-RAM** (`InMemoryAclStore`), così gira solo con RabbitMQ; in produzione si rimpiazzano con implementazioni Mongo/Redis senza toccare la lib.
535
537
 
536
538
  ### `AclModule` — ACL DB-backed con cache 2-livelli
537
539
 
@@ -575,7 +577,7 @@ export class AppModule {}
575
577
  - `canUserDoGtw(roles, userId)` — **filtro primario del gateway** (role-based, OR): vero se l'utente ha almeno uno dei ruoli, resource-agnostico. È quello usato da `checkRoles` su `path.roles`. RPC `acl-can-user-do-gtw`.
576
578
  - `canUserDo(roles, userId, resourceId)` — **lato microservizio**: vero se un grant **globale** (senza `resourceId`) **oppure** legato a quella risorsa dà all'utente il ruolo (`roles` accetta `string | string[]`). La risorsa è nota solo al ms, che chiama l'RPC `acl-can-user-do` con payload `{ userId, resource, roles }`.
577
579
  - **Invalidazione**: ogni mutazione (grant/role/action) svuota L1 e L2 → la prossima verifica pesca dal DB. Senza L2, la coerenza multi-istanza è limitata dal `ramTtlMs`.
578
- - **Cache L2 pluggable**: il consumer fornisce `{ provide: RLB_ACL_CACHE_STORE, useClass/useExisting }` che implementa `AclCacheStore` (`get/set/del/keys`). In `gateway-2` è `InMemoryAclStore` (mock in RAM, nessuna dipendenza esterna); in produzione plugga uno store condiviso (es. Redis).
580
+ - **Cache L2 pluggable**: il consumer fornisce `{ provide: RLB_ACL_CACHE_STORE, useClass/useExisting }` che implementa `AclCacheStore` (`get/set/del/keys`). In `gateway-in-memory` è `InMemoryAclStore` (mock in RAM, nessuna dipendenza esterna); in produzione plugga uno store condiviso (es. Redis).
579
581
 
580
582
  ### `GatewayAdminModule` — CRUD rotte/auth + liste + metriche
581
583
 
@@ -39,6 +39,12 @@ export interface RabbitMQConfig {
39
39
  replyQueues?: {
40
40
  [key: string]: string;
41
41
  };
42
+ routeDiscovery?: {
43
+ serviceName?: string;
44
+ publishOnBoot?: boolean;
45
+ exchange?: string;
46
+ queue?: string;
47
+ };
42
48
  }
43
49
  export interface ConnectionInitOptions {
44
50
  wait?: boolean;
@@ -5,16 +5,13 @@ export declare const ACL_ACTIONS: {
5
5
  readonly canUserDo: "acl-can-user-do";
6
6
  readonly canUserDoGtw: "acl-can-user-do-gtw";
7
7
  readonly listResourcesByUser: "acl-list-resources-by-user";
8
- readonly listByUser: "acl-list-by-user";
9
- readonly verifyAccess: "acl-verify-access";
10
8
  readonly grant: "acl-grant";
11
9
  readonly revoke: "acl-revoke";
12
10
  readonly invalidate: "acl-invalidate";
13
- readonly actionCreate: "acl-action-create";
14
11
  readonly actionUpdate: "acl-action-update";
15
12
  readonly actionDelete: "acl-action-delete";
16
13
  readonly actionList: "acl-action-list";
17
- readonly roleCreate: "acl-role-create";
14
+ readonly actionGet: "acl-action-get";
18
15
  readonly roleUpdate: "acl-role-update";
19
16
  readonly roleDelete: "acl-role-delete";
20
17
  readonly roleList: "acl-role-list";
@@ -8,16 +8,13 @@ exports.ACL_ACTIONS = {
8
8
  canUserDo: 'acl-can-user-do',
9
9
  canUserDoGtw: 'acl-can-user-do-gtw',
10
10
  listResourcesByUser: 'acl-list-resources-by-user',
11
- listByUser: 'acl-list-by-user',
12
- verifyAccess: 'acl-verify-access',
13
11
  grant: 'acl-grant',
14
12
  revoke: 'acl-revoke',
15
13
  invalidate: 'acl-invalidate',
16
- actionCreate: 'acl-action-create',
17
14
  actionUpdate: 'acl-action-update',
18
15
  actionDelete: 'acl-action-delete',
19
16
  actionList: 'acl-action-list',
20
- roleCreate: 'acl-role-create',
17
+ actionGet: 'acl-action-get',
21
18
  roleUpdate: 'acl-role-update',
22
19
  roleDelete: 'acl-role-delete',
23
20
  roleList: 'acl-role-list',
@@ -1 +1 @@
1
- {"version":3,"file":"const.js","sourceRoot":"","sources":["../../../libs/rlb-nestjs-amqp/src/modules/acl/const.ts"],"names":[],"mappings":";;;AAGa,QAAA,SAAS,GAAG,SAAS,CAAC;AAEtB,QAAA,eAAe,GAAG,iBAAiB,CAAC;AAEpC,QAAA,mBAAmB,GAAG,qBAAqB,CAAC;AAG5C,QAAA,WAAW,GAAG;IAEzB,SAAS,EAAE,iBAAiB;IAE5B,YAAY,EAAE,qBAAqB;IAEnC,mBAAmB,EAAE,4BAA4B;IAEjD,UAAU,EAAE,kBAAkB;IAE9B,YAAY,EAAE,mBAAmB;IACjC,KAAK,EAAE,WAAW;IAClB,MAAM,EAAE,YAAY;IACpB,UAAU,EAAE,gBAAgB;IAC5B,YAAY,EAAE,mBAAmB;IACjC,YAAY,EAAE,mBAAmB;IACjC,YAAY,EAAE,mBAAmB;IACjC,UAAU,EAAE,iBAAiB;IAC7B,UAAU,EAAE,iBAAiB;IAC7B,UAAU,EAAE,iBAAiB;IAC7B,UAAU,EAAE,iBAAiB;IAC7B,QAAQ,EAAE,eAAe;IACzB,OAAO,EAAE,cAAc;CACf,CAAC"}
1
+ {"version":3,"file":"const.js","sourceRoot":"","sources":["../../../libs/rlb-nestjs-amqp/src/modules/acl/const.ts"],"names":[],"mappings":";;;AAGa,QAAA,SAAS,GAAG,SAAS,CAAC;AAEtB,QAAA,eAAe,GAAG,iBAAiB,CAAC;AAEpC,QAAA,mBAAmB,GAAG,qBAAqB,CAAC;AAG5C,QAAA,WAAW,GAAG;IAEzB,SAAS,EAAE,iBAAiB;IAE5B,YAAY,EAAE,qBAAqB;IAEnC,mBAAmB,EAAE,4BAA4B;IACjD,KAAK,EAAE,WAAW;IAClB,MAAM,EAAE,YAAY;IACpB,UAAU,EAAE,gBAAgB;IAE5B,YAAY,EAAE,mBAAmB;IACjC,YAAY,EAAE,mBAAmB;IACjC,UAAU,EAAE,iBAAiB;IAC7B,SAAS,EAAE,gBAAgB;IAC3B,UAAU,EAAE,iBAAiB;IAC7B,UAAU,EAAE,iBAAiB;IAC7B,QAAQ,EAAE,eAAe;IACzB,OAAO,EAAE,cAAc;CACf,CAAC"}
@@ -1,20 +1,18 @@
1
- export interface AclAction<Id = string> {
2
- _id?: Id;
1
+ export interface AclAction {
3
2
  name: string;
4
3
  description?: string;
5
4
  }
6
- export interface AclRole<Id = string> {
7
- _id?: Id;
5
+ export interface AclRole {
8
6
  name: string;
9
7
  description?: string;
10
8
  actions: string[];
11
9
  }
12
10
  export interface AclGrant<Id = string> {
13
11
  _id?: Id;
14
- resourceBusinessId?: string;
15
- friendlyName?: string;
16
12
  userId: string;
17
13
  resourceId?: string;
14
+ companyId?: string;
15
+ friendlyName?: string;
18
16
  roles: string[];
19
17
  }
20
18
  export interface AclResource {
@@ -23,6 +21,6 @@ export interface AclResource {
23
21
  friendlyName?: string;
24
22
  }
25
23
  export interface AclResourceGroup {
26
- resourceBusinessId?: string;
24
+ companyId?: string;
27
25
  resources: AclResource[];
28
26
  }
@@ -3,15 +3,11 @@ import { AclAction } from '../models';
3
3
  export declare abstract class AclActionRepository {
4
4
  abstract insert(model: AclAction): Promise<AclAction>;
5
5
  abstract insertMany(models: AclAction[]): Promise<AclAction[]>;
6
- abstract findById(id: string): Promise<AclAction>;
6
+ abstract findByName(name: string): Promise<AclAction>;
7
7
  abstract findOne(filter: Record<string, any>): Promise<AclAction>;
8
- abstract upsertById(id: string, model: Partial<AclAction>): Promise<AclAction>;
9
8
  abstract upsertOne(filter: Record<string, any>, model: Partial<AclAction>): Promise<AclAction>;
10
- abstract updateById(id: string, model: Partial<AclAction>): Promise<AclAction>;
11
9
  abstract updateOne(filter: Record<string, any>, model: Partial<AclAction>): Promise<AclAction>;
12
- abstract mergeById(id: string, model: Partial<AclAction>): Promise<AclAction>;
13
10
  abstract mergeOne(filter: Record<string, any>, model: Partial<AclAction>): Promise<AclAction>;
14
- abstract removeById(id: string): Promise<AclAction>;
15
11
  abstract removeOne(filter: Record<string, any>): Promise<AclAction>;
16
12
  abstract removeMany(filter: Record<string, any>): Promise<number>;
17
13
  abstract filter(filter: Record<string, any>): Promise<AclAction[]>;
@@ -1 +1 @@
1
- {"version":3,"file":"acl-action.repository.js","sourceRoot":"","sources":["../../../../libs/rlb-nestjs-amqp/src/modules/acl/repository/acl-action.repository.ts"],"names":[],"mappings":";;;AAQA,MAAsB,mBAAmB;CAoBxC;AApBD,kDAoBC"}
1
+ {"version":3,"file":"acl-action.repository.js","sourceRoot":"","sources":["../../../../libs/rlb-nestjs-amqp/src/modules/acl/repository/acl-action.repository.ts"],"names":[],"mappings":";;;AAQA,MAAsB,mBAAmB;CAgBxC;AAhBD,kDAgBC"}
@@ -11,5 +11,4 @@ export declare abstract class AclGrantRepository {
11
11
  abstract removeOne(filter: Record<string, any>): Promise<AclGrant>;
12
12
  abstract filter(filter: Record<string, any>): Promise<AclGrant[]>;
13
13
  abstract filterPaginated(filter: Record<string, any>, page?: number, limit?: number): Promise<PaginationModel<AclGrant>>;
14
- abstract checkActions(filter: Record<string, any>, actions: string | string[]): Promise<boolean>;
15
14
  }
@@ -1 +1 @@
1
- {"version":3,"file":"acl-grant.repository.js","sourceRoot":"","sources":["../../../../libs/rlb-nestjs-amqp/src/modules/acl/repository/acl-grant.repository.ts"],"names":[],"mappings":";;;AAOA,MAAsB,kBAAkB;CAiBvC;AAjBD,gDAiBC"}
1
+ {"version":3,"file":"acl-grant.repository.js","sourceRoot":"","sources":["../../../../libs/rlb-nestjs-amqp/src/modules/acl/repository/acl-grant.repository.ts"],"names":[],"mappings":";;;AAOA,MAAsB,kBAAkB;CAYvC;AAZD,gDAYC"}
@@ -3,14 +3,10 @@ import { AclRole } from '../models';
3
3
  export declare abstract class AclRoleRepository {
4
4
  abstract insert(model: AclRole): Promise<AclRole>;
5
5
  abstract insertMany(models: AclRole[]): Promise<AclRole[]>;
6
- abstract findById(id: string): Promise<AclRole>;
6
+ abstract findByName(name: string): Promise<AclRole>;
7
7
  abstract findOne(filter: Record<string, any>): Promise<AclRole>;
8
- abstract upsertById(id: string, model: Partial<AclRole>): Promise<AclRole>;
9
8
  abstract upsertOne(filter: Record<string, any>, model: Partial<AclRole>): Promise<AclRole>;
10
- abstract updateById(id: string, model: Partial<AclRole>): Promise<AclRole>;
11
9
  abstract updateOne(filter: Record<string, any>, model: Partial<AclRole>): Promise<AclRole>;
12
- abstract mergeById(id: string, model: Partial<AclRole>): Promise<AclRole>;
13
- abstract removeById(id: string): Promise<AclRole>;
14
10
  abstract removeOne(filter: Record<string, any>): Promise<AclRole>;
15
11
  abstract filter(filter: Record<string, any>): Promise<AclRole[]>;
16
12
  abstract filterPaginated(filter: Record<string, any>, page?: number, limit?: number): Promise<PaginationModel<AclRole>>;
@@ -1 +1 @@
1
- {"version":3,"file":"acl-role.repository.js","sourceRoot":"","sources":["../../../../libs/rlb-nestjs-amqp/src/modules/acl/repository/acl-role.repository.ts"],"names":[],"mappings":";;;AAQA,MAAsB,iBAAiB;CAmBtC;AAnBD,8CAmBC"}
1
+ {"version":3,"file":"acl-role.repository.js","sourceRoot":"","sources":["../../../../libs/rlb-nestjs-amqp/src/modules/acl/repository/acl-role.repository.ts"],"names":[],"mappings":";;;AAQA,MAAsB,iBAAiB;CAetC;AAfD,8CAeC"}
@@ -11,15 +11,14 @@ export declare class AclManagementService {
11
11
  private readonly cache;
12
12
  private readonly logger;
13
13
  constructor(actions: AclActionRepository, roles: AclRoleRepository, grants: AclGrantRepository, cache: AclCacheService);
14
- grant(userId: string, roles: string[], resourceId?: string, resourceBusinessId?: string, friendlyName?: string): Promise<AclGrant>;
15
- revoke(userId: string, resourceId?: string, roles?: string[]): Promise<AclGrant | null>;
14
+ grant(userId: string, roles: string[], resourceId?: string, companyId?: string, friendlyName?: string): Promise<AclGrant>;
15
+ revoke(userId: string, roles: string[], resourceId?: string, companyId?: string): Promise<AclGrant | null>;
16
16
  private findGrant;
17
- createAction(name: string, description?: string): Promise<AclAction>;
18
- updateAction(id: string, model: Partial<AclAction>): Promise<AclAction>;
19
- deleteAction(id: string): Promise<AclAction>;
17
+ upsertAction(name: string, description?: string): Promise<AclAction>;
18
+ deleteAction(name: string): Promise<AclAction>;
20
19
  listActions(page?: number, limit?: number): Promise<PaginationModel<AclAction>>;
21
- createRole(name: string, actions: string[], description?: string): Promise<AclRole>;
22
- updateRole(name: string, model: Partial<AclRole>): Promise<AclRole>;
20
+ getAction(name: string): Promise<AclAction>;
21
+ upsertRole(name: string, actions: string[], description?: string): Promise<AclRole>;
23
22
  deleteRole(name: string): Promise<AclRole>;
24
23
  listRoles(page?: number, limit?: number): Promise<PaginationModel<AclRole>>;
25
24
  getRole(name: string): Promise<AclRole>;
@@ -30,7 +30,7 @@ let AclManagementService = AclManagementService_1 = class AclManagementService {
30
30
  this.cache = cache;
31
31
  this.logger = new common_1.Logger(AclManagementService_1.name);
32
32
  }
33
- async grant(userId, roles, resourceId, resourceBusinessId, friendlyName) {
33
+ async grant(userId, roles, resourceId, companyId, friendlyName) {
34
34
  if (!userId)
35
35
  throw new common_2.BadRequestError('userId is required');
36
36
  if (!roles?.length)
@@ -42,32 +42,28 @@ let AclManagementService = AclManagementService_1 = class AclManagementService {
42
42
  const merged = Array.from(new Set([...(existing.roles || []), ...roles]));
43
43
  result = await this.grants.updateById(existing._id, {
44
44
  roles: merged,
45
- resourceBusinessId: resourceBusinessId ?? existing.resourceBusinessId,
45
+ companyId: companyId ?? existing.companyId,
46
46
  friendlyName: friendlyName ?? existing.friendlyName,
47
47
  });
48
48
  }
49
49
  else {
50
- result = await this.grants.insert({ userId, roles: Array.from(new Set(roles)), resourceId, resourceBusinessId, friendlyName });
50
+ result = await this.grants.insert({ userId, roles: Array.from(new Set(roles)), resourceId, companyId, friendlyName });
51
51
  }
52
52
  await this.cache.invalidate(userId);
53
53
  return result;
54
54
  }
55
- async revoke(userId, resourceId, roles) {
55
+ async revoke(userId, roles, resourceId, companyId) {
56
56
  if (!userId)
57
57
  throw new common_2.BadRequestError('userId is required');
58
+ if (!roles?.length)
59
+ throw new common_2.BadRequestError('roles are required');
58
60
  const existing = await this.findGrant(userId, resourceId);
59
61
  if (!existing)
60
62
  return null;
61
- let result;
62
- if (roles?.length) {
63
- const remaining = (existing.roles || []).filter((r) => !roles.includes(r));
64
- result = remaining.length
65
- ? await this.grants.updateById(existing._id, { roles: remaining })
66
- : await this.grants.removeById(existing._id);
67
- }
68
- else {
69
- result = await this.grants.removeById(existing._id);
70
- }
63
+ const remaining = (existing.roles || []).filter((r) => !roles.includes(r));
64
+ const result = remaining.length
65
+ ? await this.grants.updateById(existing._id, { roles: remaining })
66
+ : await this.grants.removeById(existing._id);
71
67
  await this.cache.invalidate(userId);
72
68
  return result;
73
69
  }
@@ -75,48 +71,43 @@ let AclManagementService = AclManagementService_1 = class AclManagementService {
75
71
  const all = await this.grants.filter({ userId });
76
72
  return (all || []).find((g) => (g.resourceId ?? null) === (resourceId ?? null));
77
73
  }
78
- async createAction(name, description) {
74
+ async upsertAction(name, description) {
79
75
  if (!name)
80
76
  throw new common_2.BadRequestError('name is required');
81
- const created = await this.actions.insert({ name, description });
82
- await this.cache.invalidate();
83
- return created;
84
- }
85
- async updateAction(id, model) {
86
- if (!id)
87
- throw new common_2.BadRequestError('id is required');
88
- const updated = await this.actions.updateById(id, model);
77
+ const model = { name, ...(description !== undefined ? { description } : {}) };
78
+ const result = await this.actions.upsertOne({ name }, model);
89
79
  await this.cache.invalidate();
90
- return updated;
80
+ return result;
91
81
  }
92
- async deleteAction(id) {
93
- const removed = await this.actions.removeById(id);
82
+ async deleteAction(name) {
83
+ if (!name)
84
+ throw new common_2.BadRequestError('name is required');
85
+ const removed = await this.actions.removeOne({ name });
94
86
  await this.cache.invalidate();
95
87
  return removed;
96
88
  }
97
89
  async listActions(page, limit) {
98
90
  return this.actions.filterPaginated({}, Number(page) || 1, Number(limit) || 10);
99
91
  }
100
- async createRole(name, actions, description) {
92
+ async getAction(name) {
93
+ if (!name)
94
+ throw new common_2.BadRequestError('name is required');
95
+ return this.actions.findByName(name);
96
+ }
97
+ async upsertRole(name, actions, description) {
101
98
  if (!name)
102
99
  throw new common_2.BadRequestError('name is required');
103
100
  if (!actions?.length)
104
101
  throw new common_2.BadRequestError('actions are required');
105
102
  await this.assertActionsExist(actions);
106
- const created = await this.roles.insert({ name, description, actions });
103
+ const model = { name, actions, ...(description !== undefined ? { description } : {}) };
104
+ const result = await this.roles.upsertOne({ name }, model);
107
105
  await this.cache.invalidate();
108
- return created;
106
+ return result;
109
107
  }
110
- async updateRole(name, model) {
108
+ async deleteRole(name) {
111
109
  if (!name)
112
110
  throw new common_2.BadRequestError('name is required');
113
- if (model?.actions?.length)
114
- await this.assertActionsExist(model.actions);
115
- const updated = await this.roles.updateOne({ name }, model);
116
- await this.cache.invalidate();
117
- return updated;
118
- }
119
- async deleteRole(name) {
120
111
  const removed = await this.roles.removeOne({ name });
121
112
  await this.cache.invalidate();
122
113
  return removed;
@@ -127,7 +118,7 @@ let AclManagementService = AclManagementService_1 = class AclManagementService {
127
118
  async getRole(name) {
128
119
  if (!name)
129
120
  throw new common_2.BadRequestError('name is required');
130
- return this.roles.findOne({ name });
121
+ return this.roles.findByName(name);
131
122
  }
132
123
  async getActionsByNames(names) {
133
124
  return this.roles.getActionsByNames(names);
@@ -151,7 +142,7 @@ __decorate([
151
142
  __param(0, (0, broker_1.BrokerParam)('body', 'userId')),
152
143
  __param(1, (0, broker_1.BrokerParam)('body', 'roles')),
153
144
  __param(2, (0, broker_1.BrokerParam)('body', 'resourceId')),
154
- __param(3, (0, broker_1.BrokerParam)('body', 'resourceBusinessId')),
145
+ __param(3, (0, broker_1.BrokerParam)('body', 'companyId')),
155
146
  __param(4, (0, broker_1.BrokerParam)('body', 'friendlyName')),
156
147
  __metadata("design:type", Function),
157
148
  __metadata("design:paramtypes", [String, Array, String, String, String]),
@@ -160,31 +151,24 @@ __decorate([
160
151
  __decorate([
161
152
  (0, broker_1.BrokerAction)(const_1.ACL_TOPIC, const_1.ACL_ACTIONS.revoke, 'rpc'),
162
153
  __param(0, (0, broker_1.BrokerParam)('body', 'userId')),
163
- __param(1, (0, broker_1.BrokerParam)('body', 'resourceId')),
164
- __param(2, (0, broker_1.BrokerParam)('body', 'roles')),
154
+ __param(1, (0, broker_1.BrokerParam)('body', 'roles')),
155
+ __param(2, (0, broker_1.BrokerParam)('body', 'resourceId')),
156
+ __param(3, (0, broker_1.BrokerParam)('body', 'companyId')),
165
157
  __metadata("design:type", Function),
166
- __metadata("design:paramtypes", [String, String, Array]),
158
+ __metadata("design:paramtypes", [String, Array, String, String]),
167
159
  __metadata("design:returntype", Promise)
168
160
  ], AclManagementService.prototype, "revoke", null);
169
161
  __decorate([
170
- (0, broker_1.BrokerAction)(const_1.ACL_TOPIC, const_1.ACL_ACTIONS.actionCreate, 'rpc'),
162
+ (0, broker_1.BrokerAction)(const_1.ACL_TOPIC, const_1.ACL_ACTIONS.actionUpdate, 'rpc'),
171
163
  __param(0, (0, broker_1.BrokerParam)('body', 'name')),
172
164
  __param(1, (0, broker_1.BrokerParam)('body', 'description')),
173
165
  __metadata("design:type", Function),
174
166
  __metadata("design:paramtypes", [String, String]),
175
167
  __metadata("design:returntype", Promise)
176
- ], AclManagementService.prototype, "createAction", null);
177
- __decorate([
178
- (0, broker_1.BrokerAction)(const_1.ACL_TOPIC, const_1.ACL_ACTIONS.actionUpdate, 'rpc'),
179
- __param(0, (0, broker_1.BrokerParam)('body', 'id')),
180
- __param(1, (0, broker_1.BrokerParam)('body-full')),
181
- __metadata("design:type", Function),
182
- __metadata("design:paramtypes", [String, Object]),
183
- __metadata("design:returntype", Promise)
184
- ], AclManagementService.prototype, "updateAction", null);
168
+ ], AclManagementService.prototype, "upsertAction", null);
185
169
  __decorate([
186
170
  (0, broker_1.BrokerAction)(const_1.ACL_TOPIC, const_1.ACL_ACTIONS.actionDelete, 'rpc'),
187
- __param(0, (0, broker_1.BrokerParam)('body', 'id')),
171
+ __param(0, (0, broker_1.BrokerParam)('body', 'name')),
188
172
  __metadata("design:type", Function),
189
173
  __metadata("design:paramtypes", [String]),
190
174
  __metadata("design:returntype", Promise)
@@ -198,22 +182,21 @@ __decorate([
198
182
  __metadata("design:returntype", Promise)
199
183
  ], AclManagementService.prototype, "listActions", null);
200
184
  __decorate([
201
- (0, broker_1.BrokerAction)(const_1.ACL_TOPIC, const_1.ACL_ACTIONS.roleCreate, 'rpc'),
185
+ (0, broker_1.BrokerAction)(const_1.ACL_TOPIC, const_1.ACL_ACTIONS.actionGet, 'rpc'),
202
186
  __param(0, (0, broker_1.BrokerParam)('body', 'name')),
203
- __param(1, (0, broker_1.BrokerParam)('body', 'actions')),
204
- __param(2, (0, broker_1.BrokerParam)('body', 'description')),
205
187
  __metadata("design:type", Function),
206
- __metadata("design:paramtypes", [String, Array, String]),
188
+ __metadata("design:paramtypes", [String]),
207
189
  __metadata("design:returntype", Promise)
208
- ], AclManagementService.prototype, "createRole", null);
190
+ ], AclManagementService.prototype, "getAction", null);
209
191
  __decorate([
210
192
  (0, broker_1.BrokerAction)(const_1.ACL_TOPIC, const_1.ACL_ACTIONS.roleUpdate, 'rpc'),
211
193
  __param(0, (0, broker_1.BrokerParam)('body', 'name')),
212
- __param(1, (0, broker_1.BrokerParam)('body-full')),
194
+ __param(1, (0, broker_1.BrokerParam)('body', 'actions')),
195
+ __param(2, (0, broker_1.BrokerParam)('body', 'description')),
213
196
  __metadata("design:type", Function),
214
- __metadata("design:paramtypes", [String, Object]),
197
+ __metadata("design:paramtypes", [String, Array, String]),
215
198
  __metadata("design:returntype", Promise)
216
- ], AclManagementService.prototype, "updateRole", null);
199
+ ], AclManagementService.prototype, "upsertRole", null);
217
200
  __decorate([
218
201
  (0, broker_1.BrokerAction)(const_1.ACL_TOPIC, const_1.ACL_ACTIONS.roleDelete, 'rpc'),
219
202
  __param(0, (0, broker_1.BrokerParam)('body', 'name')),
@@ -1 +1 @@
1
- {"version":3,"file":"acl-management.service.js","sourceRoot":"","sources":["../../../../libs/rlb-nestjs-amqp/src/modules/acl/services/acl-management.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acl-management.service.js","sourceRoot":"","sources":["../../../../libs/rlb-nestjs-amqp/src/modules/acl/services/acl-management.service.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { IAclRoleService } from '../../proxy/services/acl.service';
2
2
  import { AclCacheService } from '../cache/acl-cache.service';
3
- import { AclGrant, AclResourceGroup } from '../models';
3
+ import { AclResourceGroup } from '../models';
4
4
  import { AclGrantRepository } from '../repository/acl-grant.repository';
5
5
  import { AclRoleRepository } from '../repository/acl-role.repository';
6
6
  export declare class AclService implements IAclRoleService {
@@ -15,6 +15,4 @@ export declare class AclService implements IAclRoleService {
15
15
  handleCanUserDoGtw(userId: string, roles?: string | string[]): Promise<boolean>;
16
16
  handleCanUserDo(userId: string, resource: string, roles?: string | string[]): Promise<boolean>;
17
17
  listResourcesByUser(userId: string): Promise<AclResourceGroup[]>;
18
- listByUser(userId: string): Promise<AclGrant[]>;
19
- verifyAccess(userId: string, resourceId: string, action: string, resourceBusinessId?: string, productId?: string): Promise<boolean>;
20
18
  }
@@ -83,14 +83,14 @@ let AclService = AclService_1 = class AclService {
83
83
  const acls = await this.grants.filter({ userId });
84
84
  const grouped = {};
85
85
  for (const item of acls || []) {
86
- const businessId = item.resourceBusinessId ?? '';
87
- if (!grouped[businessId]) {
88
- grouped[businessId] = { resourceBusinessId: item.resourceBusinessId, resources: [] };
86
+ const companyKey = item.companyId ?? '';
87
+ if (!grouped[companyKey]) {
88
+ grouped[companyKey] = { companyId: item.companyId, resources: [] };
89
89
  }
90
- let resource = grouped[businessId].resources.find((r) => r.resourceId === item.resourceId);
90
+ let resource = grouped[companyKey].resources.find((r) => r.resourceId === item.resourceId);
91
91
  if (!resource) {
92
92
  resource = { resourceId: item.resourceId, actions: [], friendlyName: item.friendlyName };
93
- grouped[businessId].resources.push(resource);
93
+ grouped[companyKey].resources.push(resource);
94
94
  }
95
95
  const roleNames = Array.isArray(item.roles) ? item.roles : [item.roles];
96
96
  const actions = await this.roles.getActionsByNames(roleNames);
@@ -104,30 +104,6 @@ let AclService = AclService_1 = class AclService {
104
104
  throw error;
105
105
  }
106
106
  }
107
- async listByUser(userId) {
108
- try {
109
- return await this.grants.filter({ userId });
110
- }
111
- catch (error) {
112
- this.logger.error(error);
113
- throw error;
114
- }
115
- }
116
- async verifyAccess(userId, resourceId, action, resourceBusinessId, productId) {
117
- try {
118
- const businessId = resourceBusinessId ?? productId;
119
- const filter = {
120
- userId,
121
- resourceId,
122
- ...(businessId !== undefined ? { resourceBusinessId: businessId } : {}),
123
- };
124
- return await this.grants.checkActions(filter, action);
125
- }
126
- catch (error) {
127
- this.logger.error(error);
128
- throw error;
129
- }
130
- }
131
107
  };
132
108
  exports.AclService = AclService;
133
109
  __decorate([
@@ -154,24 +130,6 @@ __decorate([
154
130
  __metadata("design:paramtypes", [String]),
155
131
  __metadata("design:returntype", Promise)
156
132
  ], AclService.prototype, "listResourcesByUser", null);
157
- __decorate([
158
- (0, broker_1.BrokerAction)(const_1.ACL_TOPIC, const_1.ACL_ACTIONS.listByUser, 'rpc'),
159
- __param(0, (0, broker_1.BrokerParam)('body', 'userId')),
160
- __metadata("design:type", Function),
161
- __metadata("design:paramtypes", [String]),
162
- __metadata("design:returntype", Promise)
163
- ], AclService.prototype, "listByUser", null);
164
- __decorate([
165
- (0, broker_1.BrokerAction)(const_1.ACL_TOPIC, const_1.ACL_ACTIONS.verifyAccess, 'rpc'),
166
- __param(0, (0, broker_1.BrokerParam)('body', 'userId')),
167
- __param(1, (0, broker_1.BrokerParam)('body', 'resourceId')),
168
- __param(2, (0, broker_1.BrokerParam)('body', 'action')),
169
- __param(3, (0, broker_1.BrokerParam)('body', 'resourceBusinessId')),
170
- __param(4, (0, broker_1.BrokerParam)('body', 'productId')),
171
- __metadata("design:type", Function),
172
- __metadata("design:paramtypes", [String, String, String, String, String]),
173
- __metadata("design:returntype", Promise)
174
- ], AclService.prototype, "verifyAccess", null);
175
133
  exports.AclService = AclService = AclService_1 = __decorate([
176
134
  (0, common_1.Injectable)(),
177
135
  __metadata("design:paramtypes", [acl_grant_repository_1.AclGrantRepository,
@@ -1 +1 @@
1
- {"version":3,"file":"acl.service.js","sourceRoot":"","sources":["../../../../libs/rlb-nestjs-amqp/src/modules/acl/services/acl.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acl.service.js","sourceRoot":"","sources":["../../../../libs/rlb-nestjs-amqp/src/modules/acl/services/acl.service.ts"],"names":[],"mappings":"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"}
@@ -1,22 +1,20 @@
1
1
  import { DynamicModule, Type } from '@nestjs/common';
2
2
  import { RabbitMQConfig } from '../../amqp-lib/config/rabbitmq.config';
3
3
  import { BrokerTopic } from './config/topics.config';
4
- import { RouteDiscoveryConfig } from './config/route-discovery.config';
5
4
  import { AppConfig } from './services/utils.service';
6
5
  export declare const ConfigurableModuleClass: import("@nestjs/common").ConfigurableModuleCls<RabbitMQConfig, "forRoot", "create", {}>, MODULE_OPTIONS_TOKEN: string | symbol;
7
6
  export declare class BrokerModule {
8
- static forRoot(options: RabbitMQConfig, topics: BrokerTopic[], appOptions?: AppConfig, routeDiscovery?: RouteDiscoveryConfig): DynamicModule;
7
+ private static withServiceNameConnection;
8
+ static forRoot(options: RabbitMQConfig, topics: BrokerTopic[], appOptions?: AppConfig): DynamicModule;
9
9
  static forRootAsync(asyncOptions: {
10
10
  useFactory: (...args: any[]) => Promise<{
11
11
  options: RabbitMQConfig;
12
12
  topics: BrokerTopic[];
13
13
  appOptions?: AppConfig;
14
- routeDiscovery?: RouteDiscoveryConfig;
15
14
  }> | {
16
15
  options: RabbitMQConfig;
17
16
  topics: BrokerTopic[];
18
17
  appOptions?: AppConfig;
19
- routeDiscovery?: RouteDiscoveryConfig;
20
18
  };
21
19
  inject?: Type<any>[];
22
20
  imports?: Type<any>[];