@avytrix/nestjs-drizzle-crud 3.5.1 → 3.7.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.
- package/AGENT.md +20 -12
- package/CHANGELOG.md +100 -1
- package/README.md +102 -59
- package/dist/controller/crud-controller.factory.d.ts +2 -1
- package/dist/controller/crud-controller.factory.js +43 -15
- package/dist/controller/crud-controller.factory.js.map +1 -1
- package/dist/core/abstract/sql-base-crud.service.d.ts +23 -7
- package/dist/core/abstract/sql-base-crud.service.js +258 -119
- package/dist/core/abstract/sql-base-crud.service.js.map +1 -1
- package/dist/core/interfaces/drizzle-crud-config.interface.d.ts +16 -0
- package/dist/core/interfaces/sql-crud-config.interface.d.ts +9 -1
- package/dist/core/types/sql.types.d.ts +1 -1
- package/dist/core/utils/query-parser.d.ts +2 -0
- package/dist/core/utils/query-parser.js +36 -2
- package/dist/core/utils/query-parser.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.js.map +1 -1
- package/dist/modules/drizzle-connection.d.ts +3 -1
- package/dist/modules/drizzle-connection.js +49 -2
- package/dist/modules/drizzle-connection.js.map +1 -1
- package/dist/modules/drizzle-crud.module.d.ts +2 -6
- package/dist/modules/drizzle-crud.module.js +28 -6
- package/dist/modules/drizzle-crud.module.js.map +1 -1
- package/package.json +25 -8
|
@@ -5,6 +5,7 @@ export interface DrizzleCrudConfig {
|
|
|
5
5
|
dialect: SqlDialect;
|
|
6
6
|
db?: any;
|
|
7
7
|
connectionString?: string;
|
|
8
|
+
connection?: DrizzleConnectionOptions;
|
|
8
9
|
schema?: Record<string, unknown>;
|
|
9
10
|
defaults?: {
|
|
10
11
|
softDelete?: boolean;
|
|
@@ -26,6 +27,21 @@ export interface DrizzleCrudConfig {
|
|
|
26
27
|
subscribers?: CrudSubscriber[];
|
|
27
28
|
};
|
|
28
29
|
}
|
|
30
|
+
export interface DrizzleConnectionOptions {
|
|
31
|
+
poolSize?: number;
|
|
32
|
+
idleTimeout?: number;
|
|
33
|
+
ssl?: boolean | "require" | "allow" | "prefer" | "verify-full" | Record<string, unknown>;
|
|
34
|
+
}
|
|
35
|
+
export interface DrizzleCrudOptionsFactory {
|
|
36
|
+
createDrizzleCrudOptions(): Promise<DrizzleCrudConfig> | DrizzleCrudConfig;
|
|
37
|
+
}
|
|
38
|
+
export interface DrizzleCrudAsyncOptions {
|
|
39
|
+
imports?: any[];
|
|
40
|
+
useFactory?: (...args: any[]) => Promise<DrizzleCrudConfig> | DrizzleCrudConfig;
|
|
41
|
+
inject?: any[];
|
|
42
|
+
useClass?: new (...args: any[]) => DrizzleCrudOptionsFactory;
|
|
43
|
+
useExisting?: new (...args: any[]) => DrizzleCrudOptionsFactory;
|
|
44
|
+
}
|
|
29
45
|
export type CrudFeatureConfig = Partial<Omit<SqlCrudConfig, "softDelete" | "timestamps" | "pagination" | "sql">> & {
|
|
30
46
|
softDelete?: Partial<NonNullable<SqlCrudConfig["softDelete"]>>;
|
|
31
47
|
timestamps?: Partial<NonNullable<SqlCrudConfig["timestamps"]>>;
|
|
@@ -28,7 +28,12 @@ export interface SelectTree {
|
|
|
28
28
|
}
|
|
29
29
|
export type RelationsConfig = Record<string, RelationConfig>;
|
|
30
30
|
export type SqlSearchMode = "ilike" | "fullText";
|
|
31
|
-
export
|
|
31
|
+
export type FullTextQueryMode = "plain" | "websearch";
|
|
32
|
+
export interface FullTextOptions {
|
|
33
|
+
language?: string;
|
|
34
|
+
queryMode?: FullTextQueryMode;
|
|
35
|
+
}
|
|
36
|
+
export interface SqlSearchOptions extends FullTextOptions {
|
|
32
37
|
term: string;
|
|
33
38
|
columns: string[];
|
|
34
39
|
mode?: SqlSearchMode;
|
|
@@ -85,3 +90,6 @@ export interface SqlOperationOptions {
|
|
|
85
90
|
expectedVersion?: number;
|
|
86
91
|
expectedVersions?: Record<string, number>;
|
|
87
92
|
}
|
|
93
|
+
export interface FullTextSearchOptions<FilterDto = any> extends SqlOperationOptions, FullTextOptions {
|
|
94
|
+
filters?: FilterDto;
|
|
95
|
+
}
|
|
@@ -1,2 +1,4 @@
|
|
|
1
1
|
import type { ParseCrudQueryOptions, ParsedCrudQuery } from "../interfaces/query.interface";
|
|
2
|
+
export declare const MAX_FILTER_DEPTH = 32;
|
|
3
|
+
export declare function assertFilterDepth(filters: unknown): void;
|
|
2
4
|
export declare function parseCrudQuery(query: Record<string, unknown> | null | undefined, table: any, options?: ParseCrudQueryOptions): ParsedCrudQuery;
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MAX_FILTER_DEPTH = void 0;
|
|
4
|
+
exports.assertFilterDepth = assertFilterDepth;
|
|
3
5
|
exports.parseCrudQuery = parseCrudQuery;
|
|
4
6
|
const common_1 = require("@nestjs/common");
|
|
5
7
|
const drizzle_orm_1 = require("drizzle-orm");
|
|
@@ -47,6 +49,25 @@ const OPERATORS = {
|
|
|
47
49
|
jsonContains: "json",
|
|
48
50
|
};
|
|
49
51
|
const bad = (message) => new common_1.BadRequestException(message);
|
|
52
|
+
exports.MAX_FILTER_DEPTH = 32;
|
|
53
|
+
function assertFilterDepth(filters) {
|
|
54
|
+
const stack = [[filters, 0]];
|
|
55
|
+
while (stack.length > 0) {
|
|
56
|
+
const [node, depth] = stack.pop();
|
|
57
|
+
const children = Array.isArray(node)
|
|
58
|
+
? node.map((item) => [item, depth])
|
|
59
|
+
: (0, merge_config_1.isPlainObject)(node)
|
|
60
|
+
? Object.values(node).map((item) => [
|
|
61
|
+
item,
|
|
62
|
+
depth + 1,
|
|
63
|
+
])
|
|
64
|
+
: [];
|
|
65
|
+
if (depth > exports.MAX_FILTER_DEPTH) {
|
|
66
|
+
throw bad(`Filter is nested too deeply (max ${exports.MAX_FILTER_DEPTH} levels)`);
|
|
67
|
+
}
|
|
68
|
+
stack.push(...children);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
50
71
|
function parseCrudQuery(query, table, options = {}) {
|
|
51
72
|
const tree = normalizeQuery(query);
|
|
52
73
|
for (const key of options.ignore ?? [])
|
|
@@ -135,6 +156,7 @@ function normalizeQuery(query) {
|
|
|
135
156
|
return root;
|
|
136
157
|
if (typeof query !== "object")
|
|
137
158
|
throw bad("The query must be an object");
|
|
159
|
+
assertFilterDepth(query);
|
|
138
160
|
for (const [key, value] of Object.entries(query)) {
|
|
139
161
|
if (value === undefined)
|
|
140
162
|
continue;
|
|
@@ -149,6 +171,9 @@ function splitKey(key) {
|
|
|
149
171
|
const head = match[1].split(".");
|
|
150
172
|
const brackets = Array.from(match[2].matchAll(/\[([^[\]]*)\]/g), (m) => m[1]);
|
|
151
173
|
const path = [...head, ...brackets];
|
|
174
|
+
if (path.length > exports.MAX_FILTER_DEPTH) {
|
|
175
|
+
throw bad(`Filter is nested too deeply (max ${exports.MAX_FILTER_DEPTH} levels)`);
|
|
176
|
+
}
|
|
152
177
|
for (const segment of path) {
|
|
153
178
|
if (UNSAFE_KEYS.has(segment)) {
|
|
154
179
|
throw bad(`Malformed query parameter: ${key}`);
|
|
@@ -382,8 +407,17 @@ function parseFilter(node, context, scope) {
|
|
|
382
407
|
keys.every((name) => QUANTIFIERS.has(name) && !columnOf(relation.table, name))) {
|
|
383
408
|
const quantified = {};
|
|
384
409
|
for (const [quantifier, member] of Object.entries(raw)) {
|
|
385
|
-
|
|
386
|
-
|
|
410
|
+
if (member === "") {
|
|
411
|
+
const allowed = context.options.filterableColumns;
|
|
412
|
+
if (allowed &&
|
|
413
|
+
!allowed.some((entry) => entry === path || entry.startsWith(`${path}.`))) {
|
|
414
|
+
throw bad(`Filtering on "${path}" is not allowed`);
|
|
415
|
+
}
|
|
416
|
+
quantified[quantifier] = {};
|
|
417
|
+
}
|
|
418
|
+
else {
|
|
419
|
+
quantified[quantifier] = parseFilter(member, context, inner);
|
|
420
|
+
}
|
|
387
421
|
}
|
|
388
422
|
out[key] = quantified;
|
|
389
423
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query-parser.js","sourceRoot":"","sources":["../../../src/core/utils/query-parser.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"query-parser.js","sourceRoot":"","sources":["../../../src/core/utils/query-parser.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -5,11 +5,11 @@ export { SqlBaseCrudService } from "./core/abstract/sql-base-crud.service";
|
|
|
5
5
|
export { CrudContext } from "./core/context/crud-context";
|
|
6
6
|
export { CrudEventBus } from "./core/events/crud-event-bus";
|
|
7
7
|
export type { BulkOperationResult, ICrudService, OperationOptions, PaginationOptions, } from "./core/interfaces/crud-service.interface";
|
|
8
|
-
export type { CrudFeature, CrudFeatureConfig, DrizzleCrudConfig, } from "./core/interfaces/drizzle-crud-config.interface";
|
|
8
|
+
export type { CrudFeature, CrudFeatureConfig, DrizzleConnectionOptions, DrizzleCrudAsyncOptions, DrizzleCrudConfig, DrizzleCrudOptionsFactory, } from "./core/interfaces/drizzle-crud-config.interface";
|
|
9
9
|
export type { CrudEvent, CrudEventPhase, CrudSubscriber, CrudWriteOperation, } from "./core/interfaces/events.interface";
|
|
10
10
|
export type { BulkMode, CollectionFilter, CollectionQuantifier, ColumnFilter, CountByRow, CrudAllowlists, CrudFilter, CrudPage, CursorPage, CursorPaginationOptions, FilterGroup, FilterOperator, FilterOperators, FilterScalar, ParseCrudQueryOptions, ParsedCrudQuery, RelationCounts, SortInput, UncountedCrudPage, UpsertOptions, } from "./core/interfaces/query.interface";
|
|
11
11
|
export type { CrudContextValue, CrudScope, CrudScopeValues, } from "./core/interfaces/scope.interface";
|
|
12
|
-
export type { RelationConfig, RelationNode, RelationsConfig, RelationType, SelectTree, SqlCrudConfig, SqlOperationOptions, SqlSearchMode, SqlSearchOptions, } from "./core/interfaces/sql-crud-config.interface";
|
|
12
|
+
export type { FullTextOptions, FullTextQueryMode, FullTextSearchOptions, RelationConfig, RelationNode, RelationsConfig, RelationType, SelectTree, SqlCrudConfig, SqlOperationOptions, SqlSearchMode, SqlSearchOptions, } from "./core/interfaces/sql-crud-config.interface";
|
|
13
13
|
export { parseCrudQuery } from "./core/utils/query-parser";
|
|
14
14
|
export type { PrimaryKeyType, SortColumn, SortOrder, SqlDialect, } from "./core/types/sql.types";
|
|
15
15
|
export { CrudService } from "./decorators/crud-service.decorator";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAMA,2CAoBqB;AAnBpB,kGAAA,GAAG,OAAA;AACH,kGAAA,GAAG,OAAA;AACH,sGAAA,OAAO,OAAA;AACP,mGAAA,IAAI,OAAA;AACJ,iGAAA,EAAE,OAAA;AACF,iGAAA,EAAE,OAAA;AACF,kGAAA,GAAG,OAAA;AACH,oGAAA,KAAK,OAAA;AACL,sGAAA,OAAO,OAAA;AACP,wGAAA,SAAS,OAAA;AACT,qGAAA,MAAM,OAAA;AACN,mGAAA,IAAI,OAAA;AACJ,iGAAA,EAAE,OAAA;AACF,kGAAA,GAAG,OAAA;AACH,iGAAA,EAAE,OAAA;AACF,kGAAA,GAAG,OAAA;AACH,yGAAA,UAAU,OAAA;AACV,iGAAA,EAAE,OAAA;AACF,kGAAA,GAAG,OAAA;AASJ,gFAA4E;AAAnE,+HAAA,oBAAoB,OAAA;AAE7B,+EAA2E;AAAlE,2HAAA,kBAAkB,OAAA;AAE3B,4DAA0D;AAAjD,2GAAA,WAAW,OAAA;AAEpB,+DAA4D;AAAnD,8GAAA,YAAY,OAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAMA,2CAoBqB;AAnBpB,kGAAA,GAAG,OAAA;AACH,kGAAA,GAAG,OAAA;AACH,sGAAA,OAAO,OAAA;AACP,mGAAA,IAAI,OAAA;AACJ,iGAAA,EAAE,OAAA;AACF,iGAAA,EAAE,OAAA;AACF,kGAAA,GAAG,OAAA;AACH,oGAAA,KAAK,OAAA;AACL,sGAAA,OAAO,OAAA;AACP,wGAAA,SAAS,OAAA;AACT,qGAAA,MAAM,OAAA;AACN,mGAAA,IAAI,OAAA;AACJ,iGAAA,EAAE,OAAA;AACF,kGAAA,GAAG,OAAA;AACH,iGAAA,EAAE,OAAA;AACF,kGAAA,GAAG,OAAA;AACH,yGAAA,UAAU,OAAA;AACV,iGAAA,EAAE,OAAA;AACF,kGAAA,GAAG,OAAA;AASJ,gFAA4E;AAAnE,+HAAA,oBAAoB,OAAA;AAE7B,+EAA2E;AAAlE,2HAAA,kBAAkB,OAAA;AAE3B,4DAA0D;AAAjD,2GAAA,WAAW,OAAA;AAEpB,+DAA4D;AAAnD,8GAAA,YAAY,OAAA;AAiErB,0DAA2D;AAAlD,8GAAA,cAAc,OAAA;AASvB,8EAAkE;AAAzD,qHAAA,WAAW,OAAA;AAGpB,gEAWsC;AAVrC,yHAAA,sBAAsB,OAAA;AACtB,8HAAA,2BAA2B,OAAA;AAC3B,2HAAA,wBAAwB,OAAA;AACxB,uHAAA,oBAAoB,OAAA;AACpB,0HAAA,uBAAuB,OAAA;AACvB,+HAAA,4BAA4B,OAAA;AAC5B,wHAAA,qBAAqB,OAAA;AACrB,wHAAA,qBAAqB,OAAA;AACrB,uHAAA,oBAAoB,OAAA;AACpB,4HAAA,yBAAyB,OAAA;AAG1B,qEAAkE;AAAzD,wHAAA,iBAAiB,OAAA;AAC1B,mEAKsC;AAJrC,wHAAA,kBAAkB,OAAA;AAClB,yHAAA,mBAAmB,OAAA;AACnB,gHAAA,UAAU,OAAA;AACV,uHAAA,iBAAiB,OAAA;AAOlB,qEAA0E;AAAjE,kHAAA,WAAW,OAAA;AAAE,mHAAA,YAAY,OAAA;AAElC,4EAAwE;AAA/D,2HAAA,kBAAkB,OAAA;AAC3B,0DAA4D;AAAnD,+GAAA,eAAe,OAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { OnModuleDestroy } from "@nestjs/common";
|
|
2
|
-
import type { DrizzleCrudConfig } from "../core/interfaces/drizzle-crud-config.interface";
|
|
2
|
+
import type { DrizzleConnectionOptions, DrizzleCrudConfig } from "../core/interfaces/drizzle-crud-config.interface";
|
|
3
3
|
export declare const DRIZZLE_DB = "DRIZZLE_DB";
|
|
4
4
|
export declare const DRIZZLE_CRUD_CONFIG = "DRIZZLE_CRUD_CONFIG";
|
|
5
5
|
export declare const DRIZZLE_CONNECTION = "DRIZZLE_CONNECTION";
|
|
@@ -10,3 +10,5 @@ export declare class DrizzleConnection implements OnModuleDestroy {
|
|
|
10
10
|
init(config: DrizzleCrudConfig): Promise<void>;
|
|
11
11
|
onModuleDestroy(): Promise<void>;
|
|
12
12
|
}
|
|
13
|
+
export declare function postgresOptions(options?: DrizzleConnectionOptions): Record<string, unknown>;
|
|
14
|
+
export declare function mysqlOptions(options?: DrizzleConnectionOptions): Record<string, unknown>;
|
|
@@ -34,6 +34,8 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
34
34
|
})();
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
36
|
exports.DrizzleConnection = exports.DRIZZLE_CONNECTION = exports.DRIZZLE_CRUD_CONFIG = exports.DRIZZLE_DB = void 0;
|
|
37
|
+
exports.postgresOptions = postgresOptions;
|
|
38
|
+
exports.mysqlOptions = mysqlOptions;
|
|
37
39
|
exports.DRIZZLE_DB = "DRIZZLE_DB";
|
|
38
40
|
exports.DRIZZLE_CRUD_CONFIG = "DRIZZLE_CRUD_CONFIG";
|
|
39
41
|
exports.DRIZZLE_CONNECTION = "DRIZZLE_CONNECTION";
|
|
@@ -52,7 +54,10 @@ class DrizzleConnection {
|
|
|
52
54
|
if (config.dialect === "postgresql") {
|
|
53
55
|
const postgres = (await Promise.resolve().then(() => __importStar(require("postgres")))).default;
|
|
54
56
|
const { drizzle } = await Promise.resolve().then(() => __importStar(require("drizzle-orm/postgres-js")));
|
|
55
|
-
const client = postgres(config.connectionString, {
|
|
57
|
+
const client = postgres(config.connectionString, {
|
|
58
|
+
prepare: false,
|
|
59
|
+
...postgresOptions(config.connection),
|
|
60
|
+
});
|
|
56
61
|
this.client = client;
|
|
57
62
|
this.ownsConnection = true;
|
|
58
63
|
this.db = config.schema
|
|
@@ -60,7 +65,21 @@ class DrizzleConnection {
|
|
|
60
65
|
: drizzle(client);
|
|
61
66
|
return;
|
|
62
67
|
}
|
|
63
|
-
|
|
68
|
+
if (config.dialect === "mysql") {
|
|
69
|
+
const mysql = await Promise.resolve().then(() => __importStar(require("mysql2/promise")));
|
|
70
|
+
const { drizzle } = await Promise.resolve().then(() => __importStar(require("drizzle-orm/mysql2")));
|
|
71
|
+
const pool = mysql.createPool({
|
|
72
|
+
uri: config.connectionString,
|
|
73
|
+
...mysqlOptions(config.connection),
|
|
74
|
+
});
|
|
75
|
+
this.client = pool;
|
|
76
|
+
this.ownsConnection = true;
|
|
77
|
+
this.db = config.schema
|
|
78
|
+
? drizzle(pool, { schema: config.schema, mode: "default" })
|
|
79
|
+
: drizzle(pool);
|
|
80
|
+
return;
|
|
81
|
+
}
|
|
82
|
+
throw new Error(`DrizzleCrudModule: building a connection from \`connectionString\` is only supported for the "postgresql" and "mysql" dialects. ` +
|
|
64
83
|
`For "${config.dialect}", construct the Drizzle instance yourself and pass it as \`db\`.`);
|
|
65
84
|
}
|
|
66
85
|
async onModuleDestroy() {
|
|
@@ -70,4 +89,32 @@ class DrizzleConnection {
|
|
|
70
89
|
}
|
|
71
90
|
}
|
|
72
91
|
exports.DrizzleConnection = DrizzleConnection;
|
|
92
|
+
function postgresOptions(options = {}) {
|
|
93
|
+
const out = {};
|
|
94
|
+
if (options.poolSize !== undefined)
|
|
95
|
+
out.max = options.poolSize;
|
|
96
|
+
if (options.idleTimeout !== undefined) {
|
|
97
|
+
out.idle_timeout = options.idleTimeout;
|
|
98
|
+
}
|
|
99
|
+
if (options.ssl !== undefined)
|
|
100
|
+
out.ssl = options.ssl;
|
|
101
|
+
return out;
|
|
102
|
+
}
|
|
103
|
+
function mysqlOptions(options = {}) {
|
|
104
|
+
const out = {};
|
|
105
|
+
if (options.poolSize !== undefined)
|
|
106
|
+
out.connectionLimit = options.poolSize;
|
|
107
|
+
if (options.idleTimeout !== undefined) {
|
|
108
|
+
out.idleTimeout = options.idleTimeout * 1000;
|
|
109
|
+
}
|
|
110
|
+
const ssl = options.ssl;
|
|
111
|
+
if (ssl === true)
|
|
112
|
+
out.ssl = {};
|
|
113
|
+
else if (typeof ssl === "string") {
|
|
114
|
+
throw new Error(`DrizzleCrudModule: connection.ssl "${ssl}" is a postgres-js mode; for mysql pass true or a TLS options object.`);
|
|
115
|
+
}
|
|
116
|
+
else if (ssl && typeof ssl === "object")
|
|
117
|
+
out.ssl = ssl;
|
|
118
|
+
return out;
|
|
119
|
+
}
|
|
73
120
|
//# sourceMappingURL=drizzle-connection.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"drizzle-connection.js","sourceRoot":"","sources":["../../src/modules/drizzle-connection.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"drizzle-connection.js","sourceRoot":"","sources":["../../src/modules/drizzle-connection.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,7 @@
|
|
|
1
1
|
import { type DynamicModule } from "@nestjs/common";
|
|
2
|
-
import type { CrudFeature, DrizzleCrudConfig } from "../core/interfaces/drizzle-crud-config.interface";
|
|
2
|
+
import type { CrudFeature, DrizzleCrudAsyncOptions, DrizzleCrudConfig } from "../core/interfaces/drizzle-crud-config.interface";
|
|
3
3
|
export declare class DrizzleCrudModule {
|
|
4
4
|
static forRoot(config: DrizzleCrudConfig): DynamicModule;
|
|
5
|
-
static forRootAsync(options:
|
|
6
|
-
imports?: any[];
|
|
7
|
-
useFactory: (...args: any[]) => Promise<DrizzleCrudConfig> | DrizzleCrudConfig;
|
|
8
|
-
inject?: any[];
|
|
9
|
-
}): DynamicModule;
|
|
5
|
+
static forRootAsync(options: DrizzleCrudAsyncOptions): DynamicModule;
|
|
10
6
|
static forFeature(entities: CrudFeature[]): DynamicModule;
|
|
11
7
|
}
|
|
@@ -28,7 +28,7 @@ function normalizeConfig(config) {
|
|
|
28
28
|
},
|
|
29
29
|
sql: {
|
|
30
30
|
caseSensitive: false,
|
|
31
|
-
useReturning: config.dialect
|
|
31
|
+
useReturning: config.dialect !== "mysql",
|
|
32
32
|
jsonSupport: true,
|
|
33
33
|
enableFullTextSearch: false,
|
|
34
34
|
...config.sql,
|
|
@@ -110,6 +110,29 @@ function connectionProviders(rawConfigProvider) {
|
|
|
110
110
|
},
|
|
111
111
|
];
|
|
112
112
|
}
|
|
113
|
+
function asyncConfigProvider(options) {
|
|
114
|
+
if (options.useFactory) {
|
|
115
|
+
return {
|
|
116
|
+
provide: DRIZZLE_RAW_CONFIG,
|
|
117
|
+
useFactory: options.useFactory,
|
|
118
|
+
inject: options.inject || [],
|
|
119
|
+
};
|
|
120
|
+
}
|
|
121
|
+
const factory = options.useClass ?? options.useExisting;
|
|
122
|
+
if (!factory) {
|
|
123
|
+
throw new Error("DrizzleCrudModule.forRootAsync: provide useFactory, useClass or useExisting.");
|
|
124
|
+
}
|
|
125
|
+
return {
|
|
126
|
+
provide: DRIZZLE_RAW_CONFIG,
|
|
127
|
+
useFactory: (instance) => instance.createDrizzleCrudOptions(),
|
|
128
|
+
inject: [factory],
|
|
129
|
+
};
|
|
130
|
+
}
|
|
131
|
+
function asyncFactoryProviders(options) {
|
|
132
|
+
if (options.useFactory || !options.useClass)
|
|
133
|
+
return [];
|
|
134
|
+
return [{ provide: options.useClass, useClass: options.useClass }];
|
|
135
|
+
}
|
|
113
136
|
const EXPORTED_TOKENS = [
|
|
114
137
|
drizzle_connection_1.DRIZZLE_CRUD_CONFIG,
|
|
115
138
|
drizzle_connection_1.DRIZZLE_DB,
|
|
@@ -132,11 +155,10 @@ let DrizzleCrudModule = DrizzleCrudModule_1 = class DrizzleCrudModule {
|
|
|
132
155
|
return {
|
|
133
156
|
module: DrizzleCrudModule_1,
|
|
134
157
|
imports: options.imports || [],
|
|
135
|
-
providers:
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
}),
|
|
158
|
+
providers: [
|
|
159
|
+
...asyncFactoryProviders(options),
|
|
160
|
+
...connectionProviders(asyncConfigProvider(options)),
|
|
161
|
+
],
|
|
140
162
|
exports: EXPORTED_TOKENS,
|
|
141
163
|
global: true,
|
|
142
164
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"drizzle-crud.module.js","sourceRoot":"","sources":["../../src/modules/drizzle-crud.module.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAA2E;
|
|
1
|
+
{"version":3,"file":"drizzle-crud.module.js","sourceRoot":"","sources":["../../src/modules/drizzle-crud.module.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@avytrix/nestjs-drizzle-crud",
|
|
3
|
-
"version": "3.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "3.7.0",
|
|
4
|
+
"description": "NestJS + Drizzle ORM CRUD: type-safe services with filtering, pagination, cursor pagination, relations, soft delete, upsert, multi-tenancy and OpenAPI for PostgreSQL, MySQL and SQLite.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
7
7
|
"bin": {
|
|
@@ -34,18 +34,29 @@
|
|
|
34
34
|
"drizzle",
|
|
35
35
|
"drizzle-orm",
|
|
36
36
|
"crud",
|
|
37
|
-
"
|
|
38
|
-
"
|
|
37
|
+
"nestjs-crud",
|
|
38
|
+
"nestjs-drizzle",
|
|
39
|
+
"rest-api",
|
|
40
|
+
"pagination",
|
|
41
|
+
"cursor-pagination",
|
|
42
|
+
"filtering",
|
|
43
|
+
"soft-delete",
|
|
44
|
+
"multi-tenant",
|
|
45
|
+
"upsert",
|
|
46
|
+
"openapi",
|
|
47
|
+
"swagger",
|
|
39
48
|
"postgresql",
|
|
40
49
|
"mysql",
|
|
41
|
-
"
|
|
42
|
-
"
|
|
50
|
+
"sqlite",
|
|
51
|
+
"libsql",
|
|
43
52
|
"typescript",
|
|
44
53
|
"mcp",
|
|
54
|
+
"rest",
|
|
55
|
+
"api",
|
|
56
|
+
"database",
|
|
57
|
+
"orm",
|
|
45
58
|
"eager-loading",
|
|
46
59
|
"n+1",
|
|
47
|
-
"openapi",
|
|
48
|
-
"swagger",
|
|
49
60
|
"multi-tenancy"
|
|
50
61
|
],
|
|
51
62
|
"author": "Suman Bonakurthi <sumanbonakurthi@gmail.com>",
|
|
@@ -68,6 +79,7 @@
|
|
|
68
79
|
"@nestjs/core": ">=10.0.0",
|
|
69
80
|
"@nestjs/swagger": ">=7.0.0",
|
|
70
81
|
"drizzle-orm": ">=0.28.0 <1.0.0",
|
|
82
|
+
"mysql2": ">=3.0.0",
|
|
71
83
|
"postgres": ">=3.0.0",
|
|
72
84
|
"reflect-metadata": "^0.1.13 || ^0.2.0"
|
|
73
85
|
},
|
|
@@ -75,6 +87,9 @@
|
|
|
75
87
|
"@nestjs/swagger": {
|
|
76
88
|
"optional": true
|
|
77
89
|
},
|
|
90
|
+
"mysql2": {
|
|
91
|
+
"optional": true
|
|
92
|
+
},
|
|
78
93
|
"postgres": {
|
|
79
94
|
"optional": true
|
|
80
95
|
}
|
|
@@ -82,6 +97,7 @@
|
|
|
82
97
|
"devDependencies": {
|
|
83
98
|
"@electric-sql/pglite": "^0.5.4",
|
|
84
99
|
"@jest/globals": "^30.0.0",
|
|
100
|
+
"@libsql/client": "^0.18.0",
|
|
85
101
|
"@nestjs/common": "^11.1.28",
|
|
86
102
|
"@nestjs/core": "^11.1.28",
|
|
87
103
|
"@nestjs/swagger": "^11.4.7",
|
|
@@ -92,6 +108,7 @@
|
|
|
92
108
|
"@types/node": "^26.0.0",
|
|
93
109
|
"drizzle-orm": "^0.45.2",
|
|
94
110
|
"jest": "^30.4.2",
|
|
111
|
+
"mysql2": "^3.24.6",
|
|
95
112
|
"postgres": "^3.4.9",
|
|
96
113
|
"reflect-metadata": "^0.2.0",
|
|
97
114
|
"typescript": "^7.0.0"
|