nestjs-drizzle-crud 3.1.1 → 3.2.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/CHANGELOG.md CHANGED
@@ -8,6 +8,24 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
8
8
  Scope note: the 3.0.x line is PostgreSQL-first. MySQL-specific paths (non-`RETURNING`
9
9
  restore, `ER_DUP_ENTRY` mapping, dialect locking) are tracked separately and unchanged here.
10
10
 
11
+ ## [3.2.0] - 2026-07-09
12
+
13
+ ### Added
14
+ - **Foreign-key violations (Postgres `23503`) now map to a typed HTTP error instead of a raw 500**,
15
+ and the direction decides the status:
16
+ - `create`/`update` referencing a parent row that does not exist → **400**
17
+ `ForeignKeyViolationException` (a client-supplied reference that points at nothing is bad input).
18
+ The offending column is parsed out of the driver `detail` (e.g. `language_id`).
19
+ - `delete` blocked because other rows still reference this one (`ON DELETE RESTRICT`/`NO ACTION`)
20
+ → **409** `EntityInUseException`.
21
+ - Both exceptions are exported from the package root.
22
+
23
+ ### Changed
24
+ - `delete` now wraps its statement execution so a `23503` on the delete side is translated (was
25
+ previously left to bubble as a 500). Non-FK errors still bubble unchanged.
26
+ - Reverses the prior deliberate choice to let FK violations bubble: a client-supplied FK is a
27
+ recoverable bad value, not a programming error. NOT-NULL violations are still left to bubble.
28
+
11
29
  ## [3.1.1] - 2026-07-03
12
30
 
13
31
  ### Changed
package/README.md CHANGED
@@ -749,24 +749,4 @@ interface SqlCrudConfig {
749
749
 
750
750
  ## License
751
751
 
752
- MIT License
753
-
754
- Copyright (c) 2024 Suman Bonakurthi
755
-
756
- Permission is hereby granted, free of charge, to any person obtaining a copy
757
- of this software and associated documentation files (the "Software"), to deal
758
- in the Software without restriction, including without limitation the rights
759
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
760
- copies of the Software, and to permit persons to whom the Software is
761
- furnished to do so, subject to the following conditions:
762
-
763
- The above copyright notice and this permission notice shall be included in all
764
- copies or substantial portions of the Software.
765
-
766
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
767
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
768
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
769
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
770
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
771
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
772
- SOFTWARE.
752
+ MIT
@@ -1,4 +1,4 @@
1
- import { DuplicateEntityException, ValidationFailedException } from "../../exceptions/crud.exceptions";
1
+ import { DuplicateEntityException, ForeignKeyViolationException, ValidationFailedException } from "../../exceptions/crud.exceptions";
2
2
  import { ICrudService, PaginationOptions } from "../interfaces/crud-service.interface";
3
3
  import { SqlCrudConfig, SqlOperationOptions } from "../interfaces/sql-crud-config.interface";
4
4
  import { SortOrder } from "../types/sql.types";
@@ -39,6 +39,8 @@ export declare abstract class SqlBaseCrudService<T extends Record<string, any>,
39
39
  protected toDuplicateException(error: any): DuplicateEntityException;
40
40
  protected isDataException(error: any): boolean;
41
41
  protected toDataException(error: any): ValidationFailedException;
42
+ protected isForeignKeyViolation(error: any): boolean;
43
+ protected toForeignKeyException(error: any): ForeignKeyViolationException;
42
44
  protected applyLock(query: any, options?: SqlOperationOptions): any;
43
45
  protected buildSearchCondition(search?: SqlOperationOptions["search"]): any;
44
46
  find(id: any, options?: SqlOperationOptions): Promise<T | null>;
@@ -226,6 +226,15 @@ class SqlBaseCrudService {
226
226
  };
227
227
  return new crud_exceptions_1.ValidationFailedException(messages[code] ?? "invalid value");
228
228
  }
