@carlonicora/nestjs-neo4jsonapi 6.5.1 → 6.6.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 (55) hide show
  1. package/dist/common/helpers/define-entity.d.ts.map +1 -1
  2. package/dist/common/helpers/define-entity.js +15 -1
  3. package/dist/common/helpers/define-entity.js.map +1 -1
  4. package/dist/common/interfaces/entity.schema.interface.d.ts +26 -0
  5. package/dist/common/interfaces/entity.schema.interface.d.ts.map +1 -1
  6. package/dist/common/registries/entity-tenancy.registry.d.ts +76 -0
  7. package/dist/common/registries/entity-tenancy.registry.d.ts.map +1 -0
  8. package/dist/common/registries/entity-tenancy.registry.js +66 -0
  9. package/dist/common/registries/entity-tenancy.registry.js.map +1 -0
  10. package/dist/common/registries/index.d.ts +1 -0
  11. package/dist/common/registries/index.d.ts.map +1 -1
  12. package/dist/common/registries/index.js +1 -0
  13. package/dist/common/registries/index.js.map +1 -1
  14. package/dist/core/neo4j/abstracts/abstract.repository.d.ts +34 -0
  15. package/dist/core/neo4j/abstracts/abstract.repository.d.ts.map +1 -1
  16. package/dist/core/neo4j/abstracts/abstract.repository.js +85 -49
  17. package/dist/core/neo4j/abstracts/abstract.repository.js.map +1 -1
  18. package/dist/core/neo4j/abstracts/abstract.service.d.ts +7 -0
  19. package/dist/core/neo4j/abstracts/abstract.service.d.ts.map +1 -1
  20. package/dist/core/neo4j/abstracts/abstract.service.js +27 -4
  21. package/dist/core/neo4j/abstracts/abstract.service.js.map +1 -1
  22. package/dist/core/neo4j/helpers/build-order-by.d.ts +12 -0
  23. package/dist/core/neo4j/helpers/build-order-by.d.ts.map +1 -1
  24. package/dist/core/neo4j/helpers/build-order-by.js +22 -0
  25. package/dist/core/neo4j/helpers/build-order-by.js.map +1 -1
  26. package/dist/core/neo4j/queries/update.relationship.d.ts +7 -2
  27. package/dist/core/neo4j/queries/update.relationship.d.ts.map +1 -1
  28. package/dist/core/neo4j/queries/update.relationship.js +28 -13
  29. package/dist/core/neo4j/queries/update.relationship.js.map +1 -1
  30. package/dist/core/neo4j/services/neo4j.service.d.ts +24 -0
  31. package/dist/core/neo4j/services/neo4j.service.d.ts.map +1 -1
  32. package/dist/core/neo4j/services/neo4j.service.js +94 -0
  33. package/dist/core/neo4j/services/neo4j.service.js.map +1 -1
  34. package/dist/foundations/ai-connection/entities/ai-connection.d.ts +1 -0
  35. package/dist/foundations/ai-connection/entities/ai-connection.d.ts.map +1 -1
  36. package/dist/foundations/ai-connection/entities/ai-connection.js +3 -0
  37. package/dist/foundations/ai-connection/entities/ai-connection.js.map +1 -1
  38. package/dist/foundations/ai-connection/repositories/ai-connection.repository.d.ts +1 -0
  39. package/dist/foundations/ai-connection/repositories/ai-connection.repository.d.ts.map +1 -1
  40. package/dist/foundations/ai-connection/services/ai-connection.service.d.ts +1 -0
  41. package/dist/foundations/ai-connection/services/ai-connection.service.d.ts.map +1 -1
  42. package/dist/foundations/rbac/controllers/rbac-dev.controller.d.ts +9 -0
  43. package/dist/foundations/rbac/controllers/rbac-dev.controller.d.ts.map +1 -1
  44. package/dist/foundations/rbac/controllers/rbac-dev.controller.js +27 -3
  45. package/dist/foundations/rbac/controllers/rbac-dev.controller.js.map +1 -1
  46. package/dist/foundations/rbac/rbac.module.d.ts.map +1 -1
  47. package/dist/foundations/rbac/rbac.module.js +2 -1
  48. package/dist/foundations/rbac/rbac.module.js.map +1 -1
  49. package/dist/foundations/role/entities/role.d.ts.map +1 -1
  50. package/dist/foundations/role/entities/role.js +4 -0
  51. package/dist/foundations/role/entities/role.js.map +1 -1
  52. package/dist/foundations/user/controllers/user.controller.d.ts.map +1 -1
  53. package/dist/foundations/user/controllers/user.controller.js +15 -3
  54. package/dist/foundations/user/controllers/user.controller.js.map +1 -1
  55. package/package.json +1 -1
@@ -15,8 +15,13 @@ export declare const updateRelationshipQuery: (params: {
15
15
  * Opt-in: only link target nodes that BELONG_TO the company in `$companyId`
16
16
  * (set by `Neo4jService.initQuery()`). For writes whose target ids come from
17
17
  * request input, so an id of another firm's node never gets an edge. Pair it
18
- * with `Neo4jService.validateExistingNodes()` (per-node `companyId`) to
19
- * refuse the request instead of silently skipping the foreign id.
18
+ * with `Neo4jService.validateRelatedNodes()` to refuse the request instead of
19
+ * silently skipping the foreign id.
20
+ *
21
+ * The linking runs inside a unit `CALL {}` subquery, so ids filtered out here
22
+ * never reduce the outer row count: clauses appended after this fragment
23
+ * (further relationships, SETs) still run once for `node`, even when every id
24
+ * was filtered out.
20
25
  */
21
26
  companyScoped?: boolean;
22
27
  }) => string;
