@carlonicora/nestjs-neo4jsonapi 1.113.0 → 1.115.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 (103) 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/common/helpers/define-entity.d.ts.map +1 -1
  10. package/dist/common/helpers/define-entity.js +6 -2
  11. package/dist/common/helpers/define-entity.js.map +1 -1
  12. package/dist/common/interfaces/entity.schema.interface.d.ts +19 -0
  13. package/dist/common/interfaces/entity.schema.interface.d.ts.map +1 -1
  14. package/dist/core/security/services/security.service.d.ts +5 -0
  15. package/dist/core/security/services/security.service.d.ts.map +1 -1
  16. package/dist/core/security/services/security.service.js +13 -0
  17. package/dist/core/security/services/security.service.js.map +1 -1
  18. package/dist/foundations/auth/auth.module.d.ts.map +1 -1
  19. package/dist/foundations/auth/auth.module.js +2 -1
  20. package/dist/foundations/auth/auth.module.js.map +1 -1
  21. package/dist/foundations/auth/controllers/auth.company.controller.d.ts +21 -0
  22. package/dist/foundations/auth/controllers/auth.company.controller.d.ts.map +1 -0
  23. package/dist/foundations/auth/controllers/auth.company.controller.js +71 -0
  24. package/dist/foundations/auth/controllers/auth.company.controller.js.map +1 -0
  25. package/dist/foundations/auth/controllers/auth.controller.d.ts.map +1 -1
  26. package/dist/foundations/auth/controllers/auth.controller.js +4 -0
  27. package/dist/foundations/auth/controllers/auth.controller.js.map +1 -1
  28. package/dist/foundations/auth/entities/auth.entity.d.ts +10 -0
  29. package/dist/foundations/auth/entities/auth.entity.d.ts.map +1 -1
  30. package/dist/foundations/auth/index.d.ts +1 -0
  31. package/dist/foundations/auth/index.d.ts.map +1 -1
  32. package/dist/foundations/auth/index.js +3 -1
  33. package/dist/foundations/auth/index.js.map +1 -1
  34. package/dist/foundations/auth/repositories/auth.repository.d.ts +28 -0
  35. package/dist/foundations/auth/repositories/auth.repository.d.ts.map +1 -1
  36. package/dist/foundations/auth/repositories/auth.repository.js +92 -12
  37. package/dist/foundations/auth/repositories/auth.repository.js.map +1 -1
  38. package/dist/foundations/auth/serialisers/auth.serialiser.d.ts.map +1 -1
  39. package/dist/foundations/auth/serialisers/auth.serialiser.js +4 -0
  40. package/dist/foundations/auth/serialisers/auth.serialiser.js.map +1 -1
  41. package/dist/foundations/auth/services/auth.service.d.ts +12 -0
  42. package/dist/foundations/auth/services/auth.service.d.ts.map +1 -1
  43. package/dist/foundations/auth/services/auth.service.js +55 -0
  44. package/dist/foundations/auth/services/auth.service.js.map +1 -1
  45. package/dist/foundations/company/repositories/company.repository.d.ts.map +1 -1
  46. package/dist/foundations/company/repositories/company.repository.js +7 -34
  47. package/dist/foundations/company/repositories/company.repository.js.map +1 -1
  48. package/dist/foundations/discord-user/repositories/discord-user.repository.d.ts.map +1 -1
  49. package/dist/foundations/discord-user/repositories/discord-user.repository.js +6 -1
  50. package/dist/foundations/discord-user/repositories/discord-user.repository.js.map +1 -1
  51. package/dist/foundations/foundations.modules.d.ts.map +1 -1
  52. package/dist/foundations/foundations.modules.js +2 -0
  53. package/dist/foundations/foundations.modules.js.map +1 -1
  54. package/dist/foundations/google-user/repositories/google-user.repository.d.ts.map +1 -1
  55. package/dist/foundations/google-user/repositories/google-user.repository.js +6 -1
  56. package/dist/foundations/google-user/repositories/google-user.repository.js.map +1 -1
  57. package/dist/foundations/index.d.ts +1 -0
  58. package/dist/foundations/index.d.ts.map +1 -1
  59. package/dist/foundations/index.js +1 -0
  60. package/dist/foundations/index.js.map +1 -1
  61. package/dist/foundations/membership/entities/membership.d.ts +34 -0
  62. package/dist/foundations/membership/entities/membership.d.ts.map +1 -0
  63. package/dist/foundations/membership/entities/membership.js +24 -0
  64. package/dist/foundations/membership/entities/membership.js.map +1 -0
  65. package/dist/foundations/membership/entities/membership.meta.d.ts +3 -0
  66. package/dist/foundations/membership/entities/membership.meta.d.ts.map +1 -0
  67. package/dist/foundations/membership/entities/membership.meta.js +10 -0
  68. package/dist/foundations/membership/entities/membership.meta.js.map +1 -0
  69. package/dist/foundations/membership/index.d.ts +6 -0
  70. package/dist/foundations/membership/index.d.ts.map +1 -0
  71. package/dist/foundations/membership/index.js +17 -0
  72. package/dist/foundations/membership/index.js.map +1 -0
  73. package/dist/foundations/membership/membership.module.d.ts +9 -0
  74. package/dist/foundations/membership/membership.module.d.ts.map +1 -0
  75. package/dist/foundations/membership/membership.module.js +32 -0
  76. package/dist/foundations/membership/membership.module.js.map +1 -0
  77. package/dist/foundations/membership/queries/membership.query.d.ts +60 -0
  78. package/dist/foundations/membership/queries/membership.query.d.ts.map +1 -0
  79. package/dist/foundations/membership/queries/membership.query.js +86 -0
  80. package/dist/foundations/membership/queries/membership.query.js.map +1 -0
  81. package/dist/foundations/membership/repositories/membership.repository.d.ts +8 -0
  82. package/dist/foundations/membership/repositories/membership.repository.d.ts.map +1 -0
  83. package/dist/foundations/membership/repositories/membership.repository.js +30 -0
  84. package/dist/foundations/membership/repositories/membership.repository.js.map +1 -0
  85. package/dist/foundations/module/queries/feature.module.query.d.ts +2 -2
  86. package/dist/foundations/module/queries/feature.module.query.d.ts.map +1 -1
  87. package/dist/foundations/module/queries/feature.module.query.js +11 -3
  88. package/dist/foundations/module/queries/feature.module.query.js.map +1 -1
  89. package/dist/foundations/role/repositories/role.repository.d.ts.map +1 -1
  90. package/dist/foundations/role/repositories/role.repository.js +15 -4
  91. package/dist/foundations/role/repositories/role.repository.js.map +1 -1
  92. package/dist/foundations/user/entities/user.d.ts.map +1 -1
  93. package/dist/foundations/user/entities/user.js +6 -1
  94. package/dist/foundations/user/entities/user.js.map +1 -1
  95. package/dist/foundations/user/repositories/user.repository.d.ts +1 -0
  96. package/dist/foundations/user/repositories/user.repository.d.ts.map +1 -1
  97. package/dist/foundations/user/repositories/user.repository.js +105 -58
  98. package/dist/foundations/user/repositories/user.repository.js.map +1 -1
  99. package/dist/foundations/user/services/user.service.d.ts +8 -0
  100. package/dist/foundations/user/services/user.service.d.ts.map +1 -1
  101. package/dist/foundations/user/services/user.service.js +20 -4
  102. package/dist/foundations/user/services/user.service.js.map +1 -1
  103. package/package.json +1 -1
