@open-rlb/nestjs-amqp 2.0.7 → 2.0.9

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 (51) hide show
  1. package/README.md +9 -10
  2. package/modules/acl/authz-match.d.ts +6 -0
  3. package/modules/acl/authz-match.js +10 -0
  4. package/modules/acl/authz-match.js.map +1 -0
  5. package/modules/acl/config/acl.config.d.ts +1 -0
  6. package/modules/acl/const.d.ts +2 -2
  7. package/modules/acl/const.js +3 -3
  8. package/modules/acl/const.js.map +1 -1
  9. package/modules/acl/index.d.ts +1 -0
  10. package/modules/acl/index.js +1 -0
  11. package/modules/acl/index.js.map +1 -1
  12. package/modules/acl/services/acl-management.service.d.ts +7 -3
  13. package/modules/acl/services/acl-management.service.js +24 -10
  14. package/modules/acl/services/acl-management.service.js.map +1 -1
  15. package/modules/acl/services/acl.service.d.ts +3 -4
  16. package/modules/acl/services/acl.service.js +24 -46
  17. package/modules/acl/services/acl.service.js.map +1 -1
  18. package/modules/broker/config/decorator-paths.js +2 -2
  19. package/modules/broker/config/decorator-paths.js.map +1 -1
  20. package/modules/broker/decorators/broker-action.decorator.d.ts +1 -1
  21. package/modules/broker/decorators/broker-action.decorator.js +2 -2
  22. package/modules/broker/decorators/broker-action.decorator.js.map +1 -1
  23. package/modules/broker/services/shutdown-state.service.d.ts +1 -0
  24. package/modules/broker/services/shutdown-state.service.js +12 -12
  25. package/modules/broker/services/shutdown-state.service.js.map +1 -1
  26. package/modules/gateway-admin/util/route-manifest.js +1 -1
  27. package/modules/gateway-admin/util/route-manifest.js.map +1 -1
  28. package/modules/proxy/config/path-definition.config.d.ts +2 -2
  29. package/modules/proxy/services/acl.service.d.ts +2 -2
  30. package/modules/proxy/services/acl.service.js.map +1 -1
  31. package/modules/proxy/services/http-auth-handler.service.d.ts +6 -4
  32. package/modules/proxy/services/http-auth-handler.service.js +15 -9
  33. package/modules/proxy/services/http-auth-handler.service.js.map +1 -1
  34. package/modules/proxy/services/http-handler.service.js +4 -3
  35. package/modules/proxy/services/http-handler.service.js.map +1 -1
  36. package/modules/proxy/services/websocket.service.d.ts +1 -1
  37. package/modules/proxy/services/websocket.service.js +6 -9
  38. package/modules/proxy/services/websocket.service.js.map +1 -1
  39. package/package.json +1 -1
  40. package/schematics/nest-add/files/skills/rlb-amqp/SKILL.md +3 -3
  41. package/schematics/nest-add/files/skills/rlb-amqp/references/config-schema.md +18 -14
  42. package/schematics/nest-add/files/skills/rlb-amqp/references/gotchas.md +42 -17
  43. package/schematics/nest-add/files/skills/rlb-amqp-acl/SKILL.md +51 -38
  44. package/schematics/nest-add/files/skills/rlb-amqp-add-action/SKILL.md +4 -3
  45. package/schematics/nest-add/files/skills/rlb-amqp-add-route/SKILL.md +20 -14
  46. package/schematics/nest-add/files/skills/rlb-amqp-add-ws-event/SKILL.md +7 -6
  47. package/schematics/nest-add/files/skills/rlb-amqp-gateway-admin/SKILL.md +1 -1
  48. package/schematics/nest-add/files/skills/rlb-amqp-scaffold/SKILL.md +4 -4
  49. package/schematics/nest-add/index.js +8 -12
  50. package/schematics/nest-add/index.js.map +1 -1
  51. package/schematics/nest-add/index.ts +8 -12