@@ -1 +1 @@
1
- {"version":3,"file":"update.relationship.d.ts","sourceRoot":"","sources":["../../../../src/core/neo4j/queries/update.relationship.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,uBAAuB,GAAI,QAAQ;IAC9C,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB,EAAE,MAAM,CAAC;IACzB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,sBAAsB,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,MAAM,KAAK;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAC,CAAC;IAC7F,WAAW,CAAC,EAAE,GAAG,CAAC;IAClB;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,KAAG,MA6EH,CAAC"}
1
+ {"version":3,"file":"update.relationship.d.ts","sourceRoot":"","sources":["../../../../src/core/neo4j/queries/update.relationship.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,uBAAuB,GAAI,QAAQ;IAC9C,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB,EAAE,MAAM,CAAC;IACzB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,sBAAsB,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,MAAM,KAAK;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAC,CAAC;IAC7F,WAAW,CAAC,EAAE,GAAG,CAAC;IAClB;;;;;;;;;;;OAWG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,KAAG,MA0FH,CAAC"}
@@ -44,24 +44,39 @@ const updateRelationshipQuery = (params) => {
44
44
  .join(", ");
45
45
  }
46
46
  }
47
+ const relPattern = `${params.relationshipToNode ? "-" : "<-"}[rel:${params.relationshipName}]${params.relationshipToNode ? "->" : "-"}`;
48
+ const setClause = relationshipProps
49
+ ? `SET ${relationshipProps}, rel.updatedAt = datetime()`
50
+ : `SET rel.updatedAt = datetime()`;
51
+ let linkClause = ``;
52
+ if (params.values && params.values.length > 0) {
53
+ linkClause = params.companyScoped
54
+ ? `
55
+ WITH ${params.node}
56
+ CALL {
57
+ WITH ${params.node}
58
+ UNWIND $${paramAlias} AS id
59
+ MATCH (new:${params.label} {id: id})
60
+ WHERE EXISTS { (new)-[:BELONGS_TO]->(:Company {id: $companyId}) }
61
+ MERGE (${params.node})${relPattern}(new)
62
+ ${setClause}
63
+ }
64
+ `
65
+ : `
66
+ WITH ${params.node}, $${paramAlias} AS ${paramAlias}
67
+ UNWIND ${paramAlias} AS id
68
+ MATCH (new:${params.label} {id: id})
69
+ MERGE (${params.node})${relPattern}(new)
70
+ ${setClause}
71
+ `;
72
+ }
47
73
  return `
48
74
  WITH ${params.node}
49
- OPTIONAL MATCH (${params.node})${params.relationshipToNode ? "-" : "<-"}[rel:${params.relationshipName}]${params.relationshipToNode ? "->" : "-"}(existing:${params.label})
75
+ OPTIONAL MATCH (${params.node})${relPattern}(existing:${params.label})
50
76
  WHERE NOT existing.id IN $${paramAlias}
51
77
  DELETE rel
52
78
 
53
- ${params.values && params.values.length > 0
54
- ? `
55
- WITH ${params.node}, $${paramAlias} AS ${paramAlias}
56
- UNWIND ${paramAlias} AS id
57
- MATCH (new:${params.label} {id: id})${params.companyScoped
58
- ? `
59
- WHERE EXISTS { (new)-[:BELONGS_TO]->(:Company {id: $companyId}) }`
60
- : ``}
61
- MERGE (${params.node})${params.relationshipToNode ? "-" : "<-"}[rel:${params.relationshipName}]${params.relationshipToNode ? "->" : "-"}(new)
62
- ${relationshipProps ? `SET ${relationshipProps}, rel.updatedAt = datetime()` : `SET rel.updatedAt = datetime()`}
63
- `
64
- : ``}
79
+ ${linkClause}
65
80
  `;
66
81
  };
67
82
  exports.updateRelationshipQuery = updateRelationshipQuery;
@@ -1 +1 @@
1
- {"version":3,"file":"update.relationship.js","sourceRoot":"","sources":["../../../../src/core/neo4j/queries/update.relationship.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"update.relationship.js","sourceRoot":"","sources":["../../../../src/core/neo4j/queries/update.relationship.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ import { ConfigService } from "@nestjs/config";
3
3
  import { Driver } from "neo4j-driver";
4
4
  import { ClsService } from "nestjs-cls";
5
5
  import { DataModelInterface } from "../../../common/interfaces/datamodel.interface";
6
+ import { RelatedNodeRule } from "../../../common/registries/entity-tenancy.registry";
6
7
  import { JsonApiCursorInterface } from "../../jsonapi/interfaces/jsonapi.cursor.interface";
7
8
  import { AppLoggingService } from "../../logging/services/logging.service";
8
9
  import { EntityFactory } from "../factories/entity.factory";
@@ -67,6 +68,29 @@ export declare class Neo4jService implements OnModuleInit, OnModuleDestroy {
67
68
  companyId?: string;
68
69
  }[];
69
70
  }): Promise<void>;
71
+ /**
72
+ * Throws `BadRequestException("One or more related nodes do not exist.")` unless every node
73
+ * exists AND satisfies its company rule for `companyId` (default: the CLS company). A node of
74
+ * another company fails exactly like a missing one, so a caller cannot probe foreign ids.
75
+ *
76
+ * `rule` defaults to the one the target label declares (`relatedNodeRuleForLabel`, filled by
77
+ * `defineEntity`). With no company (system jobs, workers) every rule is existence-only.
78
+ *
79
+ * One read query: nodes are grouped by label + rule, each group is one
80
+ * `UNWIND $ids MATCH ... WHERE <rule> RETURN count(DISTINCT t)` subquery, and the summed count
81
+ * must equal the number of distinct ids.
82
+ *
83
+ * Custom repositories that write client-supplied relationship ids with their own Cypher call
84
+ * this before the write. `AbstractRepository` calls it from create/put/patch/addToRelationship.
85
+ */
86
+ validateRelatedNodes(params: {
87
+ nodes: {
88
+ id: string;
89
+ label: string;
90
+ rule?: RelatedNodeRule;
91
+ }[];
92
+ companyId?: string | null;
93
+ }): Promise<void>;
70
94
  private withRetry;