229
+ isForeignKeyViolation(error) {
230
+ const code = error?.code ?? error?.cause?.code;
231
+ return code === "23503";
232
+ }
233
+ toForeignKeyException(error) {
234
+ const detail = error?.detail ?? error?.cause?.detail ?? "";
235
+ const m = detail.match(/Key \((?<field>.+?)\)=/);
236
+ return new crud_exceptions_1.ForeignKeyViolationException(this.getEntityName(), m?.groups?.field ?? "reference");
237
+ }
229
238
  applyLock(query, options) {
230
239
  if (this.config.dialect !== "postgresql")
231
240
  return query;
@@ -371,6 +380,8 @@ class SqlBaseCrudService {
371
380
  throw this.toDuplicateException(error);
372
381
  if (this.isDataException(error))
373
382
  throw this.toDataException(error);
383
+ if (this.isForeignKeyViolation(error))
384
+ throw this.toForeignKeyException(error);
374
385
  throw error;
375
386
  }
376
387
  }
@@ -416,6 +427,8 @@ class SqlBaseCrudService {
416
427
  throw this.toDuplicateException(error);
417
428
  if (this.isDataException(error))
418
429
  throw this.toDataException(error);
430
+ if (this.isForeignKeyViolation(error))
431
+ throw this.toForeignKeyException(error);
419
432
  throw error;
420
433
  }
421
434
  }
@@ -497,11 +510,18 @@ class SqlBaseCrudService {
497
510
  const deleteQuery = db
498
511
  .delete(this.config.table)
499
512
  .where((0, drizzle_orm_1.eq)(this.config.table[this.config.primaryKey], id));
500
- const result = await deleteQuery;
501
- const success = this.wasAffected(result);
502
- if (success && !hooks.skipAfter)
503
- await this.afterDelete(id);
504
- return success;
513
+ try {
514
+ const result = await deleteQuery;
515
+ const success = this.wasAffected(result);
516
+ if (success && !hooks.skipAfter)
517
+ await this.afterDelete(id);
518
+ return success;
519
+ }
520
+ catch (error) {
521
+ if (this.isForeignKeyViolation(error))
522
+ throw new crud_exceptions_1.EntityInUseException(this.getEntityName());
523
+ throw error;
524
+ }
505
525
  }