@@ -1 +1 @@
1
- {"version":3,"file":"shutdown-state.service.js","sourceRoot":"","sources":["../../../../libs/rlb-nestjs-amqp/src/modules/broker/services/shutdown-state.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAAmF;AACnF,qDAAiD;AAEjD,MAAM,mBAAmB,GAAG,MAAM,CAAC;AAG5B,IAAM,oBAAoB,4BAA1B,MAAM,oBAAoB;IAK/B,YAA6B,aAA4B;QAA5B,kBAAa,GAAb,aAAa,CAAe;QAJxC,WAAM,GAAG,IAAI,eAAM,CAAC,sBAAoB,CAAC,IAAI,CAAC,CAAC;QACxD,oBAAe,GAAG,KAAK,CAAC;QACf,aAAQ,GAAyD,EAAE,CAAC;IAExB,CAAC;IAE9D,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAED,QAAQ,CAAC,IAAY,EAAE,KAA0B;QAC/C,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACtC,CAAC;IAED,YAAY;QACV,MAAM,YAAY,GAAG,CAAC,MAAsB,EAAE,EAAE;YAC9C,IAAI,IAAI,CAAC,eAAe;gBAAE,OAAO;YACjC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC5B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,oBAAoB,MAAM,aAAa,CAAC,CAAC;YACzD,UAAU,CAAC,GAAG,EAAE;gBACd,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,qCAAqC,mBAAmB,SAAS,MAAM,iBAAiB,CAAC,CAAC;gBAC5G,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC,EAAE,mBAAmB,CAAC,CAAC,KAAK,EAAE,CAAC;QAClC,CAAC,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC;QACrD,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC;IACzD,CAAC;IAED,KAAK,CAAC,eAAe;QACnB,MAAM,IAAI,CAAC,aAAa,CAAC,aAAa,EAAE,CAAC;QACzC,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;IACxB,CAAC;IAEO,KAAK,CAAC,QAAQ;QACpB,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QACvC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,IAAI,CAAC,QAAQ,CAAC,MAAM,iBAAiB,CAAC,CAAC;QACnE,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CACtC,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CACxF,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;IAC5C,CAAC;CACF,CAAA;AA1CY,oDAAoB;+BAApB,oBAAoB;IADhC,IAAA,mBAAU,GAAE;qCAMiC,8BAAa;GAL9C,oBAAoB,CA0ChC"}
1
+ {"version":3,"file":"shutdown-state.service.js","sourceRoot":"","sources":["../../../../libs/rlb-nestjs-amqp/src/modules/broker/services/shutdown-state.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAAmF;AACnF,qDAAiD;AAEjD,MAAM,mBAAmB,GAAG,MAAM,CAAC;AAG5B,IAAM,oBAAoB,4BAA1B,MAAM,oBAAoB;IAK/B,YAA6B,aAA4B;QAA5B,kBAAa,GAAb,aAAa,CAAe;QAJxC,WAAM,GAAG,IAAI,eAAM,CAAC,sBAAoB,CAAC,IAAI,CAAC,CAAC;QACxD,oBAAe,GAAG,KAAK,CAAC;QACf,aAAQ,GAAyD,EAAE,CAAC;IAExB,CAAC;IAE9D,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAED,QAAQ,CAAC,IAAY,EAAE,KAA0B;QAC/C,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACtC,CAAC;IAED,YAAY;QACV,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC1D,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC;IAC9D,CAAC;IAEO,YAAY,CAAC,MAAsB;QACzC,IAAI,IAAI,CAAC,eAAe;YAAE,OAAO;QACjC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,oBAAoB,MAAM,aAAa,CAAC,CAAC;QACzD,UAAU,CAAC,GAAG,EAAE;YACd,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,qCAAqC,mBAAmB,SAAS,MAAM,iBAAiB,CAAC,CAAC;YAC5G,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC,EAAE,mBAAmB,CAAC,CAAC,KAAK,EAAE,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,eAAe;QACnB,MAAM,IAAI,CAAC,aAAa,CAAC,aAAa,EAAE,CAAC;QACzC,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;IACxB,CAAC;IAEO,KAAK,CAAC,QAAQ;QACpB,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QACvC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,IAAI,CAAC,QAAQ,CAAC,MAAM,iBAAiB,CAAC,CAAC;QACnE,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CACtC,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CACxF,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;IAC5C,CAAC;CACF,CAAA;AA3CY,oDAAoB;+BAApB,oBAAoB;IADhC,IAAA,mBAAU,GAAE;qCAMiC,8BAAa;GAL9C,oBAAoB,CA2ChC"}
@@ -11,7 +11,7 @@ function canonicalRoute(r) {
11
11
  return {
12
12
  name: r.name, method: r.method, path: r.path, dataSource: r.dataSource,
13
13
  topic: r.topic, action: r.action, mode: r.mode, auth: r.auth ?? null,
14
- allowAnonymous: r.allowAnonymous ?? null, roles: r.roles ?? [],
14
+ allowAnonymous: r.allowAnonymous ?? null, actions: r.actions ?? [],
15
15
  successStatusCode: r.successStatusCode ?? null, timeout: r.timeout ?? null,
16
16
  parseRaw: r.parseRaw ?? null, binary: r.binary ?? null, redirect: r.redirect ?? null,
17
17
  headers: r.headers ?? {}, forwardHeaders: r.forwardHeaders ?? {},
@@ -1 +1 @@
1
- {"version":3,"file":"route-manifest.js","sourceRoot":"","sources":["../../../../libs/rlb-nestjs-amqp/src/modules/gateway-admin/util/route-manifest.ts"],"names":[],"mappings":";;AACA,gCAEC;AAoBD,0CAKC;AAOD,oCAEC;AAID,oCAEC;AA1CD,SAAgB,UAAU,CAAC,CAAqC;IAC9D,OAAO,GAAG,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC;AAC7D,CAAC;AAGD,SAAS,cAAc,CAAC,CAAM;IAC5B,OAAO;QACL,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC,UAAU;QACtE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI;QACpE,cAAc,EAAE,CAAC,CAAC,cAAc,IAAI,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE;QAC9D,iBAAiB,EAAE,CAAC,CAAC,iBAAiB,IAAI,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,IAAI,IAAI;QAC1E,QAAQ,EAAE,CAAC,CAAC,QAAQ,IAAI,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,IAAI,IAAI;QACpF,OAAO,EAAE,CAAC,CAAC,OAAO,IAAI,EAAE,EAAE,cAAc,EAAE,CAAC,CAAC,cAAc,IAAI,EAAE;KACjE,CAAC;AACJ,CAAC;AAQD,SAAgB,eAAe,CAAC,KAAU;IACxC,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC;IACxF,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;IAC7E,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;IACvC,OAAO,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;AAC/F,CAAC;AAOD,SAAgB,YAAY,CAAC,CAAM;IACjC,OAAO,eAAe,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5C,CAAC;AAID,SAAgB,YAAY,CAAC,CAAM;IACjC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC;AACxG,CAAC"}
1
+ {"version":3,"file":"route-manifest.js","sourceRoot":"","sources":["../../../../libs/rlb-nestjs-amqp/src/modules/gateway-admin/util/route-manifest.ts"],"names":[],"mappings":";;AACA,gCAEC;AAoBD,0CAKC;AAOD,oCAEC;AAID,oCAEC;AA1CD,SAAgB,UAAU,CAAC,CAAqC;IAC9D,OAAO,GAAG,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC;AAC7D,CAAC;AAGD,SAAS,cAAc,CAAC,CAAM;IAC5B,OAAO;QACL,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC,UAAU;QACtE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI;QACpE,cAAc,EAAE,CAAC,CAAC,cAAc,IAAI,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,IAAI,EAAE;QAClE,iBAAiB,EAAE,CAAC,CAAC,iBAAiB,IAAI,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,IAAI,IAAI;QAC1E,QAAQ,EAAE,CAAC,CAAC,QAAQ,IAAI,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,IAAI,IAAI;QACpF,OAAO,EAAE,CAAC,CAAC,OAAO,IAAI,EAAE,EAAE,cAAc,EAAE,CAAC,CAAC,cAAc,IAAI,EAAE;KACjE,CAAC;AACJ,CAAC;AAQD,SAAgB,eAAe,CAAC,KAAU;IACxC,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC;IACxF,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;IAC7E,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;IACvC,OAAO,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;AAC/F,CAAC;AAOD,SAAgB,YAAY,CAAC,CAAM;IACjC,OAAO,eAAe,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5C,CAAC;AAID,SAAgB,YAAY,CAAC,CAAM;IACjC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC;AACxG,CAAC"}
@@ -10,7 +10,7 @@ export interface PathDefinition {
10
10
  mode: 'event' | 'rpc';
11
11
  auth?: string;
12
12
  allowAnonymous?: boolean;
13
- roles: string[];
13
+ actions?: string | string[];
14
14
  timeout?: number;
15
15
  binary?: boolean;
16
16
  headers: {
@@ -28,7 +28,7 @@ export interface WebSocketEvent {
28
28
  name: string;
29
29
  auth?: string;
30
30
  requireAuth?: boolean;
31
- roles?: string[];
31
+ actions?: string | string[];
32
32
  scopeClaim?: string;
33
33
  payloadKey?: string;
34
34
  url?: string;
@@ -1,5 +1,5 @@
1
+ import { AclResourceContext } from '../../acl/authz-match';
1
2
  export declare const RLB_GTW_ACL_ROLE_SERVICE = "RLB_GTW_ACL_ROLE_SERVICE";
2
3
  export interface IAclRoleService {
3
- canUserDoGtw(roles: string | string[], userId: string): Promise<boolean>;
4
- canUserDo(roles: string | string[], userId: string, resourceId?: string): Promise<boolean>;
4
+ checkAction(userId: string, ctx: AclResourceContext | undefined, action: string | string[]): Promise<boolean>;
5
5
  }
@@ -1 +1 @@
1
- {"version":3,"file":"acl.service.js","sourceRoot":"","sources":["../../../../libs/rlb-nestjs-amqp/src/modules/proxy/services/acl.service.ts"],"names":[],"mappings":";;;AAAa,QAAA,wBAAwB,GAAG,0BAA0B,CAAC"}
1
+ {"version":3,"file":"acl.service.js","sourceRoot":"","sources":["../../../../libs/rlb-nestjs-amqp/src/modules/proxy/services/acl.service.ts"],"names":[],"mappings":";;;AAEa,QAAA,wBAAwB,GAAG,0BAA0B,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import { Request } from 'express';
2
2
  import { ProcessedAuthData } from '..';
3
3
  import { HandlerAuthConfig } from '../../broker/config/handler-auth.config';
4
+ import { AclResourceContext } from '../../acl/authz-match';
4
5
  import { PathDefinition } from '../config/path-definition.config';
5
6
  import { IAclRoleService } from './acl.service';
6
7
  import { JwtService } from './jwt.service';
@@ -15,12 +16,13 @@ export declare class HttpAuthHandlerService {
15
16
  verifyToken(authConfig: HandlerAuthConfig, token: string): Promise<any | undefined>;
16
17
  mapClaims(authConfig: HandlerAuthConfig, decoded: any): ProcessedAuthData;
17
18
  checkJwt(req: Request, authConfig: HandlerAuthConfig): Promise<ProcessedAuthData>;
18
- checkRolesForClaims(authConfig: HandlerAuthConfig, claims: {
19
+ checkActionsForClaims(authConfig: HandlerAuthConfig, claims: {
19
20
  [key: string]: any;
20
- }, roles?: string | string[]): Promise<boolean>;
21
+ }, actions?: string | string[], ctx?: AclResourceContext): Promise<boolean>;
21
22
  checkBasicAuth(req: Request, authConfig: HandlerAuthConfig): Promise<ProcessedAuthData>;
22
23
  checkStringCompare(req: Request, authConfig: HandlerAuthConfig): Promise<ProcessedAuthData>;
23
- checkRoles(data: {
24
+ extractResourceContext(req: Request): AclResourceContext;
25
+ checkActions(data: {
24
26
  [key: string]: any;
25
- }, path: PathDefinition): Promise<boolean>;
27
+ }, path: PathDefinition, ctx?: AclResourceContext): Promise<boolean>;
26
28
  }
@@ -84,12 +84,12 @@ let HttpAuthHandlerService = HttpAuthHandlerService_1 = class HttpAuthHandlerSer
84
84
  const decoded = await this.verifyToken(authConfig, jwt);
85
85
  return this.mapClaims(authConfig, decoded);
86
86
  }
87
- async checkRolesForClaims(authConfig, claims, roles) {
88
- const list = Array.isArray(roles) ? roles : (roles ? [roles] : []);
87
+ async checkActionsForClaims(authConfig, claims, actions, ctx) {
88
+ const list = Array.isArray(actions) ? actions : (actions ? [actions] : []);
89
89
  if (!list.length)
90
90
  return true;
91
91
  if (authConfig.type !== 'jwt' && authConfig.type !== 'jwks') {
92
- this.logger.error(`Auth provider '${authConfig.name}' is not a JWT/JWKS provider; cannot run role checks → denying.`);
92
+ this.logger.error(`Auth provider '${authConfig.name}' is not a JWT/JWKS provider; cannot run authorization checks → denying.`);
93
93
  return false;
94
94
  }
95
95
  if (!authConfig.uidClaim) {
@@ -97,7 +97,7 @@ let HttpAuthHandlerService = HttpAuthHandlerService_1 = class HttpAuthHandlerSer
97
97
  return false;
98
98
  }
99
99
  if (!this.aclRoleService) {
100
- this.logger.error(`ACL Role Service not found (RLB_GTW_ACL_ROLE_SERVICE not registered) but a path requires roles → denying.`);
100
+ this.logger.error(`ACL service not found (RLB_GTW_ACL_ROLE_SERVICE not registered) but a path requires actions → denying.`);
101
101
  return false;
102
102
  }
103
103
  if (!claims)
@@ -105,7 +105,7 @@ let HttpAuthHandlerService = HttpAuthHandlerService_1 = class HttpAuthHandlerSer
105
105
  const userId = claims[`${authConfig.headerPrefix}${authConfig.uidClaim}`];
106
106
  if (!userId)
107
107
  return false;
108
- return this.aclRoleService.canUserDoGtw(list, userId);
108
+ return this.aclRoleService.checkAction(userId, ctx, list);
109
109
  }
110
110
  async checkBasicAuth(req, authConfig) {
111
111
  let out = { success: false };
@@ -148,17 +148,23 @@ let HttpAuthHandlerService = HttpAuthHandlerService_1 = class HttpAuthHandlerSer
148
148
  }
149
149
  return out;
150
150
  }
151
- async checkRoles(data, path) {
152
- if (!path?.roles?.length)
151
+ extractResourceContext(req) {
152
+ return {
153
+ companyId: req.params?.companyId ?? req.query?.companyId ?? req.body?.companyId,
154
+ resourceId: req.params?.resourceId ?? req.query?.resourceId ?? req.body?.resourceId,
155
+ };
156
+ }
157
+ async checkActions(data, path, ctx) {
158
+ if (!path?.actions?.length)
153
159
  return true;
154
160
  if (!path?.auth)
155
161
  return false;
156
162
  const authConfig = this.authProviders.find(o => o.name === path.auth);
157
163
  if (!authConfig) {
158
- this.logger.error(`Path '${path.name || path.path}' references unknown auth provider '${path.auth}' → denying role check.`);
164
+ this.logger.error(`Path '${path.name || path.path}' references unknown auth provider '${path.auth}' → denying authorization check.`);
159
165
  return false;
160
166
  }
161
- return this.checkRolesForClaims(authConfig, data, path.roles);
167
+ return this.checkActionsForClaims(authConfig, data, path.actions, ctx);
162
168
  }
163
169
  };
164
170
  exports.HttpAuthHandlerService = HttpAuthHandlerService;
@@ -1 +1 @@
1
- {"version":3,"file":"http-auth-handler.service.js","sourceRoot":"","sources":["../../../../libs/rlb-nestjs-amqp/src/modules/proxy/services/http-auth-handler.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"http-auth-handler.service.js","sourceRoot":"","sources":["../../../../libs/rlb-nestjs-amqp/src/modules/proxy/services/http-auth-handler.service.ts"],"names":[],"mappings":"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"}
@@ -121,8 +121,8 @@ let HttpHandlerService = HttpHandlerService_1 = class HttpHandlerService {
121
121
  throw new Error("Topic is required for path definition");
122
122
  if (!path.mode)
123
123
  throw new Error("Mode is required for path definition");
124
- if (path.roles?.length && !path.auth) {
125
- this.logger.warn(`Path '${path.name || path.path}' declares roles but no 'auth' provider; the role check cannot identify the caller and every request will be denied (403). Set 'auth' to enable the ACL.`);
124
+ if (path.actions?.length && !path.auth) {
125
+ this.logger.warn(`Path '${path.name || path.path}' declares actions but no 'auth' provider; the authorization check cannot identify the caller and every request will be denied (403). Set 'auth' to enable the ACL.`);
126
126
  }
127
127
  if (path.auth && !this.httpAuthHandlerService.findProvider(path.auth)) {
128
128
  this.logger.error(`Path '${path.name || path.path}' references unknown auth provider '${path.auth}'; requests will be denied (401). Check 'auth-providers'.`);
@@ -137,7 +137,8 @@ let HttpHandlerService = HttpHandlerService_1 = class HttpHandlerService {
137
137
  this.logger.warn(`[${path.mode.toUpperCase()}] [${path.method.toUpperCase()}] '${path.path}' => ${path.topic} | UNAUTHORIZED '401'`);
138
138
  return;
139
139
  }
140
- if (!(await this.httpAuthHandlerService.checkRoles(authData, path))) {
140
+ const resourceCtx = this.httpAuthHandlerService.extractResourceContext(req);
141
+ if (!(await this.httpAuthHandlerService.checkActions(authData, path, resourceCtx))) {
141
142
  res.status(403).json({ message: "Forbidden" });
142
143
  this.logger.warn(`[${path.mode.toUpperCase()}] [${path.method.toUpperCase()}] '${path.path}' => ${path.topic} | FORBIDDEN '403'`);
143
144
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"http-handler.service.js","sourceRoot":"","sources":["../../../../libs/rlb-nestjs-amqp/src/modules/proxy/services/http-handler.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"http-handler.service.js","sourceRoot":"","sources":["../../../../libs/rlb-nestjs-amqp/src/modules/proxy/services/http-handler.service.ts"],"names":[],"mappings":"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"}
@@ -3,9 +3,9 @@ import { OnModuleDestroy, OnModuleInit } from '@nestjs/common';
3
3
  import { OnGatewayConnection, OnGatewayDisconnect, OnGatewayInit } from '@nestjs/websockets';
4
4
  import { IncomingMessage } from 'http';
5
5
  import { WebSocketServer as Server, WebSocket } from 'ws';
6
+ import { ProcessedAuthData } from '..';
6
7
  import { AmqpConnection } from "../../../amqp-lib";
7
8
  import { BrokerConfig, BrokerService } from '../../broker';
8
- import { ProcessedAuthData } from '..';
9
9
  import { GatewayConfig } from '../config/path-definition.config';
10
10
  import { HttpAuthHandlerService } from './http-auth-handler.service';
11
11
  type NamedWebSocket = WebSocket & {
@@ -149,15 +149,15 @@ let WebSocketService = WebSocketService_1 = class WebSocketService {
149
149
  return;
150
150
  }
151
151
  }
152
- if (eventDef.roles?.length) {
152
+ if (eventDef.actions?.length) {
153
153
  const provider = eventDef.auth ? this.httpAuth.findProvider(eventDef.auth) : undefined;
154
154
  let allowed = false;
155
155
  if (provider && claims?.success) {
156
156
  try {
157
- allowed = await this.httpAuth.checkRolesForClaims(provider, claims, eventDef.roles);
157
+ allowed = await this.httpAuth.checkActionsForClaims(provider, claims, eventDef.actions);
158
158
  }
159
159
  catch (e) {
160
- this.logger.error(`Role check failed for event ${eventDef.name}: ${e.message}`);
160
+ this.logger.error(`Authorization check failed for event ${eventDef.name}: ${e.message}`);
161
161
  }
162
162
  }
163
163
  if (!allowed) {
@@ -260,8 +260,8 @@ let WebSocketService = WebSocketService_1 = class WebSocketService {
260
260
  if (e.auth && !this.httpAuth.findProvider(e.auth)) {
261
261
  this.logger.error(`WS event '${e.name}' references unknown auth provider '${e.auth}'; subscriptions will be denied.`);
262
262
  }
263
- if (e.roles?.length && !e.auth) {
264
- this.logger.error(`WS event '${e.name}' declares roles but no 'auth' provider; the role check cannot identify the subscriber and every subscription will be denied. Set 'auth' to enable role checks.`);
263
+ if (e.actions?.length && !e.auth) {
264
+ this.logger.error(`WS event '${e.name}' declares actions but no 'auth' provider; the authorization check cannot identify the subscriber and every subscription will be denied. Set 'auth' to enable authorization checks.`);
265
265
  }
266
266
  if (e.auth && e.requireAuth !== false && !(e.scopeClaim && e.payloadKey)) {
267
267
  this.logger.warn(`WS event '${e.name}' has auth but no scopeClaim/payloadKey: every authorized subscriber receives ALL messages (no per-user isolation).`);
@@ -272,9 +272,6 @@ let WebSocketService = WebSocketService_1 = class WebSocketService {
272
272
  if (!this.subjects[event.name]) {
273
273
  this.subjects[event.name] = new rxjs_1.Subject();
274
274
  }
275
- const exchange = this.brokerConfig.exchanges.find(e => e.name === event.exchange);
276
- if (!exchange)
277
- throw new Error(`Exchange ${event.exchange} not found in configuration for event ${event.name}`);
278
275
  if (!cname) {
279
276
  throw new Error('Client name is required for event push configuration');
280
277
  }
@@ -318,7 +315,7 @@ let WebSocketService = WebSocketService_1 = class WebSocketService {
318
315
  exclusive: true,
319
316
  }
320
317
  }, '', {});
321
- this.logger.log(`Binded event \`${event.name}\` [${event.type}] to exchange \`${exchange.name}\`, Route: \`${event.routingKey}\`, Queue: \`${queueName}\``);
318
+ this.logger.log(`Binded event \`${event.name}\` [${event.type}] to exchange \`${event.exchange}\`, Route: \`${event.routingKey}\`, Queue: \`${queueName}\``);
322
319
  }
323
320
  catch (error) {
324
321
  this.logger.error(`Error subscribing to topic ${event.name}: ${error.message}`);
@@ -1 +1 @@
1
- {"version":3,"file":"websocket.service.js","sourceRoot":"","sources":["../../../../libs/rlb-nestjs-amqp/src/modules/proxy/services/websocket.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"websocket.service.js","sourceRoot":"","sources":["../../../../libs/rlb-nestjs-amqp/src/modules/proxy/services/websocket.service.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@open-rlb/nestjs-amqp",
3
- "version": "2.0.7",
3
+ "version": "2.0.9",
4
4
  "description": "",
5
5
  "author": "Giuseppe Riolo <riolo.giuseppe@gmail.com>",
6
6
  "private": false,
@@ -42,7 +42,7 @@ are the terse, rules-first version for editing tasks:
42
42
  - `docs/README.md` — index. `docs/getting-started.md` — bootstrap a ms + gateway.
43
43
  - `docs/broker.md` — `@BrokerAction`/`@BrokerParam`, topic modes, RPC, `BrokerService`.
44
44
  - `docs/gateway.md` — `gateway.paths[]`, `gateway.events[]`, auth gate, status mapping, ws.
45
- - `docs/acl.md` — name-keyed actions/roles, dual grant/revoke, `acl-can-user-do*` checks.
45
+ - `docs/acl.md` — name-keyed actions/roles, dual grant/revoke, the `acl-check-action` check.
46
46
  - `docs/gateway-admin.md` — DB routes, name-keyed auth-providers, metrics, health, route-sync.
47
47
  - `docs/gotchas.md` — the canonical source `references/gotchas.md` is ported from.
48
48
 
@@ -56,7 +56,7 @@ configs). The retired `apps/gateway-2` is gone — do not cite it.
56
56
  - `rlb-amqp-add-route` — expose an action over HTTP (`gateway.paths[]`).
57
57
  - `rlb-amqp-add-ws-event` — add a secure WebSocket/webhook event (`gateway.events[]`).
58
58
  - `rlb-amqp-scaffold` — bootstrap a new microservice/gateway (module, main, config).
59
- - `rlb-amqp-acl` — name-keyed actions/roles, grant/revoke, the `acl-can-user-do*` checks.
59
+ - `rlb-amqp-acl` — name-keyed actions/roles, grant/revoke, the `acl-check-action` check.
60
60
  - `rlb-amqp-gateway-admin` — DB routes/auth-providers, metrics, health, route auto-discovery.
61
61
 
62
62
  ## Golden rules (summary — full list in references/gotchas.md)
@@ -72,7 +72,7 @@ configs). The retired `apps/gateway-2` is gone — do not cite it.
72
72
  6. No destructuring / default values in `@BrokerAction` method parameters; always pass an
73
73
  explicit `name` to `@BrokerParam`.
74
74
  7. `publishMessage` is `async` — `await` it for the publisher-confirm guarantee.
75
- 8. `roles` (HTTP or WS) require an `IAclRoleService` registered via
75
+ 8. `actions` (HTTP or WS) require an `IAclRoleService` registered via
76
76
  `RLB_GTW_ACL_ROLE_SERVICE` in `ProxyModule.forRootAsync({ providers: [...] })`.
77
77
  Auth-providers + gateway config are passed to `ProxyModule` (not `BrokerModule`).
78
78
  9. Topic names `rlb-acl` / `rlb-gateway-admin` / `rlb-gateway-control` and ALL action
@@ -134,7 +134,7 @@ auth-providers:
134
134
  - name: gateway-jwks
135
135
  type: jwks # jwt | jwks | basic | str-compare | none
136
136
  headerPrefix: "X-GTW-AUTH-" # prefix for mapped claim headers (and <prefix>USERID)
137
- uidClaim: sub # claim → <prefix>USERID; REQUIRED for role checks
137
+ uidClaim: sub # claim → <prefix>USERID; REQUIRED for action checks
138
138
  jwtMap: # 'source:dest' pairs → <prefix><DEST>; WITHOUT it NO claims forwarded
139
139
  - sub:userId # → X-GTW-AUTH-USERID
140
140
  - email:email # → X-GTW-AUTH-EMAIL
@@ -159,8 +159,8 @@ Type behaviour:
159
159
 
160
160
  Hardening: `algorithms` REQUIRED for `jwt`/`jwks` (omit → denied; algorithm-confusion guard).
161
161
  Define `jwtMap` or no identity is forwarded (token still `success:true` — fail-safe, not leak).
162
- `usernameClaim` is deprecated; `aclTopic`/`aclAction` are removed (gateway role check is in-process
163
- via `IAclRoleService.canUserDoGtw`).
162
+ `usernameClaim` is deprecated; `aclTopic`/`aclAction` are removed (the gateway action check is
163
+ in-process via `IAclRoleService.checkAction(userId, ctx, action)`).
164
164
 
165
165
  > DB-stored auth-providers (name-keyed `gw-auth-*` upserts) layer on top of this static list —
166
166
  > see `docs/gateway-admin.md`.
@@ -211,8 +211,8 @@ control-topic subscriber ignores every other message. Concurrent `reload()`s are
211
211
  mode: rpc # rpc | event
212
212
  timeout: 15000 # rpc only (ms)
213
213
  auth: gateway-jwks # auth-provider name
214
- allowAnonymous: false # true → skip the auth/role gate entirely
215
- roles: [user, admin] # caller must hold AT LEAST ONE; requires auth + IAclRoleService
214
+ allowAnonymous: false # true → skip the auth/action gate entirely
215
+ actions: [doc.read, doc.admin] # caller must hold AT LEAST ONE on (companyId, resourceId); needs auth + IAclRoleService
216
216
  successStatusCode: 200 # default 200 rpc / 202 event / 204 empty rpc reply
217
217
  binary: true # treat a raw (non-JSON) reply as base64 → binary body
218
218
  redirect: 302 # rpc only → redirect with this status, using the reply as Location
@@ -238,9 +238,13 @@ Uploads → `$files` (buffers as binary strings), raw → `$raw`.
238
238
  ForbiddenError→403, NotFoundError→404, ConflictError→409, else→500.
239
239
  **event status:** successful publish → `successStatusCode || 202`; publish failure → `503`.
240
240
 
241
- Auth gate (per request): `allowAnonymous:true` → gate skipped; `auth` no `roles` → authn only
242
- (401 if invalid); `auth` + `roles` → authn then in-process `canUserDoGtw(roles, userId)` (403 if
243
- no role). `roles` without `auth` fails closed (every request 403).
241
+ Auth gate (per request): `allowAnonymous:true` → gate skipped; `auth` no `actions` → authn only
242
+ (401 if invalid); `auth` + `actions` → authn then in-process
243
+ `checkAction(userId, { companyId, resourceId }, actions)` (403 if the caller holds none of
244
+ `actions` on that pair). `actions` without `auth` fails closed (every request 403).
245
+
246
+ The gateway reads the canonical `companyId`/`resourceId` from the request (precedence
247
+ params → query → body) and matches them exactly for the action check.
244
248
 
245
249
  ### gateway.events[] (WebSocketEvent — WS / webhook)
246
250
 
@@ -251,7 +255,7 @@ no role). `roles` without `auth` fails closed (every request 403).
251
255
  routingKey: chat.messages
252
256
  auth: gateway-jwks # provider that verifies the token + maps claims FOR THIS event (at subscribe)
253
257
  requireAuth: true # default true when `auth` is set; false → auth optional (anon allowed)
254
- roles: [user] # ACL check via IAclRoleService (needs auth)
258
+ actions: [chat.read] # ACL check via IAclRoleService.checkAction (needs auth); WS gates resource-agnostically
255
259
  scopeClaim: userId # per-user isolation: the mapped claim value...
256
260
  payloadKey: userId # ...must equal payload[payloadKey]; without payloadKey → denies everything
257
261
  # type: http only:
@@ -282,11 +286,10 @@ ACL (topic `rlb-acl`):
282
286
 
283
287
  | Method | Path | Action |
284
288
  | --- | --- | --- |
285
- | GET | `/acl/check` | `acl-can-user-do-gtw` (resource-agnostic; `200` true/false) |
286
- | GET | `/acl/check-resource` | `acl-can-user-do` (resource-scoped; `200` true/false) |
289
+ | GET | `/acl/check` | `acl-check-action` (`?userId=&action=&companyId?=&resourceId?=`; exact-match; `200` true/false) |
287
290
  | GET | `/acl/resources` | `acl-list-resources-by-user` (auth, reads `X-GTW-AUTH-USERID`) |
288
- | POST | `/acl/grants` | `acl-grant` (`{userId, roles, resourceId?, companyId?}`) |
289
- | DELETE | `/acl/grants` | `acl-revoke` (same shape; `roles` REQUIRED) |
291
+ | POST | `/acl/grants` | `acl-grant` (`{userId, roles, resourceId?, companyId?}`; caller needs `role-management` on target) |
292
+ | DELETE | `/acl/grants` | `acl-revoke` (same shape; `roles` REQUIRED; caller needs `role-management` on target) |
290
293
  | GET / PUT / DELETE | `/acl/actions[/get?name=]` | `acl-action-list`/`-update`/`-delete`/`-get` |
291
294
  | GET / PUT / DELETE | `/acl/roles[/get?name=]` | `acl-role-list`/`-update`/`-delete`/`-get` |
292
295
 
@@ -301,4 +304,5 @@ Gateway-admin (topic `rlb-gateway-admin`, except reload):
301
304
  | POST | `/admin/metrics/track` | `gw-metrics-track` (`mode: event`) |
302
305
  | POST | `/admin/reload` | `gw-reload` on `rlb-gateway-control` (`mode: event`) |
303
306
 
304
- > Removed: `acl-list-by-user`, `acl-verify-access`, `gw-auth-create`, all id-based ACL CRUD.
307
+ > Removed: `acl-list-by-user`, `acl-verify-access`, `acl-can-user-do`, `acl-can-user-do-gtw`
308
+ > (all collapsed into `acl-check-action`), `gw-auth-create`, all id-based ACL CRUD.