@carlonicora/nestjs-neo4jsonapi 5.2.0 → 5.3.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.
@@ -41,6 +41,16 @@ export interface S3KeyAccessPolicy {
41
41
  * tokens are accepted for every key, as before.
42
42
  */
43
43
  isPermanentKey?(key: string): boolean;
44
+ /**
45
+ * Optional: false = this app never serves `key` through the token routes (403, no storage call).
46
+ *
47
+ * When implemented, the `/s3/objects/:token` routes refuse (403) a validly signed
48
+ * `get` or `put` token for a key this returns false for, before any storage read
49
+ * or write. The rule applies to every caller, Administrators included.
50
+ *
51
+ * When absent (or no policy is bound), every well-formed key is served, as before.
52
+ */
53
+ isServableKey?(key: string): boolean;
44
54
  }
45
55
  /**
46
56
  * Optional injection token resolving to an S3KeyAccessPolicy.
@@ -1 +1 @@
1
- {"version":3,"file":"s3.key-access.policy.interface.d.ts","sourceRoot":"","sources":["../../../src/common/interfaces/s3.key-access.policy.interface.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,gDAAgD;AAChD,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,UAAU,GAAG,QAAQ,CAAC;AAE3D;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,WAAW,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,SAAS,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEjE;;;;;;;;;;OAUG;IACH,cAAc,CAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACvC;AAED;;;GAGG;AACH,eAAO,MAAM,oBAAoB,eAAiC,CAAC;AAEnE;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,MAAM,CAK7D"}
1
+ {"version":3,"file":"s3.key-access.policy.interface.d.ts","sourceRoot":"","sources":["../../../src/common/interfaces/s3.key-access.policy.interface.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,gDAAgD;AAChD,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,UAAU,GAAG,QAAQ,CAAC;AAE3D;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,WAAW,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,SAAS,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEjE;;;;;;;;;;OAUG;IACH,cAAc,CAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IAEtC;;;;;;;;OAQG;IACH,aAAa,CAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACtC;AAED;;;GAGG;AACH,eAAO,MAAM,oBAAoB,eAAiC,CAAC;AAEnE;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,MAAM,CAK7D"}
@@ -1 +1 @@
1
- {"version":3,"file":"s3.key-access.policy.interface.js","sourceRoot":"","sources":["../../../src/common/interfaces/s3.key-access.policy.interface.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;AAyDH,8CAKC;AApBD;;;GAGG;AACU,QAAA,oBAAoB,GAAG,MAAM,CAAC,sBAAsB,CAAC,CAAC;AAEnE;;;;;;;;GAQG;AACH,SAAgB,iBAAiB,CAAC,GAAY;IAC5C,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC1C,IAAI,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE;QAAE,OAAO,KAAK,CAAC;IACpC,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IACtC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AACxC,CAAC"}
1
+ {"version":3,"file":"s3.key-access.policy.interface.js","sourceRoot":"","sources":["../../../src/common/interfaces/s3.key-access.policy.interface.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;AAoEH,8CAKC;AApBD;;;GAGG;AACU,QAAA,oBAAoB,GAAG,MAAM,CAAC,sBAAsB,CAAC,CAAC;AAEnE;;;;;;;;GAQG;AACH,SAAgB,iBAAiB,CAAC,GAAY;IAC5C,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC1C,IAAI,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE;QAAE,OAAO,KAAK,CAAC;IACpC,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IACtC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AACxC,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { Neo4jService } from "../../core/neo4j/services/neo4j.service";
1
2
  import { SecurityService } from "../../core/security/services/security.service";
2
3
  import { DataLimits } from "../types/data.limits";
3
4
  import { AiSourceQueryProvider, AiSourceQueryResult } from "./ai-source-query.provider";
@@ -19,10 +20,15 @@ export declare const INNER_AI_SOURCE_QUERY: unique symbol;
19
20
  * Handbook content is GLOBAL: HandbookPage nodes have no BELONGS_TO Company
20
21
  * edge, so the fragment carries no company filter, exactly as the HowTo branch
21
22
  * of DefaultAiSourceQueryProvider does.
23
+ *
24
+ * It also refuses an inner fragment that uses the request's `company` or
25
+ * `currentUser` when the app's Neo4j config sets `bindRequestContext: false`:
26
+ * initQuery does not bind them there, so `(company)` would match every company.
22
27
  */
