@carlonicora/nestjs-neo4jsonapi 1.113.0 → 1.114.0

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 (88) hide show
  1. package/dist/common/guards/index.d.ts +1 -0
  2. package/dist/common/guards/index.d.ts.map +1 -1
  3. package/dist/common/guards/index.js +1 -0
  4. package/dist/common/guards/index.js.map +1 -1
  5. package/dist/common/guards/jwt.auth.any-scope.guard.d.ts +20 -0
  6. package/dist/common/guards/jwt.auth.any-scope.guard.d.ts.map +1 -0
  7. package/dist/common/guards/jwt.auth.any-scope.guard.js +61 -0
  8. package/dist/common/guards/jwt.auth.any-scope.guard.js.map +1 -0
  9. package/dist/core/security/services/security.service.d.ts +5 -0
  10. package/dist/core/security/services/security.service.d.ts.map +1 -1
  11. package/dist/core/security/services/security.service.js +13 -0
  12. package/dist/core/security/services/security.service.js.map +1 -1
  13. package/dist/foundations/auth/controllers/auth.controller.d.ts +2 -0
  14. package/dist/foundations/auth/controllers/auth.controller.d.ts.map +1 -1
  15. package/dist/foundations/auth/controllers/auth.controller.js +29 -0
  16. package/dist/foundations/auth/controllers/auth.controller.js.map +1 -1
  17. package/dist/foundations/auth/entities/auth.entity.d.ts +10 -0
  18. package/dist/foundations/auth/entities/auth.entity.d.ts.map +1 -1
  19. package/dist/foundations/auth/repositories/auth.repository.d.ts +28 -0
  20. package/dist/foundations/auth/repositories/auth.repository.d.ts.map +1 -1
  21. package/dist/foundations/auth/repositories/auth.repository.js +92 -12
  22. package/dist/foundations/auth/repositories/auth.repository.js.map +1 -1
  23. package/dist/foundations/auth/serialisers/auth.serialiser.d.ts.map +1 -1
  24. package/dist/foundations/auth/serialisers/auth.serialiser.js +4 -0
  25. package/dist/foundations/auth/serialisers/auth.serialiser.js.map +1 -1
  26. package/dist/foundations/auth/services/auth.service.d.ts +12 -0
  27. package/dist/foundations/auth/services/auth.service.d.ts.map +1 -1
  28. package/dist/foundations/auth/services/auth.service.js +55 -0
  29. package/dist/foundations/auth/services/auth.service.js.map +1 -1
  30. package/dist/foundations/company/repositories/company.repository.d.ts.map +1 -1
  31. package/dist/foundations/company/repositories/company.repository.js +7 -34
  32. package/dist/foundations/company/repositories/company.repository.js.map +1 -1
  33. package/dist/foundations/discord-user/repositories/discord-user.repository.d.ts.map +1 -1
  34. package/dist/foundations/discord-user/repositories/discord-user.repository.js +6 -1
  35. package/dist/foundations/discord-user/repositories/discord-user.repository.js.map +1 -1
  36. package/dist/foundations/foundations.modules.d.ts.map +1 -1
  37. package/dist/foundations/foundations.modules.js +2 -0
  38. package/dist/foundations/foundations.modules.js.map +1 -1
  39. package/dist/foundations/google-user/repositories/google-user.repository.d.ts.map +1 -1
  40. package/dist/foundations/google-user/repositories/google-user.repository.js +6 -1
  41. package/dist/foundations/google-user/repositories/google-user.repository.js.map +1 -1
  42. package/dist/foundations/index.d.ts +1 -0
  43. package/dist/foundations/index.d.ts.map +1 -1
  44. package/dist/foundations/index.js +1 -0
  45. package/dist/foundations/index.js.map +1 -1
  46. package/dist/foundations/membership/entities/membership.d.ts +34 -0
  47. package/dist/foundations/membership/entities/membership.d.ts.map +1 -0
  48. package/dist/foundations/membership/entities/membership.js +24 -0
  49. package/dist/foundations/membership/entities/membership.js.map +1 -0
  50. package/dist/foundations/membership/entities/membership.meta.d.ts +3 -0
  51. package/dist/foundations/membership/entities/membership.meta.d.ts.map +1 -0
  52. package/dist/foundations/membership/entities/membership.meta.js +10 -0
  53. package/dist/foundations/membership/entities/membership.meta.js.map +1 -0
  54. package/dist/foundations/membership/index.d.ts +6 -0
  55. package/dist/foundations/membership/index.d.ts.map +1 -0
  56. package/dist/foundations/membership/index.js +17 -0
  57. package/dist/foundations/membership/index.js.map +1 -0
  58. package/dist/foundations/membership/membership.module.d.ts +9 -0
  59. package/dist/foundations/membership/membership.module.d.ts.map +1 -0
  60. package/dist/foundations/membership/membership.module.js +32 -0
  61. package/dist/foundations/membership/membership.module.js.map +1 -0
  62. package/dist/foundations/membership/queries/membership.query.d.ts +60 -0
  63. package/dist/foundations/membership/queries/membership.query.d.ts.map +1 -0
  64. package/dist/foundations/membership/queries/membership.query.js +86 -0
  65. package/dist/foundations/membership/queries/membership.query.js.map +1 -0
  66. package/dist/foundations/membership/repositories/membership.repository.d.ts +8 -0
  67. package/dist/foundations/membership/repositories/membership.repository.d.ts.map +1 -0
  68. package/dist/foundations/membership/repositories/membership.repository.js +30 -0
  69. package/dist/foundations/membership/repositories/membership.repository.js.map +1 -0
  70. package/dist/foundations/module/queries/feature.module.query.d.ts +2 -2
  71. package/dist/foundations/module/queries/feature.module.query.d.ts.map +1 -1
  72. package/dist/foundations/module/queries/feature.module.query.js +11 -3
  73. package/dist/foundations/module/queries/feature.module.query.js.map +1 -1
  74. package/dist/foundations/role/repositories/role.repository.d.ts.map +1 -1
  75. package/dist/foundations/role/repositories/role.repository.js +15 -4
  76. package/dist/foundations/role/repositories/role.repository.js.map +1 -1
  77. package/dist/foundations/user/entities/user.d.ts.map +1 -1
  78. package/dist/foundations/user/entities/user.js +6 -1
  79. package/dist/foundations/user/entities/user.js.map +1 -1
  80. package/dist/foundations/user/repositories/user.repository.d.ts +1 -0
  81. package/dist/foundations/user/repositories/user.repository.d.ts.map +1 -1
  82. package/dist/foundations/user/repositories/user.repository.js +105 -58
  83. package/dist/foundations/user/repositories/user.repository.js.map +1 -1
  84. package/dist/foundations/user/services/user.service.d.ts +8 -0
  85. package/dist/foundations/user/services/user.service.d.ts.map +1 -1
  86. package/dist/foundations/user/services/user.service.js +20 -4
  87. package/dist/foundations/user/services/user.service.js.map +1 -1
  88. package/package.json +1 -1
