@venizia/ignis-connectors 0.2.0-0 → 0.2.0-10
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.
- package/dist/cjs/relational/core/migrations/runner.d.ts +2 -0
- package/dist/cjs/relational/core/migrations/runner.d.ts.map +1 -1
- package/dist/cjs/relational/core/migrations/runner.js +7 -1
- package/dist/cjs/relational/core/migrations/runner.js.map +1 -1
- package/dist/cjs/relational/core/repositories/common/index.d.ts +1 -0
- package/dist/cjs/relational/core/repositories/common/index.d.ts.map +1 -1
- package/dist/cjs/relational/core/repositories/common/index.js +1 -0
- package/dist/cjs/relational/core/repositories/common/index.js.map +1 -1
- package/dist/cjs/relational/core/repositories/common/scope-filter.d.ts +11 -0
- package/dist/cjs/relational/core/repositories/common/scope-filter.d.ts.map +1 -0
- package/dist/cjs/relational/core/repositories/common/scope-filter.js +17 -0
- package/dist/cjs/relational/core/repositories/common/scope-filter.js.map +1 -0
- package/dist/cjs/relational/core/repositories/common/shared.d.ts +10 -0
- package/dist/cjs/relational/core/repositories/common/shared.d.ts.map +1 -1
- package/dist/cjs/relational/core/repositories/common/shared.js +11 -1
- package/dist/cjs/relational/core/repositories/common/shared.js.map +1 -1
- package/dist/cjs/relational/core/repositories/core/base.d.ts +29 -4
- package/dist/cjs/relational/core/repositories/core/base.d.ts.map +1 -1
- package/dist/cjs/relational/core/repositories/core/base.js +60 -5
- package/dist/cjs/relational/core/repositories/core/base.js.map +1 -1
- package/dist/cjs/relational/core/repositories/core/persistable.d.ts +6 -7
- package/dist/cjs/relational/core/repositories/core/persistable.d.ts.map +1 -1
- package/dist/cjs/relational/core/repositories/core/persistable.js +4 -4
- package/dist/cjs/relational/core/repositories/core/persistable.js.map +1 -1
- package/dist/cjs/relational/core/repositories/core/readable.d.ts +7 -6
- package/dist/cjs/relational/core/repositories/core/readable.d.ts.map +1 -1
- package/dist/cjs/relational/core/repositories/core/readable.js +14 -3
- package/dist/cjs/relational/core/repositories/core/readable.js.map +1 -1
- package/dist/cjs/relational/core/repositories/core/soft-deletable.d.ts +5 -6
- package/dist/cjs/relational/core/repositories/core/soft-deletable.d.ts.map +1 -1
- package/dist/cjs/relational/core/repositories/core/soft-deletable.js +1 -1
- package/dist/cjs/relational/core/repositories/core/soft-deletable.js.map +1 -1
- package/dist/cjs/relational/core/repositories/dialect/filter.d.ts +13 -1
- package/dist/cjs/relational/core/repositories/dialect/filter.d.ts.map +1 -1
- package/dist/cjs/relational/core/repositories/dialect/filter.js +45 -2
- package/dist/cjs/relational/core/repositories/dialect/filter.js.map +1 -1
- package/dist/cjs/relational/postgres/datasources/base.d.ts.map +1 -1
- package/dist/cjs/relational/postgres/datasources/base.js +16 -4
- package/dist/cjs/relational/postgres/datasources/base.js.map +1 -1
- package/dist/cjs/relational/postgres/datasources/common/types.d.ts +1 -7
- package/dist/cjs/relational/postgres/datasources/common/types.d.ts.map +1 -1
- package/dist/cjs/relational/postgres/datasources/common/types.js.map +1 -1
- package/dist/cjs/relational/postgres/models/common/columns.d.ts +8 -2
- package/dist/cjs/relational/postgres/models/common/columns.d.ts.map +1 -1
- package/dist/cjs/relational/postgres/models/common/columns.js +6 -1
- package/dist/cjs/relational/postgres/models/common/columns.js.map +1 -1
- package/dist/cjs/relational/sqlite/models/common/columns.d.ts +6 -3
- package/dist/cjs/relational/sqlite/models/common/columns.d.ts.map +1 -1
- package/dist/cjs/relational/sqlite/models/common/columns.js +4 -2
- package/dist/cjs/relational/sqlite/models/common/columns.js.map +1 -1
- package/dist/cjs/search/core/repositories/common/types.d.ts +0 -1
- package/dist/cjs/search/core/repositories/common/types.d.ts.map +1 -1
- package/dist/cjs/search/core/repositories/core/base.d.ts +1 -0
- package/dist/cjs/search/core/repositories/core/base.d.ts.map +1 -1
- package/dist/cjs/search/core/repositories/core/base.js +11 -1
- package/dist/cjs/search/core/repositories/core/base.js.map +1 -1
- package/dist/cjs/search/meilisearch/connector.d.ts +3 -45
- package/dist/cjs/search/meilisearch/connector.d.ts.map +1 -1
- package/dist/cjs/search/meilisearch/connector.js +20 -90
- package/dist/cjs/search/meilisearch/connector.js.map +1 -1
- package/dist/cjs/search/meilisearch/internal/connector-internal.d.ts +12 -0
- package/dist/cjs/search/meilisearch/internal/connector-internal.d.ts.map +1 -1
- package/dist/cjs/search/meilisearch/internal/connector-internal.js +78 -1
- package/dist/cjs/search/meilisearch/internal/connector-internal.js.map +1 -1
- package/dist/cjs/search/meilisearch/repositories/dialect/query-dialect.d.ts +4 -3
- package/dist/cjs/search/meilisearch/repositories/dialect/query-dialect.d.ts.map +1 -1
- package/dist/cjs/search/meilisearch/repositories/dialect/query-dialect.js +23 -18
- package/dist/cjs/search/meilisearch/repositories/dialect/query-dialect.js.map +1 -1
- package/dist/cjs/search/meilisearch/types.d.ts +43 -0
- package/dist/cjs/search/meilisearch/types.d.ts.map +1 -1
- package/dist/cjs/search/typesense/connector.d.ts +2 -56
- package/dist/cjs/search/typesense/connector.d.ts.map +1 -1
- package/dist/cjs/search/typesense/connector.js +40 -203
- package/dist/cjs/search/typesense/connector.js.map +1 -1
- package/dist/cjs/search/typesense/internal/connector-internal.d.ts +34 -0
- package/dist/cjs/search/typesense/internal/connector-internal.d.ts.map +1 -1
- package/dist/cjs/search/typesense/internal/connector-internal.js +88 -1
- package/dist/cjs/search/typesense/internal/connector-internal.js.map +1 -1
- package/dist/cjs/search/typesense/internal/index.d.ts +1 -0
- package/dist/cjs/search/typesense/internal/index.d.ts.map +1 -1
- package/dist/cjs/search/typesense/internal/index.js +1 -0
- package/dist/cjs/search/typesense/internal/index.js.map +1 -1
- package/dist/cjs/search/typesense/internal/pagination-windows.d.ts +41 -0
- package/dist/cjs/search/typesense/internal/pagination-windows.d.ts.map +1 -0
- package/dist/cjs/search/typesense/internal/pagination-windows.js +96 -0
- package/dist/cjs/search/typesense/internal/pagination-windows.js.map +1 -0
- package/dist/cjs/search/typesense/repositories/dialect/query-dialect.d.ts +4 -3
- package/dist/cjs/search/typesense/repositories/dialect/query-dialect.d.ts.map +1 -1
- package/dist/cjs/search/typesense/repositories/dialect/query-dialect.js +32 -18
- package/dist/cjs/search/typesense/repositories/dialect/query-dialect.js.map +1 -1
- package/dist/cjs/search/typesense/types.d.ts +55 -0
- package/dist/cjs/search/typesense/types.d.ts.map +1 -1
- package/dist/esm/relational/core/migrations/runner.d.ts +2 -0
- package/dist/esm/relational/core/migrations/runner.d.ts.map +1 -1
- package/dist/esm/relational/core/migrations/runner.js +7 -1
- package/dist/esm/relational/core/migrations/runner.js.map +1 -1
- package/dist/esm/relational/core/repositories/common/index.d.ts +1 -0
- package/dist/esm/relational/core/repositories/common/index.d.ts.map +1 -1
- package/dist/esm/relational/core/repositories/common/index.js +1 -0
- package/dist/esm/relational/core/repositories/common/index.js.map +1 -1
- package/dist/esm/relational/core/repositories/common/scope-filter.d.ts +11 -0
- package/dist/esm/relational/core/repositories/common/scope-filter.d.ts.map +1 -0
- package/dist/esm/relational/core/repositories/common/scope-filter.js +13 -0
- package/dist/esm/relational/core/repositories/common/scope-filter.js.map +1 -0
- package/dist/esm/relational/core/repositories/common/shared.d.ts +10 -0
- package/dist/esm/relational/core/repositories/common/shared.d.ts.map +1 -1
- package/dist/esm/relational/core/repositories/common/shared.js +11 -1
- package/dist/esm/relational/core/repositories/common/shared.js.map +1 -1
- package/dist/esm/relational/core/repositories/core/base.d.ts +29 -4
- package/dist/esm/relational/core/repositories/core/base.d.ts.map +1 -1
- package/dist/esm/relational/core/repositories/core/base.js +61 -6
- package/dist/esm/relational/core/repositories/core/base.js.map +1 -1
- package/dist/esm/relational/core/repositories/core/persistable.d.ts +6 -7
- package/dist/esm/relational/core/repositories/core/persistable.d.ts.map +1 -1
- package/dist/esm/relational/core/repositories/core/persistable.js +4 -4
- package/dist/esm/relational/core/repositories/core/persistable.js.map +1 -1
- package/dist/esm/relational/core/repositories/core/readable.d.ts +7 -6
- package/dist/esm/relational/core/repositories/core/readable.d.ts.map +1 -1
- package/dist/esm/relational/core/repositories/core/readable.js +14 -3
- package/dist/esm/relational/core/repositories/core/readable.js.map +1 -1
- package/dist/esm/relational/core/repositories/core/soft-deletable.d.ts +5 -6
- package/dist/esm/relational/core/repositories/core/soft-deletable.d.ts.map +1 -1
- package/dist/esm/relational/core/repositories/core/soft-deletable.js +1 -1
- package/dist/esm/relational/core/repositories/core/soft-deletable.js.map +1 -1
- package/dist/esm/relational/core/repositories/dialect/filter.d.ts +13 -1
- package/dist/esm/relational/core/repositories/dialect/filter.d.ts.map +1 -1
- package/dist/esm/relational/core/repositories/dialect/filter.js +47 -4
- package/dist/esm/relational/core/repositories/dialect/filter.js.map +1 -1
- package/dist/esm/relational/postgres/datasources/base.d.ts.map +1 -1
- package/dist/esm/relational/postgres/datasources/base.js +16 -4
- package/dist/esm/relational/postgres/datasources/base.js.map +1 -1
- package/dist/esm/relational/postgres/datasources/common/types.d.ts +1 -7
- package/dist/esm/relational/postgres/datasources/common/types.d.ts.map +1 -1
- package/dist/esm/relational/postgres/datasources/common/types.js.map +1 -1
- package/dist/esm/relational/postgres/models/common/columns.d.ts +8 -2
- package/dist/esm/relational/postgres/models/common/columns.d.ts.map +1 -1
- package/dist/esm/relational/postgres/models/common/columns.js +6 -1
- package/dist/esm/relational/postgres/models/common/columns.js.map +1 -1
- package/dist/esm/relational/sqlite/models/common/columns.d.ts +6 -3
- package/dist/esm/relational/sqlite/models/common/columns.d.ts.map +1 -1
- package/dist/esm/relational/sqlite/models/common/columns.js +4 -2
- package/dist/esm/relational/sqlite/models/common/columns.js.map +1 -1
- package/dist/esm/search/core/repositories/common/types.d.ts +0 -1
- package/dist/esm/search/core/repositories/common/types.d.ts.map +1 -1
- package/dist/esm/search/core/repositories/core/base.d.ts +1 -0
- package/dist/esm/search/core/repositories/core/base.d.ts.map +1 -1
- package/dist/esm/search/core/repositories/core/base.js +11 -1
- package/dist/esm/search/core/repositories/core/base.js.map +1 -1
- package/dist/esm/search/meilisearch/connector.d.ts +3 -45
- package/dist/esm/search/meilisearch/connector.d.ts.map +1 -1
- package/dist/esm/search/meilisearch/connector.js +12 -82
- package/dist/esm/search/meilisearch/connector.js.map +1 -1
- package/dist/esm/search/meilisearch/internal/connector-internal.d.ts +12 -0
- package/dist/esm/search/meilisearch/internal/connector-internal.d.ts.map +1 -1
- package/dist/esm/search/meilisearch/internal/connector-internal.js +73 -0
- package/dist/esm/search/meilisearch/internal/connector-internal.js.map +1 -1
- package/dist/esm/search/meilisearch/repositories/dialect/query-dialect.d.ts +4 -3
- package/dist/esm/search/meilisearch/repositories/dialect/query-dialect.d.ts.map +1 -1
- package/dist/esm/search/meilisearch/repositories/dialect/query-dialect.js +10 -5
- package/dist/esm/search/meilisearch/repositories/dialect/query-dialect.js.map +1 -1
- package/dist/esm/search/meilisearch/types.d.ts +43 -0
- package/dist/esm/search/meilisearch/types.d.ts.map +1 -1
- package/dist/esm/search/typesense/connector.d.ts +2 -56
- package/dist/esm/search/typesense/connector.d.ts.map +1 -1
- package/dist/esm/search/typesense/connector.js +23 -186
- package/dist/esm/search/typesense/connector.js.map +1 -1
- package/dist/esm/search/typesense/internal/connector-internal.d.ts +34 -0
- package/dist/esm/search/typesense/internal/connector-internal.d.ts.map +1 -1
- package/dist/esm/search/typesense/internal/connector-internal.js +79 -0
- package/dist/esm/search/typesense/internal/connector-internal.js.map +1 -1
- package/dist/esm/search/typesense/internal/index.d.ts +1 -0
- package/dist/esm/search/typesense/internal/index.d.ts.map +1 -1
- package/dist/esm/search/typesense/internal/index.js +1 -0
- package/dist/esm/search/typesense/internal/index.js.map +1 -1
- package/dist/esm/search/typesense/internal/pagination-windows.d.ts +41 -0
- package/dist/esm/search/typesense/internal/pagination-windows.d.ts.map +1 -0
- package/dist/esm/search/typesense/internal/pagination-windows.js +89 -0
- package/dist/esm/search/typesense/internal/pagination-windows.js.map +1 -0
- package/dist/esm/search/typesense/repositories/dialect/query-dialect.d.ts +4 -3
- package/dist/esm/search/typesense/repositories/dialect/query-dialect.d.ts.map +1 -1
- package/dist/esm/search/typesense/repositories/dialect/query-dialect.js +19 -5
- package/dist/esm/search/typesense/repositories/dialect/query-dialect.js.map +1 -1
- package/dist/esm/search/typesense/types.d.ts +55 -0
- package/dist/esm/search/typesense/types.d.ts.map +1 -1
- package/package.json +6 -6
|
@@ -32,6 +32,8 @@ export interface IMigration {
|
|
|
32
32
|
export declare class RelationalMigrationRunner extends BaseHelper {
|
|
33
33
|
private readonly driver;
|
|
34
34
|
private readonly ledgerTable;
|
|
35
|
+
/** Set when a ROLLBACK itself fails, so the connection is destroyed rather than pooled. */
|
|
36
|
+
private isSessionPoisoned;
|
|
35
37
|
constructor(opts: {
|
|
36
38
|
driver: IRelationalDriver<unknown>;
|
|
37
39
|
/** Defaults to `ignis_migrations`. Validated like a migration name. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../../../../src/relational/core/migrations/runner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAY,MAAM,6BAA6B,CAAC;AACnE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEpD,MAAM,WAAW,UAAU;IACzB,4GAA4G;IAC5G,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;CACb;AAUD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,qBAAa,yBAA0B,SAAQ,UAAU;IACvD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA6B;IACpD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;
|
|
1
|
+
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../../../../src/relational/core/migrations/runner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAY,MAAM,6BAA6B,CAAC;AACnE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEpD,MAAM,WAAW,UAAU;IACzB,4GAA4G;IAC5G,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;CACb;AAUD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,qBAAa,yBAA0B,SAAQ,UAAU;IACvD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA6B;IACpD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IAErC,2FAA2F;IAC3F,OAAO,CAAC,iBAAiB,CAAS;gBAEtB,IAAI,EAAE;QAChB,MAAM,EAAE,iBAAiB,CAAC,OAAO,CAAC,CAAC;QACnC,uEAAuE;QACvE,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB;IAUD;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,cAAc;IAY7B,gIAAgI;IAChI,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,GAAG,KAAK,CAAC,MAAM,CAAC;IAOtD,GAAG,CAAC,IAAI,EAAE;QAAE,UAAU,EAAE,aAAa,CAAC,UAAU,CAAC,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAoCzE,iMAAiM;YACnL,QAAQ;CAqCvB"}
|
|
@@ -34,6 +34,8 @@ const STATEMENT_BREAKPOINT = '--> statement-breakpoint';
|
|
|
34
34
|
class RelationalMigrationRunner extends core_1.BaseHelper {
|
|
35
35
|
constructor(opts) {
|
|
36
36
|
super({ scope: opts.scope ?? RelationalMigrationRunner.name });
|
|
37
|
+
/** Set when a ROLLBACK itself fails, so the connection is destroyed rather than pooled. */
|
|
38
|
+
this.isSessionPoisoned = false;
|
|
37
39
|
this.driver = opts.driver;
|
|
38
40
|
this.ledgerTable = RelationalMigrationRunner.assertSafeName({
|
|
39
41
|
value: opts.ledgerTable ?? DEFAULT_LEDGER_TABLE,
|
|
@@ -89,7 +91,7 @@ class RelationalMigrationRunner extends core_1.BaseHelper {
|
|
|
89
91
|
}
|
|
90
92
|
}
|
|
91
93
|
finally {
|
|
92
|
-
connection.release();
|
|
94
|
+
connection.release({ destroy: this.isSessionPoisoned });
|
|
93
95
|
}
|
|
94
96
|
}
|
|
95
97
|
/** BEGIN/COMMIT written here rather than through `beginTransaction()`: that acquires its OWN connection, and the ledger read above has to see the same session on a single-connection engine. */
|
|
@@ -111,7 +113,11 @@ class RelationalMigrationRunner extends core_1.BaseHelper {
|
|
|
111
113
|
this.logger
|
|
112
114
|
.for(this.applyOne.name)
|
|
113
115
|
.error('Migration failed, rolling back | name: %s | error: %s', migration.name, error);
|
|
116
|
+
// A FAILED rollback leaves the session inside a transaction. Returning that connection to
|
|
117
|
+
// the pool hands the next borrower an aborted session - the driver contract says such a
|
|
118
|
+
// connection must be destroyed, and the datasource teardown already does exactly that.
|
|
114
119
|
await connection.execute({ statement: 'ROLLBACK' }).catch((rollbackError) => {
|
|
120
|
+
this.isSessionPoisoned = true;
|
|
115
121
|
this.logger
|
|
116
122
|
.for(this.applyOne.name)
|
|
117
123
|
.error('Rollback failed | name: %s | error: %s', migration.name, rollbackError);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../../../../src/relational/core/migrations/runner.ts"],"names":[],"mappings":";;;AAAA,sDAAmE;AASnE,iIAAiI;AACjI,MAAM,mBAAmB,GAAG,mBAAmB,CAAC;AAEhD,MAAM,oBAAoB,GAAG,kBAAkB,CAAC;AAEhD,qFAAqF;AACrF,MAAM,oBAAoB,GAAG,0BAA0B,CAAC;AAExD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAa,yBAA0B,SAAQ,iBAAU;
|
|
1
|
+
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../../../../src/relational/core/migrations/runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/relational/core/repositories/common/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/relational/core/repositories/common/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC"}
|
|
@@ -17,4 +17,5 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
17
17
|
__exportStar(require("./types"), exports);
|
|
18
18
|
__exportStar(require("./executor"), exports);
|
|
19
19
|
__exportStar(require("./shared"), exports);
|
|
20
|
+
__exportStar(require("./scope-filter"), exports);
|
|
20
21
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/relational/core/repositories/common/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAwB;AACxB,6CAA2B;AAC3B,2CAAyB"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/relational/core/repositories/common/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAwB;AACxB,6CAA2B;AAC3B,2CAAyB;AACzB,iDAA+B"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { TWhere } from '@venizia/ignis-kernel';
|
|
2
|
+
/**
|
|
3
|
+
* The `where` that matches zero rows - shared by the repository tier's `applyScopeFilter` and the
|
|
4
|
+
* dialect tier's `toInclude`, so an unresolved or denied row scope compiles to the same deny
|
|
5
|
+
* predicate everywhere rather than two copies of a security predicate that could drift apart.
|
|
6
|
+
*/
|
|
7
|
+
export declare class ScopeFilterDenial {
|
|
8
|
+
/** The empty `inq` compiles to `sql\`false\`` in every dialect, deterministically matching zero rows. */
|
|
9
|
+
static where<DataObject = any>(): TWhere<DataObject>;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=scope-filter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scope-filter.d.ts","sourceRoot":"","sources":["../../../../../../src/relational/core/repositories/common/scope-filter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAEpD;;;;GAIG;AACH,qBAAa,iBAAiB;IAC5B,yGAAyG;IACzG,MAAM,CAAC,KAAK,CAAC,UAAU,GAAG,GAAG,KAAK,MAAM,CAAC,UAAU,CAAC;CAGrD"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ScopeFilterDenial = void 0;
|
|
4
|
+
const ignis_kernel_1 = require("@venizia/ignis-kernel");
|
|
5
|
+
/**
|
|
6
|
+
* The `where` that matches zero rows - shared by the repository tier's `applyScopeFilter` and the
|
|
7
|
+
* dialect tier's `toInclude`, so an unresolved or denied row scope compiles to the same deny
|
|
8
|
+
* predicate everywhere rather than two copies of a security predicate that could drift apart.
|
|
9
|
+
*/
|
|
10
|
+
class ScopeFilterDenial {
|
|
11
|
+
/** The empty `inq` compiles to `sql\`false\`` in every dialect, deterministically matching zero rows. */
|
|
12
|
+
static where() {
|
|
13
|
+
return { id: { [ignis_kernel_1.QueryOperators.INQ]: [] } };
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
exports.ScopeFilterDenial = ScopeFilterDenial;
|
|
17
|
+
//# sourceMappingURL=scope-filter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scope-filter.js","sourceRoot":"","sources":["../../../../../../src/relational/core/repositories/common/scope-filter.ts"],"names":[],"mappings":";;;AAAA,wDAAuD;AAGvD;;;;GAIG;AACH,MAAa,iBAAiB;IAC5B,yGAAyG;IACzG,MAAM,CAAC,KAAK;QACV,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,6BAAc,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,EAAwB,CAAC;IACpE,CAAC;CACF;AALD,8CAKC"}
|
|
@@ -3,6 +3,16 @@ import type { TTableColumns } from './types';
|
|
|
3
3
|
/** Keyed by the schema object itself, so a schema that goes out of scope is collectable with its columns. */
|
|
4
4
|
export declare class TableColumnCache {
|
|
5
5
|
private static readonly columns;
|
|
6
|
+
/**
|
|
7
|
+
* Null-prototype, so a column lookup cannot answer with something off `Object.prototype`.
|
|
8
|
+
*
|
|
9
|
+
* `getTableColumns()` returns an ordinary object, and every caller resolves a column by
|
|
10
|
+
* truthiness - `const column = columns[key]; if (!column) { throw NOT FOUND }`. A caller-supplied
|
|
11
|
+
* filter key of `toString` therefore found a function, passed the guard, and compiled to a
|
|
12
|
+
* vacuous `$1 = $2` predicate; `constructor.a` reached the JSON path validator and threw a raw
|
|
13
|
+
* TypeError. Fixing the object here closes all five call sites at once, in one line, instead of
|
|
14
|
+
* five `Object.hasOwn` guards that a sixth call site would forget.
|
|
15
|
+
*/
|
|
6
16
|
static get<Schema extends TTableSchemaWithId>(schema: Schema): TTableColumns;
|
|
7
17
|
}
|
|
8
18
|
/** Published name of {@link TableColumnCache.get}. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../../../../src/relational/core/repositories/common/shared.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAE1E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE7C,6GAA6G;AAC7G,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAoD;IAEnF,MAAM,CAAC,GAAG,CAAC,MAAM,SAAS,kBAAkB,EAAE,MAAM,EAAE,MAAM,GAAG,aAAa;CAS7E;AAED,sDAAsD;AACtD,eAAO,MAAM,gBAAgB,GAAI,MAAM,SAAS,kBAAkB,EAChE,QAAQ,MAAM,KACb,aAA6C,CAAC"}
|
|
1
|
+
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../../../../src/relational/core/repositories/common/shared.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAE1E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE7C,6GAA6G;AAC7G,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAoD;IAEnF;;;;;;;;;OASG;IACH,MAAM,CAAC,GAAG,CAAC,MAAM,SAAS,kBAAkB,EAAE,MAAM,EAAE,MAAM,GAAG,aAAa;CAS7E;AAED,sDAAsD;AACtD,eAAO,MAAM,gBAAgB,GAAI,MAAM,SAAS,kBAAkB,EAChE,QAAQ,MAAM,KACb,aAA6C,CAAC"}
|
|
@@ -5,10 +5,20 @@ const drizzle_orm_1 = require("drizzle-orm");
|
|
|
5
5
|
/** Keyed by the schema object itself, so a schema that goes out of scope is collectable with its columns. */
|
|
6
6
|
class TableColumnCache {
|
|
7
7
|
static { this.columns = new WeakMap(); }
|
|
8
|
+
/**
|
|
9
|
+
* Null-prototype, so a column lookup cannot answer with something off `Object.prototype`.
|
|
10
|
+
*
|
|
11
|
+
* `getTableColumns()` returns an ordinary object, and every caller resolves a column by
|
|
12
|
+
* truthiness - `const column = columns[key]; if (!column) { throw NOT FOUND }`. A caller-supplied
|
|
13
|
+
* filter key of `toString` therefore found a function, passed the guard, and compiled to a
|
|
14
|
+
* vacuous `$1 = $2` predicate; `constructor.a` reached the JSON path validator and threw a raw
|
|
15
|
+
* TypeError. Fixing the object here closes all five call sites at once, in one line, instead of
|
|
16
|
+
* five `Object.hasOwn` guards that a sixth call site would forget.
|
|
17
|
+
*/
|
|
8
18
|
static get(schema) {
|
|
9
19
|
let columns = TableColumnCache.columns.get(schema);
|
|
10
20
|
if (!columns) {
|
|
11
|
-
columns = (0, drizzle_orm_1.getTableColumns)(schema);
|
|
21
|
+
columns = Object.assign(Object.create(null), (0, drizzle_orm_1.getTableColumns)(schema));
|
|
12
22
|
TableColumnCache.columns.set(schema, columns);
|
|
13
23
|
}
|
|
14
24
|
return columns;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../../../../src/relational/core/repositories/common/shared.ts"],"names":[],"mappings":";;;AACA,6CAA8C;AAG9C,6GAA6G;AAC7G,MAAa,gBAAgB;aACH,YAAO,GAAG,IAAI,OAAO,EAAqC,CAAC;IAEnF,MAAM,CAAC,GAAG,CAAoC,MAAc;QAC1D,IAAI,OAAO,GAAG,gBAAgB,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACnD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,GAAG,IAAA,6BAAe,EAAC,MAAM,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../../../../src/relational/core/repositories/common/shared.ts"],"names":[],"mappings":";;;AACA,6CAA8C;AAG9C,6GAA6G;AAC7G,MAAa,gBAAgB;aACH,YAAO,GAAG,IAAI,OAAO,EAAqC,CAAC;IAEnF;;;;;;;;;OASG;IACH,MAAM,CAAC,GAAG,CAAoC,MAAc;QAC1D,IAAI,OAAO,GAAG,gBAAgB,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACnD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAA,6BAAe,EAAC,MAAM,CAAC,CAAkB,CAAC;YACvF,gBAAgB,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAChD,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;;AArBH,4CAsBC;AAED,sDAAsD;AAC/C,MAAM,gBAAgB,GAAG,CAC9B,MAAc,EACC,EAAE,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAFpC,QAAA,gBAAgB,oBAEoB"}
|
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
import type { ITransaction } from '@venizia/ignis-kernel';
|
|
2
|
-
import type { IdType } from '@venizia/ignis-kernel';
|
|
3
|
-
import type { IExtraOptions, IPersistableRepository, TCount, TDataRange, TDrizzleQueryOptions, TFilter, TFindOneOptions, TFindOptions, TFindRangeOptions, TLockOptions, TRepositoryOperationScope, TWhere } from '@venizia/ignis-kernel';
|
|
1
|
+
import type { IdType, IExtraOptions, IPersistableRepository, IScopeFilterSettings, ITransaction, TCount, TDataRange, TDrizzleQueryOptions, TFilter, TFindOneOptions, TFindOptions, TFindRangeOptions, TLockOptions, TRepositoryOperationScope, TWhere } from '@venizia/ignis-kernel';
|
|
4
2
|
import { AbstractRepository } from '@venizia/ignis-kernel';
|
|
5
3
|
import type { IRelationalDataSource } from '../../../../relational/core/datasources/common';
|
|
6
4
|
import type { BaseRelationalEntity, TTableInsert, TTableObject, TTableSchemaWithId } from '../../../../relational/core/models';
|
|
@@ -8,6 +6,16 @@ import type { TClass, TNullable } from '@venizia/ignis-helpers/common';
|
|
|
8
6
|
import type { IRelationalExtraOptions, IRelationalQueryDialect, IRelationalQueryExecutor, TRelationalConnectorOf, TRelationalTransactionOf, TRelationalTransactionOptionsOf } from '../common';
|
|
9
7
|
/** Relational implementation of `AbstractRepository`: adds the query dialect + hidden-column exclusion on top of the neutral base, and reaches the database only through `IRelationalQueryExecutor`. Both engine-facing parameters default to the neutral SQL contracts; an engine binds them by subclassing. */
|
|
10
8
|
export declare abstract class RelationalBaseRepository<EntitySchema extends TTableSchemaWithId = TTableSchemaWithId, DataObject extends TTableObject<EntitySchema> = TTableObject<EntitySchema>, PersistObject extends TTableInsert<EntitySchema> = TTableInsert<EntitySchema>, ExtraOptions extends IExtraOptions = IRelationalExtraOptions, TDataSource extends IRelationalDataSource = IRelationalDataSource> extends AbstractRepository<DataObject, PersistObject, ExtraOptions> implements IPersistableRepository<DataObject, PersistObject, ExtraOptions> {
|
|
9
|
+
/**
|
|
10
|
+
* The `Pick` return type is load-bearing, not decoration. `TWhere<DataObject>` is a homomorphic
|
|
11
|
+
* mapped type over an unresolved type parameter, and TypeScript cannot check a one-key literal
|
|
12
|
+
* against it - `{ id }` fails even though `id` is a real key. `Pick<..., 'id'>` resolves that one
|
|
13
|
+
* key, and the result still assigns to `TWhere<DataObject>` because every key there is optional.
|
|
14
|
+
* Without it every `*ById` method needs a cast, which would hide a genuinely wrong id type.
|
|
15
|
+
*/
|
|
16
|
+
protected whereById(opts: {
|
|
17
|
+
id: DataObject['id'];
|
|
18
|
+
}): Pick<TWhere<DataObject>, 'id'>;
|
|
11
19
|
/** Memoized Set view of the base's `hiddenFields` array - built once on first access. */
|
|
12
20
|
private _hiddenPropertySet;
|
|
13
21
|
/** Memoized Drizzle column-selection map derived from hidden fields. `null` = not yet computed; `undefined` = computed, no hidden fields. */
|
|
@@ -37,10 +45,27 @@ export declare abstract class RelationalBaseRepository<EntitySchema extends TTab
|
|
|
37
45
|
getDefaultFilter(): TFilter | undefined;
|
|
38
46
|
getDefaultLimit(): number | undefined;
|
|
39
47
|
hasDefaultFilter(): boolean;
|
|
40
|
-
/**
|
|
48
|
+
/** Same override seam as `getDefaultFilter()` - a repository with no resolvable `@model` entity (a synthetic test double, a hand-built stub) overrides this to avoid touching `modelSettings`/`entity` at all. */
|
|
49
|
+
getScopeFilterSettings(): IScopeFilterSettings | undefined;
|
|
50
|
+
/**
|
|
51
|
+
* Row scope from `@model` settings.scopeFilter - AND-composed like a default filter, but never
|
|
52
|
+
* skippable via `shouldSkipDefaultFilter`: that flag serves `restore()`'s deliberate reach past
|
|
53
|
+
* soft-delete, which must not also reach past tenant/ownership scoping.
|
|
54
|
+
*
|
|
55
|
+
* `dangerouslySkipScopeFilter` is framework-internal only, never part of `IExtraOptions` and never
|
|
56
|
+
* wire-reachable: it exists so a filter this repository already scoped (find()'s own recursive
|
|
57
|
+
* call) is not scoped a second time, and for explicitly-unscoped administrative code written and
|
|
58
|
+
* reviewed at the repository - never inferable from a request.
|
|
59
|
+
*/
|
|
60
|
+
protected applyScopeFilter<DO = any>(opts: {
|
|
61
|
+
userFilter?: TFilter<DO>;
|
|
62
|
+
dangerouslySkipScopeFilter?: boolean;
|
|
63
|
+
}): TFilter<DO>;
|
|
64
|
+
/** Merges default filter with user filter. Skippable via shouldSkipDefaultFilter - the row scope from applyScopeFilter is not. */
|
|
41
65
|
applyDefaultFilter<DO = any>(opts: {
|
|
42
66
|
userFilter?: TFilter<DO>;
|
|
43
67
|
shouldSkipDefaultFilter?: boolean;
|
|
68
|
+
dangerouslySkipScopeFilter?: boolean;
|
|
44
69
|
}): TFilter<DO>;
|
|
45
70
|
beginTransaction(opts?: TRelationalTransactionOptionsOf<TDataSource>): Promise<TRelationalTransactionOf<TDataSource>>;
|
|
46
71
|
/** Builds Drizzle query options from a filter, excluding hidden properties. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../../../../src/relational/core/repositories/core/base.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../../../../src/relational/core/repositories/core/base.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,8 +5,19 @@ const ignis_kernel_1 = require("@venizia/ignis-kernel");
|
|
|
5
5
|
const common_1 = require("../../../../relational/core/datasources/common");
|
|
6
6
|
const core_1 = require("@venizia/ignis-helpers/core");
|
|
7
7
|
const drizzle_orm_1 = require("drizzle-orm");
|
|
8
|
+
const common_2 = require("../common");
|
|
8
9
|
/** Relational implementation of `AbstractRepository`: adds the query dialect + hidden-column exclusion on top of the neutral base, and reaches the database only through `IRelationalQueryExecutor`. Both engine-facing parameters default to the neutral SQL contracts; an engine binds them by subclassing. */
|
|
9
10
|
class RelationalBaseRepository extends ignis_kernel_1.AbstractRepository {
|
|
11
|
+
/**
|
|
12
|
+
* The `Pick` return type is load-bearing, not decoration. `TWhere<DataObject>` is a homomorphic
|
|
13
|
+
* mapped type over an unresolved type parameter, and TypeScript cannot check a one-key literal
|
|
14
|
+
* against it - `{ id }` fails even though `id` is a real key. `Pick<..., 'id'>` resolves that one
|
|
15
|
+
* key, and the result still assigns to `TWhere<DataObject>` because every key there is optional.
|
|
16
|
+
* Without it every `*ById` method needs a cast, which would hide a genuinely wrong id type.
|
|
17
|
+
*/
|
|
18
|
+
whereById(opts) {
|
|
19
|
+
return { id: opts.id };
|
|
20
|
+
}
|
|
10
21
|
constructor(dataSource, opts) {
|
|
11
22
|
super(dataSource, opts);
|
|
12
23
|
/** Memoized Set view of the base's `hiddenFields` array - built once on first access. */
|
|
@@ -80,17 +91,61 @@ class RelationalBaseRepository extends ignis_kernel_1.AbstractRepository {
|
|
|
80
91
|
const defaultFilter = this.getDefaultFilter();
|
|
81
92
|
return defaultFilter !== undefined && Object.keys(defaultFilter).length > 0;
|
|
82
93
|
}
|
|
83
|
-
/**
|
|
94
|
+
/** Same override seam as `getDefaultFilter()` - a repository with no resolvable `@model` entity (a synthetic test double, a hand-built stub) overrides this to avoid touching `modelSettings`/`entity` at all. */
|
|
95
|
+
getScopeFilterSettings() {
|
|
96
|
+
return this.modelSettings?.scopeFilter;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Row scope from `@model` settings.scopeFilter - AND-composed like a default filter, but never
|
|
100
|
+
* skippable via `shouldSkipDefaultFilter`: that flag serves `restore()`'s deliberate reach past
|
|
101
|
+
* soft-delete, which must not also reach past tenant/ownership scoping.
|
|
102
|
+
*
|
|
103
|
+
* `dangerouslySkipScopeFilter` is framework-internal only, never part of `IExtraOptions` and never
|
|
104
|
+
* wire-reachable: it exists so a filter this repository already scoped (find()'s own recursive
|
|
105
|
+
* call) is not scoped a second time, and for explicitly-unscoped administrative code written and
|
|
106
|
+
* reviewed at the repository - never inferable from a request.
|
|
107
|
+
*/
|
|
108
|
+
applyScopeFilter(opts) {
|
|
109
|
+
const { userFilter, dangerouslySkipScopeFilter } = opts;
|
|
110
|
+
if (dangerouslySkipScopeFilter) {
|
|
111
|
+
return userFilter ?? {};
|
|
112
|
+
}
|
|
113
|
+
const scopeFilterSettings = this.getScopeFilterSettings();
|
|
114
|
+
if (!scopeFilterSettings) {
|
|
115
|
+
return userFilter ?? {};
|
|
116
|
+
}
|
|
117
|
+
const scopeWhere = scopeFilterSettings.resolve();
|
|
118
|
+
// Checked by exact symbol identity, before the null/undefined branch below: only this literal
|
|
119
|
+
// value can skip scoping. A resolver that forgets a `return` on some branch produces
|
|
120
|
+
// `undefined`, which is NOT this symbol and falls through to `onMissing` (deny by default).
|
|
121
|
+
if (scopeWhere === ignis_kernel_1.ScopeFilters.UNRESTRICTED) {
|
|
122
|
+
return userFilter ?? {};
|
|
123
|
+
}
|
|
124
|
+
if (scopeWhere !== null && scopeWhere !== undefined) {
|
|
125
|
+
return this.queryDialect.mergeFilter({ defaultFilter: { where: scopeWhere }, userFilter });
|
|
126
|
+
}
|
|
127
|
+
if (scopeFilterSettings.onMissing === ignis_kernel_1.ScopeFilterMissingBehaviors.ALLOW) {
|
|
128
|
+
return userFilter ?? {};
|
|
129
|
+
}
|
|
130
|
+
// 'deny' (default): an unresolved scope means the framework does not know what this caller may
|
|
131
|
+
// see, and the safe reading of "I do not know" is "nothing" - never "everything".
|
|
132
|
+
return this.queryDialect.mergeFilter({
|
|
133
|
+
defaultFilter: { where: common_2.ScopeFilterDenial.where() },
|
|
134
|
+
userFilter,
|
|
135
|
+
});
|
|
136
|
+
}
|
|
137
|
+
/** Merges default filter with user filter. Skippable via shouldSkipDefaultFilter - the row scope from applyScopeFilter is not. */
|
|
84
138
|
applyDefaultFilter(opts) {
|
|
85
|
-
const { userFilter, shouldSkipDefaultFilter } = opts;
|
|
139
|
+
const { userFilter, shouldSkipDefaultFilter, dangerouslySkipScopeFilter } = opts;
|
|
140
|
+
const scopedFilter = this.applyScopeFilter({ userFilter, dangerouslySkipScopeFilter });
|
|
86
141
|
if (shouldSkipDefaultFilter) {
|
|
87
|
-
return
|
|
142
|
+
return scopedFilter;
|
|
88
143
|
}
|
|
89
144
|
const defaultFilter = this.getDefaultFilter();
|
|
90
145
|
if (!defaultFilter) {
|
|
91
|
-
return
|
|
146
|
+
return scopedFilter;
|
|
92
147
|
}
|
|
93
|
-
return this.queryDialect.mergeFilter({ defaultFilter, userFilter });
|
|
148
|
+
return this.queryDialect.mergeFilter({ defaultFilter, userFilter: scopedFilter });
|
|
94
149
|
}
|
|
95
150
|
async beginTransaction(opts) {
|
|
96
151
|
return this.dataSource.beginTransaction(opts);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../../../../../src/relational/core/repositories/core/base.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../../../../../src/relational/core/repositories/core/base.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import type { IdType } from '@venizia/ignis-kernel';
|
|
2
|
-
import type { IExtraOptions, TCount, TRepositoryLogOptions, TWhere } from '@venizia/ignis-kernel';
|
|
3
1
|
import type { IRelationalDataSource } from '../../../../relational/core/datasources/common';
|
|
4
2
|
import type { BaseRelationalEntity, TTableInsert, TTableObject, TTableSchemaWithId } from '../../../../relational/core/models';
|
|
5
3
|
import type { AnyType, TClass, TNullable } from '@venizia/ignis-helpers/common';
|
|
4
|
+
import type { IExtraOptions, TCount, TRepositoryLogOptions, TWhere } from '@venizia/ignis-kernel';
|
|
6
5
|
import type { SQL } from 'drizzle-orm';
|
|
7
6
|
import type { IRelationalExtraOptions } from '../common';
|
|
8
7
|
import { ReadableRelationalRepository } from './readable';
|
|
@@ -11,7 +10,7 @@ export declare class PersistableRelationalRepository<EntitySchema extends TTable
|
|
|
11
10
|
constructor(ds?: TDataSource, opts?: {
|
|
12
11
|
entityClass?: TClass<BaseRelationalEntity<EntitySchema>>;
|
|
13
12
|
});
|
|
14
|
-
/**
|
|
13
|
+
/** Reach the engine's update transform through `dataSource.getQueryDialect()`. Engines without an update builder return `undefined`. `AnyType` rather than `unknown`: the concrete builder is engine-specific, and `unknown` breaks every `updateBuilder.transform(...)` call site. */
|
|
15
14
|
get updateBuilder(): AnyType;
|
|
16
15
|
/** Guards id-based operations against a null/undefined id */
|
|
17
16
|
protected validateId(opts: {
|
|
@@ -79,7 +78,7 @@ export declare class PersistableRelationalRepository<EntitySchema extends TTable
|
|
|
79
78
|
data: TNullable<Array<R>>;
|
|
80
79
|
}>;
|
|
81
80
|
updateById(opts: {
|
|
82
|
-
id:
|
|
81
|
+
id: DataObject['id'];
|
|
83
82
|
data: Partial<PersistObject>;
|
|
84
83
|
options: ExtraOptions & {
|
|
85
84
|
shouldReturn: false;
|
|
@@ -88,7 +87,7 @@ export declare class PersistableRelationalRepository<EntitySchema extends TTable
|
|
|
88
87
|
data: undefined | null;
|
|
89
88
|
}>;
|
|
90
89
|
updateById<R = DataObject>(opts: {
|
|
91
|
-
id:
|
|
90
|
+
id: DataObject['id'];
|
|
92
91
|
data: Partial<PersistObject>;
|
|
93
92
|
options?: ExtraOptions & {
|
|
94
93
|
shouldReturn?: true;
|
|
@@ -126,7 +125,7 @@ export declare class PersistableRelationalRepository<EntitySchema extends TTable
|
|
|
126
125
|
data: TNullable<Array<R>>;
|
|
127
126
|
}>;
|
|
128
127
|
deleteById(opts: {
|
|
129
|
-
id:
|
|
128
|
+
id: DataObject['id'];
|
|
130
129
|
options: ExtraOptions & {
|
|
131
130
|
shouldReturn: false;
|
|
132
131
|
};
|
|
@@ -134,7 +133,7 @@ export declare class PersistableRelationalRepository<EntitySchema extends TTable
|
|
|
134
133
|
data: undefined | null;
|
|
135
134
|
}>;
|
|
136
135
|
deleteById<R = DataObject>(opts: {
|
|
137
|
-
id:
|
|
136
|
+
id: DataObject['id'];
|
|
138
137
|
options?: ExtraOptions & {
|
|
139
138
|
shouldReturn?: true;
|
|
140
139
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"persistable.d.ts","sourceRoot":"","sources":["../../../../../../src/relational/core/repositories/core/persistable.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"persistable.d.ts","sourceRoot":"","sources":["../../../../../../src/relational/core/repositories/core/persistable.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAClF,OAAO,KAAK,EACV,oBAAoB,EACpB,YAAY,EACZ,YAAY,EACZ,kBAAkB,EACnB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAEhF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,qBAAqB,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAElG,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAC;AACzD,OAAO,EAAE,4BAA4B,EAAE,MAAM,YAAY,CAAC;AAE1D,mGAAmG;AACnG,qBAAa,+BAA+B,CAC1C,YAAY,SAAS,kBAAkB,GAAG,kBAAkB,EAC5D,UAAU,SAAS,YAAY,CAAC,YAAY,CAAC,GAAG,YAAY,CAAC,YAAY,CAAC,EAC1E,aAAa,SAAS,YAAY,CAAC,YAAY,CAAC,GAAG,YAAY,CAAC,YAAY,CAAC,EAC7E,YAAY,SAAS,aAAa,GAAG,uBAAuB,EAC5D,WAAW,SAAS,qBAAqB,GAAG,qBAAqB,CACjE,SAAQ,4BAA4B,CACpC,YAAY,EACZ,UAAU,EACV,aAAa,EACb,YAAY,EACZ,WAAW,CACZ;gBAEG,EAAE,CAAC,EAAE,WAAW,EAChB,IAAI,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAC,oBAAoB,CAAC,YAAY,CAAC,CAAC,CAAA;KAAE;IAMrE,uRAAuR;IACvR,IAAI,aAAa,IAAI,OAAO,CAE3B;IAED,6DAA6D;IAC7D,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE;QAAE,EAAE,EAAE,OAAO,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAUxE,oLAAoL;IACpL,SAAS,CAAC,sBAAsB,CAAC,IAAI,EAAE;QACrC,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;QAC1B,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,aAAa,EAAE,MAAM,CAAC;KACvB,GAAG;QAAE,SAAS,EAAE,GAAG,GAAG,SAAS,CAAC;QAAC,YAAY,EAAE,OAAO,CAAA;KAAE;cAiBzC,OAAO,CAAC,CAAC,GAAG,UAAU,EAAE,IAAI,EAAE;QAC5C,IAAI,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;QAC3B,OAAO,EAAE,YAAY,GAAG;YAAE,YAAY,CAAC,EAAE,OAAO,CAAC;YAAC,GAAG,CAAC,EAAE,qBAAqB,CAAA;SAAE,CAAC;KACjF,GAAG,OAAO,CAAC,MAAM,GAAG;QAAE,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;KAAE,CAAC;IA0B1C,MAAM,CAAC,IAAI,EAAE;QACpB,IAAI,EAAE,aAAa,CAAC;QACpB,OAAO,EAAE,YAAY,GAAG;YAAE,YAAY,EAAE,KAAK,CAAA;SAAE,CAAC;KACjD,GAAG,OAAO,CAAC,MAAM,GAAG;QAAE,IAAI,EAAE,SAAS,GAAG,IAAI,CAAA;KAAE,CAAC;IACvC,MAAM,CAAC,CAAC,GAAG,UAAU,EAAE,IAAI,EAAE;QACpC,IAAI,EAAE,aAAa,CAAC;QACpB,OAAO,CAAC,EAAE,YAAY,GAAG;YAAE,YAAY,CAAC,EAAE,IAAI,CAAA;SAAE,CAAC;KAClD,GAAG,OAAO,CAAC,MAAM,GAAG;QAAE,IAAI,EAAE,CAAC,CAAA;KAAE,CAAC;IAaxB,SAAS,CAAC,IAAI,EAAE;QACvB,IAAI,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;QAC3B,OAAO,EAAE,YAAY,GAAG;YAAE,YAAY,EAAE,KAAK,CAAA;SAAE,CAAC;KACjD,GAAG,OAAO,CAAC,MAAM,GAAG;QAAE,IAAI,EAAE,SAAS,GAAG,IAAI,CAAA;KAAE,CAAC;IACvC,SAAS,CAAC,CAAC,GAAG,UAAU,EAAE,IAAI,EAAE;QACvC,IAAI,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;QAC3B,OAAO,CAAC,EAAE,YAAY,GAAG;YAAE,YAAY,CAAC,EAAE,IAAI,CAAA;SAAE,CAAC;KAClD,GAAG,OAAO,CAAC,MAAM,GAAG;QAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAA;KAAE,CAAC;cAYxB,OAAO,CAAC,CAAC,GAAG,UAAU,EAAE,IAAI,EAAE;QAC5C,IAAI,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;QAC7B,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;QAC1B,OAAO,CAAC,EAAE,YAAY,GAAG;YACvB,YAAY,CAAC,EAAE,OAAO,CAAC;YACvB,KAAK,CAAC,EAAE,OAAO,CAAC;SACjB,CAAC;KACH,GAAG,OAAO,CAAC,MAAM,GAAG;QAAE,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;KAAE,CAAC;IA+D1C,UAAU,CAAC,IAAI,EAAE;QACxB,EAAE,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;QACrB,IAAI,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;QAC7B,OAAO,EAAE,YAAY,GAAG;YAAE,YAAY,EAAE,KAAK,CAAA;SAAE,CAAC;KACjD,GAAG,OAAO,CAAC,MAAM,GAAG;QAAE,IAAI,EAAE,SAAS,GAAG,IAAI,CAAA;KAAE,CAAC;IACvC,UAAU,CAAC,CAAC,GAAG,UAAU,EAAE,IAAI,EAAE;QACxC,EAAE,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;QACrB,IAAI,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;QAC7B,OAAO,CAAC,EAAE,YAAY,GAAG;YAAE,YAAY,CAAC,EAAE,IAAI,CAAA;SAAE,CAAC;KAClD,GAAG,OAAO,CAAC,MAAM,GAAG;QAAE,IAAI,EAAE,CAAC,CAAA;KAAE,CAAC;IAiBxB,SAAS,CAAC,IAAI,EAAE;QACvB,IAAI,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;QAC7B,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;QAC1B,OAAO,EAAE,YAAY,GAAG;YAAE,YAAY,EAAE,KAAK,CAAC;YAAC,KAAK,CAAC,EAAE,OAAO,CAAA;SAAE,CAAC;KAClE,GAAG,OAAO,CAAC,MAAM,GAAG;QAAE,IAAI,EAAE,SAAS,GAAG,IAAI,CAAA;KAAE,CAAC;IACvC,SAAS,CAAC,CAAC,GAAG,UAAU,EAAE,IAAI,EAAE;QACvC,IAAI,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;QAC7B,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;QAC1B,OAAO,CAAC,EAAE,YAAY,GAAG;YAAE,YAAY,CAAC,EAAE,IAAI,CAAC;YAAC,KAAK,CAAC,EAAE,OAAO,CAAA;SAAE,CAAC;KACnE,GAAG,OAAO,CAAC,MAAM,GAAG;QAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAA;KAAE,CAAC;cASxB,OAAO,CAAC,CAAC,GAAG,UAAU,EAAE,IAAI,EAAE;QAC5C,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;QAC1B,OAAO,CAAC,EAAE,YAAY,GAAG;YAAE,YAAY,CAAC,EAAE,OAAO,CAAC;YAAC,KAAK,CAAC,EAAE,OAAO,CAAA;SAAE,CAAC;KACtE,GAAG,OAAO,CAAC,MAAM,GAAG;QAAE,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;KAAE,CAAC;IAkD1C,UAAU,CAAC,IAAI,EAAE;QACxB,EAAE,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;QACrB,OAAO,EAAE,YAAY,GAAG;YAAE,YAAY,EAAE,KAAK,CAAA;SAAE,CAAC;KACjD,GAAG,OAAO,CAAC,MAAM,GAAG;QAAE,IAAI,EAAE,SAAS,GAAG,IAAI,CAAA;KAAE,CAAC;IACvC,UAAU,CAAC,CAAC,GAAG,UAAU,EAAE,IAAI,EAAE;QACxC,EAAE,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;QACrB,OAAO,CAAC,EAAE,YAAY,GAAG;YAAE,YAAY,CAAC,EAAE,IAAI,CAAA;SAAE,CAAC;KAClD,GAAG,OAAO,CAAC,MAAM,GAAG;QAAE,IAAI,EAAE,CAAC,CAAA;KAAE,CAAC;IAexB,SAAS,CAAC,IAAI,EAAE;QACvB,KAAK,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;QAC3B,OAAO,EAAE,YAAY,GAAG;YAAE,YAAY,EAAE,KAAK,CAAC;YAAC,KAAK,CAAC,EAAE,OAAO,CAAA;SAAE,CAAC;KAClE,GAAG,OAAO,CAAC,MAAM,GAAG;QAAE,IAAI,EAAE,SAAS,GAAG,IAAI,CAAA;KAAE,CAAC;IACvC,SAAS,CAAC,CAAC,GAAG,UAAU,EAAE,IAAI,EAAE;QACvC,KAAK,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;QAC3B,OAAO,CAAC,EAAE,YAAY,GAAG;YAAE,YAAY,CAAC,EAAE,IAAI,CAAC;YAAC,KAAK,CAAC,EAAE,OAAO,CAAA;SAAE,CAAC;KACnE,GAAG,OAAO,CAAC,MAAM,GAAG;QAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAA;KAAE,CAAC;IAQ/B,QAAQ,CAAC,IAAI,EAAE;QACtB,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;QAC1B,OAAO,EAAE,YAAY,GAAG;YAAE,YAAY,EAAE,KAAK,CAAC;YAAC,KAAK,CAAC,EAAE,OAAO,CAAA;SAAE,CAAC;KAClE,GAAG,OAAO,CAAC,MAAM,GAAG;QAAE,IAAI,EAAE,SAAS,GAAG,IAAI,CAAA;KAAE,CAAC;IACvC,QAAQ,CAAC,CAAC,GAAG,UAAU,EAAE,IAAI,EAAE;QACtC,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;QAC1B,OAAO,CAAC,EAAE,YAAY,GAAG;YAAE,YAAY,CAAC,EAAE,IAAI,CAAC;YAAC,KAAK,CAAC,EAAE,OAAO,CAAA;SAAE,CAAC;KACnE,GAAG,OAAO,CAAC,MAAM,GAAG;QAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAA;KAAE,CAAC;CAazC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.PersistableRelationalRepository = void 0;
|
|
4
|
-
const ignis_kernel_1 = require("@venizia/ignis-kernel");
|
|
5
4
|
const core_1 = require("@venizia/ignis-helpers/core");
|
|
5
|
+
const ignis_kernel_1 = require("@venizia/ignis-kernel");
|
|
6
6
|
const readable_1 = require("./readable");
|
|
7
7
|
/** Full CRUD repository extending ReadableRelationalRepository with create, update, and delete. */
|
|
8
8
|
class PersistableRelationalRepository extends readable_1.ReadableRelationalRepository {
|
|
@@ -10,7 +10,7 @@ class PersistableRelationalRepository extends readable_1.ReadableRelationalRepos
|
|
|
10
10
|
super(ds, { entityClass: opts?.entityClass });
|
|
11
11
|
this._operationScope = ignis_kernel_1.RepositoryOperationScopes.READ_WRITE;
|
|
12
12
|
}
|
|
13
|
-
/**
|
|
13
|
+
/** Reach the engine's update transform through `dataSource.getQueryDialect()`. Engines without an update builder return `undefined`. `AnyType` rather than `unknown`: the concrete builder is engine-specific, and `unknown` breaks every `updateBuilder.transform(...)` call site. */
|
|
14
14
|
get updateBuilder() {
|
|
15
15
|
return this.queryDialect.updateBuilder;
|
|
16
16
|
}
|
|
@@ -117,7 +117,7 @@ class PersistableRelationalRepository extends readable_1.ReadableRelationalRepos
|
|
|
117
117
|
async updateById(opts) {
|
|
118
118
|
this.validateId({ id: opts.id, operationName: 'updateById' });
|
|
119
119
|
const rs = await this._update({
|
|
120
|
-
where: { id: opts.id },
|
|
120
|
+
where: this.whereById({ id: opts.id }),
|
|
121
121
|
data: opts.data,
|
|
122
122
|
options: opts.options,
|
|
123
123
|
});
|
|
@@ -165,7 +165,7 @@ class PersistableRelationalRepository extends readable_1.ReadableRelationalRepos
|
|
|
165
165
|
async deleteById(opts) {
|
|
166
166
|
this.validateId({ id: opts.id, operationName: 'deleteById' });
|
|
167
167
|
const rs = await this._delete({
|
|
168
|
-
where: { id: opts.id },
|
|
168
|
+
where: this.whereById({ id: opts.id }),
|
|
169
169
|
options: opts.options,
|
|
170
170
|
});
|
|
171
171
|
return { count: rs.count, data: rs.data?.[0] ?? null };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"persistable.js","sourceRoot":"","sources":["../../../../../../src/relational/core/repositories/core/persistable.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"persistable.js","sourceRoot":"","sources":["../../../../../../src/relational/core/repositories/core/persistable.ts"],"names":[],"mappings":"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"}
|