506
526
  async massCreate(data, options) {
507
527
  return this.executeSqlTransaction(async (tx) => {
@@ -1 +1 @@
1
- {"version":3,"file":"sql-base-crud.service.js","sourceRoot":"","sources":["../../../src/core/abstract/sql-base-crud.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sql-base-crud.service.js","sourceRoot":"","sources":["../../../src/core/abstract/sql-base-crud.service.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,12 @@ export declare class DuplicateEntityException extends ConflictException {
8
8
  export declare class ValidationFailedException extends BadRequestException {
9
9
  constructor(message: string);
10
10
  }
11
+ export declare class ForeignKeyViolationException extends BadRequestException {
12
+ constructor(entityName: string, field: string);
13
+ }
14
+ export declare class EntityInUseException extends ConflictException {
15
+ constructor(entityName: string);
16
+ }
11
17
  export declare class BulkOperationException extends BadRequestException {
12
18
  readonly errors: Array<{
13
19
  id?: any;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TransactionException = exports.DatabaseConnectionException = exports.BulkOperationException = exports.ValidationFailedException = exports.DuplicateEntityException = exports.EntityNotFoundException = void 0;
3
+ exports.TransactionException = exports.DatabaseConnectionException = exports.BulkOperationException = exports.EntityInUseException = exports.ForeignKeyViolationException = exports.ValidationFailedException = exports.DuplicateEntityException = exports.EntityNotFoundException = void 0;
4
4
  const common_1 = require("@nestjs/common");
5
5
  class EntityNotFoundException extends common_1.NotFoundException {
6
6
  constructor(entityName, id) {
@@ -23,6 +23,20 @@ class ValidationFailedException extends common_1.BadRequestException {
23
23
  }
24
24
  }
25
25
  exports.ValidationFailedException = ValidationFailedException;
26
+ class ForeignKeyViolationException extends common_1.BadRequestException {
27
+ constructor(entityName, field) {
28
+ super(`Invalid reference for ${entityName}: '${field}' does not refer to an existing record`);
29
+ this.name = "ForeignKeyViolationException";
30
+ }
31
+ }
32
+ exports.ForeignKeyViolationException = ForeignKeyViolationException;
33
+ class EntityInUseException extends common_1.ConflictException {
34
+ constructor(entityName) {
35
+ super(`${entityName} is still referenced by other records and cannot be deleted`);
36
+ this.name = "EntityInUseException";
37
+ }
38
+ }
39
+ exports.EntityInUseException = EntityInUseException;
26
40
  class BulkOperationException extends common_1.BadRequestException {
27
41
  errors;
28
42
  constructor(message, errors) {
@@ -1 +1 @@
1
- {"version":3,"file":"crud.exceptions.js","sourceRoot":"","sources":["../../src/exceptions/crud.exceptions.ts"],"names":[],"mappings":";;;AAAA,2CAKwB;AAOxB,MAAa,uBAAwB,SAAQ,0BAAiB;IAC7D,YAAY,UAAkB,EAAE,EAAO;QACtC,KAAK,CAAC,GAAG,UAAU,YAAY,EAAE,YAAY,CAAC,CAAC;QAC/C,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAC;IACvC,CAAC;CACD;AALD,0DAKC;AAED,MAAa,wBAAyB,SAAQ,0BAAiB;IAC9D,YAAY,UAAkB,EAAE,KAAa,EAAE,KAAU;QACxD,KAAK,CAAC,GAAG,UAAU,SAAS,KAAK,KAAK,KAAK,kBAAkB,CAAC,CAAC;QAC/D,IAAI,CAAC,IAAI,GAAG,0BAA0B,CAAC;IACxC,CAAC;CACD;AALD,4DAKC;AAED,MAAa,yBAA0B,SAAQ,4BAAmB;IACjE,YAAY,OAAe;QAC1B,KAAK,CAAC,sBAAsB,OAAO,EAAE,CAAC,CAAC;QACvC,IAAI,CAAC,IAAI,GAAG,2BAA2B,CAAC;IACzC,CAAC;CACD;AALD,8DAKC;AAED,MAAa,sBAAuB,SAAQ,4BAAmB;IAG7C;IAFjB,YACC,OAAe,EACC,MAAyD;QAEzE,KAAK,CAAC,GAAG,OAAO,KAAK,MAAM,CAAC,MAAM,qBAAqB,CAAC,CAAC;QAFzC,WAAM,GAAN,MAAM,CAAmD;QAGzE,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAC;IACtC,CAAC;CACD;AARD,wDAQC;AAED,MAAa,2BAA4B,SAAQ,qCAA4B;IAC5E,YAAY,UAAkB,4BAA4B;QACzD,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,6BAA6B,CAAC;IAC3C,CAAC;CACD;AALD,kEAKC;AAED,MAAa,oBAAqB,SAAQ,qCAA4B;IACrE,YAAY,UAAkB,oBAAoB;QACjD,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;IACpC,CAAC;CACD;AALD,oDAKC"}
1
+ {"version":3,"file":"crud.exceptions.js","sourceRoot":"","sources":["../../src/exceptions/crud.exceptions.ts"],"names":[],"mappings":";;;AAAA,2CAKwB;AAQxB,MAAa,uBAAwB,SAAQ,0BAAiB;IAC7D,YAAY,UAAkB,EAAE,EAAO;QACtC,KAAK,CAAC,GAAG,UAAU,YAAY,EAAE,YAAY,CAAC,CAAC;QAC/C,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAC;IACvC,CAAC;CACD;AALD,0DAKC;AAED,MAAa,wBAAyB,SAAQ,0BAAiB;IAC9D,YAAY,UAAkB,EAAE,KAAa,EAAE,KAAU;QACxD,KAAK,CAAC,GAAG,UAAU,SAAS,KAAK,KAAK,KAAK,kBAAkB,CAAC,CAAC;QAC/D,IAAI,CAAC,IAAI,GAAG,0BAA0B,CAAC;IACxC,CAAC;CACD;AALD,4DAKC;AAED,MAAa,yBAA0B,SAAQ,4BAAmB;IACjE,YAAY,OAAe;QAC1B,KAAK,CAAC,sBAAsB,OAAO,EAAE,CAAC,CAAC;QACvC,IAAI,CAAC,IAAI,GAAG,2BAA2B,CAAC;IACzC,CAAC;CACD;AALD,8DAKC;AAMD,MAAa,4BAA6B,SAAQ,4BAAmB;IACpE,YAAY,UAAkB,EAAE,KAAa;QAC5C,KAAK,CACJ,yBAAyB,UAAU,MAAM,KAAK,wCAAwC,CACtF,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,8BAA8B,CAAC;IAC5C,CAAC;CACD;AAPD,oEAOC;AAKD,MAAa,oBAAqB,SAAQ,0BAAiB;IAC1D,YAAY,UAAkB;QAC7B,KAAK,CACJ,GAAG,UAAU,6DAA6D,CAC1E,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;IACpC,CAAC;CACD;AAPD,oDAOC;AAED,MAAa,sBAAuB,SAAQ,4BAAmB;IAG7C;IAFjB,YACC,OAAe,EACC,MAAyD;QAEzE,KAAK,CAAC,GAAG,OAAO,KAAK,MAAM,CAAC,MAAM,qBAAqB,CAAC,CAAC;QAFzC,WAAM,GAAN,MAAM,CAAmD;QAGzE,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAC;IACtC,CAAC;CACD;AARD,wDAQC;AAED,MAAa,2BAA4B,SAAQ,qCAA4B;IAC5E,YAAY,UAAkB,4BAA4B;QACzD,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,6BAA6B,CAAC;IAC3C,CAAC;CACD;AALD,kEAKC;AAED,MAAa,oBAAqB,SAAQ,qCAA4B;IACrE,YAAY,UAAkB,oBAAoB;QACjD,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;IACpC,CAAC;CACD;AALD,oDAKC"}
package/dist/index.d.ts CHANGED
@@ -5,7 +5,7 @@ export type { CrudFeature, DrizzleCrudConfig, } from "./core/interfaces/drizzle-
5
5
  export type { RelationConfig, RelationsConfig, SqlCrudConfig, SqlOperationOptions, } from "./core/interfaces/sql-crud-config.interface";
6
6
  export type { PrimaryKeyType, SortColumn, SortOrder, SqlDialect, } from "./core/types/sql.types";
7
7
  export { CrudService } from "./decorators/crud-service.decorator";
8
- export { BulkOperationException, DatabaseConnectionException, DuplicateEntityException, EntityNotFoundException, TransactionException, ValidationFailedException, } from "./exceptions/crud.exceptions";
8
+ export { BulkOperationException, DatabaseConnectionException, DuplicateEntityException, EntityInUseException, EntityNotFoundException, ForeignKeyViolationException, TransactionException, ValidationFailedException, } from "./exceptions/crud.exceptions";
9
9
  export { DrizzleCrudModule } from "./modules/drizzle-crud.module";
10
10
  export { DRIZZLE_CONNECTION, DRIZZLE_CRUD_CONFIG, DRIZZLE_DB, DrizzleConnection, } from "./modules/drizzle-connection";
11
11
  export { BaseCrudSpecHelper } from "./test-utils/base-crud.spec-helper";
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TestCrudFactory = exports.BaseCrudSpecHelper = exports.DrizzleConnection = exports.DRIZZLE_DB = exports.DRIZZLE_CRUD_CONFIG = exports.DRIZZLE_CONNECTION = exports.DrizzleCrudModule = exports.ValidationFailedException = exports.TransactionException = exports.EntityNotFoundException = exports.DuplicateEntityException = exports.DatabaseConnectionException = exports.BulkOperationException = exports.CrudService = exports.SqlBaseCrudService = exports.sql = exports.or = exports.ne = exports.lte = exports.lt = exports.like = exports.isNull = exports.isNotNull = exports.inArray = exports.ilike = exports.gte = exports.gt = exports.eq = exports.desc = exports.asc = exports.and = void 0;
3
+ exports.TestCrudFactory = exports.BaseCrudSpecHelper = exports.DrizzleConnection = exports.DRIZZLE_DB = exports.DRIZZLE_CRUD_CONFIG = exports.DRIZZLE_CONNECTION = exports.DrizzleCrudModule = exports.ValidationFailedException = exports.TransactionException = exports.ForeignKeyViolationException = exports.EntityNotFoundException = exports.EntityInUseException = exports.DuplicateEntityException = exports.DatabaseConnectionException = exports.BulkOperationException = exports.CrudService = exports.SqlBaseCrudService = exports.sql = exports.or = exports.ne = exports.lte = exports.lt = exports.like = exports.isNull = exports.isNotNull = exports.inArray = exports.ilike = exports.gte = exports.gt = exports.eq = exports.desc = exports.asc = exports.and = void 0;
4
4
  var drizzle_orm_1 = require("drizzle-orm");
5
5
  Object.defineProperty(exports, "and", { enumerable: true, get: function () { return drizzle_orm_1.and; } });
6
6
  Object.defineProperty(exports, "asc", { enumerable: true, get: function () { return drizzle_orm_1.asc; } });
@@ -26,7 +26,9 @@ var crud_exceptions_1 = require("./exceptions/crud.exceptions");
26
26
  Object.defineProperty(exports, "BulkOperationException", { enumerable: true, get: function () { return crud_exceptions_1.BulkOperationException; } });
27
27
  Object.defineProperty(exports, "DatabaseConnectionException", { enumerable: true, get: function () { return crud_exceptions_1.DatabaseConnectionException; } });
28
28
  Object.defineProperty(exports, "DuplicateEntityException", { enumerable: true, get: function () { return crud_exceptions_1.DuplicateEntityException; } });
29
+ Object.defineProperty(exports, "EntityInUseException", { enumerable: true, get: function () { return crud_exceptions_1.EntityInUseException; } });
29
30
  Object.defineProperty(exports, "EntityNotFoundException", { enumerable: true, get: function () { return crud_exceptions_1.EntityNotFoundException; } });
31
+ Object.defineProperty(exports, "ForeignKeyViolationException", { enumerable: true, get: function () { return crud_exceptions_1.ForeignKeyViolationException; } });
30
32
  Object.defineProperty(exports, "TransactionException", { enumerable: true, get: function () { return crud_exceptions_1.TransactionException; } });
31
33
  Object.defineProperty(exports, "ValidationFailedException", { enumerable: true, get: function () { return crud_exceptions_1.ValidationFailedException; } });
32
34
  var drizzle_crud_module_1 = require("./modules/drizzle-crud.module");
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAMA,2CAiBqB;AAhBpB,kGAAA,GAAG,OAAA;AACH,kGAAA,GAAG,OAAA;AACH,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,iGAAA,EAAE,OAAA;AACF,kGAAA,GAAG,OAAA;AAGJ,+EAA2E;AAAlE,2HAAA,kBAAkB,OAAA;AAqB3B,8EAAkE;AAAzD,qHAAA,WAAW,OAAA;AAEpB,gEAOsC;AANrC,yHAAA,sBAAsB,OAAA;AACtB,8HAAA,2BAA2B,OAAA;AAC3B,2HAAA,wBAAwB,OAAA;AACxB,0HAAA,uBAAuB,OAAA;AACvB,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;AAGlB,4EAAwE;AAA/D,2HAAA,kBAAkB,OAAA;AAC3B,0DAA4D;AAAnD,+GAAA,eAAe,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAMA,2CAiBqB;AAhBpB,kGAAA,GAAG,OAAA;AACH,kGAAA,GAAG,OAAA;AACH,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,iGAAA,EAAE,OAAA;AACF,kGAAA,GAAG,OAAA;AAGJ,+EAA2E;AAAlE,2HAAA,kBAAkB,OAAA;AAqB3B,8EAAkE;AAAzD,qHAAA,WAAW,OAAA;AAEpB,gEASsC;AARrC,yHAAA,sBAAsB,OAAA;AACtB,8HAAA,2BAA2B,OAAA;AAC3B,2HAAA,wBAAwB,OAAA;AACxB,uHAAA,oBAAoB,OAAA;AACpB,0HAAA,uBAAuB,OAAA;AACvB,+HAAA,4BAA4B,OAAA;AAC5B,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;AAGlB,4EAAwE;AAA/D,2HAAA,kBAAkB,OAAA;AAC3B,0DAA4D;AAAnD,+GAAA,eAAe,OAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nestjs-drizzle-crud",
3
- "version": "3.1.1",
3
+ "version": "3.2.0",
4
4
  "description": "A complete CRUD abstraction layer for Drizzle ORM in NestJS applications",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -75,6 +75,6 @@
75
75
  "typescript": "^6.0.3"
76
76
  },
77
77
  "engines": {
78
- "node": ">=18.0.0"
78
+ "node": ">=20.0.0"
79
79
  }
80
80
  }