nestjs-paginate 13.2.0 → 13.4.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/README.md CHANGED
@@ -315,6 +315,16 @@ const paginateConfig: PaginateConfig<CatEntity> {
315
315
  */
316
316
  filterableColumns: { age: [FilterOperator.EQ, FilterOperator.IN] },
317
317
 
318
+ /**
319
+ * Required: false
320
+ * Type: boolean
321
+ * Default: false
322
+ * Description: Throw a 400 error when a request uses an unknown filter column
323
+ * or a non-whitelisted filter operator/suffix. When disabled, invalid filters
324
+ * are silently ignored.
325
+ */
326
+ throwOnInvalidFilter: false,
327
+
318
328
  /**
319
329
  * Required: false
320
330
  * Type: RelationColumn<CatEntity>
@@ -630,9 +640,49 @@ const config: PaginateConfig<CatEntity> = {
630
640
  const result = await paginate<CatEntity>(query, catRepo, config)
631
641
  ```
632
642
 
643
+ ## Polymorphic sorting
644
+
645
+ Sometimes the value you want to sort on can come from one of several columns — for
646
+ example a record that links to one of two relations and you want to order by
647
+ whichever one is set. Join columns into a single sort term with `~` and the rows
648
+ are ordered by the `COALESCE` of those columns (the first non-`null` value per row).
649
+
650
+ ### Endpoint
651
+
652
+ ```
653
+ http://localhost:3000/cats?sortBy=bestFriend.age~nemesis.age:DESC
654
+ ```
655
+
656
+ This orders by `COALESCE(bestFriend.age, nemesis.age)` — a cat's best friend's age,
657
+ or its nemesis's age when it has no best friend.
658
+
659
+ ### Code
660
+
661
+ ```typescript
662
+ const config: PaginateConfig<CatEntity> = {
663
+ // Every column used in a group must be listed in sortableColumns.
664
+ sortableColumns: ['id', 'bestFriend.age', 'nemesis.age'],
665
+ relations: ['bestFriend', 'nemesis'],
666
+ }
667
+ ```
668
+
669
+ Notes and limitations:
670
+
671
+ - The grouped columns must be **type-compatible** (e.g. all numbers, or all dates).
672
+ Mixing incompatible types lets the database raise its own error; types are not
673
+ coerced for you.
674
+ - A group is only applied when **every** column in it is listed in `sortableColumns`;
675
+ otherwise the term is ignored.
676
+ - Only **plain** and **relation** columns are supported in a group. Embedded, virtual,
677
+ and JSONB-path columns are rejected.
678
+ - Polymorphic groups are **not supported with cursor pagination** (the COALESCE value
679
+ cannot be encoded into a cursor) and will throw.
680
+
633
681
  ## Filters
634
682
 
635
683
  Filter operators must be whitelisted per column in `PaginateConfig`.
684
+ By default, unknown filter columns and invalid filter operators are ignored. Set
685
+ `throwOnInvalidFilter: true` to return `400 Bad Request` instead.
636
686
 
637
687
  ### Examples
638
688
 
@@ -20,6 +20,8 @@ export declare class CatEntity {
20
20
  deletedAt?: string;
21
21
  friends: CatEntity[];
22
22
  friendOf: CatEntity[];
23
+ bestFriend: CatEntity | null;
24
+ nemesis: CatEntity | null;
23
25
  weightChange: number | null;
24
26
  private afterLoad;
25
27
  }
@@ -90,6 +90,14 @@ __decorate([
90
90
  (0, typeorm_1.ManyToMany)(() => CatEntity, (cat) => cat.friends),
91
91
  __metadata("design:type", Array)
92
92
  ], CatEntity.prototype, "friendOf", void 0);
93
+ __decorate([
94
+ (0, typeorm_1.ManyToOne)(() => CatEntity, { nullable: true }),
95
+ __metadata("design:type", CatEntity)
96
+ ], CatEntity.prototype, "bestFriend", void 0);
97
+ __decorate([
98
+ (0, typeorm_1.ManyToOne)(() => CatEntity, { nullable: true }),
99
+ __metadata("design:type", CatEntity)
100
+ ], CatEntity.prototype, "nemesis", void 0);
93
101
  __decorate([
94
102
  (0, typeorm_1.Column)({ type: 'decimal', precision: 5, scale: 2, nullable: true }),
95
103
  __metadata("design:type", Number)
@@ -1 +1 @@
1
- {"version":3,"file":"cat.entity.js","sourceRoot":"","sources":["../../src/__tests__/cat.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAYgB;AAChB,uDAAiD;AACjD,qDAA+C;AAC/C,mDAAuE;AACvE,6CAAwC;AAExC,IAAY,aAIX;AAJD,WAAY,aAAa;IACrB,4BAAW,CAAA;IACX,kCAAiB,CAAA;IACjB,8BAAa,CAAA;AACjB,CAAC,EAJW,aAAa,6BAAb,aAAa,QAIxB;AAGM,IAAM,SAAS,GAAf,MAAM,SAAS;IAkDV,SAAS;;QACb,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,CAAA,MAAA,IAAI,CAAC,IAAI,0CAAE,EAAE,CAAA,EAAE,CAAC;YAC9B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QACpB,CAAC;QAED,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA,CAAC,gDAAgD;QAClG,CAAC;IACL,CAAC;CACJ,CAAA;AA3DY,8BAAS;AAElB;IADC,IAAA,gCAAsB,GAAE;;qCACf;AAGV;IADC,IAAA,gBAAM,GAAE;;uCACG;AAGZ;IADC,IAAA,gBAAM,GAAE;;wCACI;AAGb;IADC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;sCACT;AAGlB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,yFAAyF;;;gDACvF;AAG5B;IADC,IAAA,gBAAM,EAAC,kCAAkB,CAAC;8BACb,IAAI;+CAAO;AAGzB;IADC,IAAA,gBAAM,EAAC,GAAG,EAAE,CAAC,sBAAS,CAAC;8BAClB,sBAAS;uCAAA;AAKf;IAHC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,6BAAY,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE;QACnD,KAAK,EAAE,IAAI;KACd,CAAC;;uCACkB;AAIpB;IAFC,IAAA,kBAAQ,EAAC,GAAG,EAAE,CAAC,+BAAa,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC3E,IAAA,oBAAU,GAAE;8BACP,+BAAa;uCAAA;AAGnB;IADC,IAAA,0BAAgB,EAAC,iCAAiB,CAAC;;4CACnB;AAGjB;IADC,IAAA,0BAAgB,EAAC,kCAAkB,CAAC;;4CACnB;AAIlB;IAFC,IAAA,oBAAU,EAAC,GAAG,EAAE,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClD,IAAA,mBAAS,GAAE;;0CACQ;AAGpB;IADC,IAAA,oBAAU,EAAC,GAAG,EAAE,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC;;2CAC7B;AAGrB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;+CACzC;AAKnB;IAHP,IAAA,mBAAS,GAAE;IACZ,yDAAyD;IACzD,mGAAmG;;;;;0CASlG;oBA1DQ,SAAS;IADrB,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;GACX,SAAS,CA2DrB"}
1
+ {"version":3,"file":"cat.entity.js","sourceRoot":"","sources":["../../src/__tests__/cat.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAagB;AAChB,uDAAiD;AACjD,qDAA+C;AAC/C,mDAAuE;AACvE,6CAAwC;AAExC,IAAY,aAIX;AAJD,WAAY,aAAa;IACrB,4BAAW,CAAA;IACX,kCAAiB,CAAA;IACjB,8BAAa,CAAA;AACjB,CAAC,EAJW,aAAa,6BAAb,aAAa,QAIxB;AAGM,IAAM,SAAS,GAAf,MAAM,SAAS;IA0DV,SAAS;;QACb,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,CAAA,MAAA,IAAI,CAAC,IAAI,0CAAE,EAAE,CAAA,EAAE,CAAC;YAC9B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QACpB,CAAC;QAED,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA,CAAC,gDAAgD;QAClG,CAAC;IACL,CAAC;CACJ,CAAA;AAnEY,8BAAS;AAElB;IADC,IAAA,gCAAsB,GAAE;;qCACf;AAGV;IADC,IAAA,gBAAM,GAAE;;uCACG;AAGZ;IADC,IAAA,gBAAM,GAAE;;wCACI;AAGb;IADC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;sCACT;AAGlB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,yFAAyF;;;gDACvF;AAG5B;IADC,IAAA,gBAAM,EAAC,kCAAkB,CAAC;8BACb,IAAI;+CAAO;AAGzB;IADC,IAAA,gBAAM,EAAC,GAAG,EAAE,CAAC,sBAAS,CAAC;8BAClB,sBAAS;uCAAA;AAKf;IAHC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,6BAAY,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE;QACnD,KAAK,EAAE,IAAI;KACd,CAAC;;uCACkB;AAIpB;IAFC,IAAA,kBAAQ,EAAC,GAAG,EAAE,CAAC,+BAAa,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC3E,IAAA,oBAAU,GAAE;8BACP,+BAAa;uCAAA;AAGnB;IADC,IAAA,0BAAgB,EAAC,iCAAiB,CAAC;;4CACnB;AAGjB;IADC,IAAA,0BAAgB,EAAC,kCAAkB,CAAC;;4CACnB;AAIlB;IAFC,IAAA,oBAAU,EAAC,GAAG,EAAE,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClD,IAAA,mBAAS,GAAE;;0CACQ;AAGpB;IADC,IAAA,oBAAU,EAAC,GAAG,EAAE,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC;;2CAC7B;AAKrB;IADC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;8BACnC,SAAS;6CAAO;AAG5B;IADC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;8BACtC,SAAS;0CAAO;AAGzB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;+CACzC;AAKnB;IAHP,IAAA,mBAAS,GAAE;IACZ,yDAAyD;IACzD,mGAAmG;;;;;0CASlG;oBAlEQ,SAAS;IADrB,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;GACX,SAAS,CAmErB"}
@@ -1,7 +1,7 @@
1
1
  export interface PaginateQuery {
2
2
  page?: number;
3
3
  limit?: number;
4
- sortBy?: [string, string][];
4
+ sortBy?: [string | string[], string][];
5
5
  searchBy?: string[];
6
6
  search?: string;
7
7
  filter?: {
package/lib/decorator.js CHANGED
@@ -44,6 +44,7 @@ function parseIntParam(v) {
44
44
  return result;
45
45
  }
46
46
  exports.Paginate = (0, common_1.createParamDecorator)((_data, ctx) => {
47
+ var _a;
47
48
  let path;
48
49
  let query;
49
50
  switch (ctx.getType()) {
@@ -71,7 +72,7 @@ exports.Paginate = (0, common_1.createParamDecorator)((_data, ctx) => {
71
72
  break;
72
73
  }
73
74
  const searchBy = parseParam(query.searchBy, singleSplit);
74
- const sortBy = parseParam(query.sortBy, multipleSplit);
75
+ const sortBy = (_a = parseParam(query.sortBy, multipleSplit)) === null || _a === void 0 ? void 0 : _a.map(([column, order]) => [column.includes('~') ? column.split('~') : column, order]);
75
76
  const select = parseParam(query.select, multipleAndCommaSplit);
76
77
  const filter = (0, lodash_1.mapKeys)((0, lodash_1.pickBy)(query, (param, name) => name.includes('filter.') &&
77
78
  ((0, lodash_1.isString)(param) || (Array.isArray(param) && param.every((p) => (0, lodash_1.isString)(p))))), (_param, name) => name.replace('filter.', ''));
@@ -1 +1 @@
1
- {"version":3,"file":"decorator.js","sourceRoot":"","sources":["../src/decorator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"decorator.js","sourceRoot":"","sources":["../src/decorator.ts"],"names":[],"mappings":"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"}
@@ -161,6 +161,16 @@ describe('Decorator', () => {
161
161
  cursor: 'abc123',
162
162
  });
163
163
  });
164
+ it('should parse polymorphic (~) sort groups into column arrays', () => {
165
+ const context = expressContextFactory({
166
+ sortBy: ['bestFriend.age~nemesis.age:ASC', 'name:DESC'],
167
+ });
168
+ const result = decoratorfactory(null, context);
169
+ expect(result.sortBy).toStrictEqual([
170
+ [['bestFriend.age', 'nemesis.age'], 'ASC'],
171
+ ['name', 'DESC'],
172
+ ]);
173
+ });
164
174
  it('should handle fastify defined query fields', () => {
165
175
  const context = fastifyContextFactory({
166
176
  page: '1',
@@ -1 +1 @@
1
- {"version":3,"file":"decorator.spec.js","sourceRoot":"","sources":["../src/decorator.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"decorator.spec.js","sourceRoot":"","sources":["../src/decorator.spec.ts"],"names":[],"mappings":"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"}
package/lib/filter.d.ts CHANGED
@@ -94,7 +94,7 @@ export declare function addWhereCondition<T>(qb: SelectQueryBuilder<T>, column:
94
94
  export declare function parseFilterToken(raw?: string): FilterToken | null;
95
95
  export declare function parseFilter<T>(query: PaginateQuery, filterableColumns?: {
96
96
  [column: string]: (FilterOperator | FilterSuffix | FilterQuantifier | FilterComparator)[] | true;
97
- }, qb?: SelectQueryBuilder<T>): ColumnFilters;
97
+ }, qb?: SelectQueryBuilder<T>, throwOnInvalidFilter?: boolean): ColumnFilters;
98
98
  /**
99
99
  * Retrieves the relation path for a given column name within the provided metadata.
100
100
  *
@@ -126,7 +126,7 @@ export interface AddFilterOptions {
126
126
  }
127
127
  export declare function addFilter<T>(qb: SelectQueryBuilder<T>, query: PaginateQuery, filterableColumns?: {
128
128
  [column: string]: (FilterOperator | FilterSuffix | FilterQuantifier | FilterComparator)[] | true;
129
- }, opts?: AddFilterOptions): ColumnJoinMethods;
129
+ }, opts?: AddFilterOptions, throwOnInvalidFilter?: boolean): ColumnJoinMethods;
130
130
  export declare function addDirectFilters<T>(qb: SelectQueryBuilder<T>, filter: ColumnFilters): void;
131
131
  /**
132
132
  * Adds correlated EXISTS subqueries to `qb` for all to-many relationship filters in `filter`.
package/lib/filter.js CHANGED
@@ -16,6 +16,7 @@ exports.addFilter = addFilter;
16
16
  exports.addDirectFilters = addDirectFilters;
17
17
  exports.addToManySubFilters = addToManySubFilters;
18
18
  exports.createSubFilter = createSubFilter;
19
+ const common_1 = require("@nestjs/common");
19
20
  const lodash_1 = require("lodash");
20
21
  const typeorm_1 = require("typeorm");
21
22
  const helper_1 = require("./helper");
@@ -244,13 +245,16 @@ function fixColumnFilterValue(column, qb, isJsonb = false) {
244
245
  return value;
245
246
  };
246
247
  }
247
- function parseFilter(query, filterableColumns, qb) {
248
+ function parseFilter(query, filterableColumns, qb, throwOnInvalidFilter = false) {
248
249
  const filter = {};
249
250
  if (!filterableColumns || !query.filter) {
250
251
  return {};
251
252
  }
252
253
  for (const column of Object.keys(query.filter)) {
253
254
  if (!(column in filterableColumns)) {
255
+ if (throwOnInvalidFilter) {
256
+ throw new common_1.BadRequestException(`Column '${column}' is not filterable`);
257
+ }
254
258
  continue;
255
259
  }
256
260
  const allowedOperators = filterableColumns[column];
@@ -263,9 +267,15 @@ function parseFilter(query, filterableColumns, qb) {
263
267
  }
264
268
  if (allowedOperators === true) {
265
269
  if (token.operator && !isOperator(token.operator)) {
270
+ if (throwOnInvalidFilter) {
271
+ throw new common_1.BadRequestException(`Invalid filter operator '${token.operator}' for column '${column}'`);
272
+ }
266
273
  continue;
267
274
  }
268
275
  if (token.suffix && !isSuffix(token.suffix)) {
276
+ if (throwOnInvalidFilter) {
277
+ throw new common_1.BadRequestException(`Invalid filter suffix '${token.suffix}' for column '${column}'`);
278
+ }
269
279
  continue;
270
280
  }
271
281
  }
@@ -273,9 +283,15 @@ function parseFilter(query, filterableColumns, qb) {
273
283
  if (token.operator &&
274
284
  token.operator !== FilterOperator.EQ &&
275
285
  !allowedOperators.includes(token.operator)) {
286
+ if (throwOnInvalidFilter) {
287
+ throw new common_1.BadRequestException(`Filter operator '${token.operator}' is not allowed for column '${column}'`);
288
+ }
276
289
  continue;
277
290
  }
278
291
  if (token.suffix && !allowedOperators.includes(token.suffix)) {
292
+ if (throwOnInvalidFilter) {
293
+ throw new common_1.BadRequestException(`Filter suffix '${token.suffix}' is not allowed for column '${column}'`);
294
+ }
279
295
  continue;
280
296
  }
281
297
  if (token.quantifier !== FilterQuantifier.ANY && !allowedOperators.includes(token.quantifier)) {
@@ -462,9 +478,9 @@ function findFirstToManyRelationship(columnName, metadata) {
462
478
  relation: relationPath[firstToMany][1],
463
479
  };
464
480
  }
465
- function addFilter(qb, query, filterableColumns, opts = {}) {
481
+ function addFilter(qb, query, filterableColumns, opts = {}, throwOnInvalidFilter = false) {
466
482
  const mainMetadata = qb.expressionMap.mainAlias.metadata;
467
- const filter = parseFilter(query, filterableColumns, qb);
483
+ const filter = parseFilter(query, filterableColumns, qb, throwOnInvalidFilter);
468
484
  addDirectFilters(qb, filter);
469
485
  addToManySubFilters(qb, filter, query, filterableColumns, opts);
470
486
  // Direct filters require to be joined, so pass the join information back up to the main pagination builder
package/lib/filter.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"filter.js","sourceRoot":"","sources":["../src/filter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"filter.js","sourceRoot":"","sources":["../src/filter.ts"],"names":[],"mappings":"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"}
package/lib/helper.d.ts CHANGED
@@ -34,7 +34,7 @@ export type Column<T, D extends number = 2> = [D] extends [never] ? never : T ex
34
34
  export type RelationColumn<T> = Extract<Column<T>, {
35
35
  [K in Column<T>]: K extends `${infer R}.${string}` ? R : never;
36
36
  }[Column<T>]>;
37
- export type Order<T> = [Column<T>, 'ASC' | 'DESC'];
37
+ export type Order<T> = [Column<T> | Column<T>[], 'ASC' | 'DESC'];
38
38
  export type SortBy<T> = Order<T>[];
39
39
  export type MappedColumns<T, S> = {
40
40
  [key in Column<T> | (string & {})]: S;
package/lib/paginate.d.ts CHANGED
@@ -56,6 +56,7 @@ export interface PaginateConfig<T> {
56
56
  defaultJoinMethod?: JoinMethod;
57
57
  joinMethods?: Partial<MappedColumns<T, JoinMethod>>;
58
58
  buildCountQuery?: (qb: SelectQueryBuilder<T>) => SelectQueryBuilder<any>;
59
+ throwOnInvalidFilter?: boolean;
59
60
  }
60
61
  export declare enum PaginationLimit {
61
62
  NO_PAGINATION = -1,
package/lib/paginate.js CHANGED
@@ -302,7 +302,18 @@ async function paginate(query, repo, config) {
302
302
  const sortBy = [];
303
303
  if (query.sortBy) {
304
304
  for (const order of query.sortBy) {
305
- if ((0, helper_1.isEntityKey)(config.sortableColumns, order[0]) && ['ASC', 'DESC'].includes(order[1])) {
305
+ const [column, direction] = order;
306
+ if (!['ASC', 'DESC'].includes(direction)) {
307
+ continue;
308
+ }
309
+ // A polymorphic group (e.g. `colA~colB`) is valid only when every
310
+ // column in the group is sortable.
311
+ if (Array.isArray(column)) {
312
+ if (column.length > 0 && column.every((c) => (0, helper_1.isEntityKey)(config.sortableColumns, c))) {
313
+ sortBy.push(order);
314
+ }
315
+ }
316
+ else if ((0, helper_1.isEntityKey)(config.sortableColumns, column)) {
306
317
  sortBy.push(order);
307
318
  }
308
319
  }
@@ -310,6 +321,12 @@ async function paginate(query, repo, config) {
310
321
  if (!sortBy.length) {
311
322
  sortBy.push(...(config.defaultSortBy || [[config.sortableColumns[0], 'ASC']]));
312
323
  }
324
+ // Polymorphic sort groups rely on a COALESCE expression in the SELECT/ORDER BY,
325
+ // which cannot be encoded into a cursor token. Reject the combination explicitly
326
+ // rather than producing silently-wrong cursors.
327
+ if (config.paginationType === PaginationType.CURSOR && sortBy.some(([column]) => Array.isArray(column))) {
328
+ logAndThrowException('Polymorphic sort groups (using "~") are not supported with cursor pagination.');
329
+ }
313
330
  const searchBy = [];
314
331
  let [items, totalItems] = [[], 0];
315
332
  const queryBuilder = (0, helper_1.isRepository)(repo) ? repo.createQueryBuilder('__root') : repo;
@@ -429,6 +446,8 @@ async function paginate(query, repo, config) {
429
446
  }
430
447
  };
431
448
  const cursorExpressions = sortBy.map(([column, direction]) => {
449
+ // Polymorphic sort groups are rejected for cursor pagination above,
450
+ // so every column here is a plain string.
432
451
  const columnProperties = (0, helper_1.getPropertiesByColumnName)(column);
433
452
  const { isVirtualProperty, query: virtualQuery } = (0, helper_1.extractVirtualProperty)(queryBuilder, columnProperties);
434
453
  const isRelation = (0, helper_1.checkIsRelation)(queryBuilder, columnProperties.propertyPath);
@@ -484,7 +503,7 @@ async function paginate(query, repo, config) {
484
503
  if (query.filter) {
485
504
  filterJoinMethods = (0, filter_1.addFilter)(queryBuilder, query, config.filterableColumns, {
486
505
  maxAndValues: config.maxAndValues,
487
- });
506
+ }, config.throwOnInvalidFilter);
488
507
  }
489
508
  const joinMethods = Object.assign(Object.assign({}, filterJoinMethods), config.joinMethods);
490
509
  // Add the relations specified by the config, or used in the currently
@@ -504,7 +523,45 @@ async function paginate(query, repo, config) {
504
523
  }
505
524
  }
506
525
  for (const order of sortBy) {
507
- const columnProperties = (0, helper_1.getPropertiesByColumnName)(order[0]);
526
+ const [sortColumn, sortDirection] = order;
527
+ // Polymorphic sort: `colA~colB` sorts by COALESCE(colA, colB) — the first
528
+ // non-null value per row. The grouped columns must be type-compatible.
529
+ if (Array.isArray(sortColumn)) {
530
+ const escape = (identifier) => queryBuilder.connection.driver.escape(identifier);
531
+ const coalesceExpr = `COALESCE(${sortColumn
532
+ .map((column) => {
533
+ const props = (0, helper_1.getPropertiesByColumnName)(column);
534
+ const { isVirtualProperty } = (0, helper_1.extractVirtualProperty)(queryBuilder, props);
535
+ const isEmbedded = (0, helper_1.checkIsEmbedded)(queryBuilder, props.propertyPath);
536
+ if (isVirtualProperty || isEmbedded || (0, helper_1.resolveJsonbPath)(queryBuilder, props.column).isJsonb) {
537
+ logAndThrowException(`Polymorphic sort groups (using "~") support only plain and relation columns, not "${column}".`);
538
+ }
539
+ const isRelation = (0, helper_1.checkIsRelation)(queryBuilder, props.propertyPath);
540
+ // For plain and relation columns fixColumnAlias returns `<alias>.<column>`
541
+ // with a single dot. Escape each identifier so camel-cased columns work
542
+ // on case-folding drivers (e.g. Postgres), since this raw expression is
543
+ // added to the SELECT list and is not escaped by the query builder.
544
+ const ref = (0, helper_1.fixColumnAlias)(props, queryBuilder.alias, isRelation, false, false, undefined, queryBuilder);
545
+ const separator = ref.indexOf('.');
546
+ return `${escape(ref.slice(0, separator))}.${escape(ref.slice(separator + 1))}`;
547
+ })
548
+ .join(', ')})`;
549
+ const polymorphAlias = `_polymorph_${sortColumn.join('_').replace(/[^a-zA-Z0-9]/g, '_')}`.toLowerCase();
550
+ queryBuilder.addSelect(coalesceExpr, polymorphAlias);
551
+ if (isMySqlOrMariaDb) {
552
+ if (nullSort) {
553
+ const selectionAliasName = `${polymorphAlias}IsNull`;
554
+ queryBuilder.addSelect(`${coalesceExpr} ${nullSort}`, selectionAliasName);
555
+ queryBuilder.addOrderBy(selectionAliasName);
556
+ }
557
+ queryBuilder.addOrderBy(polymorphAlias, sortDirection);
558
+ }
559
+ else {
560
+ queryBuilder.addOrderBy(polymorphAlias, sortDirection, nullSort);
561
+ }
562
+ continue;
563
+ }
564
+ const columnProperties = (0, helper_1.getPropertiesByColumnName)(sortColumn);
508
565
  const { isVirtualProperty, query: virtualQuery } = (0, helper_1.extractVirtualProperty)(queryBuilder, columnProperties);
509
566
  const isRelation = (0, helper_1.checkIsRelation)(queryBuilder, columnProperties.propertyPath);
510
567
  const isEmbedded = (0, helper_1.checkIsEmbedded)(queryBuilder, columnProperties.propertyPath);