@avytrix/nestjs-drizzle-crud 3.5.1 → 3.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/AGENT.md CHANGED
@@ -11,7 +11,7 @@
11
11
  > # Gemini CLI reads ./GEMINI.md, Aider reads ./CONVENTIONS.md
12
12
  > ```
13
13
  >
14
- > Or let the agent read these docs on demand: `npx nestjs-drizzle-crud-mcp` is an
14
+ > Or let the agent read these docs on demand: `npx -p @avytrix/nestjs-drizzle-crud nestjs-drizzle-crud-mcp` is an
15
15
  > MCP server shipped with the package. See
16
16
  > [crud.avytrix.dev/docs/ai-agents](https://crud.avytrix.dev/docs/ai-agents).
17
17
  >
@@ -56,7 +56,7 @@ service, stop and check the API reference first.
56
56
  # Installation
57
57
 
58
58
  ```bash
59
- pnpm add nestjs-drizzle-crud
59
+ pnpm add @avytrix/nestjs-drizzle-crud
60
60
  pnpm add @nestjs/common @nestjs/core drizzle-orm reflect-metadata # peers, always
61
61
  pnpm add postgres # PostgreSQL
62
62
  pnpm add mysql2 # MySQL
@@ -246,7 +246,7 @@ ignores the primary key and `createdAt`.
246
246
 
247
247
  # Sorting and cursor pagination
248
248
 
249
- `sortBy` takes one column (with `sortOrder`, default `'desc'`) or a list:
249
+ `sortBy` takes one column (with `sortOrder`, default `'asc'`) or a list:
250
250
  `['team.name', '-created_at']` or `[{ column, order }]`. A dotted entry sorts by a
251
251
  top-level belongs-to column. The primary key is always the last sort column.
252
252
 
package/CHANGELOG.md CHANGED
@@ -8,6 +8,59 @@ 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.6.0] - 2026-11-02
12
+
13
+ Fixes from the second audit. The first one is a security fix: upgrade if you use `scope`.
14
+
15
+ ### Security
16
+
17
+ - Related tables now follow the tenant scope. Loaded relations, the joins behind relation columns,
18
+ relation filters (`some`, `none`, `every` and nested columns) and `counts` only see related rows
19
+ of the caller's tenant when the related table has the scope columns. Before, a row pointing at
20
+ another tenant's row (a plain foreign key allows it) loaded that row, and a filter on it
21
+ answered questions about it.
22
+
23
+ ### Added
24
+
25
+ - `createCrudController` takes `validation`, the validator options for the bulk bodies. Pass the
26
+ same options as your global `ValidationPipe`.
27
+
28
+ ### Fixed
29
+
30
+ - `PATCH /bulk` validates `data` against `dto.update`, the check a single `PATCH` already had.
31
+ - Route decorators that wrap the handler now run. Before, the factory dropped the wrapped handler.
32
+ - Bulk ids are parsed like `:id`, so a bad id is a 400 before any statement runs.
33
+ - A filter nested deeper than 32 objects is a 400. A thousand nested `not` groups used to
34
+ overflow the stack and answer with a 500.
35
+ - A batch past the bound-parameter limit (60,000 values: rows times columns for `massCreate` and
36
+ `massUpsert`, ids for the id based methods, values in an `IN` filter) is a 400 that names the
37
+ limit, instead of a driver protocol error and a 500.
38
+ - A missing required value (`23502`) is a 400 that names the column.
39
+ - MySQL `ER_DUP_ENTRY` is a 409, and foreign key errors are a 400 on a write and a 409 on a delete.
40
+ - `upsert` no longer updates a row in the trash: the conflict writes nothing and is a 404.
41
+ - With `useReturning: false`, a scoped `upsert` no longer reads back another tenant's row.
42
+ - `restore` on a live row is a 404 before any hook or event runs. It used to succeed and bump
43
+ `updated_at` and the version.
44
+ - `?relation[some]=` and `[none]=` with no column need the relation, or one of its columns, in
45
+ `filterableColumns`.
46
+ - A nested child row cannot set its own generated primary key.
47
+
48
+ ## [3.5.2] - 2026-11-02
49
+
50
+ ### Fixed
51
+
52
+ - `softDelete`, `restore`, `massSoftDelete` and `massRestore` on an entity without soft delete,
53
+ and full-text search on MySQL (`fullTextSearch()` or `search.mode: "fullText"`), now throw a
54
+ `BadRequestException`. They were a plain `Error`, which reached the client as a 500.
55
+ - `options.counts` now applies the tenant scope to the related rows it counts, when the related
56
+ table has the scope column. Before, a parent's count included rows of other tenants.
57
+
58
+ ### Changed
59
+
60
+ - `sortOrder` now defaults to `"asc"` in `findAll` and `findByCursor`, so a bare
61
+ `sortBy: "name"` sorts the same way as `?sortBy=name` over HTTP. Pass `sortOrder: "desc"` to
62
+ keep the old order.
63
+
11
64
  ## [3.5.1] - 2026-11-02