71
95
  private write;
72
96
  getActiveConnections(): number;
@@ -1 +1 @@
1
- {"version":3,"file":"neo4j.service.d.ts","sourceRoot":"","sources":["../../../../src/core/neo4j/services/neo4j.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"neo4j.service.d.ts","sourceRoot":"","sources":["../../../../src/core/neo4j/services/neo4j.service.ts"],"names":[],"mappings":"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"}
@@ -14,9 +14,48 @@ const common_1 = require("@nestjs/common");
14
14
  const config_1 = require("@nestjs/config");
15
15
  const neo4j_driver_1 = require("neo4j-driver");
16
16
  const nestjs_cls_1 = require("nestjs-cls");
17
+ const entity_tenancy_registry_1 = require("../../../common/registries/entity-tenancy.registry");
17
18
  const base_config_1 = require("../../../config/base.config");
18
19
  const logging_service_1 = require("../../logging/services/logging.service");
19
20
  const entity_factory_1 = require("../factories/entity.factory");
21
+ const CYPHER_IDENTIFIER = /^[A-Za-z_][A-Za-z0-9_]*$/;
22
+ /** Labels and relationship types are interpolated into Cypher: accept plain identifiers only. */
23
+ const assertCypherIdentifier = (value) => {
24
+ if (!CYPHER_IDENTIFIER.test(value))
25
+ throw new common_1.BadRequestException("Invalid related node label");
26
+ };
27
+ /**
28
+ * The WHERE predicate a related node bound to `alias` must satisfy for `$companyId`, or "" for
29
+ * existence only. See RelatedNodeRule.
30
+ */
31
+ const relatedNodePredicate = (alias, rule) => {
32
+ switch (rule.kind) {
33
+ case "exists":
34
+ return "";
35
+ case "self":
36
+ return `${alias}.id = $companyId`;
37
+ case "company": {
38
+ const own = `EXISTS { MATCH (${alias})-[:BELONGS_TO]->(:Company {id: $companyId}) }`;
39
+ if (!rule.allowPlatform)
40
+ return own;
41
+ return `(NOT EXISTS { MATCH (${alias})-[:BELONGS_TO]->(:Company) } OR ${own})`;
42
+ }
43
+ case "via": {
44
+ const { relationship, direction, label } = rule.hop;
45
+ assertCypherIdentifier(relationship);
46
+ assertCypherIdentifier(label);
47
+ const edge = direction === "out" ? `-[:${relationship}]->` : `<-[:${relationship}]-`;
48
+ // A hop that ends at the Company itself is matched by id (a Company has no BELONGS_TO),
49
+ // mirroring AbstractRepository.buildDefaultMatch() for tenancy { via }.
50
+ const own = label === "Company"
51
+ ? `EXISTS { MATCH (${alias})${edge}(:Company {id: $companyId}) }`
52
+ : `EXISTS { MATCH (${alias})${edge}(:${label})-[:BELONGS_TO]->(:Company {id: $companyId}) }`;
53
+ if (!rule.allowPlatform)
54
+ return own;
55
+ return `(NOT EXISTS { MATCH (${alias})${edge}(:${label}) } OR ${own})`;
56
+ }
57
+ }
58
+ };
20
59
  let Neo4jService = class Neo4jService {
21
60
  constructor(entityFactory, cls, logger, configService) {
22
61
  this.entityFactory = entityFactory;
@@ -293,6 +332,61 @@ let Neo4jService = class Neo4jService {
293
332
  throw new common_1.BadRequestException("One or more related nodes do not exist.");
294
333
  }
295
334
  }
335
+ /**
336
+ * Throws `BadRequestException("One or more related nodes do not exist.")` unless every node
337
+ * exists AND satisfies its company rule for `companyId` (default: the CLS company). A node of
338
+ * another company fails exactly like a missing one, so a caller cannot probe foreign ids.
339
+ *
340
+ * `rule` defaults to the one the target label declares (`relatedNodeRuleForLabel`, filled by
341
+ * `defineEntity`). With no company (system jobs, workers) every rule is existence-only.
342
+ *
343
+ * One read query: nodes are grouped by label + rule, each group is one
344
+ * `UNWIND $ids MATCH ... WHERE <rule> RETURN count(DISTINCT t)` subquery, and the summed count
345
+ * must equal the number of distinct ids.
346
+ *
347
+ * Custom repositories that write client-supplied relationship ids with their own Cypher call
348
+ * this before the write. `AbstractRepository` calls it from create/put/patch/addToRelationship.
349
+ */
350
+ async validateRelatedNodes(params) {
351
+ if (params.nodes.length === 0)
352
+ return;
353
+ const companyId = params.companyId !== undefined ? params.companyId : this.cls.has("companyId") ? this.cls.get("companyId") : null;
354
+ const groups = new Map();
355
+ for (const node of params.nodes) {
356
+ const rule = companyId ? (node.rule ?? (0, entity_tenancy_registry_1.relatedNodeRuleForLabel)(node.label)) : { kind: "exists" };
357
+ const key = `${node.label}|${JSON.stringify(rule)}`;
358
+ let group = groups.get(key);
359
+ if (!group) {
360
+ group = { label: node.label, rule, ids: new Set() };
361
+ groups.set(key, group);
362
+ }
363
+ group.ids.add(node.id);
364
+ }
365
+ const queryParams = { companyId: companyId ?? null };
366
+ const subqueries = [];
367
+ const counts = [];
368
+ let expected = 0;
369
+ [...groups.values()].forEach((group, index) => {
370
+ assertCypherIdentifier(group.label);
371
+ const predicate = relatedNodePredicate("t", group.rule);
372
+ queryParams[`ids${index}`] = [...group.ids];
373
+ expected += group.ids.size;
374
+ subqueries.push(`
375
+ CALL {
376
+ UNWIND $ids${index} AS relatedId
377
+ MATCH (t:${group.label} {id: relatedId})
378
+ ${predicate ? `WHERE ${predicate}` : ""}
379
+ RETURN count(DISTINCT t) AS found${index}
380
+ }`);
381
+ counts.push(`found${index}`);
382
+ });
383
+ const result = await this.read(`${subqueries.join("\n")}\nRETURN ${counts.join(" + ")} AS found`, queryParams);
384
+ const raw = result?.records?.[0]?.get("found");
385
+ const found = typeof raw === "number" ? raw : (raw?.toNumber?.() ?? 0);
386
+ if (found !== expected) {
387
+ throw new common_1.BadRequestException("One or more related nodes do not exist.");
388
+ }
389
+ }
296
390
  async withRetry(operation) {
297
391
  let lastError = null;
298
392
  for (let attempt = 1; attempt <= this.maxRetries; attempt++) {
@@ -1 +1 @@
1
- {"version":3,"file":"neo4j.service.js","sourceRoot":"","sources":["../../../../src/core/neo4j/services/neo4j.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"neo4j.service.js","sourceRoot":"","sources":["../../../../src/core/neo4j/services/neo4j.service.ts"],"names":[],"mappings":"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"}
@@ -60,6 +60,7 @@ export declare const AiConnectionDescriptor: import("../../../common").EntityDes
60
60
  required: false;
61
61
  dtoKey: string;
62
62
  immutable: true;
63
+ crossCompany: true;
63
64
  };
64
65
  }>;
65
66
  export type AiConnectionDescriptorType = typeof AiConnectionDescriptor;
@@ -1 +1 @@
1
- {"version":3,"file":"ai-connection.d.ts","sourceRoot":"","sources":["../../../../src/foundations/ai-connection/entities/ai-connection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AAIzD;;;;;GAKG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,qEAAqE;IACrE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;EAyEjC,CAAC;AAEH,MAAM,MAAM,0BAA0B,GAAG,OAAO,sBAAsB,CAAC"}
1
+ {"version":3,"file":"ai-connection.d.ts","sourceRoot":"","sources":["../../../../src/foundations/ai-connection/entities/ai-connection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AAIzD;;;;;GAKG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,qEAAqE;IACrE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;;EA4EjC,CAAC;AAEH,MAAM,MAAM,0BAA0B,GAAG,OAAO,sBAAsB,CAAC"}
@@ -77,6 +77,9 @@ exports.AiConnectionDescriptor = (0, common_1.defineEntity)()({
77
77
  // Scope is chosen at creation and never moves (spec § Decisions "Scope
78
78
  // mutability") — immutable relationships are skipped on PUT.
79
79
  immutable: true,
80
+ // A platform administrator configures a chain for ANY company, not only the
81
+ // one in their CLS context: existence-only check on the target company.
82
+ crossCompany: true,
80
83
  },
81
84
  },
82
85
  });
@@ -1 +1 @@
1
- {"version":3,"file":"ai-connection.js","sourceRoot":"","sources":["../../../../src/foundations/ai-connection/entities/ai-connection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ai-connection.js","sourceRoot":"","sources":["../../../../src/foundations/ai-connection/entities/ai-connection.ts"],"names":[],"mappings":"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"}
@@ -24,6 +24,7 @@ export declare class AiConnectionRepository extends AbstractRepository<AiConnect
24
24
  required: false;
25
25
  dtoKey: string;
26
26
  immutable: true;
27
+ crossCompany: true;
27
28
  };
28
29
  }>;
29
30
  constructor(neo4j: Neo4jService, securityService: SecurityService, clsService: ClsService);
@@ -1 +1 @@
1
- {"version":3,"file":"ai-connection.repository.d.ts","sourceRoot":"","sources":["../../../../src/foundations/ai-connection/repositories/ai-connection.repository.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,kBAAkB,EAAE,MAAM,mDAAmD,CAAC;AACvF,OAAO,EAAE,YAAY,EAAE,MAAM,4CAA4C,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,kDAAkD,CAAC;AACnF,OAAO,EAAE,YAAY,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAGjF;;;;;;;;;;GAUG;AACH,qBACa,sBAAuB,SAAQ,kBAAkB,CAC5D,YAAY,EACZ,OAAO,sBAAsB,CAAC,aAAa,CAC5C;IACC,SAAS,CAAC,QAAQ,CAAC,UAAU;;;;;;;;;;OAA0B;gBAE3C,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,UAAU,EAAE,UAAU;IAIzF;;;;OAIG;IACG,kBAAkB,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;IAUnD;;;;OAIG;IACG,SAAS,CAAC,MAAM,EAAE;QAAE,GAAG,EAAE,MAAM,EAAE,CAAA;KAAE,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAWnE;;;OAGG;IACG,eAAe,CAAC,MAAM,EAAE;QAAE,GAAG,EAAE,MAAM,EAAE,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CAUhE"}
1
+ {"version":3,"file":"ai-connection.repository.d.ts","sourceRoot":"","sources":["../../../../src/foundations/ai-connection/repositories/ai-connection.repository.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,kBAAkB,EAAE,MAAM,mDAAmD,CAAC;AACvF,OAAO,EAAE,YAAY,EAAE,MAAM,4CAA4C,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,kDAAkD,CAAC;AACnF,OAAO,EAAE,YAAY,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAGjF;;;;;;;;;;GAUG;AACH,qBACa,sBAAuB,SAAQ,kBAAkB,CAC5D,YAAY,EACZ,OAAO,sBAAsB,CAAC,aAAa,CAC5C;IACC,SAAS,CAAC,QAAQ,CAAC,UAAU;;;;;;;;;;;OAA0B;gBAE3C,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,UAAU,EAAE,UAAU;IAIzF;;;;OAIG;IACG,kBAAkB,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;IAUnD;;;;OAIG;IACG,SAAS,CAAC,MAAM,EAAE;QAAE,GAAG,EAAE,MAAM,EAAE,CAAA;KAAE,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAWnE;;;OAGG;IACG,eAAe,CAAC,MAAM,EAAE;QAAE,GAAG,EAAE,MAAM,EAAE,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CAUhE"}
@@ -22,6 +22,7 @@ export declare class AiConnectionService extends AbstractService<AiConnection, t
22
22
  required: false;
23
23
  dtoKey: string;
24
24
  immutable: true;
25
+ crossCompany: true;
25
26
  };
26
27
  }>;
27
28
  constructor(jsonApiService: JsonApiService, aiConnectionRepository: AiConnectionRepository, clsService: ClsService, encryption: AiConnectionEncryptionService, eventEmitter: EventEmitter2, configService: ConfigService<BaseConfigInterface>);
@@ -1 +1 @@
1
- {"version":3,"file":"ai-connection.service.d.ts","sourceRoot":"","sources":["../../../../src/foundations/ai-connection/services/ai-connection.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,mBAAmB,EAAE,MAAM,kDAAkD,CAAC;AAEvF,OAAO,EAAE,cAAc,EAAE,MAAM,gDAAgD,CAAC;AAMhF,OAAO,EAAE,eAAe,EAAE,MAAM,gDAAgD,CAAC;AACjF,OAAO,EAAE,YAAY,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAEjF,OAAO,EAAE,sBAAsB,EAAE,MAAM,0CAA0C,CAAC;AAClF,OAAO,EAAE,6BAA6B,EAAE,MAAM,oCAAoC,CAAC;AACnF,OAAO,EACL,mBAAmB,EACnB,qBAAqB,EACtB,MAAM,6DAA6D,CAAC;AAIrE,qBACa,mBAAoB,SAAQ,eAAe,CAAC,YAAY,EAAE,OAAO,sBAAsB,CAAC,aAAa,CAAC;IAK/G,OAAO,CAAC,QAAQ,CAAC,sBAAsB;IAEvC,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,aAAa;IARhC,SAAS,CAAC,QAAQ,CAAC,UAAU;;;;;;;;;;OAA0B;gBAGrD,cAAc,EAAE,cAAc,EACb,sBAAsB,EAAE,sBAAsB,EAC/D,UAAU,EAAE,UAAU,EACL,UAAU,EAAE,6BAA6B,EACzC,YAAY,EAAE,aAAa,EAC3B,aAAa,EAAE,aAAa,CAAC,mBAAmB,CAAC;IAKpE;;;OAGG;IACG,eAAe,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,GAAG,CAAA;KAAE,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAmC3E;;;;;;;;;OASG;IACG,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,QAAQ,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,qBAAqB,CAAC;IASvE,MAAM,CAAC,IAAI,EAAE;QACjB,IAAI,EAAE;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YAAC,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAA;SAAE,CAAC;KACzE,GAAG,OAAO,CAAC,qBAAqB,CAAC;IA6B5B,OAAO,CAAC,MAAM,EAAE;QAAE,GAAG,EAAE,MAAM,EAAE,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAejD,gBAAgB,CAAC,MAAM,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAK7D;;;;;;;;;;OAUG;IACG,MAAM,CAAC,MAAM,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAOnD;;;;OAIG;IACH,OAAO,CAAC,kBAAkB;CAiB3B"}
1
+ {"version":3,"file":"ai-connection.service.d.ts","sourceRoot":"","sources":["../../../../src/foundations/ai-connection/services/ai-connection.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,mBAAmB,EAAE,MAAM,kDAAkD,CAAC;AAEvF,OAAO,EAAE,cAAc,EAAE,MAAM,gDAAgD,CAAC;AAMhF,OAAO,EAAE,eAAe,EAAE,MAAM,gDAAgD,CAAC;AACjF,OAAO,EAAE,YAAY,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAEjF,OAAO,EAAE,sBAAsB,EAAE,MAAM,0CAA0C,CAAC;AAClF,OAAO,EAAE,6BAA6B,EAAE,MAAM,oCAAoC,CAAC;AACnF,OAAO,EACL,mBAAmB,EACnB,qBAAqB,EACtB,MAAM,6DAA6D,CAAC;AAIrE,qBACa,mBAAoB,SAAQ,eAAe,CAAC,YAAY,EAAE,OAAO,sBAAsB,CAAC,aAAa,CAAC;IAK/G,OAAO,CAAC,QAAQ,CAAC,sBAAsB;IAEvC,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,aAAa;IARhC,SAAS,CAAC,QAAQ,CAAC,UAAU;;;;;;;;;;;OAA0B;gBAGrD,cAAc,EAAE,cAAc,EACb,sBAAsB,EAAE,sBAAsB,EAC/D,UAAU,EAAE,UAAU,EACL,UAAU,EAAE,6BAA6B,EACzC,YAAY,EAAE,aAAa,EAC3B,aAAa,EAAE,aAAa,CAAC,mBAAmB,CAAC;IAKpE;;;OAGG;IACG,eAAe,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,GAAG,CAAA;KAAE,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAmC3E;;;;;;;;;OASG;IACG,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,QAAQ,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,qBAAqB,CAAC;IASvE,MAAM,CAAC,IAAI,EAAE;QACjB,IAAI,EAAE;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YAAC,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAA;SAAE,CAAC;KACzE,GAAG,OAAO,CAAC,qBAAqB,CAAC;IA6B5B,OAAO,CAAC,MAAM,EAAE;QAAE,GAAG,EAAE,MAAM,EAAE,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAejD,gBAAgB,CAAC,MAAM,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAK7D;;;;;;;;;;OAUG;IACG,MAAM,CAAC,MAAM,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAOnD;;;;OAIG;IACH,OAAO,CAAC,kBAAkB;CAiB3B"}
@@ -1,4 +1,13 @@
1
1
  import type { RbacMatrix } from "../dsl/types";
2
+ /**
3
+ * Where the matrix file may be written: a `.ts` file inside the monorepo root,
4
+ * never outside it. The path comes from the request body, so without this a
5
+ * caller could overwrite any file the API process can write.
6
+ */
7
+ export declare function resolveMatrixOutputPath(params: {
8
+ outputPath: unknown;
9
+ root: string;
10
+ }): string;
2
11
  interface RbacMatrixPutBody {
3
12
  data: {
4
13
  type: string;
@@ -1 +1 @@
1
- {"version":3,"file":"rbac-dev.controller.d.ts","sourceRoot":"","sources":["../../../../src/foundations/rbac/controllers/rbac-dev.controller.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAa,UAAU,EAAE,MAAM,cAAc,CAAC;AA8C1D,UAAU,iBAAiB;IACzB,IAAI,EAAE;QACJ,IAAI,EAAE,MAAM,CAAC;QACb,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,UAAU,EAAE;YACV,MAAM,EAAE,UAAU,CAAC;YACnB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAClC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YACpC,UAAU,EAAE,MAAM,CAAC;SACpB,CAAC;KACH,CAAC;CACH;AAED;;;;;;;;;GASG;AACH,qBACa,iBAAiB;IAEa,OAAO,CAAC,QAAQ,CAAC,MAAM;IAG9D,OAAO,CAAC,QAAQ,CAAC,eAAe;gBAHwB,MAAM,EAAE,UAAU,GAAG,IAAI,EAGhE,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,GAAG,IAAI;IAI5E,SAAS;;;;;;;;;;IAcH,SAAS,CAAS,IAAI,EAAE,iBAAiB;;;;;;;;;;CA8BhD"}
1
+ {"version":3,"file":"rbac-dev.controller.d.ts","sourceRoot":"","sources":["../../../../src/foundations/rbac/controllers/rbac-dev.controller.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAa,UAAU,EAAE,MAAM,cAAc,CAAC;AAqB1D;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE;IAAE,UAAU,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAY7F;AA2BD,UAAU,iBAAiB;IACzB,IAAI,EAAE;QACJ,IAAI,EAAE,MAAM,CAAC;QACb,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,UAAU,EAAE;YACV,MAAM,EAAE,UAAU,CAAC;YACnB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAClC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YACpC,UAAU,EAAE,MAAM,CAAC;SACpB,CAAC;KACH,CAAC;CACH;AAED;;;;;;;;;GASG;AACH,qBACa,iBAAiB;IAEa,OAAO,CAAC,QAAQ,CAAC,MAAM;IAG9D,OAAO,CAAC,QAAQ,CAAC,eAAe;gBAHwB,MAAM,EAAE,UAAU,GAAG,IAAI,EAGhE,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,GAAG,IAAI;IAM5E,SAAS;;;;;;;;;;IAgBH,SAAS,CAAS,IAAI,EAAE,iBAAiB;;;;;;;;;;CA4BhD"}
@@ -46,9 +46,14 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
46
46
  };
47
47
  Object.defineProperty(exports, "__esModule", { value: true });
48
48
  exports.RbacDevController = void 0;
49
+ exports.resolveMatrixOutputPath = resolveMatrixOutputPath;
49
50
  const common_1 = require("@nestjs/common");
50
51
  const fs = __importStar(require("fs"));
51
52
  const path = __importStar(require("path"));
53
+ const system_roles_1 = require("../../../common/constants/system.roles");
54
+ const roles_decorator_1 = require("../../../common/decorators/roles.decorator");
55
+ const jwt_auth_admin_guard_1 = require("../../../common/guards/jwt.auth.admin.guard");
56
+ const jwt_auth_guard_1 = require("../../../common/guards/jwt.auth.guard");
52
57
  const rbac_tokens_1 = require("../rbac.tokens");
53
58
  const rbac_constants_1 = require("../rbac.constants");
54
59
  const matrix_to_ts_1 = require("../serializer/matrix-to-ts");
@@ -70,6 +75,23 @@ function findMonorepoRoot(startDir) {
70
75
  current = parent;
71
76
  }
72
77
  }
78
+ /**
79
+ * Where the matrix file may be written: a `.ts` file inside the monorepo root,
80
+ * never outside it. The path comes from the request body, so without this a
81
+ * caller could overwrite any file the API process can write.
82
+ */
83
+ function resolveMatrixOutputPath(params) {
84
+ if (typeof params.outputPath !== "string" || params.outputPath.trim() === "")
85
+ throw new common_1.BadRequestException("outputPath is required");
86
+ const root = path.resolve(params.root);
87
+ const resolved = path.resolve(root, params.outputPath);
88
+ const relative = path.relative(root, resolved);
89
+ if (relative === "" || relative.startsWith("..") || path.isAbsolute(relative))
90
+ throw new common_1.BadRequestException("outputPath must be inside the repository");
91
+ if (path.extname(resolved) !== ".ts")
92
+ throw new common_1.BadRequestException("outputPath must be a .ts file");
93
+ return resolved;
94
+ }
73
95
  /**
74
96
  * perm.* tokens are callable hybrids (function + attached `action`/`scope` own
75
97
  * properties). JSON.stringify drops functions, producing `null` inside arrays.
@@ -131,9 +153,7 @@ let RbacDevController = class RbacDevController {
131
153
  roleNames,
132
154
  moduleNames,
133
155
  });
134
- const outPath = path.isAbsolute(outputPath)
135
- ? outputPath
136
- : path.resolve(findMonorepoRoot(process.cwd()), outputPath);
156
+ const outPath = resolveMatrixOutputPath({ outputPath, root: findMonorepoRoot(process.cwd()) });
137
157
  fs.writeFileSync(outPath, source);
138
158
  return {
139
159
  data: {
@@ -149,13 +169,17 @@ let RbacDevController = class RbacDevController {
149
169
  };
150
170
  exports.RbacDevController = RbacDevController;
151
171
  __decorate([
172
+ (0, common_1.UseGuards)(jwt_auth_admin_guard_1.AdminJwtAuthGuard, jwt_auth_guard_1.JwtAuthGuard),
152
173
  (0, common_1.Get)("matrix"),
174
+ (0, roles_decorator_1.Roles)(system_roles_1.RoleId.Administrator),
153
175
  __metadata("design:type", Function),
154
176
  __metadata("design:paramtypes", []),
155
177
  __metadata("design:returntype", void 0)
156
178
  ], RbacDevController.prototype, "getMatrix", null);
157
179
  __decorate([
180
+ (0, common_1.UseGuards)(jwt_auth_admin_guard_1.AdminJwtAuthGuard, jwt_auth_guard_1.JwtAuthGuard),
158
181
  (0, common_1.Put)("matrix"),
182
+ (0, roles_decorator_1.Roles)(system_roles_1.RoleId.Administrator),
159
183
  __param(0, (0, common_1.Body)()),
160
184
  __metadata("design:type", Function),
161
185
  __metadata("design:paramtypes", [Object]),
@@ -1 +1 @@
1
- {"version":3,"file":"rbac-dev.controller.js","sourceRoot":"","sources":["../../../../src/foundations/rbac/controllers/rbac-dev.controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rbac-dev.controller.js","sourceRoot":"","sources":["../../../../src/foundations/rbac/controllers/rbac-dev.controller.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"rbac.module.d.ts","sourceRoot":"","sources":["../../../src/foundations/rbac/rbac.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAA0B,MAAM,gBAAgB,CAAC;AAUvE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAI9C,qBACa,UAAU;IACrB,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE;QACvB,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC;QACnD,IAAI,CAAC,EAAE,UAAU,CAAC;QAClB,OAAO,CAAC,EAAE,OAAO,CAAC;KACnB,GAAG,aAAa;CA6BlB"}
1
+ {"version":3,"file":"rbac.module.d.ts","sourceRoot":"","sources":["../../../src/foundations/rbac/rbac.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAA0B,MAAM,gBAAgB,CAAC;AAUvE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAI9C,qBACa,UAAU;IACrB,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE;QACvB,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC;QACnD,IAAI,CAAC,EAAE,UAAU,CAAC;QAClB,OAAO,CAAC,EAAE,OAAO,CAAC;KACnB,GAAG,aAAa;CA8BlB"}
@@ -38,7 +38,8 @@ let RbacModule = RbacModule_1 = class RbacModule {
38
38
  },
39
39
  ];
40
40
  const controllers = [rbac_controller_1.RbacController, rbac_module_paths_controller_1.RbacModulePathsController];
41
- if (options.devMode) {
41
+ // The dev editor writes source files: never mounted in production, whatever the caller passes.
42
+ if (options.devMode && process.env.NODE_ENV !== "production") {
42
43
  controllers.push(rbac_dev_controller_1.RbacDevController);
43
44
  }
44
45
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"rbac.module.js","sourceRoot":"","sources":["../../../src/foundations/rbac/rbac.module.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAAuE;AACvE,mEAA+D;AAC/D,6FAAuF;AACvF,oEAAgE;AAChE,0DAAsD;AACtD,gFAA2E;AAC3E,+FAA0F;AAC1F,mFAA8E;AAC9E,qDAA2D;AAC3D,+CAAkD;AAElD,2EAAsE;AACtE,yGAA6F;AAGtF,IAAM,UAAU,kBAAhB,MAAM,UAAU;IACrB,MAAM,CAAC,QAAQ,CAAC,OAIf;QACC,MAAM,SAAS,GAAe;YAC5B,gCAAc;YACd,0BAAW;YACX,2DAA2B;YAC3B,+CAAqB;YACrB,IAAA,oDAAoB,EAAC,+CAAqB,CAAC;YAC3C;gBACE,OAAO,EAAE,wCAAuB;gBAChC,QAAQ,EAAE,OAAO,CAAC,eAAe;aAClC;YACD;gBACE,OAAO,EAAE,+BAAiB;gBAC1B,QAAQ,EAAE,OAAO,CAAC,IAAI,IAAI,IAAI;aAC/B;SACF,CAAC;QAEF,MAAM,WAAW,GAAgB,CAAC,gCAAc,EAAE,wDAAyB,CAAC,CAAC;QAC7E,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACpB,WAAW,CAAC,IAAI,CAAC,uCAAiB,CAAC,CAAC;QACtC,CAAC;QAED,OAAO;YACL,MAAM,EAAE,YAAU;YAClB,WAAW;YACX,SAAS;YACT,OAAO,EAAE,CAAC,0BAAW,CAAC;SACvB,CAAC;IACJ,CAAC;CACF,CAAA;AAlCY,gCAAU;qBAAV,UAAU;IADtB,IAAA,eAAM,EAAC,EAAE,CAAC;GACE,UAAU,CAkCtB"}
1
+ {"version":3,"file":"rbac.module.js","sourceRoot":"","sources":["../../../src/foundations/rbac/rbac.module.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAAuE;AACvE,mEAA+D;AAC/D,6FAAuF;AACvF,oEAAgE;AAChE,0DAAsD;AACtD,gFAA2E;AAC3E,+FAA0F;AAC1F,mFAA8E;AAC9E,qDAA2D;AAC3D,+CAAkD;AAElD,2EAAsE;AACtE,yGAA6F;AAGtF,IAAM,UAAU,kBAAhB,MAAM,UAAU;IACrB,MAAM,CAAC,QAAQ,CAAC,OAIf;QACC,MAAM,SAAS,GAAe;YAC5B,gCAAc;YACd,0BAAW;YACX,2DAA2B;YAC3B,+CAAqB;YACrB,IAAA,oDAAoB,EAAC,+CAAqB,CAAC;YAC3C;gBACE,OAAO,EAAE,wCAAuB;gBAChC,QAAQ,EAAE,OAAO,CAAC,eAAe;aAClC;YACD;gBACE,OAAO,EAAE,+BAAiB;gBAC1B,QAAQ,EAAE,OAAO,CAAC,IAAI,IAAI,IAAI;aAC/B;SACF,CAAC;QAEF,MAAM,WAAW,GAAgB,CAAC,gCAAc,EAAE,wDAAyB,CAAC,CAAC;QAC7E,+FAA+F;QAC/F,IAAI,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE,CAAC;YAC7D,WAAW,CAAC,IAAI,CAAC,uCAAiB,CAAC,CAAC;QACtC,CAAC;QAED,OAAO;YACL,MAAM,EAAE,YAAU;YAClB,WAAW;YACX,SAAS;YACT,OAAO,EAAE,CAAC,0BAAW,CAAC;SACvB,CAAC;IACJ,CAAC;CACF,CAAA;AAnCY,gCAAU;qBAAV,UAAU;IADtB,IAAA,eAAM,EAAC,EAAE,CAAC;GACE,UAAU,CAmCtB"}
@@ -1 +1 @@
1
- {"version":3,"file":"role.d.ts","sourceRoot":"","sources":["../../../../src/foundations/role/entities/role.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAgB,MAAM,iBAAiB,CAAC;AACvD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AAI9D;;GAEG;AACH,MAAM,MAAM,IAAI,GAAG,MAAM,GAAG;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,cAAc;;;;;;;;EAqBzB,CAAC;AAGH,MAAM,MAAM,kBAAkB,GAAG,OAAO,cAAc,CAAC"}
1
+ {"version":3,"file":"role.d.ts","sourceRoot":"","sources":["../../../../src/foundations/role/entities/role.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAgB,MAAM,iBAAiB,CAAC;AACvD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AAI9D;;GAEG;AACH,MAAM,MAAM,IAAI,GAAG,MAAM,GAAG;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,cAAc;;;;;;;;EA0BzB,CAAC;AAGH,MAAM,MAAM,kBAAkB,GAAG,OAAO,cAAc,CAAC"}
@@ -12,6 +12,10 @@ const role_meta_1 = require("./role.meta");
12
12
  */
13
13
  exports.RoleDescriptor = (0, common_1.defineEntity)()({
14
14
  ...role_meta_1.roleMeta,
15
+ // The platform roles (Administrator, CompanyAdministrator, ...) carry no company
16
+ // edge: a relationship write may link a platform role or one of the caller's own
17
+ // company roles, never another company's.
18
+ linkScope: "own-or-platform",
15
19
  // Field definitions
16
20
  fields: {
17
21
  name: { type: "string", required: true },
@@ -1 +1 @@
1
- {"version":3,"file":"role.js","sourceRoot":"","sources":["../../../../src/foundations/role/entities/role.ts"],"names":[],"mappings":";;;AAAA,4CAAuD;AAEvD,sEAAkE;AAClE,2CAAuC;AAYvC;;;;;GAKG;AACU,QAAA,cAAc,GAAG,IAAA,qBAAY,GAAQ,CAAC;IACjD,GAAG,oBAAQ;IAEX,oBAAoB;IACpB,MAAM,EAAE;QACN,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;QACxC,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC/B,YAAY,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;QACjC,eAAe,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;KACpC;IAED,2BAA2B;IAC3B,aAAa,EAAE;QACb,OAAO,EAAE;YACP,KAAK,EAAE,0BAAW;YAClB,SAAS,EAAE,KAAK;YAChB,YAAY,EAAE,YAAY;YAC1B,WAAW,EAAE,KAAK;YAClB,MAAM,EAAE,iBAAiB;SAC1B;KACF;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"role.js","sourceRoot":"","sources":["../../../../src/foundations/role/entities/role.ts"],"names":[],"mappings":";;;AAAA,4CAAuD;AAEvD,sEAAkE;AAClE,2CAAuC;AAYvC;;;;;GAKG;AACU,QAAA,cAAc,GAAG,IAAA,qBAAY,GAAQ,CAAC;IACjD,GAAG,oBAAQ;IAEX,iFAAiF;IACjF,iFAAiF;IACjF,0CAA0C;IAC1C,SAAS,EAAE,iBAAiB;IAE5B,oBAAoB;IACpB,MAAM,EAAE;QACN,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;QACxC,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC/B,YAAY,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;QACjC,eAAe,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;KACpC;IAED,2BAA2B;IAC3B,aAAa,EAAE;QACb,OAAO,EAAE;YACP,KAAK,EAAE,0BAAW;YAClB,SAAS,EAAE,KAAK;YAChB,YAAY,EAAE,YAAY;YAC1B,WAAW,EAAE,KAAK;YAClB,MAAM,EAAE,iBAAiB;SAC1B;KACF;CACF,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"user.controller.d.ts","sourceRoot":"","sources":["../../../../src/foundations/user/controllers/user.controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"user.controller.d.ts","sourceRoot":"","sources":["../../../../src/foundations/user/controllers/user.controller.ts"],"names":[],"mappings":"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"}