@@ -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":"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"}
@@ -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"}
@@ -69,6 +69,18 @@ export declare class AuthService {
69
69
  login(params: {
70
70
  data: AuthPostLoginDataDTO;
71
71
  }): Promise<any>;
72
+ /**
73
+ * The companies the authenticated (or company-selection scoped) user may act
74
+ * for. Backs the selection screen and the company switcher.
75
+ */
76
+ findCompanies(): Promise<JsonApiDataInterface>;
77
+ /**
78
+ * Exchanges a company-selection (or full) token for a session scoped to
79
+ * `companyId`, carrying that company's roles.
80
+ */
81
+ selectCompany(params: {
82
+ companyId: string;
83
+ }): Promise<JsonApiDataInterface>;
72
84
  /**
73
85
  * Complete the 2FA login after successful verification.
74
86
  * Called by the 2FA controller after verifying TOTP, passkey, or backup code.
@@ -1 +1 @@
1
- {"version":3,"file":"auth.service.d.ts","sourceRoot":"","sources":["../../../../src/foundations/auth/services/auth.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.service.d.ts","sourceRoot":"","sources":["../../../../src/foundations/auth/services/auth.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAGzC,OAAO,EAAE,YAAY,EAAE,MAAM,4CAA4C,CAAC;AAC1E,OAAO,EAA+B,eAAe,EAAE,MAAM,kDAAkD,CAAC;AAChH,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAE3E,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,mBAAmB,EAA2C,MAAM,4BAA4B,CAAC;AAC1G,OAAO,EAAE,oBAAoB,EAAE,MAAM,yDAAyD,CAAC;AAE/F,OAAO,EAAE,cAAc,EAAE,MAAM,gDAAgD,CAAC;AAChF,OAAO,EAAE,YAAY,EAAE,MAAM,4CAA4C,CAAC;AAC1E,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AACjF,OAAO,EAAE,QAAQ,EAAE,MAAM,sCAAsC,CAAC;AAChE,OAAO,EAAE,IAAI,EAAE,MAAM,iCAAiC,CAAC;AAGvD,OAAO,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAEzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;AAClF,OAAO,EAAE,kBAAkB,EAAE,MAAM,kDAAkD,CAAC;AACtF,OAAO,EAAE,iBAAiB,EAAE,MAAM,gDAAgD,CAAC;AAEnF,OAAO,EAAE,gBAAgB,EAAE,MAAM,8CAA8C,CAAC;AAChF,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAE3E,OAAO,EAAE,0BAA0B,EAAE,MAAM,gCAAgC,CAAC;AAC5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE1D,qBACa,WAAW;IAIpB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,0BAA0B;IAC3C,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IACnC,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,eAAe;IAEhC,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IApBnC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAwC;gBAG5C,OAAO,EAAE,cAAc,EACvB,UAAU,EAAE,cAAc,EAC1B,WAAW,EAAE,WAAW,EACxB,KAAK,EAAE,cAAc,EACrB,iBAAiB,EAAE,iBAAiB,EACpC,YAAY,EAAE,YAAY,EAC1B,QAAQ,EAAE,eAAe,EACzB,UAAU,EAAE,UAAU,EACtB,KAAK,EAAE,YAAY,EACnB,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,aAAa,CAAC,mBAAmB,CAAC,EACjD,0BAA0B,EAAE,0BAA0B,EACtD,kBAAkB,EAAE,kBAAkB,EACtC,iBAAiB,EAAE,iBAAiB,EACpC,iBAAiB,EAAE,iBAAiB,EACpC,eAAe,EAAE,eAAe,EAEhC,gBAAgB,EAAE,gBAAgB;IAGrD;;;;OAIG;IACH,OAAO,CAAC,mBAAmB;IAS3B,OAAO,KAAK,SAAS,GAEpB;IAED,OAAO,KAAK,UAAU,GAErB;IAEK,eAAe,IAAI,OAAO,CAAC,oBAAoB,CAAC;IAchD,UAAU,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,IAAI,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAkCxE,WAAW,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,IAAI,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAWzF,UAAU,CAAC,MAAM,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,QAAQ,CAAC;IAa7E,YAAY,CAAC,MAAM,EAAE;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,GAAG,CAAC;IAgD5D,KAAK,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,oBAAoB,CAAA;KAAE,GAAG,OAAO,CAAC,GAAG,CAAC;IAkEjE;;;OAGG;IACG,aAAa,IAAI,OAAO,CAAC,oBAAoB,CAAC;IAQpD;;;OAGG;IACG,aAAa,CAAC,MAAM,EAAE;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAcjF;;;;;;OAMG;IACG,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAyBrE,QAAQ,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,uBAAuB,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAyFlE,cAAc,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAoBvE,aAAa,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAIvD,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM;IAuB9C,YAAY,CAAC,IAAI,EAAE,MAAM;IAQzB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;IAe5C,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;IAe/C,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAqB3C,yBAAyB,CAAC,MAAM,EAAE;QACtC,SAAS,EAAE,MAAM,CAAC;QAClB,eAAe,EAAE,MAAM,CAAC;QACxB,gBAAgB,EAAE,OAAO,CAAC;QAC1B,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;KACnC,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IA6H7B;;;OAGG;YACW,0BAA0B;CAiCzC"}
@@ -22,11 +22,13 @@ const system_roles_1 = require("../../../common/constants/system.roles");
22
22
  const email_service_1 = require("../../../core/email/services/email.service");
23
23
  const security_service_1 = require("../../../core/security/services/security.service");
24
24
  const nestjs_cls_1 = require("nestjs-cls");
25
+ const jsonapi_paginator_1 = require("../../../core/jsonapi/serialisers/jsonapi.paginator");
25
26
  const jsonapi_service_1 = require("../../../core/jsonapi/services/jsonapi.service");
26
27
  const neo4j_service_1 = require("../../../core/neo4j/services/neo4j.service");
27
28
  const auth_model_1 = require("../../auth/entities/auth.model");
28
29
  const pending_auth_model_1 = require("../../auth/entities/pending-auth.model");
29
30
  const auth_repository_1 = require("../../auth/repositories/auth.repository");
31
+ const company_1 = require("../../company");
30
32
  const company_repository_1 = require("../../company/repositories/company.repository");
31
33
  const discord_user_service_1 = require("../../discord-user/services/discord-user.service");
32
34
  const google_user_service_1 = require("../../google-user/services/google-user.service");
@@ -104,6 +106,10 @@ let AuthService = AuthService_1 = class AuthService {
104
106
  authId: (0, crypto_1.randomUUID)(),
105
107
  userId: params.user.id,
106
108
  token: token,
109
+ // Pin the session to the same company whose roles were just signed into the
110
+ // JWT: a user who belongs to more than one company must not get a payload
111
+ // whose company and roles come from different memberships.
112
+ companyId: companyId,
107
113
  expiration: this.security.refreshTokenExpiration,
108
114
  });
109
115
  auth.refreshToken = auth.id;
@@ -136,8 +142,13 @@ let AuthService = AuthService_1 = class AuthService {
136
142
  });
137
143
  if (!auth)
138
144
  throw new common_1.HttpException("Invalid refresh token", common_1.HttpStatus.UNAUTHORIZED);
145
+ // Roles are company-scoped: re-derive them for the company the expiring token was
146
+ // issued for, otherwise a refresh would silently drop the active company's roles.
147
+ const previousPayload = this.security.decodeJwt(auth.token);
148
+ const companyId = previousPayload?.companyId ?? undefined;
139
149
  const user = await this.repository.findUserById({
140
150
  userId: auth.user.id,
151
+ companyId: companyId,
141
152
  });
142
153
  if (!user)
143
154
  throw new Error("User not found");
@@ -204,9 +215,43 @@ let AuthService = AuthService_1 = class AuthService {
204
215
  return response;
205
216
  }
206
217
  // No 2FA - proceed with normal login
218
+ // Roles are held per company, so a user who belongs to more than one company has
219
+ // no single "active" company at login: hand back a short-lived selection token
220
+ // instead of a session, and let POST auth/company-selection/:companyId mint the
221
+ // real, company-scoped one.
222
+ const companyCount = await this.repository.countUserCompanies({ userId: user.id });
223
+ if (companyCount > 1)
224
+ return await this.builder.buildSingle(auth_model_1.AuthModel, {
225
+ id: (0, crypto_1.randomUUID)(),
226
+ requiresCompanySelection: true,
227
+ selectionToken: this.security.signCompanySelectionJwt({ userId: user.id }),
228
+ });
207
229
  await this.repository.setLastLogin({ userId: user.id });
208
230
  return await this.createToken({ user: user });
209
231
  }
232
+ /**
233
+ * The companies the authenticated (or company-selection scoped) user may act
234
+ * for. Backs the selection screen and the company switcher.
235
+ */
236
+ async findCompanies() {
237
+ const userId = this.clsService.get("userId");
238
+ const companies = await this.repository.findUserCompanies({ userId: userId });
239
+ return await this.builder.buildList(company_1.CompanyDescriptor.model, companies, new jsonapi_paginator_1.JsonApiPaginator({}));
240
+ }
241
+ /**
242
+ * Exchanges a company-selection (or full) token for a session scoped to
243
+ * `companyId`, carrying that company's roles.
244
+ */
245
+ async selectCompany(params) {
246
+ const userId = this.clsService.get("userId");
247
+ const user = await this.repository.findUserById({
248
+ userId: userId,
249
+ companyId: params.companyId,
250
+ });
251
+ if (!user?.company?.id || user.company.id !== params.companyId)
252
+ throw new common_1.HttpException("User does not belong to this company", common_1.HttpStatus.FORBIDDEN);
253
+ return await this.createToken({ user: user });
254
+ }
210
255
  /**
211
256
  * Complete the 2FA login after successful verification.
212
257
  * Called by the 2FA controller after verifying TOTP, passkey, or backup code.
@@ -223,6 +268,16 @@ let AuthService = AuthService_1 = class AuthService {
223
268
  throw new common_1.HttpException("The account has been deleted", common_1.HttpStatus.FORBIDDEN);
224
269
  if (!user.isActive)
225
270
  throw new common_1.HttpException("The account has not been activated yet", common_1.HttpStatus.FORBIDDEN);
271
+ // Same company-selection gate as password login: 2FA is complete at this point,
272
+ // so handing back a selection token here cannot bypass verification. Without
273
+ // this, a multi-company user would get a session pinned to an arbitrary company.
274
+ const companyCount = await this.repository.countUserCompanies({ userId: user.id });
275
+ if (companyCount > 1)
276
+ return await this.builder.buildSingle(auth_model_1.AuthModel, {
277
+ id: (0, crypto_1.randomUUID)(),
278
+ requiresCompanySelection: true,
279
+ selectionToken: this.security.signCompanySelectionJwt({ userId: user.id }),
280
+ });
226
281
  await this.repository.setLastLogin({ userId: user.id });
227
282
  return await this.createToken({ user: user });
228
283
  }
@@ -1 +1 @@
1
- {"version":3,"file":"auth.service.js","sourceRoot":"","sources":["../../../../src/foundations/auth/services/auth.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAmG;AACnG,2CAA+C;AAC/C,uCAAyC;AACzC,mCAAoC;AACpC,yEAAgE;AAChE,8EAA0E;AAC1E,uFAAgH;AAGhH,2CAAwC;AAGxC,oFAAgF;AAChF,8EAA0E;AAI1E,+DAA2D;AAC3D,+EAA0E;AAC1E,6EAAyE;AACzE,sFAAkF;AAClF,2FAAsF;AACtF,wFAAmF;AAEnF,qFAAgF;AAEhF,6EAAyE;AACzE,mEAA+D;AAC/D,+EAA2E;AAC3E,2FAAyG;AACzG,iFAA4E;AAC5E,+DAA0D;AAGnD,IAAM,WAAW,mBAAjB,MAAM,WAAW;IAGtB,YACmB,OAAuB,EACvB,UAA0B,EAC1B,WAAwB,EACxB,KAAqB,EACrB,iBAAoC,EACpC,YAA0B,EAC1B,QAAyB,EACzB,UAAsB,EACtB,KAAmB,EACnB,SAAoB,EACpB,aAAiD,EACjD,0BAAsD,EACtD,kBAAsC,EACtC,iBAAoC,EACpC,iBAAoC,EACpC,eAAgC,EAEjD,gBAAmD;QAjBlC,YAAO,GAAP,OAAO,CAAgB;QACvB,eAAU,GAAV,UAAU,CAAgB;QAC1B,gBAAW,GAAX,WAAW,CAAa;QACxB,UAAK,GAAL,KAAK,CAAgB;QACrB,sBAAiB,GAAjB,iBAAiB,CAAmB;QACpC,iBAAY,GAAZ,YAAY,CAAc;QAC1B,aAAQ,GAAR,QAAQ,CAAiB;QACzB,eAAU,GAAV,UAAU,CAAY;QACtB,UAAK,GAAL,KAAK,CAAc;QACnB,cAAS,GAAT,SAAS,CAAW;QACpB,kBAAa,GAAb,aAAa,CAAoC;QACjD,+BAA0B,GAA1B,0BAA0B,CAA4B;QACtD,uBAAkB,GAAlB,kBAAkB,CAAoB;QACtC,sBAAiB,GAAjB,iBAAiB,CAAmB;QACpC,sBAAiB,GAAjB,iBAAiB,CAAmB;QACpC,oBAAe,GAAf,eAAe,CAAiB;QAEhC,qBAAgB,GAAhB,gBAAgB,CAAkB;QApBpC,WAAM,GAAW,IAAI,eAAM,CAAC,aAAW,CAAC,IAAI,CAAC,CAAC;IAqB5D,CAAC;IAEJ;;;;OAIG;IACK,mBAAmB;QACzB,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,+CAAiB,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;QAClE,CAAC;QAAC,MAAM,CAAC;YACP,+CAA+C;YAC/C,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IAED,IAAY,SAAS;QACnB,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,CAAqB,KAAK,CAAC,CAAC;IAC3D,CAAC;IAED,IAAY,UAAU;QACpB,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,CAAsB,MAAM,CAAC,CAAC;IAC7D,CAAC;IAED,KAAK,CAAC,eAAe;QACnB,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAE3C,MAAM,IAAI,GAAS,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC;YACnD,KAAK,EAAE,KAAK;SACb,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,sBAAa,CAAC,gBAAgB,EAAE,mBAAU,CAAC,SAAS,CAAC,CAAC;QAE1E,IAAY,CAAC,YAAY,GAAG,IAAI,CAAC,EAAE,CAAC;QAErC,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,sBAAS,EAAE,IAAI,CAAC,CAAC;IACzD,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,MAA6C;QAC5D,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9B,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,IAAU,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;QACnE,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;QAC1C,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;QAElF,MAAM,KAAK,GAAW,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;YAC1C,MAAM,EAAE,MAAM;YACd,KAAK,EAAE,KAAK;YACZ,SAAS,EAAE,SAAS;YACpB,QAAQ,EAAE,QAAQ;YAClB,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI;SAC3B,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;YACxC,MAAM,EAAE,IAAA,mBAAU,GAAE;YACpB,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE;YACtB,KAAK,EAAE,KAAK;YACZ,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,sBAAsB;SACjD,CAAC,CAAC;QAEF,IAAY,CAAC,YAAY,GAAG,IAAI,CAAC,EAAE,CAAC;QAErC,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QAE7D,IAAI,CAAC,CAAC,MAAM,CAAC,YAAY;YAAE,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;QAEjD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,MAA6C;QAC7D,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,YAAY,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;QAE7F,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,EAAE,CAAC;YAC1B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACvD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC9C,CAAC;QAED,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,sBAAS,EAAE,IAAI,CAAC,CAAC;IACzD,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,MAA8C;QAC7D,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,UAAU,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;QAE3D,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;YAC/B,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,UAAU,EAAE,UAAU;SACvB,CAAC,CAAC;QAEH,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;IACvE,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,MAAgC;QACjD,IAAI,IAAI,GAAS,MAAM,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC;YACxD,MAAM,EAAE,MAAM,CAAC,YAAY;SAC5B,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,sBAAa,CAAC,uBAAuB,EAAE,mBAAU,CAAC,YAAY,CAAC,CAAC;QAErF,MAAM,IAAI,GAAS,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC;YACpD,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE;SACrB,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;QAE7C,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;QACvB,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,IAAU,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;QAC5D,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;QAE3E,MAAM,KAAK,GAAW,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;YAC1C,MAAM,EAAE,MAAM;YACd,KAAK,EAAE,KAAK;YACZ,SAAS,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE;YAC3B,QAAQ,EAAE,QAAQ;YAClB,QAAQ,EAAE,IAAI,CAAC,IAAI;SACpB,CAAC,CAAC;QAEH,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC;YACxC,MAAM,EAAE,MAAM,CAAC,YAAY;YAC3B,KAAK,EAAE,KAAK;SACb,CAAC,CAAC;QAEH,MAAM,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QAE9D,MAAM,OAAO,GAAQ;YACnB,MAAM,EAAE,IAAI,CAAC,EAAE;YACf,YAAY,EAAE,IAAI,CAAC,EAAE;YACrB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,UAAU,EAAE,IAAI,CAAC,UAAU;SAC5B,CAAC;QAEF,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,sBAAS,EAAE,OAAO,CAAC,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,MAAsC;QAChD,MAAM,IAAI,GAAS,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;YAC9C,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK;SACpC,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,sBAAa,CAAC,iDAAiD,EAAE,mBAAU,CAAC,YAAY,CAAC,CAAC;QAC/G,IAAI,IAAI,CAAC,SAAS;YAAE,MAAM,IAAI,sBAAa,CAAC,8BAA8B,EAAE,mBAAU,CAAC,SAAS,CAAC,CAAC;QAClG,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,sBAAa,CAAC,wCAAwC,EAAE,mBAAU,CAAC,SAAS,CAAC,CAAC;QAE5G,MAAM,eAAe,GAAG,MAAM,IAAA,gCAAa,EAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAE5F,IAAI,CAAC,eAAe;YAClB,MAAM,IAAI,sBAAa,CAAC,iDAAiD,EAAE,mBAAU,CAAC,YAAY,CAAC,CAAC;QAEtG,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,sBAAa,CAAC,wCAAwC,EAAE,mBAAU,CAAC,SAAS,CAAC,CAAC;QAE5G,gCAAgC;QAChC,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEvE,IAAI,eAAe,EAAE,SAAS,EAAE,CAAC;YAC/B,sDAAsD;YACtD,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAEjF,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAElF,6CAA6C;YAC7C,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC;gBAChD,MAAM,EAAE,IAAI,CAAC,EAAE;gBACf,SAAS,EAAE,cAAc,CAAC,SAAS;aACpC,CAAC,CAAC;YAEH,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;YAEvB,0DAA0D;YAC1D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,qCAAgB,EAAE;gBAChE,EAAE,EAAE,cAAc,CAAC,SAAS,EAAE,qCAAqC;gBACnE,SAAS,EAAE,GAAG,EAAE,gBAAgB;gBAChC,SAAS,EAAE,GAAG,EAAE,gBAAgB;gBAChC,KAAK,EAAE,YAAY;gBACnB,UAAU,EAAE,cAAc,CAAC,UAAU;gBACrC,gBAAgB,EAAE,gBAAgB;gBAClC,eAAe,EAAE,eAAe,CAAC,eAAe;aACjD,CAAC,CAAC;YACH,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,qCAAqC;QACrC,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QAExD,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAChD,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,sBAAsB,CAAC,MAAc;QACzC,2GAA2G;QAC3G,MAAM,IAAI,GAAS,MAAM,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;QAEtE,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,sBAAa,CAAC,gBAAgB,EAAE,mBAAU,CAAC,SAAS,CAAC,CAAC;QAC3E,IAAI,IAAI,CAAC,SAAS;YAAE,MAAM,IAAI,sBAAa,CAAC,8BAA8B,EAAE,mBAAU,CAAC,SAAS,CAAC,CAAC;QAClG,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,sBAAa,CAAC,wCAAwC,EAAE,mBAAU,CAAC,SAAS,CAAC,CAAC;QAE5G,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QAExD,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,MAAyC;QACtD,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC;YACvC,MAAM,IAAI,sBAAa,CAAC,oCAAoC,EAAE,mBAAU,CAAC,SAAS,CAAC,CAAC;QACtF,CAAC;QAED,0BAA0B;QAC1B,MAAM,gBAAgB,GAAG,IAAI,CAAC,UAAU,CAAC,gBAAgB,IAAI,MAAM,CAAC;QAEpE,IAAI,gBAAgB,KAAK,QAAQ,EAAE,CAAC;YAClC,MAAM,IAAI,sBAAa,CAAC,kCAAkC,EAAE,mBAAU,CAAC,SAAS,CAAC,CAAC;QACpF,CAAC;QAED,IAAI,gBAAgB,KAAK,UAAU,EAAE,CAAC;YACpC,wCAAwC;YACxC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC;gBACvC,MAAM,IAAI,sBAAa,CAAC,gEAAgE,EAAE,mBAAU,CAAC,SAAS,CAAC,CAAC;YAClH,CAAC;YAED,uBAAuB;YACvB,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;YAC1G,IAAI,CAAC,gBAAgB,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;gBACjD,MAAM,IAAI,sBAAa,CAAC,oCAAoC,EAAE,mBAAU,CAAC,SAAS,CAAC,CAAC;YACtF,CAAC;QACH,CAAC;QAED,MAAM,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC;QAEhF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC;YACxD,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI;SACxE,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAG,MAAM,IAAA,+BAAY,EAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAErE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;YACnC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE;YACtB,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK;YACnC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI;YACjC,QAAQ,EAAE,QAAQ;YAClB,SAAS,EAAE,OAAO,CAAC,EAAE;YACrB,OAAO,EAAE,CAAC,qBAAM,CAAC,oBAAoB,CAAC;YACtC,eAAe,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,eAAe;YACvD,gBAAgB,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,gBAAgB;YACzD,kBAAkB,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,kBAAkB;SAC9D,CAAC,CAAC;QAEH,yCAAyC;QACzC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;QAC7C,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;QAEvC,uDAAuD;QACvD,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC;YACxC,MAAM,gBAAgB,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACpD,IAAI,gBAAgB,EAAE,CAAC;gBACrB,IAAI,CAAC;oBACH,MAAM,gBAAgB,CAAC,sBAAsB,CAAC;wBAC5C,SAAS,EAAE,OAAO,CAAC,EAAE;wBACrB,MAAM,EAAE,IAAI,CAAC,EAAE;wBACf,YAAY,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY;qBAClD,CAAC,CAAC;gBACL,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,gDAAgD;oBAChD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAC;gBACxD,CAAC;YACH,CAAC;QACH,CAAC;QAED,mEAAmE;QACnE,IAAI,gBAAgB,KAAK,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC;YACzE,MAAM,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC;gBAC1C,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU;gBAC7C,MAAM,EAAE,IAAI,CAAC,EAAE;aAChB,CAAC,CAAC;QACL,CAAC;QAED,MAAM,IAAI,GAAW,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,iBAAiB,IAAI,CAAC,IAAI,EAAE,CAAC;QAEvE,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,CAC/B,iBAAiB,EACjB;YACE,EAAE,EAAE,IAAI,CAAC,KAAK;YACd,cAAc,EAAE,IAAI;YACpB,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE;YAClD,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE;YAClD,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI;SAC/B,EACD,IAAI,CACL,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,MAAwB;QAC3C,MAAM,QAAQ,GAAa,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;YAC1D,IAAI,EAAE,MAAM,CAAC,IAAI;SAClB,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,sBAAa,CAAC,cAAc,EAAE,mBAAU,CAAC,SAAS,CAAC,CAAC;QAE7E,IAAI,QAAQ,CAAC,UAAU,GAAG,IAAI,IAAI,EAAE;YAAE,MAAM,IAAI,sBAAa,CAAC,kBAAkB,EAAE,mBAAU,CAAC,SAAS,CAAC,CAAC;QAExG,MAAM,IAAI,GAAS,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;YAChD,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE;SACzB,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,sBAAa,CAAC,gBAAgB,EAAE,mBAAU,CAAC,SAAS,CAAC,CAAC;QAE1E,IAAY,CAAC,YAAY,GAAG,IAAI,CAAC,EAAE,CAAC;QAErC,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,sBAAS,EAAE,IAAI,CAAC,CAAC;IACzD,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,MAAyB;QAC3C,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,KAAa,EAAE,GAAY;QAClD,IAAI,IAAI,GAAS,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QAEhE,IAAI,CAAC,IAAI;YAAE,OAAO;QAElB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAElD,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QAErE,MAAM,IAAI,GAAW,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,YAAY,IAAI,CAAC,IAAI,EAAE,CAAC;QAElE,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,CAC/B,YAAY,EACZ;YACE,EAAE,EAAE,IAAI,CAAC,KAAK;YACd,SAAS,EAAE,IAAI;YACf,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE;YAClD,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE;SACnD,EACD,GAAG,IAAI,IAAI,CACZ,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,IAAY;QAC7B,MAAM,IAAI,GAAS,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAE/D,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,sBAAa,CAAC,8BAA8B,EAAE,mBAAU,CAAC,SAAS,CAAC,CAAC;QAEzF,IAAI,IAAI,CAAC,cAAc,GAAG,IAAI,IAAI,EAAE;YAAE,MAAM,IAAI,sBAAa,CAAC,qBAAqB,EAAE,mBAAU,CAAC,WAAW,CAAC,CAAC;IAC/G,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,IAAY,EAAE,QAAgB;QAChD,MAAM,IAAI,GAAS,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAE/D,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,sBAAa,CAAC,8BAA8B,EAAE,mBAAU,CAAC,SAAS,CAAC,CAAC;QAEzF,IAAI,IAAI,CAAC,cAAc,GAAG,IAAI,IAAI,EAAE;YAAE,MAAM,IAAI,sBAAa,CAAC,qBAAqB,EAAE,mBAAU,CAAC,WAAW,CAAC,CAAC;QAE7G,MAAM,WAAW,GAAG,MAAM,IAAA,+BAAY,EAAC,QAAQ,CAAC,CAAC;QAEjD,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;YAClC,MAAM,EAAE,IAAI,CAAC,EAAE;YACf,QAAQ,EAAE,WAAW;SACtB,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,IAAY,EAAE,QAAgB;QACnD,MAAM,IAAI,GAAS,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAE/D,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,sBAAa,CAAC,8BAA8B,EAAE,mBAAU,CAAC,SAAS,CAAC,CAAC;QAEzF,IAAI,IAAI,CAAC,cAAc,GAAG,IAAI,IAAI,EAAE;YAAE,MAAM,IAAI,sBAAa,CAAC,qBAAqB,EAAE,mBAAU,CAAC,WAAW,CAAC,CAAC;QAE7G,MAAM,WAAW,GAAG,MAAM,IAAA,+BAAY,EAAC,QAAQ,CAAC,CAAC;QAEjD,MAAM,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC;YACrC,MAAM,EAAE,IAAI,CAAC,EAAE;YACf,QAAQ,EAAE,WAAW;SACtB,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,IAAY;QAChC,MAAM,IAAI,GAAS,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAE/D,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,sBAAa,CAAC,8BAA8B,EAAE,mBAAU,CAAC,SAAS,CAAC,CAAC;QAEzF,IAAI,IAAI,CAAC,cAAc,GAAG,IAAI,IAAI,EAAE;YAAE,MAAM,IAAI,sBAAa,CAAC,8BAA8B,EAAE,mBAAU,CAAC,SAAS,CAAC,CAAC;QAEpH,MAAM,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QAE3D,qDAAqD;QACrD,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,EAAE,CAAC;YACrB,MAAM,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,CAAC;gBAC9C,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE;gBAC1B,MAAM,EAAE,IAAI,CAAC,EAAE;aAChB,CAAC,CAAC;QACL,CAAC;QAED,gDAAgD;QAChD,MAAM,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,yBAAyB,CAAC,MAK/B;QACC,sCAAsC;QACtC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC5E,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,sBAAa,CAAC,2CAA2C,EAAE,mBAAU,CAAC,SAAS,CAAC,CAAC;QAC7F,CAAC;QAED,mCAAmC;QACnC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC;YACvC,MAAM,IAAI,sBAAa,CAAC,oCAAoC,EAAE,mBAAU,CAAC,SAAS,CAAC,CAAC;QACtF,CAAC;QAED,0BAA0B;QAC1B,MAAM,gBAAgB,GAAG,IAAI,CAAC,UAAU,CAAC,gBAAgB,IAAI,MAAM,CAAC;QAEpE,IAAI,gBAAgB,KAAK,QAAQ,EAAE,CAAC;YAClC,MAAM,IAAI,sBAAa,CAAC,kCAAkC,EAAE,mBAAU,CAAC,SAAS,CAAC,CAAC;QACpF,CAAC;QAED,IAAI,gBAAgB,KAAK,UAAU,EAAE,CAAC;YACpC,wCAAwC;YACxC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;gBACxB,MAAM,IAAI,sBAAa,CAAC,gEAAgE,EAAE,mBAAU,CAAC,SAAS,CAAC,CAAC;YAClH,CAAC;YAED,uBAAuB;YACvB,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YAC3F,IAAI,CAAC,gBAAgB,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;gBACjD,MAAM,IAAI,sBAAa,CAAC,oCAAoC,EAAE,mBAAU,CAAC,SAAS,CAAC,CAAC;YACtF,CAAC;QACH,CAAC;QAED,wCAAwC;QACxC,MAAM,MAAM,GAAG,IAAA,mBAAU,GAAE,CAAC;QAC5B,MAAM,SAAS,GAAG,IAAA,mBAAU,GAAE,CAAC;QAE/B,gCAAgC;QAChC,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YACnC,MAAM,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC;gBACnC,MAAM;gBACN,SAAS;gBACT,WAAW,EAAE;oBACX,EAAE,EAAE,OAAO,CAAC,cAAc;oBAC1B,KAAK,EAAE,OAAO,CAAC,KAAK;oBACpB,QAAQ,EAAE,OAAO,CAAC,IAAI;oBACtB,MAAM,EAAE,OAAO,CAAC,MAAM;iBACvB;gBACD,eAAe,EAAE,MAAM,CAAC,eAAe;gBACvC,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;gBACzC,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;aAC9C,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACzC,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC;gBAClC,MAAM;gBACN,SAAS;gBACT,WAAW,EAAE;oBACX,EAAE,EAAE,OAAO,CAAC,cAAc;oBAC1B,KAAK,EAAE,OAAO,CAAC,KAAK;oBACpB,IAAI,EAAE,OAAO,CAAC,IAAI;oBAClB,OAAO,EAAE,OAAO,CAAC,MAAM;iBACxB;gBACD,eAAe,EAAE,MAAM,CAAC,eAAe;gBACvC,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;gBACzC,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;aAC9C,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,sBAAa,CAAC,yBAAyB,OAAO,CAAC,QAAQ,EAAE,EAAE,mBAAU,CAAC,WAAW,CAAC,CAAC;QAC/F,CAAC;QAED,kBAAkB;QAClB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;QAC5C,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAEtC,uDAAuD;QACvD,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;YACzB,MAAM,gBAAgB,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACpD,IAAI,gBAAgB,EAAE,CAAC;gBACrB,IAAI,CAAC;oBACH,MAAM,gBAAgB,CAAC,sBAAsB,CAAC;wBAC5C,SAAS,EAAE,SAAS;wBACpB,MAAM,EAAE,MAAM;wBACd,YAAY,EAAE,OAAO,CAAC,YAAY;qBACnC,CAAC,CAAC;gBACL,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,gDAAgD;oBAChD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAC;gBACxD,CAAC;YACH,CAAC;QACH,CAAC;QAED,6CAA6C;QAC7C,MAAM,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,CAAC;YAC9C,SAAS,EAAE,SAAS;YACpB,MAAM,EAAE,MAAM;SACf,CAAC,CAAC;QAEH,yEAAyE;QACzE,IAAI,gBAAgB,KAAK,UAAU,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;YAC1D,MAAM,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC;gBAC1C,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,MAAM,EAAE,MAAM;aACf,CAAC,CAAC;QACL,CAAC;QAED,8BAA8B;QAC9B,MAAM,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAE/D,mBAAmB;QACnB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;QAEvD,gDAAgD;QAChD,MAAM,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,CAAC;QAE5C,oBAAoB;QACpB,MAAM,KAAK,GAAQ,MAAM,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;QACpD,MAAM,UAAU,GAAG,IAAA,mBAAU,GAAE,CAAC;QAEhC,MAAM,IAAI,CAAC,UAAU,CAAC;YACpB,UAAU;YACV,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY;SAC3C,CAAC,CAAC;QAEH,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;IAC9B,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,0BAA0B,CAAC,IAAU;QACjD,IAAI,CAAC;YACH,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,0BAA0B,EAAE,CAAC;YAErE,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAChC,OAAO;YACT,CAAC;YAED,MAAM,aAAa,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,mBAAmB,CAAC;YAE/D,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE,CAAC;gBACnC,IAAI,CAAC;oBACH,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,CAC/B,+BAA+B,EAC/B;wBACE,EAAE,EAAE,KAAK,CAAC,KAAK;wBACf,SAAS,EAAE,KAAK,CAAC,IAAI,IAAI,eAAe;wBACxC,QAAQ,EAAE,IAAI,CAAC,IAAI;wBACnB,SAAS,EAAE,IAAI,CAAC,KAAK;wBACrB,WAAW,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,IAAI,KAAK;wBACxC,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;wBACrC,aAAa;qBACd,EACD,IAAI,CACL,CAAC;gBACJ,CAAC;gBAAC,OAAO,UAAU,EAAE,CAAC;oBACpB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,qDAAqD,KAAK,CAAC,KAAK,GAAG,EAAE,UAAU,CAAC,CAAC;gBACrG,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kDAAkD,EAAE,KAAK,CAAC,CAAC;QAC/E,CAAC;IACH,CAAC;CACF,CAAA;AA9kBY,kCAAW;sBAAX,WAAW;IADvB,IAAA,mBAAU,GAAE;IAqBR,YAAA,IAAA,eAAM,EAAC,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,qCAAgB,CAAC,CAAC,CAAA;qCAhBjB,gCAAc;QACX,gCAAc;QACb,0BAAW;QACjB,gCAAc;QACF,sCAAiB;QACtB,4BAAY;QAChB,kCAAe;QACb,uBAAU;QACf,4BAAY;QACR,gBAAS;QACL,sBAAa;QACA,yDAA0B;QAClC,yCAAkB;QACnB,uCAAiB;QACjB,uCAAiB;QACnB,kCAAe;QAEd,qCAAgB;GArB1C,WAAW,CA8kBvB"}
1
+ {"version":3,"file":"auth.service.js","sourceRoot":"","sources":["../../../../src/foundations/auth/services/auth.service.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"company.repository.d.ts","sourceRoot":"","sources":["../../../../src/foundations/company/repositories/company.repository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"company.repository.d.ts","sourceRoot":"","sources":["../../../../src/foundations/company/repositories/company.repository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE1D,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC,OAAO,EAAE,sBAAsB,EAAE,MAAM,2DAA2D,CAAC;AACnG,OAAO,EAAE,YAAY,EAAE,MAAM,4CAA4C,CAAC;AAC1E,OAAO,EAAE,OAAO,EAAqB,MAAM,gCAAgC,CAAC;AAK5E,qBACa,iBAAkB,YAAW,YAAY;IAElD,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,UAAU;gBADV,KAAK,EAAE,YAAY,EACnB,UAAU,EAAE,UAAU;IAGnC,YAAY;IAMZ,QAAQ,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAW9B,eAAe,CAAC,MAAM,EAAE;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAiBhE,WAAW,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAajD,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC;IAa9B,MAAM,CAAC,MAAM,EAAE;QACnB,SAAS,EAAE,MAAM,CAAC;QAClB,IAAI,EAAE,MAAM,CAAC;QACb,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,sBAAsB,CAAC,EAAE,MAAM,CAAC;QAChC,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;QACtB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;QACrB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,GAAG,OAAO,CAAC,OAAO,CAAC;IA4Fd,MAAM,CAAC,MAAM,EAAE;QACnB,SAAS,EAAE,MAAM,CAAC;QAClB,IAAI,EAAE,MAAM,CAAC;QACb,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,sBAAsB,CAAC,EAAE,MAAM,CAAC;QAChC,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;QACtB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;QACrB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,GAAG,OAAO,CAAC,IAAI,CAAC;IA6FX,oBAAoB,CAAC,MAAM,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAqB1F,YAAY,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAsBxD,SAAS,CAAC,MAAM,EAAE;QACtB,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,GAAG,OAAO,CAAC;QAAE,sBAAsB,EAAE,MAAM,CAAC;QAAC,oBAAoB,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC;IA4DnF,sBAAsB,CAAC,MAAM,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,oBAAoB,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBzG;;;;;;;;;;;OAWG;IACG,YAAY,CAAC,MAAM,EAAE;QACzB,SAAS,EAAE,MAAM,CAAC;QAClB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,sBAAsB,CAAC,EAAE,MAAM,CAAC;QAChC,oBAAoB,CAAC,EAAE,MAAM,CAAC;KAC/B,GAAG,OAAO,CAAC,IAAI,CAAC;IA+BX,IAAI,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,sBAAsB,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IA0BlF,MAAM,CAAC,MAAM,EAAE;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAqB1D;;;;;;;;;OASG;IACG,sBAAsB,CAAC,MAAM,EAAE;QAAE,gBAAgB,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAgB3F;;;;;;;;OAQG;IACG,WAAW,CAAC,MAAM,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,EAAE,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAyBzF;;;;;;;OAOG;IACG,cAAc,CAAC,MAAM,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,EAAE,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAuBtF,iBAAiB,CAAC,MAAM,EAAE;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAgBjE,uBAAuB,CAAC,MAAM,EAAE;QACpC,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,IAAI,CAAC;QACd,MAAM,EAAE,eAAe,GAAG,wBAAwB,CAAC;KACpD,GAAG,OAAO,CAAC,IAAI,CAAC;IAwBX,qBAAqB,CAAC,MAAM,EAAE;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAenE,wBAAwB,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAc9C,+BAA+B,CAAC,MAAM,EAAE;QAAE,kBAAkB,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IA4BjG;;;;;;OAMG;IACG,kBAAkB,CAAC,MAAM,EAAE;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAenF;;;;;;OAMG;IACG,eAAe,CAAC,MAAM,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBzF;;;;;;OAMG;IACG,cAAc,CAAC,MAAM,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CAgBnF"}
@@ -69,37 +69,6 @@ let CompanyRepository = class CompanyRepository {
69
69
  `;
70
70
  return this.neo4j.readOne(query);
71
71
  }
72
- // async createCompanyAgents(params: { companyId: string }): Promise<void> {
73
- // await this.neo4j.writeOne({
74
- // query: `
75
- // MATCH (c:Company { id: $companyId })
76
- // WITH c,
77
- // substring(c.id, 0, size(c.id) - 12) AS prefix,
78
- // apoc.text.lpad(toString(toInteger($id)), 12, '0') AS suffix
79
- // WITH c, prefix + suffix AS userId
80
- // MERGE (u:User {id: userId})
81
- // ON CREATE SET
82
- // u.name = $name,
83
- // u.isActive = true,
84
- // u.isDeleted = false,
85
- // u.avatar = $avatar,
86
- // u.createdAt = datetime(),
87
- // u.updatedAt = datetime()
88
- // MERGE (u)-[:BELONGS_TO]->(c)
89
- // WITH u
90
- // MATCH (r:Role)
91
- // WHERE r.id IN $roles
92
- // MERGE (u)-[:MEMBER_OF]->(r)
93
- // `,
94
- // queryParams: {
95
- // companyId: params.companyId,
96
- // id: 1,
97
- // name: "Support Operator",
98
- // avatar: "~/images/support_operator.webp",
99
- // roles: [RoleId.SupportAgent],
100
- // },
101
- // });
102
- // }
103
72
  async create(params) {
104
73
  const query = this.neo4j.initQuery({ serialiser: company_1.CompanyDescriptor.model });
105
74
  await this.neo4j.validateExistingNodes({
@@ -322,9 +291,7 @@ let CompanyRepository = class CompanyRepository {
322
291
  updatedAt: datetime()
323
292
  }) RETURN company
324
293
  `;
325
- const response = await this.neo4j.writeOne(query);
326
- // await this.createCompanyAgents({ companyId: response.id });
327
- return response;
294
+ return await this.neo4j.writeOne(query);
328
295
  }
329
296
  async useTokens(params) {
330
297
  const tokens = params.input + params.output;
@@ -454,8 +421,14 @@ let CompanyRepository = class CompanyRepository {
454
421
  query.queryParams = {
455
422
  companyId: params.companyId,
456
423
  };
424
+ // SC-3 invariant: an orphaned Membership whose company vanished would read as a
425
+ // PLATFORM membership (privilege escalation), so it must go with the company.
457
426
  query.query = `
458
427
  MATCH (company:Company {id: $companyId})
428
+ OPTIONAL MATCH (:User)-[:HAS_MEMBERSHIP]->(orphan_ms:Membership)-[:IN_COMPANY]->(company)
429
+ DETACH DELETE orphan_ms
430
+
431
+ WITH DISTINCT company
459
432
  DETACH DELETE company
460
433
  `;
461
434
  await this.neo4j.writeOne(query);