12
65
 
13
66
  ### Changed
package/README.md CHANGED
@@ -1,11 +1,38 @@
1
1
  # nestjs-drizzle-crud
2
2
 
3
3
  [![docs](https://img.shields.io/badge/docs-crud.avytrix.dev-E0234E)](https://crud.avytrix.dev)
4
- [![npm](https://img.shields.io/npm/v/nestjs-drizzle-crud?color=E0234E)](https://www.npmjs.com/package/nestjs-drizzle-crud)
5
- [![license](https://img.shields.io/npm/l/nestjs-drizzle-crud)](./LICENSE)
4
+ [![npm](https://img.shields.io/npm/v/@avytrix/nestjs-drizzle-crud?color=E0234E)](https://www.npmjs.com/package/@avytrix/nestjs-drizzle-crud)
5
+ [![license](https://img.shields.io/npm/l/@avytrix/nestjs-drizzle-crud)](./LICENSE)
6
6
  [![Sponsor @avytrix](https://img.shields.io/badge/Sponsor-%40avytrix-db61a2?style=for-the-badge&logo=githubsponsors&logoColor=white)](https://github.com/sponsors/avytrix)
7
7
 
8
- Built and maintained by **[Avytrix Technologies](https://avytrix.dev)**.
8
+ **nestjs-drizzle-crud is a NestJS + Drizzle ORM CRUD library: extend one base class and every table gets type-safe find, create, update, delete, filtering, pagination, relations and soft delete, on PostgreSQL or MySQL.**
9
+
10
+ ```bash
11
+ pnpm add @avytrix/nestjs-drizzle-crud drizzle-orm
12
+ ```
13
+
14
+ > **Renamed.** From 3.5.1 the package is `@avytrix/nestjs-drizzle-crud`; the unscoped `nestjs-drizzle-crud` is deprecated. Change the dependency and the imports, nothing else changes.
15
+
16
+ ```typescript
17
+ // app.module.ts: configure the connection once
18
+ DrizzleCrudModule.forRoot({
19
+ dialect: 'postgresql',
20
+ connectionString: process.env.DATABASE_URL,
21
+ schema,
22
+ });
23
+
24
+ // users.service.ts: a full CRUD service is an empty subclass
25
+ export class UsersService extends SqlBaseCrudService<
26
+ User, CreateUserDto, UpdateUserDto, CrudFilter
27
+ > {}
28
+
29
+ // users.module.ts: bind it to a table
30
+ DrizzleCrudModule.forFeature([{ service: UsersService, table: users }]);
31
+ ```
32
+
33
+ **[Read the docs at crud.avytrix.dev](https://crud.avytrix.dev)**, starting with the [quick start](https://crud.avytrix.dev/docs/quick-start/). Also on [npm](https://www.npmjs.com/package/@avytrix/nestjs-drizzle-crud) and [GitHub](https://github.com/avytrix/nestjs-drizzle-crud).
34
+
35
+ Built and maintained by **[Avytrix Technologies](https://avytrix.dev/?utm_source=nestjs-drizzle-crud&utm_medium=docs&utm_campaign=readme)**. Need help shipping? [Hire the team behind the library](https://crud.avytrix.dev/docs/commercial-support/).
9
36
 
10
37
  ## ❤️ Sponsoring is what keeps this package free
11
38
 
@@ -19,36 +46,13 @@ sponsors are what make keeping it free sustainable.
19
46
 
20
47
  **Even $1 a month helps.** It funds bug fixes, new guides, and the next release.
21
48
 
22
- > Sponsors get a spot on the [sponsor page](https://crud.avytrix.dev/docs/sponsor)
49
+ > Sponsors get a spot on the [sponsor page](https://crud.avytrix.dev/docs/sponsor/)
23
50
  > and our thanks.
24
51
 
25
52
  ### 👉 [Sponsor on GitHub →](https://github.com/sponsors/avytrix) &nbsp;·&nbsp; thank you 🙏
26
53
 
27
54
  ---
28
55
 
29
- A type-safe CRUD layer for [Drizzle ORM](https://orm.drizzle.team/) in [NestJS](https://nestjs.com/) applications.
30
-
31
- **[Documentation](https://crud.avytrix.dev)** · **[npm](https://www.npmjs.com/package/nestjs-drizzle-crud)** · **[GitHub](https://github.com/avytrix/nestjs-drizzle-crud)** · **[Sponsor](https://github.com/sponsors/avytrix)**
32
-
33
- Configure the database connection **once**, then every entity gets full CRUD (find / create / update / delete / soft-delete / bulk / pagination / filtering / full-text search) by extending one base class. No per-service connection wiring.
34
-
35
- ```typescript
36
- // 1. configure once (app.module.ts)
37
- DrizzleCrudModule.forRoot({
38
- dialect: 'postgresql',
39
- connectionString: process.env.DATABASE_URL,
40
- schema,
41
- });
42
-
43
- // 2. a fully-featured CRUD service is just:
44
- export class UsersService extends SqlBaseCrudService<User> {}
45
-
46
- // 3. bind it to a table (users.module.ts)
47
- DrizzleCrudModule.forFeature([{ service: UsersService, table: users }]);
48
- ```
49
-
50
- ---
51
-
52
56
  ## Table of contents
53
57
 
54
58
  - [Features](#features)
@@ -116,11 +120,11 @@ DrizzleCrudModule.forFeature([{ service: UsersService, table: users }]);
116
120
  ## Installation
117
121
 
118
122
  ```bash
119
- pnpm add nestjs-drizzle-crud
123
+ pnpm add @avytrix/nestjs-drizzle-crud
120
124
  # or
121
- npm install nestjs-drizzle-crud
125
+ npm install @avytrix/nestjs-drizzle-crud
122
126
  # or
123
- yarn add nestjs-drizzle-crud
127
+ yarn add @avytrix/nestjs-drizzle-crud
124
128
  ```
125
129
 
126
130
  Peer dependencies (install the ones you use):
@@ -141,9 +145,10 @@ pnpm add @nestjs/swagger
141
145
 
142
146
  > Using npm or yarn? Swap `pnpm add` for `npm install` / `yarn add`.
143
147
 
144
- > **pnpm note:** `postgres`/`mysql2` are optional peer dependencies. pnpm enforces
145
- > peer deps strictly, so if you build the connection from a `connectionString`
146
- > make sure the matching driver is installed in your app.
148
+ > **pnpm note:** `postgres` is an optional peer dependency and `mysql2` is not a peer
149
+ > at all. pnpm enforces peer deps strictly, so if you build the connection from a
150
+ > `connectionString` make sure `postgres` is installed in your app; for MySQL you
151
+ > install `mysql2` yourself and pass the `db` you build with it.
147
152
 
148
153
  > `postgres` is an **optional** peer dependency. It's only needed when you let the
149
154
  > module build the connection from a `connectionString` for the `postgresql` dialect.
@@ -174,7 +179,7 @@ export type User = typeof users.$inferSelect;
174
179
  ```typescript
175
180
  // app.module.ts
176
181
  import { Module } from '@nestjs/common';
177
- import { DrizzleCrudModule } from 'nestjs-drizzle-crud';
182
+ import { DrizzleCrudModule } from '@avytrix/nestjs-drizzle-crud';
178
183
  import { schema } from './db/schema';
179
184
  import { UsersModule } from './users/users.module';
180
185
 
@@ -198,7 +203,7 @@ application shutdown (when the module built it from a `connectionString`).
198
203
 
199
204
  ```typescript
200
205
  // users/users.service.ts
201
- import { SqlBaseCrudService } from 'nestjs-drizzle-crud';
206
+ import { SqlBaseCrudService } from '@avytrix/nestjs-drizzle-crud';
202
207
  import type { User } from '../db/schema';
203
208
 
204
209
  export interface CreateUserDto { name: string; email: string }
@@ -218,7 +223,7 @@ export class UsersService extends SqlBaseCrudService<
218
223
  ```typescript
219
224
  // users/users.module.ts
220
225
  import { Module } from '@nestjs/common';
221
- import { DrizzleCrudModule } from 'nestjs-drizzle-crud';
226
+ import { DrizzleCrudModule } from '@avytrix/nestjs-drizzle-crud';
222
227
  import { users } from '../db/schema';
223
228
  import { UsersController } from './users.controller';
224
229
  import { UsersService } from './users.service';
@@ -362,7 +367,9 @@ The minimal service is an empty class. Connection, dialect and defaults are
362
367
  injected by the module:
363
368
 
364
369
  ```typescript
365
- export class UsersService extends SqlBaseCrudService<User> {}
370
+ export class UsersService extends SqlBaseCrudService<
371
+ User, CreateUserDto, UpdateUserDto, CrudFilter
372
+ > {}
366
373
  ```
367
374
 
368
375
  Add custom behaviour by overriding hooks (see [Lifecycle hooks](#lifecycle-hooks--validation))
@@ -590,7 +597,7 @@ await service.findAll(
590
597
  // → { data: [...], total: 240, page: 2, limit: 25 }
591
598
  ```
592
599
 
593
- `limit` is capped at `pagination.maxLimit`. `sortOrder` defaults to `'desc'`.
600
+ `limit` is capped at `pagination.maxLimit`. `sortOrder` defaults to `'asc'`.
594
601
  The primary key is always the last `ORDER BY` column, so rows that tie on the
595
602
  sort column never repeat or go missing between pages.
596
603
 
@@ -1144,7 +1151,7 @@ service stamps `created_at`/`updated_at` automatically.
1144
1151
  ## Testing
1145
1152
 
1146
1153
  ```typescript
1147
- import { TestCrudFactory } from 'nestjs-drizzle-crud';
1154
+ import { TestCrudFactory } from '@avytrix/nestjs-drizzle-crud';
1148
1155
 
1149
1156
  const mockDb = TestCrudFactory.createMockDb();
1150
1157
  const mockTable = TestCrudFactory.createMockTable();
@@ -1164,18 +1171,18 @@ const service = TestCrudFactory.createTestService(UsersService, mockDb, mockTabl
1164
1171
  when they use it. Copy the pointer template to the filename your tool reads:
1165
1172
 
1166
1173
  ```bash
1167
- cp node_modules/nestjs-drizzle-crud/AGENTS.template.md ./AGENTS.md # Codex, Cursor, Copilot, Zed, Cline, Windsurf
1168
- cp node_modules/nestjs-drizzle-crud/CLAUDE.template.md ./CLAUDE.md # Claude Code
1174
+ cp node_modules/@avytrix/nestjs-drizzle-crud/AGENTS.template.md ./AGENTS.md # Codex, Cursor, Copilot, Zed, Cline, Windsurf
1175
+ cp node_modules/@avytrix/nestjs-drizzle-crud/CLAUDE.template.md ./CLAUDE.md # Claude Code
1169
1176
  # Gemini CLI reads ./GEMINI.md, Aider reads ./CONVENTIONS.md
1170
1177
  ```
1171
1178
 
1172
- Each template is one `@node_modules/nestjs-drizzle-crud/AGENT.md` line, so an
1179
+ Each template is one `@node_modules/@avytrix/nestjs-drizzle-crud/AGENT.md` line, so an
1173
1180
  upgrade updates the rules with it and you never hold a stale copy.
1174
1181
 
1175
1182
  ### Or run the MCP server
1176
1183
 
1177
1184
  ```bash
1178
- npx nestjs-drizzle-crud-mcp
1185
+ npx -p @avytrix/nestjs-drizzle-crud nestjs-drizzle-crud-mcp
1179
1186
  ```
1180
1187
 
1181
1188
  A stdio MCP server, zero dependencies, that serves this package's docs to any MCP
@@ -1187,7 +1194,7 @@ client through three tools: `list_docs`, `get_doc` (`agent-guide` / `readme` /
1187
1194
  "mcpServers": {
1188
1195
  "nestjs-drizzle-crud": {
1189
1196
  "command": "npx",
1190
- "args": ["-y", "nestjs-drizzle-crud-mcp"]
1197
+ "args": ["-y", "-p", "@avytrix/nestjs-drizzle-crud", "nestjs-drizzle-crud-mcp"]
1191
1198
  }
1192
1199
  }
1193
1200
  }
@@ -1204,7 +1211,7 @@ read-only and never touches your database. Full setup:
1204
1211
 
1205
1212
  Use these facts instead of guessing.
1206
1213
 
1207
- **Package:** `nestjs-drizzle-crud` · **Peers:** `@nestjs/common`, `@nestjs/core`, `drizzle-orm`, `reflect-metadata`; optional `postgres` (PG) / `mysql2` (MySQL) / `@nestjs/swagger` (for `ApiCrudList`).
1214
+ **Package:** `nestjs-drizzle-crud` · **Peers:** `@nestjs/common`, `@nestjs/core`, `drizzle-orm`, `reflect-metadata`; optional `postgres` (PG) / `@nestjs/swagger` (for `ApiCrudList`); `mysql2` is installed by you for MySQL, not a peer.
1208
1215
 
1209
1216
  **Setup is two steps and no per-service connection wiring:**
1210
1217
  1. `DrizzleCrudModule.forRoot({ dialect, connectionString | db, schema, defaults })` once in `AppModule`.
@@ -1,4 +1,4 @@
1
- import { type Type } from "@nestjs/common";
1
+ import { type Type, type ValidationPipeOptions } from "@nestjs/common";
2
2
  import type { SqlBaseCrudService } from "../core/abstract/sql-base-crud.service";
3
3
  import type { ParseCrudQueryOptions } from "../core/interfaces/query.interface";
4
4
  import { type ApiCrudSource } from "../openapi/api-crud.decorators";
@@ -14,6 +14,7 @@ export interface CrudControllerOptions {
14
14
  create?: Type<unknown>;
15
15
  update?: Type<unknown>;
16
16
  };
17
+ validation?: ValidationPipeOptions;
17
18
  query?: ParseCrudQueryOptions;
18
19
  routes?: Partial<Record<CrudRouteName, boolean | CrudRouteOptions>>;
19
20
  decorators?: MethodDecorator[];
@@ -10,12 +10,29 @@ const BULK_ROUTES = new Set([
10
10
  "bulkDelete",
11
11
  "bulkRestore",
12
12
  ]);
13
- function idsOf(body) {
13
+ class BulkUpdateBodyPipe {
14
+ dto;
15
+ pipe;
16
+ constructor(dto, options) {
17
+ this.dto = dto;
18
+ this.pipe = new common_1.ValidationPipe(options);
19
+ }
20
+ async transform(body) {
21
+ if (!body?.data || typeof body.data !== "object")
22
+ return body;
23
+ const data = await this.pipe.transform(body.data, {
24
+ type: "body",
25
+ metatype: this.dto,
26
+ });
27
+ return { ...body, data };
28
+ }
29
+ }
30
+ async function idsOf(service, body) {
14
31
  const ids = body?.ids;
15
32
  if (!Array.isArray(ids) || ids.length === 0) {
16
33
  throw new common_1.BadRequestException("ids must be a non-empty array");
17
34
  }
18
- return ids;
35
+ return Promise.all(ids.map((id) => service.parseId(id)));
19
36
  }
20
37
  function createCrudController(service, options = {}) {
21
38
  const routeOptions = (name) => {
@@ -78,21 +95,21 @@ function createCrudController(service, options = {}) {
78
95
  }
79
96
  return this.service.massCreate(body, readOptions(this.service, query));
80
97
  }
81
- bulkUpdate(body, query) {
98
+ async bulkUpdate(body, query) {
82
99
  if (!body?.data || typeof body.data !== "object") {
83
100
  throw new common_1.BadRequestException("data must be an object");
84
101
  }
85
- return this.service.massUpdate(idsOf(body), body.data, readOptions(this.service, query));
102
+ return this.service.massUpdate(await idsOf(this.service, body), body.data, readOptions(this.service, query));
86
103
  }
87
- bulkDelete(body) {
88
- const ids = idsOf(body);
104
+ async bulkDelete(body) {
105
+ const ids = await idsOf(this.service, body);
89
106
  return options.deleteMode === "soft"
90
107
  ? this.service.massSoftDelete(ids)
91
108
  : this.service.massDelete(ids);
92
109
  }
93
- bulkRestore(body, query) {
110
+ async bulkRestore(body, query) {
94
111
  softDeleteOn(this.service);
95
- return this.service.massRestore(idsOf(body), readOptions(this.service, query));
112
+ return this.service.massRestore(await idsOf(this.service, body), readOptions(this.service, query));
96
113
  }
97
114
  async get(rawId, query) {
98
115
  const id = await this.id(rawId);
@@ -148,7 +165,10 @@ function createCrudController(service, options = {}) {
148
165
  http: (0, common_1.Post)("bulk"),
149
166
  params: [
150
167
  options.dto?.create
151
- ? (0, common_1.Body)(new common_1.ParseArrayPipe({ items: options.dto.create }))
168
+ ? (0, common_1.Body)(new common_1.ParseArrayPipe({
169
+ ...options.validation,
170
+ items: options.dto.create,
171
+ }))
152
172
  : (0, common_1.Body)(),
153
173
  (0, common_1.Query)(),
154
174
  ],
@@ -157,7 +177,12 @@ function createCrudController(service, options = {}) {
157
177
  {
158
178
  name: "bulkUpdate",
159
179
  http: (0, common_1.Patch)("bulk"),
160
- params: [(0, common_1.Body)(), (0, common_1.Query)()],
180
+ params: [
181
+ options.dto?.update
182
+ ? (0, common_1.Body)(new BulkUpdateBodyPipe(options.dto.update, options.validation))
183
+ : (0, common_1.Body)(),
184
+ (0, common_1.Query)(),
185
+ ],
161
186
  types: [Object, Object],
162
187
  extra: [(0, common_1.HttpCode)(200)],
163
188
  },
@@ -227,19 +252,22 @@ function createCrudController(service, options = {}) {
227
252
  configurable: true,
228
253
  enumerable: false,
229
254
  });
230
- const descriptor = Object.getOwnPropertyDescriptor(proto, route.name);
255
+ let descriptor = Object.getOwnPropertyDescriptor(proto, route.name);
231
256
  route.params.forEach((decorate, index) => {
232
257
  decorate(proto, route.name, index);
233
258
  });
234
259
  Reflect.defineMetadata("design:paramtypes", route.types, proto, route.name);
235
- for (const decorate of [
260
+ const decorators = [
236
261
  route.http,
237
262
  ...(route.extra ?? []),
238
- ...(options.decorators ?? []),
239
263
  ...(settings.decorators ?? []),
240
- ]) {
241
- decorate(proto, route.name, descriptor);
264
+ ...(options.decorators ?? []),
265
+ ];
266
+ for (const decorate of decorators.reverse()) {
267
+ descriptor =
268
+ decorate(proto, route.name, descriptor) ?? descriptor;
242
269
  }
270
+ Object.defineProperty(proto, route.name, descriptor);
243
271
  }
244
272
  for (const decorate of options.classDecorators ?? []) {
245
273
  decorate(CrudController);
@@ -1 +1 @@
1
- {"version":3,"file":"crud-controller.factory.js","sourceRoot":"","sources":["../../src/controller/crud-controller.factory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"crud-controller.factory.js","sourceRoot":"","sources":["../../src/controller/crud-controller.factory.ts"],"names":[],"mappings":"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"}
@@ -27,6 +27,8 @@ export declare abstract class SqlBaseCrudService<T extends Record<string, any>,
27
27
  protected rowScope(options?: SqlOperationOptions): any[];
28
28
  protected resolveScope(options?: SqlOperationOptions): CrudScopeValues | null;
29
29
  protected scopeConditions(options?: SqlOperationOptions, table?: any): any[];
30
+ protected relatedRowScope(target: any, options?: SqlOperationOptions): any[];
31
+ protected relatedScopeConditions(target: any, options?: SqlOperationOptions): any[];
30
32
  protected applyScopeToRow(row: Record<string, any>, options?: SqlOperationOptions): void;
31
33
  protected softDeleteScope(options?: SqlOperationOptions): any | undefined;
32
34
  protected managedColumns(operation: "create" | "update"): string[];
@@ -65,12 +67,12 @@ export declare abstract class SqlBaseCrudService<T extends Record<string, any>,
65
67
  protected collectionOrderBy(relation: RelationConfig): any[];
66
68
  protected softDeleteCondition(table: any): any | undefined;
67
69
  protected relationProjection(table: any, wanted: string[], requiredKeys: string[]): Record<string, any> | undefined;
68
- protected loadRelations(db: any, hosts: any[], nodes: RelationNode[], select?: SelectTree, hostTable?: any): Promise<void>;
69
- protected loadBelongsTo(db: any, hosts: any[], node: RelationNode, select: SelectTree): Promise<void>;
70
- protected loadHasMany(db: any, hosts: any[], node: RelationNode, select: SelectTree, hostTable?: any): Promise<void>;
71
- protected loadManyToMany(db: any, hosts: any[], node: RelationNode, select: SelectTree, hostTable?: any): Promise<void>;
70
+ protected loadRelations(db: any, hosts: any[], nodes: RelationNode[], select?: SelectTree, hostTable?: any, options?: SqlOperationOptions): Promise<void>;
71
+ protected loadBelongsTo(db: any, hosts: any[], node: RelationNode, select: SelectTree, options?: SqlOperationOptions): Promise<void>;
72
+ protected loadHasMany(db: any, hosts: any[], node: RelationNode, select: SelectTree, hostTable?: any, options?: SqlOperationOptions): Promise<void>;
73
+ protected loadManyToMany(db: any, hosts: any[], node: RelationNode, select: SelectTree, hostTable?: any, options?: SqlOperationOptions): Promise<void>;
72
74
  private groupCollection;
73
- protected applyJoins(query: any, relationNames: string[]): any;
75
+ protected applyJoins(query: any, relationNames: string[], options?: SqlOperationOptions): any;
74
76
  protected normalizeRelations(rows: any[], eager: string[]): any[];
75
77
  protected buildOrderBy(sortBy?: SortInput, sortOrder?: SortOrder): any[];
76
78
  protected orderOf(spec: SortSpec): any;
@@ -210,6 +212,9 @@ export declare abstract class SqlBaseCrudService<T extends Record<string, any>,
210
212
  protected buildWhereConditions(filters?: any): any[];
211
213
  private parseFlag;
212
214
  private expectArray;
215
+ static readonly MAX_BATCH_PARAMETERS = 60000;
216
+ protected assertBatchSize(parameters: number): void;
217
+ protected insertParameters(rows: unknown[]): number;
213
218
  private requirePostgres;
214
219
  private patternCondition;
215
220
  protected applyComplexFilter(conditions: any[], column: any, filterObj: any): void;