23
28
  export declare class HandbookAiSourceQueryProvider implements AiSourceQueryProvider {
24
29
  private readonly inner;
25
- constructor(inner: AiSourceQueryProvider);
30
+ private readonly neo4j?;
31
+ constructor(inner: AiSourceQueryProvider, neo4j?: Neo4jService);
26
32
  build(params: {
27
33
  dataLimits: DataLimits;
28
34
  currentUserId?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"handbook.ai-source-query.provider.d.ts","sourceRoot":"","sources":["../../../src/common/repositories/handbook.ai-source-query.provider.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,+CAA+C,CAAC;AAChF,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAExF,yFAAyF;AACzF,eAAO,MAAM,qBAAqB,eAAkC,CAAC;AAErE;;;;;;;;;;;;;;;;GAgBG;AACH,qBACa,6BAA8B,YAAW,qBAAqB;IAC9B,OAAO,CAAC,QAAQ,CAAC,KAAK;gBAAL,KAAK,EAAE,qBAAqB;IAExF,KAAK,CAAC,MAAM,EAAE;QACZ,UAAU,EAAE,UAAU,CAAC;QACvB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,eAAe,CAAC,EAAE,eAAe,CAAC;QAClC,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,kBAAkB,CAAC,EAAE,OAAO,CAAC;KAC9B,GAAG,mBAAmB;CAaxB"}
1
+ {"version":3,"file":"handbook.ai-source-query.provider.d.ts","sourceRoot":"","sources":["../../../src/common/repositories/handbook.ai-source-query.provider.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,+CAA+C,CAAC;AAChF,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAExF,yFAAyF;AACzF,eAAO,MAAM,qBAAqB,eAAkC,CAAC;AAErE;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBACa,6BAA8B,YAAW,qBAAqB;IAExC,OAAO,CAAC,QAAQ,CAAC,KAAK;IACzC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;gBADa,KAAK,EAAE,qBAAqB,EAC/C,KAAK,CAAC,EAAE,YAAY;IAGnD,KAAK,CAAC,MAAM,EAAE;QACZ,UAAU,EAAE,UAAU,CAAC;QACvB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,eAAe,CAAC,EAAE,eAAe,CAAC;QAClC,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,kBAAkB,CAAC,EAAE,OAAO,CAAC;KAC9B,GAAG,mBAAmB;CAoBxB"}
@@ -14,6 +14,7 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.HandbookAiSourceQueryProvider = exports.INNER_AI_SOURCE_QUERY = void 0;
16
16
  const common_1 = require("@nestjs/common");
17
+ const neo4j_service_1 = require("../../core/neo4j/services/neo4j.service");
17
18
  /** Token the app-configured (or default) provider is bound to, behind this decorator. */
18
19
  exports.INNER_AI_SOURCE_QUERY = Symbol("INNER_AI_SOURCE_QUERY");
19
20
  /**
@@ -32,15 +33,24 @@ exports.INNER_AI_SOURCE_QUERY = Symbol("INNER_AI_SOURCE_QUERY");
32
33
  * Handbook content is GLOBAL: HandbookPage nodes have no BELONGS_TO Company
33
34
  * edge, so the fragment carries no company filter, exactly as the HowTo branch
34
35
  * of DefaultAiSourceQueryProvider does.
36
+ *
37
+ * It also refuses an inner fragment that uses the request's `company` or
38
+ * `currentUser` when the app's Neo4j config sets `bindRequestContext: false`:
39
+ * initQuery does not bind them there, so `(company)` would match every company.
35
40
  */
36
41
  let HandbookAiSourceQueryProvider = class HandbookAiSourceQueryProvider {
37
- constructor(inner) {
42
+ constructor(inner, neo4j) {
38
43
  this.inner = inner;
44
+ this.neo4j = neo4j;
39
45
  }
40
46
  build(params) {
41
47
  const { handbookMode, limitToHandbookPageId } = params.dataLimits;
42
- if (!handbookMode && !limitToHandbookPageId)
43
- return this.inner.build(params);
48
+ if (!handbookMode && !limitToHandbookPageId) {
49
+ const result = this.inner.build(params);
50
+ if (this.neo4j?.bindsRequestContext === false && /\((company|currentUser)\)/.test(result.cypher))
51
+ throw new Error("AI source query uses the request's company or user, but this app's Neo4j config sets bindRequestContext: false.");
52
+ return result;
53
+ }
44
54
  const withClause = params.returnsKeyConcepts ? "WITH keyconcept" : "WITH data";
45
55
  const where = limitToHandbookPageId ? `\n WHERE data.id = $limitToHandbookPageId` : "";
46
56
  return {
@@ -53,6 +63,7 @@ exports.HandbookAiSourceQueryProvider = HandbookAiSourceQueryProvider;
53
63
  exports.HandbookAiSourceQueryProvider = HandbookAiSourceQueryProvider = __decorate([
54
64
  (0, common_1.Injectable)(),
55
65
  __param(0, (0, common_1.Inject)(exports.INNER_AI_SOURCE_QUERY)),
56
- __metadata("design:paramtypes", [Object])
66
+ __param(1, (0, common_1.Optional)()),
67
+ __metadata("design:paramtypes", [Object, neo4j_service_1.Neo4jService])
57
68
  ], HandbookAiSourceQueryProvider);
58
69
  //# sourceMappingURL=handbook.ai-source-query.provider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"handbook.ai-source-query.provider.js","sourceRoot":"","sources":["../../../src/common/repositories/handbook.ai-source-query.provider.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAoD;AAKpD,yFAAyF;AAC5E,QAAA,qBAAqB,GAAG,MAAM,CAAC,uBAAuB,CAAC,CAAC;AAErE;;;;;;;;;;;;;;;;GAgBG;AAEI,IAAM,6BAA6B,GAAnC,MAAM,6BAA6B;IACxC,YAA4D,KAA4B;QAA5B,UAAK,GAAL,KAAK,CAAuB;IAAG,CAAC;IAE5F,KAAK,CAAC,MAML;QACC,MAAM,EAAE,YAAY,EAAE,qBAAqB,EAAE,GAAG,MAAM,CAAC,UAAU,CAAC;QAElE,IAAI,CAAC,YAAY,IAAI,CAAC,qBAAqB;YAAE,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAE7E,MAAM,UAAU,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,WAAW,CAAC;QAC/E,MAAM,KAAK,GAAG,qBAAqB,CAAC,CAAC,CAAC,gDAAgD,CAAC,CAAC,CAAC,EAAE,CAAC;QAE5F,OAAO;YACL,MAAM,EAAE,4BAA4B,KAAK,WAAW,UAAU,EAAE;YAChE,MAAM,EAAE,qBAAqB,CAAC,CAAC,CAAC,EAAE,qBAAqB,EAAE,CAAC,CAAC,CAAC,EAAE;SAC/D,CAAC;IACJ,CAAC;CACF,CAAA;AAtBY,sEAA6B;wCAA7B,6BAA6B;IADzC,IAAA,mBAAU,GAAE;IAEE,WAAA,IAAA,eAAM,EAAC,6BAAqB,CAAC,CAAA;;GAD/B,6BAA6B,CAsBzC"}
1
+ {"version":3,"file":"handbook.ai-source-query.provider.js","sourceRoot":"","sources":["../../../src/common/repositories/handbook.ai-source-query.provider.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA8D;AAC9D,2EAAuE;AAKvE,yFAAyF;AAC5E,QAAA,qBAAqB,GAAG,MAAM,CAAC,uBAAuB,CAAC,CAAC;AAErE;;;;;;;;;;;;;;;;;;;;GAoBG;AAEI,IAAM,6BAA6B,GAAnC,MAAM,6BAA6B;IACxC,YACkD,KAA4B,EAC/C,KAAoB;QADD,UAAK,GAAL,KAAK,CAAuB;QAC/C,UAAK,GAAL,KAAK,CAAe;IAChD,CAAC;IAEJ,KAAK,CAAC,MAML;QACC,MAAM,EAAE,YAAY,EAAE,qBAAqB,EAAE,GAAG,MAAM,CAAC,UAAU,CAAC;QAElE,IAAI,CAAC,YAAY,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC5C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACxC,IAAI,IAAI,CAAC,KAAK,EAAE,mBAAmB,KAAK,KAAK,IAAI,2BAA2B,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;gBAC9F,MAAM,IAAI,KAAK,CACb,iHAAiH,CAClH,CAAC;YACJ,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,MAAM,UAAU,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,WAAW,CAAC;QAC/E,MAAM,KAAK,GAAG,qBAAqB,CAAC,CAAC,CAAC,gDAAgD,CAAC,CAAC,CAAC,EAAE,CAAC;QAE5F,OAAO;YACL,MAAM,EAAE,4BAA4B,KAAK,WAAW,UAAU,EAAE;YAChE,MAAM,EAAE,qBAAqB,CAAC,CAAC,CAAC,EAAE,qBAAqB,EAAE,CAAC,CAAC,CAAC,EAAE;SAC/D,CAAC;IACJ,CAAC;CACF,CAAA;AAhCY,sEAA6B;wCAA7B,6BAA6B;IADzC,IAAA,mBAAU,GAAE;IAGR,WAAA,IAAA,eAAM,EAAC,6BAAqB,CAAC,CAAA;IAC7B,WAAA,IAAA,iBAAQ,GAAE,CAAA;6CAA0B,4BAAY;GAHxC,6BAA6B,CAgCzC"}
@@ -3,5 +3,6 @@ export interface ConfigNeo4jInterface {
3
3
  username: string;
4
4
  password: string;
5
5
  database: string;
6
+ bindRequestContext?: boolean;
6
7
  }
7
8
  //# sourceMappingURL=config.neo4j.interface.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.neo4j.interface.d.ts","sourceRoot":"","sources":["../../../src/config/interfaces/config.neo4j.interface.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,oBAAoB;IACnC,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB"}
1
+ {"version":3,"file":"config.neo4j.interface.d.ts","sourceRoot":"","sources":["../../../src/config/interfaces/config.neo4j.interface.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,oBAAoB;IACnC,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IAKjB,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B"}
@@ -38,6 +38,18 @@ export declare abstract class AbstractRepository<T, R extends Record<string, Rel
38
38
  protected abstract readonly descriptor: EntityDescriptor<T, R>;
39
39
  constructor(neo4j: Neo4jService, securityService: SecurityService, clsService: ClsService);
40
40
  onModuleInit(): Promise<void>;
41
+ /**
42
+ * The request aliases initQuery() actually bound and a query may carry in a `WITH`: `company`
43
+ * and `currentUser` when CLS holds them, none when the Neo4jService does not bind request
44
+ * context (`bindRequestContext: false`). A Neo4jService without the flag counts as binding.
45
+ */
46
+ private boundRequestAliases;
47
+ /**
48
+ * Refuses an entity that needs the `company` alias (company-scoped, or tenancy "self" / { via })
49
+ * when initQuery() does not bind it: an unbound `company` in a MATCH matches every node (tenant
50
+ * leak) and in a CREATE creates an orphan node.
51
+ */
52
+ private assertCompanyBindable;
41
53
  /**
42
54
  * Builds the default MATCH query for the entity
43
55
  */
@@ -1 +1 @@
1
- {"version":3,"file":"abstract.repository.d.ts","sourceRoot":"","sources":["../../../../src/core/neo4j/abstracts/abstract.repository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"abstract.repository.d.ts","sourceRoot":"","sources":["../../../../src/core/neo4j/abstracts/abstract.repository.ts"],"names":[],"mappings":"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"}
@@ -77,14 +77,40 @@ class AbstractRepository {
77
77
  }
78
78
  }
79
79
  }
80
+ /**
81
+ * The request aliases initQuery() actually bound and a query may carry in a `WITH`: `company`
82
+ * and `currentUser` when CLS holds them, none when the Neo4jService does not bind request
83
+ * context (`bindRequestContext: false`). A Neo4jService without the flag counts as binding.
84
+ */
85
+ boundRequestAliases() {
86
+ if (this.neo4j.bindsRequestContext === false)
87
+ return [];
88
+ return [
89
+ ...(this.clsService.get("companyId") ? ["company"] : []),
90
+ ...(this.clsService.get("userId") ? ["currentUser"] : []),
91
+ ];
92
+ }
93
+ /**
94
+ * Refuses an entity that needs the `company` alias (company-scoped, or tenancy "self" / { via })
95
+ * when initQuery() does not bind it: an unbound `company` in a MATCH matches every node (tenant
96
+ * leak) and in a CREATE creates an orphan node.
97
+ */
98
+ assertCompanyBindable() {
99
+ if (this.neo4j.bindsRequestContext !== false)
100
+ return;
101
+ const { isCompanyScoped, tenancy } = this.descriptor;
102
+ if (isCompanyScoped || tenancy === "self" || (tenancy && typeof tenancy === "object")) {
103
+ throw new Error(`${this.descriptor.model.type}: needs the request's company, but this app's Neo4j config sets bindRequestContext: false.`);
104
+ }
105
+ }
80
106
  /**
81
107
  * Builds the default MATCH query for the entity
82
108
  */
83
109
  buildDefaultMatch(options) {
84
110
  const { nodeName, labelName } = this.descriptor.model;
85
111
  const { isCompanyScoped, tenancy } = this.descriptor;
86
- const companyId = this.clsService.get("companyId");
87
- const currentUserId = this.clsService.get("userId");
112
+ this.assertCompanyBindable();
113
+ const aliases = options?.blockCompanyAndUser ? [] : this.boundRequestAliases();
88
114
  // Unscoped entities whose rows still belong to one company: the company predicate is
89
115
  // derived from the descriptor's `tenancy` rule. `$companyId IS NULL` keeps automated jobs
90
116
  // (no CLS company) working exactly like the company-scoped branch below.
@@ -107,9 +133,7 @@ class AbstractRepository {
107
133
  MATCH (${nodeName})${hop}${targetsCompany ? "" : "-[:BELONGS_TO]->(company)"}
108
134
  }`;
109
135
  }
110
- const carried = options?.blockCompanyAndUser
111
- ? [nodeName]
112
- : [nodeName, ...(companyId ? ["company"] : []), ...(currentUserId ? ["currentUser"] : [])];
136
+ const carried = [nodeName, ...aliases];
113
137
  return `
114
138
  MATCH (${nodeName}:${labelName}${options?.searchField ? ` {${options.searchField}: $searchValue}` : ``})
115
139
  WHERE $companyId IS NULL
@@ -131,7 +155,7 @@ class AbstractRepository {
131
155
  OR EXISTS {
132
156
  MATCH (${nodeName})-[:BELONGS_TO]-(company)
133
157
  }
134
- WITH ${nodeName}${options?.blockCompanyAndUser ? `` : `${companyId ? `, company` : ``}${currentUserId ? `, currentUser` : ``}`}
158
+ WITH ${[nodeName, ...aliases].join(", ")}
135
159
  `;
136
160
  }
137
161
  /**
@@ -390,13 +414,12 @@ class AbstractRepository {
390
414
  */
391
415
  buildFulltextAccessCheckedMatch(params) {
392
416
  const { nodeName } = this.descriptor.model;
393
- const companyId = this.clsService.get("companyId");
394
- const currentUserId = this.clsService.get("userId");
395
- const carried = `${nodeName}${companyId ? `, company` : ``}${currentUserId ? `, currentUser` : ``}`;
417
+ const aliases = this.boundRequestAliases();
418
+ const carried = [nodeName, ...aliases].join(", ");
396
419
  return `CALL db.index.fulltext.queryNodes("${this.descriptor.fulltextIndexName}", $term)
397
420
  YIELD node, score
398
421
  ${params.hitFilter ? `WHERE ${params.hitFilter}` : ``}
399
- WITH node AS ${nodeName}, score${companyId ? `, company` : ``}${currentUserId ? `, currentUser` : ``}
422
+ WITH ${["node AS " + nodeName, "score", ...aliases].join(", ")}
400
423
  CALL {
401
424
  WITH ${carried}
402
425
  ${this.buildDefaultMatch()}
@@ -654,6 +677,7 @@ class AbstractRepository {
654
677
  async create(params) {
655
678
  const { nodeName, labelName } = this.descriptor.model;
656
679
  const { fieldNames, fieldDefaults, fields, relationships } = this.descriptor;
680
+ this.assertCompanyBindable();
657
681
  const query = this.neo4j.initQuery();
658
682
  // Validate related nodes exist
659
683
  const nodesToValidate = [];
@@ -781,6 +805,7 @@ class AbstractRepository {
781
805
  async put(params) {
782
806
  const { nodeName, labelName } = this.descriptor.model;
783
807
  const { fieldNames, fields, relationships } = this.descriptor;
808
+ this.assertCompanyBindable();
784
809
  const query = this.neo4j.initQuery();
785
810
  // Validate related nodes exist
786
811
  const nodesToValidate = [];
@@ -895,6 +920,7 @@ class AbstractRepository {
895
920
  async patch(params) {
896
921
  const { nodeName, labelName } = this.descriptor.model;
897
922
  const { fieldNames, fields, relationships } = this.descriptor;
923
+ this.assertCompanyBindable();
898
924
  const query = this.neo4j.initQuery();
899
925
  // Determine which fields to update (only those in params AND in fieldNames)
900
926
  const fieldsToUpdate = fieldNames.filter((field) => params[field] !== undefined);
@@ -1016,6 +1042,7 @@ class AbstractRepository {
1016
1042
  */
1017
1043
  async delete(params) {
1018
1044
  const { nodeName, labelName } = this.descriptor.model;
1045
+ this.assertCompanyBindable();
1019
1046
  const query = this.neo4j.initQuery();
1020
1047
  query.queryParams = {
1021
1048
  ...query.queryParams,
@@ -1053,6 +1080,7 @@ class AbstractRepository {
1053
1080
  if (rel.readOnly) {
1054
1081
  throw new common_1.BadRequestException(`Relationship '${params.relationship}' is read-only`);
1055
1082
  }
1083
+ this.assertCompanyBindable();
1056
1084
  const query = this.neo4j.initQuery();
1057
1085
  // Build items array with edge properties
1058
1086
  const itemsWithProps = params.items.map((item) => ({
@@ -1110,6 +1138,7 @@ class AbstractRepository {
1110
1138
  if (rel.readOnly) {
1111
1139
  throw new common_1.BadRequestException(`Relationship '${params.relationship}' is read-only`);
1112
1140
  }
1141
+ this.assertCompanyBindable();
1113
1142
  const query = this.neo4j.initQuery();
1114
1143
  query.queryParams = {
1115
1144
  ...query.queryParams,
@@ -1 +1 @@
1
- {"version":3,"file":"abstract.repository.js","sourceRoot":"","sources":["../../../../src/core/neo4j/abstracts/abstract.repository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"abstract.repository.js","sourceRoot":"","sources":["../../../../src/core/neo4j/abstracts/abstract.repository.ts"],"names":[],"mappings":"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"}
@@ -24,6 +24,7 @@ export declare class Neo4jService implements OnModuleInit, OnModuleDestroy {
24
24
  private readonly retryDelay;
25
25
  private readonly neo4jConfig;
26
26
  private readonly computePaginationTotal;
27
+ readonly bindsRequestContext: boolean;
27
28
  constructor(entityFactory: EntityFactory, cls: ClsService, logger: AppLoggingService, configService: ConfigService<any>);
28
29
  initQuery<T>(params?: {
29
30
  cursor?: JsonApiCursorInterface;
@@ -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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"}
@@ -33,6 +33,7 @@ let Neo4jService = class Neo4jService {
33
33
  throw new Error("Neo4j configuration is required. Ensure NEO4J_URI is set in environment.");
34
34
  }
35
35
  this.computePaginationTotal = this.neo4jConfig.computePaginationTotal !== false;
36
+ this.bindsRequestContext = this.neo4jConfig.bindRequestContext !== false;
36
37
  this._database = this.neo4jConfig.database;
37
38
  this.driver = (0, neo4j_driver_1.driver)(this.neo4jConfig.uri, neo4j_driver_1.auth.basic(this.neo4jConfig.username, this.neo4jConfig.password), {
38
39
  maxConnectionPoolSize: 500,
@@ -50,8 +51,8 @@ let Neo4jService = class Neo4jService {
50
51
  queryParams.companyId = this.cls.has("companyId") ? this.cls.get("companyId") : null;
51
52
  queryParams.currentUserId = this.cls.has("userId") ? this.cls.get("userId") : null;
52
53
  const query = `
53
- ${queryParams.companyId ? `MATCH (company:Company {id: $companyId})` : ``}
54
- ${queryParams.currentUserId
54
+ ${this.bindsRequestContext && queryParams.companyId ? `MATCH (company:Company {id: $companyId})` : ``}
55
+ ${this.bindsRequestContext && queryParams.currentUserId
55
56
  ? queryParams.companyId
56
57
  ? `MATCH (currentUser:User {id: $currentUserId})-[:BELONGS_TO]->(company)`
57
58
  : `MATCH (currentUser:User {id: $currentUserId})`
@@ -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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"s3.controller.d.ts","sourceRoot":"","sources":["../../../../src/foundations/s3/controllers/s3.controller.ts"],"names":[],"mappings":"AAoBA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAIxC,OAAO,EAGL,iBAAiB,EAElB,MAAM,2DAA2D,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,kDAAkD,CAAC;AASvF,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AACtE,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAKzD,qBACa,YAAY;IAErB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAG9B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;gBANV,OAAO,EAAE,SAAS,EAClB,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,eAAe,EACvB,aAAa,EAAE,aAAa,CAAC,mBAAmB,CAAC,EAGjD,SAAS,CAAC,EAAE,iBAAiB;IAK1C,eAAe,CACL,GAAG,EAAE,MAAM,EACH,WAAW,EAAE,MAAM,EACtB,QAAQ,EAAE,OAAO;IAahC,YAAY,CACF,GAAG,EAAE,MAAM,EACN,QAAQ,EAAE,OAAO,EACjB,QAAQ,CAAC,EAAE,MAAM;IAchC,UAAU,CAAe,GAAG,EAAE,MAAM;IAM1C;;;OAGG;YACW,eAAe;IAsB7B;;;OAGG;IAEG,SAAS,CACN,GAAG,EAAE,cAAc,EACnB,KAAK,EAAE,YAAY,EACV,KAAK,EAAE,MAAM,GAC5B,OAAO,CAAC,IAAI,CAAC;IAwChB;;OAEG;IAEG,SAAS,CAAQ,KAAK,EAAE,YAAY,EAAkB,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAsCzF;;;;;OAKG;IACH,OAAO,CAAC,aAAa;IAMrB,OAAO,CAAC,UAAU;IAYlB,OAAO,CAAC,YAAY;CAqBrB"}
1
+ {"version":3,"file":"s3.controller.d.ts","sourceRoot":"","sources":["../../../../src/foundations/s3/controllers/s3.controller.ts"],"names":[],"mappings":"AAoBA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAIxC,OAAO,EAGL,iBAAiB,EAElB,MAAM,2DAA2D,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,kDAAkD,CAAC;AASvF,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AACtE,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAKzD,qBACa,YAAY;IAErB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAG9B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;gBANV,OAAO,EAAE,SAAS,EAClB,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,eAAe,EACvB,aAAa,EAAE,aAAa,CAAC,mBAAmB,CAAC,EAGjD,SAAS,CAAC,EAAE,iBAAiB;IAK1C,eAAe,CACL,GAAG,EAAE,MAAM,EACH,WAAW,EAAE,MAAM,EACtB,QAAQ,EAAE,OAAO;IAahC,YAAY,CACF,GAAG,EAAE,MAAM,EACN,QAAQ,EAAE,OAAO,EACjB,QAAQ,CAAC,EAAE,MAAM;IAchC,UAAU,CAAe,GAAG,EAAE,MAAM;IAM1C;;;OAGG;YACW,eAAe;IAsB7B;;;OAGG;IAEG,SAAS,CACN,GAAG,EAAE,cAAc,EACnB,KAAK,EAAE,YAAY,EACV,KAAK,EAAE,MAAM,GAC5B,OAAO,CAAC,IAAI,CAAC;IAwChB;;OAEG;IAEG,SAAS,CAAQ,KAAK,EAAE,YAAY,EAAkB,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAsCzF;;;;;OAKG;IACH,OAAO,CAAC,aAAa;IAMrB,OAAO,CAAC,UAAU;IAYlB,OAAO,CAAC,YAAY;CAwBrB"}
@@ -187,6 +187,9 @@ let S3Controller = class S3Controller {
187
187
  // Only the server signs tokens, but a signed key must still be one the logged-in routes accept.
188
188
  if (!(0, s3_key_access_policy_interface_1.isWellFormedS3Key)(payload.k))
189
189
  throw new common_1.BadRequestException("Invalid S3 key");
190
+ // A key the bound policy does not serve here is refused before any storage read or write.
191
+ if (this.keyPolicy?.isServableKey && !this.keyPolicy.isServableKey(payload.k))
192
+ throw new common_1.ForbiddenException("This object is not served here");
190
193
  // A permanent (non-expiring) download link is honoured only for keys the bound policy allows to
191
194
  // be permanent: this stops already-issued permanent links to sensitive files.
192
195
  if (op === "get" &&
@@ -1 +1 @@
1
- {"version":3,"file":"s3.controller.js","sourceRoot":"","sources":["../../../../src/foundations/s3/controllers/s3.controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"s3.controller.js","sourceRoot":"","sources":["../../../../src/foundations/s3/controllers/s3.controller.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@carlonicora/nestjs-neo4jsonapi",
3
- "version": "5.2.0",
3
+ "version": "5.3.0",
4
4
  "description": "NestJS foundation package with JSON:API, Neo4j, Redis, LangChain agents, and common utilities",
5
5
  "author": "Carlo Nicora",
6
6
  "license": "GPL-3.0-or-later",
@@ -158,6 +158,7 @@
158
158
  "devDependencies": {
159
159
  "@eslint/eslintrc": "^3.3.7",
160
160
  "@eslint/js": "^9.39.5",
161
+ "@fastify/helmet": "^13.1.2",
161
162
  "@fastify/multipart": "^10.1.3",
162
163
  "@nestjs/bullmq": "^12.0.0",
163
164
  "@nestjs/common": "^12.1.2",
@@ -230,6 +231,7 @@
230
231
  "access": "public"
231
232
  },
232
233
  "peerDependencies": {
234
+ "@fastify/helmet": "^13.1.2",
233
235
  "@fastify/multipart": "^10.1.0",
234
236
  "@nestjs/common": "^12.0.1",
235
237
  "@nestjs/config": "^12.0.0",
@@ -249,6 +251,9 @@
249
251
  "zod": "^4.4.3"
250
252
  },
251
253
  "peerDependenciesMeta": {
254
+ "@fastify/helmet": {
255
+ "optional": true
256
+ },
252
257
  "zod": {
253
258
  "optional": false
254
259
  }