@@ -1,5 +1,6 @@
1
1
  export * from "./custom-throttler.guard";
2
2
  export * from "./jwt.auth.admin.guard";
3
+ export * from "./jwt.auth.any-scope.guard";
3
4
  export * from "./jwt.auth.guard";
4
5
  export * from "./jwt.auth.optional.guard";
5
6
  export * from "./jwt.or.oauth.guard";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/common/guards/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/common/guards/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,kBAAkB,CAAC;AACjC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sBAAsB,CAAC"}
@@ -16,6 +16,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./custom-throttler.guard"), exports);
18
18
  __exportStar(require("./jwt.auth.admin.guard"), exports);
19
+ __exportStar(require("./jwt.auth.any-scope.guard"), exports);
19
20
  __exportStar(require("./jwt.auth.guard"), exports);
20
21
  __exportStar(require("./jwt.auth.optional.guard"), exports);
21
22
  __exportStar(require("./jwt.or.oauth.guard"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/common/guards/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2DAAyC;AACzC,yDAAuC;AACvC,mDAAiC;AACjC,4DAA0C;AAC1C,uDAAqC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/common/guards/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2DAAyC;AACzC,yDAAuC;AACvC,6DAA2C;AAC3C,mDAAiC;AACjC,4DAA0C;AAC1C,uDAAqC"}
@@ -0,0 +1,20 @@
1
+ import { ExecutionContext } from "@nestjs/common";
2
+ import { ClsService } from "nestjs-cls";
3
+ declare const AnyScopeAuthGuard_base: import("@nestjs/passport").Type<import("@nestjs/passport").IAuthGuard>;
4
+ /**
5
+ * Admits BOTH a full session JWT and a scoped selection JWT (e.g. the
6
+ * short-lived "company-selection" token issued at login).
7
+ *
8
+ * The company-selection routes are legitimately reachable by either: a user
9
+ * who belongs to more than one company arrives from the login screen holding
10
+ * only a selection token, while a user switching company from inside the app
11
+ * arrives holding a full token.
12
+ */
13
+ export declare class AnyScopeAuthGuard extends AnyScopeAuthGuard_base {
14
+ private readonly cls;
15
+ constructor(cls: ClsService);
16
+ canActivate(context: ExecutionContext): Promise<boolean>;
17
+ handleRequest(err: any, user: any, info: any, context: any): any;
18
+ }
19
+ export {};
20
+ //# sourceMappingURL=jwt.auth.any-scope.guard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jwt.auth.any-scope.guard.d.ts","sourceRoot":"","sources":["../../../src/common/guards/jwt.auth.any-scope.guard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAA6B,MAAM,gBAAgB,CAAC;AAE7E,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;;AAExC;;;;;;;;GAQG;AACH,qBACa,iBAAkB,SAAQ,sBAAgB;IACzC,OAAO,CAAC,QAAQ,CAAC,GAAG;gBAAH,GAAG,EAAE,UAAU;IAItC,WAAW,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC;IAU9D,aAAa,CAAC,GAAG,KAAA,EAAE,IAAI,KAAA,EAAE,IAAI,KAAA,EAAE,OAAO,KAAA;CAiBvC"}
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ 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;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.AnyScopeAuthGuard = void 0;
13
+ const common_1 = require("@nestjs/common");
14
+ const passport_1 = require("@nestjs/passport");
15
+ const nestjs_cls_1 = require("nestjs-cls");
16
+ /**
17
+ * Admits BOTH a full session JWT and a scoped selection JWT (e.g. the
18
+ * short-lived "company-selection" token issued at login).
19
+ *
20
+ * The company-selection routes are legitimately reachable by either: a user
21
+ * who belongs to more than one company arrives from the login screen holding
22
+ * only a selection token, while a user switching company from inside the app
23
+ * arrives holding a full token.
24
+ */
25
+ let AnyScopeAuthGuard = class AnyScopeAuthGuard extends (0, passport_1.AuthGuard)("jwt") {
26
+ constructor(cls) {
27
+ super();
28
+ this.cls = cls;
29
+ }
30
+ async canActivate(context) {
31
+ const request = context.switchToHttp().getRequest();
32
+ // Throw rather than `return false`: returning false makes Nest raise a 403,
33
+ // while handleRequest below throws 401 for the very same condition. A
34
+ // missing header and a malformed one must not get different statuses.
35
+ if (!request.headers.authorization)
36
+ throw new common_1.HttpException("Unauthorised", 401);
37
+ return (await super.canActivate(context));
38
+ }
39
+ handleRequest(err, user, info, context) {
40
+ const request = context.switchToHttp().getRequest();
41
+ const token = request.headers.authorization;
42
+ if (!token)
43
+ throw new common_1.HttpException("Unauthorised", 401);
44
+ if (err || !user) {
45
+ if (info?.message === "jwt expired")
46
+ throw new common_1.HttpException("Token expired", 401);
47
+ if (err)
48
+ throw err;
49
+ throw new common_1.HttpException("Unauthorised", 401);
50
+ }
51
+ this.cls.set("userId", user.userId);
52
+ this.cls.set("token", token.startsWith("Bearer ") ? token.slice(7) : token);
53
+ return user;
54
+ }
55
+ };
56
+ exports.AnyScopeAuthGuard = AnyScopeAuthGuard;
57
+ exports.AnyScopeAuthGuard = AnyScopeAuthGuard = __decorate([
58
+ (0, common_1.Injectable)(),
59
+ __metadata("design:paramtypes", [nestjs_cls_1.ClsService])
60
+ ], AnyScopeAuthGuard);
61
+ //# sourceMappingURL=jwt.auth.any-scope.guard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jwt.auth.any-scope.guard.js","sourceRoot":"","sources":["../../../src/common/guards/jwt.auth.any-scope.guard.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA6E;AAC7E,+CAA6C;AAC7C,2CAAwC;AAExC;;;;;;;;GAQG;AAEI,IAAM,iBAAiB,GAAvB,MAAM,iBAAkB,SAAQ,IAAA,oBAAS,EAAC,KAAK,CAAC;IACrD,YAA6B,GAAe;QAC1C,KAAK,EAAE,CAAC;QADmB,QAAG,GAAH,GAAG,CAAY;IAE5C,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,OAAyB;QACzC,MAAM,OAAO,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,UAAU,EAAE,CAAC;QACpD,4EAA4E;QAC5E,sEAAsE;QACtE,sEAAsE;QACtE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa;YAAE,MAAM,IAAI,sBAAa,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;QAEjF,OAAO,CAAC,MAAM,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,CAAY,CAAC;IACvD,CAAC;IAED,aAAa,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO;QACpC,MAAM,OAAO,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,UAAU,EAAE,CAAC;QACpD,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC;QAE5C,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,sBAAa,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;QAEzD,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YACjB,IAAI,IAAI,EAAE,OAAO,KAAK,aAAa;gBAAE,MAAM,IAAI,sBAAa,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC;YACnF,IAAI,GAAG;gBAAE,MAAM,GAAG,CAAC;YACnB,MAAM,IAAI,sBAAa,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;QAC/C,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACpC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAE5E,OAAO,IAAI,CAAC;IACd,CAAC;CACF,CAAA;AAhCY,8CAAiB;4BAAjB,iBAAiB;IAD7B,IAAA,mBAAU,GAAE;qCAEuB,uBAAU;GADjC,iBAAiB,CAgC7B"}
@@ -19,6 +19,11 @@ export declare class SecurityService {
19
19
  signInvitationSelectionJwt(params: {
20
20
  userId: string;
21
21
  }): string;
22
+ get companySelectionTokenExpiration(): Date;
23
+ signCompanySelectionJwt(params: {
24
+ userId: string;
25
+ }): string;
26
+ decodeJwt(token: string): any;
22
27
  isCurrentUserCompanyAdmin(): boolean;
23
28
  validateAdmin(params: {
24
29
  user: any;
@@ -1 +1 @@
1
- {"version":3,"file":"security.service.d.ts","sourceRoot":"","sources":["../../../../src/core/security/services/security.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAKxC,eAAO,MAAM,YAAY,GAAU,UAAU,MAAM,KAAG,OAAO,CAAC,MAAM,CAInE,CAAC;AAEF,eAAO,MAAM,aAAa,GAAU,UAAU,MAAM,EAAE,MAAM,MAAM,KAAG,OAAO,CAAC,OAAO,CAEnF,CAAC;AAEF,qBACa,eAAe;IAExB,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,UAAU;IACzC,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,UAAU;gBADtB,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,UAAU;IAG3C,IAAI,sBAAsB,IAAI,IAAI,CAEjC;IAED,IAAI,eAAe,IAAI,IAAI,CAE1B;IAED,OAAO,CAAC,MAAM,EAAE;QACd,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,EAAE,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,EAAE,CAAC;QACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,GAAG,MAAM;IAWV,IAAI,kCAAkC,IAAI,IAAI,CAE7C;IAED,0BAA0B,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM;IAQ9D,yBAAyB,IAAI,OAAO;IAKpC,aAAa,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,GAAG,CAAA;KAAE,GAAG,IAAI;IAU1C,aAAa,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,GAAG,CAAC;QAAC,KAAK,EAAE,MAAM,EAAE,CAAA;KAAE,GAAG,OAAO;IAK9D,aAAa,CAAC,MAAM,EAAE;QAAE,SAAS,EAAE,CAAC,MAAM,CAAC,EAAE,GAAG,KAAK,MAAM,CAAA;KAAE,GAAG,MAAM;IAMtE;;;;;;;;;OASG;IACH,cAAc,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM;IAYrE;;;;;;;OAOG;IACH,cAAc,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO;IAIrC;;OAEG;IACH,IAAI,sBAAsB,IAAI,IAAI,CAEjC;CACF"}
1
+ {"version":3,"file":"security.service.d.ts","sourceRoot":"","sources":["../../../../src/core/security/services/security.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAKxC,eAAO,MAAM,YAAY,GAAU,UAAU,MAAM,KAAG,OAAO,CAAC,MAAM,CAInE,CAAC;AAEF,eAAO,MAAM,aAAa,GAAU,UAAU,MAAM,EAAE,MAAM,MAAM,KAAG,OAAO,CAAC,OAAO,CAEnF,CAAC;AAEF,qBACa,eAAe;IAExB,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,UAAU;IACzC,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,UAAU;gBADtB,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,UAAU;IAG3C,IAAI,sBAAsB,IAAI,IAAI,CAEjC;IAED,IAAI,eAAe,IAAI,IAAI,CAE1B;IAED,OAAO,CAAC,MAAM,EAAE;QACd,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,EAAE,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,EAAE,CAAC;QACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,GAAG,MAAM;IAWV,IAAI,kCAAkC,IAAI,IAAI,CAE7C;IAED,0BAA0B,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM;IAQ9D,IAAI,+BAA+B,IAAI,IAAI,CAE1C;IAED,uBAAuB,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM;IAQ3D,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG;IAI7B,yBAAyB,IAAI,OAAO;IAKpC,aAAa,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,GAAG,CAAA;KAAE,GAAG,IAAI;IAU1C,aAAa,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,GAAG,CAAC;QAAC,KAAK,EAAE,MAAM,EAAE,CAAA;KAAE,GAAG,OAAO;IAK9D,aAAa,CAAC,MAAM,EAAE;QAAE,SAAS,EAAE,CAAC,MAAM,CAAC,EAAE,GAAG,KAAK,MAAM,CAAA;KAAE,GAAG,MAAM;IAMtE;;;;;;;;;OASG;IACH,cAAc,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM;IAYrE;;;;;;;OAOG;IACH,cAAc,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO;IAIrC;;OAEG;IACH,IAAI,sBAAsB,IAAI,IAAI,CAEjC;CACF"}
@@ -89,6 +89,19 @@ let SecurityService = class SecurityService {
89
89
  expiration: this.invitationSelectionTokenExpiration,
90
90
  });
91
91
  }
92
+ get companySelectionTokenExpiration() {
93
+ return new Date(new Date().getTime() + 10 * 60 * 1000);
94
+ }
95
+ signCompanySelectionJwt(params) {
96
+ return this.jwtService.sign({
97
+ userId: params.userId,
98
+ scope: "company-selection",
99
+ expiration: this.companySelectionTokenExpiration,
100
+ });
101
+ }
102
+ decodeJwt(token) {
103
+ return this.jwtService.decode(token);
104
+ }
92
105
  isCurrentUserCompanyAdmin() {
93
106
  const configurations = this.clsService.get("companyConfigurations");
94
107
  return configurations?.hasRole(system_roles_1.SystemRoles.CompanyAdministrator) ?? false;
@@ -1 +1 @@
1
- {"version":3,"file":"security.service.js","sourceRoot":"","sources":["../../../../src/core/security/services/security.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"security.service.js","sourceRoot":"","sources":["../../../../src/core/security/services/security.service.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,8 @@ export declare class AuthController {
8
8
  constructor(service: AuthService);
9
9
  findAuth(code: string): Promise<import("../../..").JsonApiDataInterface>;
10
10
  refreshToken(refreshToken: string): Promise<any>;
11
+ findCompanies(): Promise<import("../../..").JsonApiDataInterface>;
12
+ selectCompany(companyId: string): Promise<import("../../..").JsonApiDataInterface>;
11
13
  deleteSinglAuth(request: any): Promise<void>;
12
14
  login(body: AuthPostLoginDTO): Promise<any>;
13
15
  register(body: AuthPostRegisterDTO): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"auth.controller.d.ts","sourceRoot":"","sources":["../../../../src/foundations/auth/controllers/auth.controller.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAC;AAC7E,OAAO,EAAE,wBAAwB,EAAE,MAAM,6CAA6C,CAAC;AAEvF,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAE/D,qBACa,cAAc;IACb,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,WAAW;IAG3C,QAAQ,CAAgB,IAAI,EAAE,MAAM;IAKpC,YAAY,CAAwB,YAAY,EAAE,MAAM;IASxD,eAAe,CAAQ,OAAO,EAAE,GAAG;IAMnC,KAAK,CAAS,IAAI,EAAE,gBAAgB;IAMpC,QAAQ,CAAS,IAAI,EAAE,mBAAmB;IAM1C,cAAc,CAAS,IAAI,EAAE,iBAAiB,EAAgB,GAAG,CAAC,EAAE,MAAM;IAM1E,iBAAiB,CAAgB,IAAI,EAAE,MAAM;IAM7C,aAAa,CAAS,IAAI,EAAE,wBAAwB,EAAiB,IAAI,EAAE,MAAM;IAMjF,gBAAgB,CAAS,IAAI,EAAE,wBAAwB,EAAiB,IAAI,EAAE,MAAM;IAMpF,eAAe,CAAgB,IAAI,EAAE,MAAM;IAK3C,yBAAyB,CAE7B,IAAI,EAAE;QACJ,SAAS,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,MAAM,CAAC;QACxB,gBAAgB,EAAE,OAAO,CAAC;QAC1B,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;KACnC,GACA,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CAG7B"}
1
+ {"version":3,"file":"auth.controller.d.ts","sourceRoot":"","sources":["../../../../src/foundations/auth/controllers/auth.controller.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAC;AAC7E,OAAO,EAAE,wBAAwB,EAAE,MAAM,6CAA6C,CAAC;AAEvF,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAE/D,qBACa,cAAc;IACb,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,WAAW;IAG3C,QAAQ,CAAgB,IAAI,EAAE,MAAM;IAKpC,YAAY,CAAwB,YAAY,EAAE,MAAM;IAWxD,aAAa;IASb,aAAa,CAAqB,SAAS,EAAE,MAAM;IAOnD,eAAe,CAAQ,OAAO,EAAE,GAAG;IAMnC,KAAK,CAAS,IAAI,EAAE,gBAAgB;IAMpC,QAAQ,CAAS,IAAI,EAAE,mBAAmB;IAM1C,cAAc,CAAS,IAAI,EAAE,iBAAiB,EAAgB,GAAG,CAAC,EAAE,MAAM;IAM1E,iBAAiB,CAAgB,IAAI,EAAE,MAAM;IAM7C,aAAa,CAAS,IAAI,EAAE,wBAAwB,EAAiB,IAAI,EAAE,MAAM;IAMjF,gBAAgB,CAAS,IAAI,EAAE,wBAAwB,EAAiB,IAAI,EAAE,MAAM;IAMpF,eAAe,CAAgB,IAAI,EAAE,MAAM;IAK3C,yBAAyB,CAE7B,IAAI,EAAE;QACJ,SAAS,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,MAAM,CAAC;QACxB,gBAAgB,EAAE,OAAO,CAAC;QAC1B,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;KACnC,GACA,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CAG7B"}
@@ -14,7 +14,9 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.AuthController = void 0;
16
16
  const common_1 = require("@nestjs/common");
17
+ const jwt_auth_any_scope_guard_1 = require("../../../common/guards/jwt.auth.any-scope.guard");
17
18
  const jwt_auth_guard_1 = require("../../../common/guards/jwt.auth.guard");
19
+ const company_1 = require("../../company");
18
20
  const auth_post_forgot_dto_1 = require("../../auth/dtos/auth.post.forgot.dto");
19
21
  const auth_post_login_dto_1 = require("../../auth/dtos/auth.post.login.dto");
20
22
  const auth_post_register_dto_1 = require("../../auth/dtos/auth.post.register.dto");
@@ -33,6 +35,18 @@ let AuthController = class AuthController {
33
35
  refreshToken: refreshToken,
34
36
  });
35
37
  }
38
+ // GET /auth/companies — the companies the caller may act for.
39
+ // AnyScopeAuthGuard because the caller may hold either a full session token
40
+ // (company switcher) or a short-lived company-selection token (login screen).
41
+ async findCompanies() {
42
+ return await this.service.findCompanies();
43
+ }
44
+ // POST /auth/company-selection/:companyId — non-resource operation: exchanges the
45
+ // caller's token for one scoped to the chosen company. Path-param style mirrors
46
+ // POST auth/refreshtoken/:refreshToken above, so no DTO is needed.
47
+ async selectCompany(companyId) {
48
+ return await this.service.selectCompany({ companyId: companyId });
49
+ }
36
50
  async deleteSinglAuth(request) {
37
51
  const token = request.headers.authorization.split("Bearer ")[1];
38
52
  return await this.service.deleteByToken({ token: token });
@@ -77,6 +91,21 @@ __decorate([
77
91
  __metadata("design:paramtypes", [String]),
78
92
  __metadata("design:returntype", Promise)
79
93
  ], AuthController.prototype, "refreshToken", null);
94
+ __decorate([
95
+ (0, common_1.UseGuards)(jwt_auth_any_scope_guard_1.AnyScopeAuthGuard),
96
+ (0, common_1.Get)(company_1.companyMeta.endpoint),
97
+ __metadata("design:type", Function),
98
+ __metadata("design:paramtypes", []),
99
+ __metadata("design:returntype", Promise)
100
+ ], AuthController.prototype, "findCompanies", null);
101
+ __decorate([
102
+ (0, common_1.UseGuards)(jwt_auth_any_scope_guard_1.AnyScopeAuthGuard),
103
+ (0, common_1.Post)("company-selection/:companyId"),
104
+ __param(0, (0, common_1.Param)("companyId")),
105
+ __metadata("design:type", Function),
106
+ __metadata("design:paramtypes", [String]),
107
+ __metadata("design:returntype", Promise)
108
+ ], AuthController.prototype, "selectCompany", null);
80
109
  __decorate([
81
110
  (0, common_1.UseGuards)(jwt_auth_guard_1.JwtAuthGuard),
82
111
  (0, common_1.Delete)(),
@@ -1 +1 @@
1
- {"version":3,"file":"auth.controller.js","sourceRoot":"","sources":["../../../../src/foundations/auth/controllers/auth.controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.controller.js","sourceRoot":"","sources":["../../../../src/foundations/auth/controllers/auth.controller.ts"],"names":[],"mappings":"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"}
@@ -4,5 +4,15 @@ export type Auth = Entity & {
4
4
  token: string;
5
5
  expiration: Date;
6
6
  user?: User;
7
+ /**
8
+ * Transient, output-only login-flow fields — never stored on the Auth node.
9
+ *
10
+ * When a user belongs to more than one company the credentials check succeeds but
11
+ * no session is created yet: the response carries `requiresCompanySelection: true`
12
+ * plus a short-lived `selectionToken` scoped to company selection, and the client
13
+ * exchanges it for a full company-scoped token once a company has been chosen.
14
+ */
15
+ requiresCompanySelection?: boolean;
16
+ selectionToken?: string;
7
17
  };
8
18
  //# sourceMappingURL=auth.entity.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth.entity.d.ts","sourceRoot":"","sources":["../../../../src/foundations/auth/entities/auth.entity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAC;AAC1D,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAEhD,MAAM,MAAM,IAAI,GAAG,MAAM,GAAG;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,IAAI,CAAC;IACjB,IAAI,CAAC,EAAE,IAAI,CAAC;CACb,CAAC"}
1
+ {"version":3,"file":"auth.entity.d.ts","sourceRoot":"","sources":["../../../../src/foundations/auth/entities/auth.entity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAC;AAC1D,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAEhD,MAAM,MAAM,IAAI,GAAG,MAAM,GAAG;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,IAAI,CAAC;IACjB,IAAI,CAAC,EAAE,IAAI,CAAC;IAEZ;;;;;;;OAOG;IACH,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC"}
@@ -3,6 +3,7 @@ import { Neo4jService } from "../../../core/neo4j/services/neo4j.service";
3
3
  import { SecurityService } from "../../../core/security/services/security.service";
4
4
  import { AuthCode } from "../../auth/entities/auth.code.entity";
5
5
  import { Auth } from "../../auth/entities/auth.entity";
6
+ import { Company } from "../../company";
6
7
  import { User } from "../../user/entities/user";
7
8
  export declare class AuthRepository implements OnModuleInit {
8
9
  private readonly neo4j;
@@ -39,14 +40,41 @@ export declare class AuthRepository implements OnModuleInit {
39
40
  findValidToken(params: {
40
41
  userId: string;
41
42
  }): Promise<Auth>;
43
+ /**
44
+ * Reads the user together with the roles effective in a single company.
45
+ *
46
+ * `companyId` scopes BOTH the company hydration and the membership role read to
47
+ * one explicit company (login/company-switch/refresh); platform memberships (no
48
+ * IN_COMPANY edge) always resolve regardless. When omitted, `$companyId` keeps
49
+ * the CLS value injected by `initQuery()` — identical to the previous behaviour.
50
+ */
42
51
  findUserById(params: {
43
52
  userId: string;
53
+ companyId?: string;
44
54
  }): Promise<User>;
55
+ countUserCompanies(params: {
56
+ userId: string;
57
+ }): Promise<number>;
58
+ /**
59
+ * The companies the user belongs to — the list rendered by the company-selection
60
+ * screen and the company switcher.
61
+ */
62
+ findUserCompanies(params: {
63
+ userId: string;
64
+ }): Promise<Company[]>;
65
+ /**
66
+ * `companyId` pins the session being created to one company: the roles baked
67
+ * into the JWT (signed by AuthService from the same user object) and the roles
68
+ * hydrated onto the returned Auth payload must describe the SAME company, or a
69
+ * user who belongs to more than one company would get a session whose company
70
+ * and roles disagree.
71
+ */
45
72
  create(params: {
46
73
  authId: string;
47
74
  userId: string;
48
75
  token: string;
49
76
  expiration: Date;
77
+ companyId?: string;
50
78
  }): Promise<Auth>;
51
79
  findByToken(params: {
52
80
  token: string;
@@ -1 +1 @@
1
- {"version":3,"file":"auth.repository.d.ts","sourceRoot":"","sources":["../../../../src/foundations/auth/repositories/auth.repository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.repository.d.ts","sourceRoot":"","sources":["../../../../src/foundations/auth/repositories/auth.repository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG1D,OAAO,EAAE,YAAY,EAAE,MAAM,4CAA4C,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,kDAAkD,CAAC;AACnF,OAAO,EAAE,QAAQ,EAAE,MAAM,sCAAsC,CAAC;AAEhE,OAAO,EAAE,IAAI,EAAE,MAAM,iCAAiC,CAAC;AAEvD,OAAO,EAAE,OAAO,EAAkC,MAAM,eAAe,CAAC;AAOxE,OAAO,EAAE,IAAI,EAAkB,MAAM,0BAA0B,CAAC;AAEhE,qBACa,cAAe,YAAW,YAAY;IAE/C,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBADR,KAAK,EAAE,YAAY,EACnB,QAAQ,EAAE,eAAe;IAGtC,YAAY;IAUZ,YAAY,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAcvD,UAAU,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,QAAQ,CAAC;IAevD,QAAQ,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAoDnD,YAAY,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAerD,aAAa,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAevD,UAAU,CAAC,MAAM,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,IAAI,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAwB3F,YAAY,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBtE,kBAAkB,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAe7D,cAAc,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAkB/D;;;;;;;OAOG;IACG,YAAY,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAwB3E,kBAAkB,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAuBrE;;;OAGG;IACG,iBAAiB,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAiBvE;;;;;;OAMG;IACG,MAAM,CAAC,MAAM,EAAE;QACnB,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,EAAE,IAAI,CAAC;QACjB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,GAAG,OAAO,CAAC,IAAI,CAAC;IA0IX,WAAW,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAqCrD,UAAU,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAerD,kBAAkB,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAkB7D,aAAa,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAmB1E,gBAAgB,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAoB7E,eAAe,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAiB1D,kBAAkB,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CAgBpE"}
@@ -19,6 +19,7 @@ const auth_code_model_1 = require("../../auth/entities/auth.code.model");
19
19
  const auth_model_1 = require("../../auth/entities/auth.model");
20
20
  const company_1 = require("../../company");
21
21
  const feature_meta_1 = require("../../feature/entities/feature.meta");
22
+ const membership_query_1 = require("../../membership/queries/membership.query");
22
23
  const module_model_1 = require("../../module/entities/module.model");
23
24
  const feature_module_query_1 = require("../../module/queries/feature.module.query");
24
25
  const user_1 = require("../../user");
@@ -60,21 +61,36 @@ let AuthRepository = class AuthRepository {
60
61
  async findById(params) {
61
62
  let query = this.neo4j.initQuery({ serialiser: auth_model_1.AuthModel });
62
63
  query.queryParams = {
64
+ ...query.queryParams,
63
65
  authId: params.authId,
64
66
  };
67
+ // Role hydration is bound to the `auth_user_company` ALIAS rather than to
68
+ // `$companyId` (the membershipRoleMatch helper): the auth-code exchange runs
69
+ // UNAUTHENTICATED, so CLS carries no companyId and `$companyId` would be null,
70
+ // which would silently reduce the session to platform-level roles only. The
71
+ // alias-bound form is the same shape the permission core uses
72
+ // (feature.module.query.ts) and keeps the returned roles consistent with the
73
+ // company returned on the very same row. Platform memberships (no IN_COMPANY
74
+ // edge) are still included, so the global Administrator keeps its roles.
65
75
  query.query = `
66
76
  MATCH (auth:Auth {id: $authId})
67
77
  MATCH (auth)<-[:HAS_AUTH]-(auth_user:User)
68
- OPTIONAL MATCH (auth_user)-[:MEMBER_OF]->(auth_user_role:Role)
69
- OPTIONAL MATCH (auth_user)-[:MEMBER_OF]->(auth_user_group:Group)
70
78
  OPTIONAL MATCH (auth_user)-[:BELONGS_TO]->(auth_user_company:Company)
79
+ OPTIONAL MATCH (auth_user)-[:HAS_MEMBERSHIP]->(auth_user_role_ms:Membership)
80
+ WHERE (auth_user_role_ms)-[:IN_COMPANY]->(auth_user_company)
81
+ OR NOT (auth_user_role_ms)-[:IN_COMPANY]->(:Company)
82
+ OPTIONAL MATCH (auth_user_role_ms)-[:HAS_ROLE]->(auth_user_role:Role)
71
83
  OPTIONAL MATCH (auth_user_company)-[:HAS_CONFIGURATION]->(auth_user_company_configuration:Configuration)
72
84
  OPTIONAL MATCH (auth_user_company)-[:HAS_FEATURE]->(auth_user_company_feature:Feature)
73
- RETURN auth, auth_user, auth_user_role, auth_user_group, auth_user_company, auth_user_company_configuration, auth_user_company_feature
85
+ RETURN auth, auth_user, auth_user_role, auth_user_company, auth_user_company_configuration, auth_user_company_feature
74
86
  `;
75
87
  const auth = await this.neo4j.readOne(query);
76
88
  query = this.neo4j.initQuery({ serialiser: module_model_1.ModuleModel });
89
+ // Spread first: initQuery() keeps the prefix MATCH on `$currentUserId` whenever CLS
90
+ // carries a userId, so that parameter must survive — the company-selection flow is
91
+ // the first caller that reaches here with a userId but no companyId in CLS.
77
92
  query.queryParams = {
93
+ ...query.queryParams,
78
94
  companyId: auth.user.company.id,
79
95
  userId: auth.user.id,
80
96
  };
@@ -168,15 +184,26 @@ let AuthRepository = class AuthRepository {
168
184
  `;
169
185
  return this.neo4j.readOne(query);
170
186
  }
187
+ /**
188
+ * Reads the user together with the roles effective in a single company.
189
+ *
190
+ * `companyId` scopes BOTH the company hydration and the membership role read to
191
+ * one explicit company (login/company-switch/refresh); platform memberships (no
192
+ * IN_COMPANY edge) always resolve regardless. When omitted, `$companyId` keeps
193
+ * the CLS value injected by `initQuery()` — identical to the previous behaviour.
194
+ */
171
195
  async findUserById(params) {
172
196
  const query = this.neo4j.initQuery({ serialiser: user_2.UserDescriptor.model });
173
197
  query.queryParams = {
198
+ ...query.queryParams,
174
199
  userId: params.userId,
175
200
  };
201
+ if (params.companyId)
202
+ query.queryParams.companyId = params.companyId;
176
203
  query.query = `
177
- MATCH (user:User {id: $userId})
178
- OPTIONAL MATCH (user)-[:MEMBER_OF]->(user_role:Role)
179
- OPTIONAL MATCH (user)-[:BELONGS_TO]->(user_company:Company)
204
+ MATCH (user:User {id: $userId})
205
+ ${(0, membership_query_1.membershipRoleMatch)({ userAlias: "user", roleAlias: "user_role" })}
206
+ OPTIONAL MATCH (user)-[:BELONGS_TO]->(user_company:Company${params.companyId ? ` {id: $companyId}` : ``})
180
207
  MATCH (${user_1.userMeta.nodeName}_${company_1.companyMeta.nodeName}_${feature_meta_1.featureMeta.nodeName}:${feature_meta_1.featureMeta.labelName})
181
208
  WHERE ${user_1.userMeta.nodeName}_${company_1.companyMeta.nodeName}_${feature_meta_1.featureMeta.nodeName}.isCore = true
182
209
  OR EXISTS {((${user_1.userMeta.nodeName}_${company_1.companyMeta.nodeName})-[:HAS_FEATURE]->(${user_1.userMeta.nodeName}_${company_1.companyMeta.nodeName}_${feature_meta_1.featureMeta.nodeName}))}
@@ -185,23 +212,75 @@ let AuthRepository = class AuthRepository {
185
212
  `;
186
213
  return this.neo4j.readOne(query);
187
214
  }
215
+ async countUserCompanies(params) {
216
+ const query = this.neo4j.initQuery();
217
+ query.queryParams = {
218
+ ...query.queryParams,
219
+ userId: params.userId,
220
+ };
221
+ query.query = `
222
+ MATCH (user:User {id: $userId})-[:BELONGS_TO]->(company:Company)
223
+ RETURN count(DISTINCT company) AS total
224
+ `;
225
+ // Scalar aggregate read (a count, not an entity fetch); mirrors the sanctioned
226
+ // getCompanyAdminGuard pattern in UserRepository. Company scope is derived
227
+ // graph-side from the user, so buildDefaultMatch does not apply: this runs
228
+ // pre-session, when CLS holds no companyId at all.
229
+ const result = await this.neo4j.read(query.query, query.queryParams); // nja-lint-ignore raw-neo4j-query — scalar COUNT, justified above
230
+ const total = result.records[0]?.get("total");
231
+ return total?.toNumber?.() ?? Number(total ?? 0);
232
+ }
233
+ /**
234
+ * The companies the user belongs to — the list rendered by the company-selection
235
+ * screen and the company switcher.
236
+ */
237
+ async findUserCompanies(params) {
238
+ const query = this.neo4j.initQuery({ serialiser: company_1.CompanyDescriptor.model, fetchAll: true });
239
+ query.queryParams = {
240
+ ...query.queryParams,
241
+ userId: params.userId,
242
+ };
243
+ query.query = `
244
+ MATCH (:User {id: $userId})-[:BELONGS_TO]->(${company_1.companyMeta.nodeName}:${company_1.companyMeta.labelName})
245
+ RETURN ${company_1.companyMeta.nodeName}
246
+ ORDER BY ${company_1.companyMeta.nodeName}.name
247
+ `;
248
+ return this.neo4j.readMany(query);
249
+ }
250
+ /**
251
+ * `companyId` pins the session being created to one company: the roles baked
252
+ * into the JWT (signed by AuthService from the same user object) and the roles
253
+ * hydrated onto the returned Auth payload must describe the SAME company, or a
254
+ * user who belongs to more than one company would get a session whose company
255
+ * and roles disagree.
256
+ */
188
257
  async create(params) {
189
- const user = await this.findUserById({ userId: params.userId });
258
+ const user = await this.findUserById({ userId: params.userId, companyId: params.companyId });
190
259
  let query = this.neo4j.initQuery({ serialiser: auth_model_1.AuthModel });
191
260
  query.queryParams = {
261
+ ...query.queryParams,
192
262
  authId: params.authId,
193
263
  userId: params.userId,
194
264
  token: params.token,
195
265
  expiration: params.expiration.toISOString(),
196
266
  };
197
- if (user.role && user.role.length === 1 && user.role[0].id === system_roles_1.RoleId.Administrator) {
267
+ // Login runs before CLS carries a companyId, so bind the membership role read to
268
+ // the company `findUserById` resolved for this user (sanctioned explicit-company
269
+ // pattern); platform memberships resolve regardless of the value.
270
+ if (user.company?.id)
271
+ query.queryParams.companyId = user.company.id;
272
+ // Platform administrator: holds the Administrator role on a platform membership
273
+ // (no IN_COMPANY edge) and therefore has no company in scope. Previously
274
+ // expressed as "exactly one role and it is Administrator" — under the membership
275
+ // model an administrator may legitimately hold several platform roles.
276
+ if (user.role?.some((role) => role.id === system_roles_1.RoleId.Administrator) && !user.company) {
198
277
  query.query = `
199
278
  MATCH (auth_user:User {id: $userId})
200
279
  CREATE (auth:Auth {id: $authId, token: $token, expiration: $expiration, createdAt: datetime(), updatedAt: datetime()})
201
280
  CREATE (auth_user)-[:HAS_AUTH]->(auth)
202
281
 
203
282
  WITH auth, auth_user
204
- OPTIONAL MATCH (auth_user)-[:MEMBER_OF]->(auth_user_role:Role)
283
+ ${(0, membership_query_1.membershipRoleMatch)({ userAlias: "auth_user", roleAlias: "auth_user_role" })}
205
284
  OPTIONAL MATCH (auth_user_role)-[perm:HAS_PERMISSIONS]->(module:Module)
206
285
  WITH auth, auth_user, auth_user_role, module, apoc.convert.fromJsonList(module.permissions) AS modPerms, collect(perm) AS rolePerms
207
286
 
@@ -279,9 +358,9 @@ WITH auth, auth_user, auth_user_role, module,
279
358
  CREATE (auth_user)-[:HAS_AUTH]->(auth)
280
359
 
281
360
  WITH auth, auth_user
282
- OPTIONAL MATCH (auth_user)-[:MEMBER_OF]->(auth_user_role:Role)
361
+ ${(0, membership_query_1.membershipRoleMatch)({ userAlias: "auth_user", roleAlias: "auth_user_role" })}
283
362
  OPTIONAL MATCH (auth_user)-[:BELONGS_TO]->(auth_user_company:Company)
284
-
363
+
285
364
  MATCH (auth_${user_1.userMeta.nodeName}_${company_1.companyMeta.nodeName}_${feature_meta_1.featureMeta.nodeName}:${feature_meta_1.featureMeta.labelName})
286
365
  WHERE auth_${user_1.userMeta.nodeName}_${company_1.companyMeta.nodeName}_${feature_meta_1.featureMeta.nodeName}.isCore = true
287
366
  OR EXISTS {((auth_${user_1.userMeta.nodeName}_${company_1.companyMeta.nodeName})-[:HAS_FEATURE]->(auth_${user_1.userMeta.nodeName}_${company_1.companyMeta.nodeName}_${feature_meta_1.featureMeta.nodeName}))}
@@ -306,12 +385,13 @@ WITH auth, auth_user, auth_user_role, module,
306
385
  async findByToken(params) {
307
386
  let query = this.neo4j.initQuery({ serialiser: auth_model_1.AuthModel });
308
387
  query.queryParams = {
388
+ ...query.queryParams,
309
389
  token: params.token,
310
390
  };
311
391
  query.query = `
312
392
  MATCH (auth:Auth {token: $token})<-[:HAS_AUTH]-(auth_user:User)
313
393
  WITH auth, auth_user
314
- OPTIONAL MATCH (auth_user)-[:MEMBER_OF]->(auth_user_role:Role)
394
+ ${(0, membership_query_1.membershipRoleMatch)({ userAlias: "auth_user", roleAlias: "auth_user_role" })}
315
395
  OPTIONAL MATCH (auth_user)-[:BELONGS_TO]->(auth_user_company:Company)
316
396
  OPTIONAL MATCH (auth_user_company)-[:HAS_CONFIGURATION]->(auth_user_company_configuration:Configuration)
317
397
  OPTIONAL MATCH (auth_user_company)-[:HAS_FEATURE]->(auth_user_company_feature:Feature)
@@ -1 +1 @@
1
- {"version":3,"file":"auth.repository.js","sourceRoot":"","sources":["../../../../src/foundations/auth/repositories/auth.repository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.repository.js","sourceRoot":"","sources":["../../../../src/foundations/auth/repositories/auth.repository.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"auth.serialiser.d.ts","sourceRoot":"","sources":["../../../../src/foundations/auth/serialisers/auth.serialiser.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,yBAAyB,EAAE,MAAM,6DAA6D,CAAC;AACxG,OAAO,EAAE,wBAAwB,EAAE,MAAM,4DAA4D,CAAC;AACtG,OAAO,EAAE,oBAAoB,EAAE,MAAM,yDAAyD,CAAC;AAC/F,OAAO,EAAE,uBAAuB,EAAE,MAAM,4DAA4D,CAAC;AAIrG,qBACa,cAAe,SAAQ,yBAA0B,YAAW,uBAAuB;gBAClF,iBAAiB,EAAE,wBAAwB,EAAE,aAAa,EAAE,aAAa,CAAC,mBAAmB,CAAC;IAI1G,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED,MAAM,IAAI,oBAAoB;CAe/B"}
1
+ {"version":3,"file":"auth.serialiser.d.ts","sourceRoot":"","sources":["../../../../src/foundations/auth/serialisers/auth.serialiser.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,yBAAyB,EAAE,MAAM,6DAA6D,CAAC;AACxG,OAAO,EAAE,wBAAwB,EAAE,MAAM,4DAA4D,CAAC;AACtG,OAAO,EAAE,oBAAoB,EAAE,MAAM,yDAAyD,CAAC;AAC/F,OAAO,EAAE,uBAAuB,EAAE,MAAM,4DAA4D,CAAC;AAIrG,qBACa,cAAe,SAAQ,yBAA0B,YAAW,uBAAuB;gBAClF,iBAAiB,EAAE,wBAAwB,EAAE,aAAa,EAAE,aAAa,CAAC,mBAAmB,CAAC;IAI1G,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED,MAAM,IAAI,oBAAoB;CAmB/B"}
@@ -31,6 +31,10 @@ let AuthSerialiser = class AuthSerialiser extends abstract_jsonapi_serialiser_1.
31
31
  token: "token",
32
32
  refreshToken: "refreshToken",
33
33
  expiration: "expiration",
34
+ // Transient login-flow attributes: present only on the company-selection
35
+ // response, undefined (and therefore omitted from the JSON body) otherwise.
36
+ requiresCompanySelection: "requiresCompanySelection",
37
+ selectionToken: "selectionToken",
34
38
  };
35
39
  this.relationships = {
36
40
  user: {
@@ -1 +1 @@
1
- {"version":3,"file":"auth.serialiser.js","sourceRoot":"","sources":["../../../../src/foundations/auth/serialisers/auth.serialiser.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAC5C,2CAA+C;AAE/C,6GAAwG;AACxG,2GAAsG;AAGtG,6DAAyD;AACzD,mDAA0D;AAGnD,IAAM,cAAc,GAApB,MAAM,cAAe,SAAQ,uDAAyB;IAC3D,YAAY,iBAA2C,EAAE,aAAiD;QACxG,KAAK,CAAC,iBAAiB,EAAE,aAAa,CAAC,CAAC;IAC1C,CAAC;IAED,IAAI,IAAI;QACN,OAAO,oBAAQ,CAAC,QAAQ,CAAC;IAC3B,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,GAAG,oBAAQ,CAAC,QAAQ,eAAe,CAAC;IAC7C,CAAC;IAED,MAAM;QACJ,IAAI,CAAC,UAAU,GAAG;YAChB,KAAK,EAAE,OAAO;YACd,YAAY,EAAE,cAAc;YAC5B,UAAU,EAAE,YAAY;SACzB,CAAC;QAEF,IAAI,CAAC,aAAa,GAAG;YACnB,IAAI,EAAE;gBACJ,IAAI,EAAE,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,qBAAc,CAAC,KAAK,CAAC;aAC1D;SACF,CAAC;QAEF,OAAO,KAAK,CAAC,MAAM,EAAE,CAAC;IACxB,CAAC;CACF,CAAA;AA5BY,wCAAc;yBAAd,cAAc;IAD1B,IAAA,mBAAU,GAAE;qCAEoB,qDAAwB,EAAiB,sBAAa;GAD1E,cAAc,CA4B1B"}
1
+ {"version":3,"file":"auth.serialiser.js","sourceRoot":"","sources":["../../../../src/foundations/auth/serialisers/auth.serialiser.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAC5C,2CAA+C;AAE/C,6GAAwG;AACxG,2GAAsG;AAGtG,6DAAyD;AACzD,mDAA0D;AAGnD,IAAM,cAAc,GAApB,MAAM,cAAe,SAAQ,uDAAyB;IAC3D,YAAY,iBAA2C,EAAE,aAAiD;QACxG,KAAK,CAAC,iBAAiB,EAAE,aAAa,CAAC,CAAC;IAC1C,CAAC;IAED,IAAI,IAAI;QACN,OAAO,oBAAQ,CAAC,QAAQ,CAAC;IAC3B,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,GAAG,oBAAQ,CAAC,QAAQ,eAAe,CAAC;IAC7C,CAAC;IAED,MAAM;QACJ,IAAI,CAAC,UAAU,GAAG;YAChB,KAAK,EAAE,OAAO;YACd,YAAY,EAAE,cAAc;YAC5B,UAAU,EAAE,YAAY;YACxB,yEAAyE;YACzE,4EAA4E;YAC5E,wBAAwB,EAAE,0BAA0B;YACpD,cAAc,EAAE,gBAAgB;SACjC,CAAC;QAEF,IAAI,CAAC,aAAa,GAAG;YACnB,IAAI,EAAE;gBACJ,IAAI,EAAE,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,qBAAc,CAAC,KAAK,CAAC;aAC1D;SACF,CAAC;QAEF,OAAO,KAAK,CAAC,MAAM,EAAE,CAAC;IACxB,CAAC;CACF,CAAA;AAhCY,wCAAc;yBAAd,cAAc;IAD1B,IAAA,mBAAU,GAAE;qCAEoB,qDAAwB,EAAiB,sBAAa;GAD1E,cAAc,CAgC1B"}