nestjs-paginate 4.6.4 → 4.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/lib/__tests__/cat-home.entity.d.ts +1 -0
- package/lib/__tests__/cat-home.entity.js +6 -0
- package/lib/__tests__/cat-home.entity.js.map +1 -1
- package/lib/__tests__/cat.entity.d.ts +1 -0
- package/lib/__tests__/cat.entity.js +16 -1
- package/lib/__tests__/cat.entity.js.map +1 -1
- package/lib/filter.d.ts +7 -0
- package/lib/filter.js +54 -0
- package/lib/filter.js.map +1 -0
- package/lib/helper.d.ts +13 -0
- package/lib/helper.js +51 -1
- package/lib/helper.js.map +1 -1
- package/lib/paginate.js +24 -50
- package/lib/paginate.js.map +1 -1
- package/lib/paginate.spec.js +105 -29
- package/lib/paginate.spec.js.map +1 -1
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -2
|
@@ -30,6 +30,12 @@ __decorate([
|
|
|
30
30
|
(0, typeorm_1.CreateDateColumn)(),
|
|
31
31
|
__metadata("design:type", String)
|
|
32
32
|
], CatHomeEntity.prototype, "createdAt", void 0);
|
|
33
|
+
__decorate([
|
|
34
|
+
(0, typeorm_1.VirtualColumn)({
|
|
35
|
+
query: (alias) => `SELECT CAST(COUNT(*) AS INT) FROM "cat" WHERE "cat"."homeId" = ${alias}.id`,
|
|
36
|
+
}),
|
|
37
|
+
__metadata("design:type", Number)
|
|
38
|
+
], CatHomeEntity.prototype, "countCat", void 0);
|
|
33
39
|
CatHomeEntity = __decorate([
|
|
34
40
|
(0, typeorm_1.Entity)()
|
|
35
41
|
], CatHomeEntity);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cat-home.entity.js","sourceRoot":"","sources":["../../src/__tests__/cat-home.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"cat-home.entity.js","sourceRoot":"","sources":["../../src/__tests__/cat-home.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAA2G;AAC3G,6CAAwC;AAGjC,IAAM,aAAa,GAAnB,MAAM,aAAa;CAiBzB,CAAA;AAhBG;IAAC,IAAA,gCAAsB,GAAE;;yCACf;AAEV;IAAC,IAAA,gBAAM,GAAE;;2CACG;AAEZ;IAAC,IAAA,kBAAQ,EAAC,GAAG,EAAE,CAAC,sBAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC;8BACxC,sBAAS;0CAAA;AAEd;IAAC,IAAA,0BAAgB,GAAE;;gDACF;AAEjB;IAAC,IAAA,uBAAa,EAAC;QACX,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,mEAAmE,KAAK,KAAK;KAClG,CAAC;;+CACc;AAhBP,aAAa;IADzB,IAAA,gBAAM,GAAE;GACI,aAAa,CAiBzB;AAjBY,sCAAa"}
|
|
@@ -15,6 +15,12 @@ const cat_toy_entity_1 = require("./cat-toy.entity");
|
|
|
15
15
|
const cat_home_entity_1 = require("./cat-home.entity");
|
|
16
16
|
const size_embed_1 = require("./size.embed");
|
|
17
17
|
let CatEntity = class CatEntity {
|
|
18
|
+
afterLoad() {
|
|
19
|
+
var _a;
|
|
20
|
+
if (this.home && !((_a = this.home) === null || _a === void 0 ? void 0 : _a.id)) {
|
|
21
|
+
this.home = null;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
18
24
|
};
|
|
19
25
|
__decorate([
|
|
20
26
|
(0, typeorm_1.PrimaryGeneratedColumn)(),
|
|
@@ -53,8 +59,17 @@ __decorate([
|
|
|
53
59
|
(0, typeorm_1.DeleteDateColumn)({ nullable: true }),
|
|
54
60
|
__metadata("design:type", String)
|
|
55
61
|
], CatEntity.prototype, "deletedAt", void 0);
|
|
62
|
+
__decorate([
|
|
63
|
+
(0, typeorm_1.AfterLoad)()
|
|
64
|
+
// Fix due to typeorm bug that doesn't set entity to null
|
|
65
|
+
// when the reletated entity have only the virtual column property with a value different from null
|
|
66
|
+
,
|
|
67
|
+
__metadata("design:type", Function),
|
|
68
|
+
__metadata("design:paramtypes", []),
|
|
69
|
+
__metadata("design:returntype", void 0)
|
|
70
|
+
], CatEntity.prototype, "afterLoad", null);
|
|
56
71
|
CatEntity = __decorate([
|
|
57
|
-
(0, typeorm_1.Entity)()
|
|
72
|
+
(0, typeorm_1.Entity)({ name: 'cat' })
|
|
58
73
|
], CatEntity);
|
|
59
74
|
exports.CatEntity = CatEntity;
|
|
60
75
|
//# sourceMappingURL=cat.entity.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cat.entity.js","sourceRoot":"","sources":["../../src/__tests__/cat.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"cat.entity.js","sourceRoot":"","sources":["../../src/__tests__/cat.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAUgB;AAChB,qDAA+C;AAC/C,uDAAiD;AACjD,6CAAwC;AAGjC,IAAM,SAAS,GAAf,MAAM,SAAS;IAgCV,SAAS;;QACb,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,CAAA,MAAA,IAAI,CAAC,IAAI,0CAAE,EAAE,CAAA,EAAE;YAC7B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;SACnB;IACL,CAAC;CACJ,CAAA;AApCG;IAAC,IAAA,gCAAsB,GAAE;;qCACf;AAEV;IAAC,IAAA,gBAAM,GAAE;;uCACG;AAEZ;IAAC,IAAA,gBAAM,GAAE;;wCACI;AAEb;IAAC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;sCACT;AAElB;IAAC,IAAA,gBAAM,EAAC,GAAG,EAAE,CAAC,sBAAS,CAAC;8BAClB,sBAAS;uCAAA;AAEf;IAAC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,6BAAY,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC;;uCAClC;AAEpB;IAAC,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;AAEnB;IAAC,IAAA,0BAAgB,GAAE;;4CACF;AAEjB;IAAC,IAAA,0BAAgB,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;4CACnB;AAElB;IAAC,IAAA,mBAAS,GAAE;IACZ,yDAAyD;IACzD,mGAAmG;;;;;0CAKlG;AApCQ,SAAS;IADrB,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;GACX,SAAS,CAqCrB;AArCY,8BAAS"}
|
package/lib/filter.d.ts
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { FindOperator, SelectQueryBuilder } from 'typeorm';
|
|
2
|
+
import { WherePredicateOperator } from 'typeorm/query-builder/WhereClause';
|
|
3
|
+
export type Filter = {
|
|
4
|
+
[columnName: string]: FindOperator<string>;
|
|
5
|
+
};
|
|
6
|
+
export declare function generatePredicateCondition(qb: SelectQueryBuilder<unknown>, column: string, filter: Filter, alias: string, isVirtualProperty?: boolean): WherePredicateOperator;
|
|
7
|
+
export declare function addWhereCondition(qb: SelectQueryBuilder<unknown>, column: string, filter: Filter): void;
|
package/lib/filter.js
ADDED
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.addWhereCondition = exports.generatePredicateCondition = void 0;
|
|
4
|
+
const helper_1 = require("./helper");
|
|
5
|
+
function generatePredicateCondition(qb, column, filter, alias, isVirtualProperty = false) {
|
|
6
|
+
return qb['getWherePredicateCondition'](isVirtualProperty ? column : alias, filter[column]);
|
|
7
|
+
}
|
|
8
|
+
exports.generatePredicateCondition = generatePredicateCondition;
|
|
9
|
+
// This function is used to fix the query parameters when using relation, embeded or virtual properties
|
|
10
|
+
// It will replace the column name with the alias name and return the new parameters
|
|
11
|
+
function fixQueryParam(alias, column, filter, condition, parameters) {
|
|
12
|
+
const isNotOperator = condition.operator === 'not';
|
|
13
|
+
const conditionFixer = (alias, column, filter, operator, parameters) => {
|
|
14
|
+
let condition_params = undefined;
|
|
15
|
+
let params = parameters;
|
|
16
|
+
switch (operator) {
|
|
17
|
+
case 'between':
|
|
18
|
+
condition_params = [alias, `:${column}_from`, `:${column}_to`];
|
|
19
|
+
params = {
|
|
20
|
+
[column + '_from']: filter[column].value[0],
|
|
21
|
+
[column + '_to']: filter[column].value[1],
|
|
22
|
+
};
|
|
23
|
+
break;
|
|
24
|
+
case 'in':
|
|
25
|
+
condition_params = [alias, `:...${column}`];
|
|
26
|
+
break;
|
|
27
|
+
default:
|
|
28
|
+
condition_params = [alias, `:${column}`];
|
|
29
|
+
break;
|
|
30
|
+
}
|
|
31
|
+
return { condition_params, params };
|
|
32
|
+
};
|
|
33
|
+
const { condition_params, params } = conditionFixer(alias, column, filter, isNotOperator ? condition['condition']['operator'] : condition.operator, parameters);
|
|
34
|
+
if (isNotOperator) {
|
|
35
|
+
condition['condition']['parameters'] = condition_params;
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
condition.parameters = condition_params;
|
|
39
|
+
}
|
|
40
|
+
return params;
|
|
41
|
+
}
|
|
42
|
+
function addWhereCondition(qb, column, filter) {
|
|
43
|
+
const columnProperties = (0, helper_1.getPropertiesByColumnName)(column);
|
|
44
|
+
const { isVirtualProperty, query: virtualQuery } = (0, helper_1.extractVirtualProperty)(qb, columnProperties);
|
|
45
|
+
const isRelation = (0, helper_1.checkIsRelation)(qb, columnProperties.propertyPath);
|
|
46
|
+
const alias = (0, helper_1.fixColumnAlias)(columnProperties, qb.alias, isRelation, isVirtualProperty, virtualQuery);
|
|
47
|
+
const condition = generatePredicateCondition(qb, column, filter, alias, isVirtualProperty);
|
|
48
|
+
const parameters = fixQueryParam(alias, column, filter, condition, {
|
|
49
|
+
[column]: filter[column].value,
|
|
50
|
+
});
|
|
51
|
+
qb.andWhere(qb['createWhereConditionExpression'](condition), parameters);
|
|
52
|
+
}
|
|
53
|
+
exports.addWhereCondition = addWhereCondition;
|
|
54
|
+
//# sourceMappingURL=filter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filter.js","sourceRoot":"","sources":["../src/filter.ts"],"names":[],"mappings":"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"}
|
package/lib/helper.d.ts
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { SelectQueryBuilder } from 'typeorm';
|
|
2
|
+
import { ColumnMetadata } from 'typeorm/metadata/ColumnMetadata';
|
|
1
3
|
type Join<K, P> = K extends string ? (P extends string ? `${K}${'' extends P ? '' : '.'}${P}` : never) : never;
|
|
2
4
|
type Prev = [never, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, ...0[]];
|
|
3
5
|
export type Column<T, D extends number = 2> = [D] extends [never] ? never : T extends Record<string, any> ? {
|
|
@@ -9,4 +11,15 @@ export type RelationColumn<T> = Extract<Column<T>, {
|
|
|
9
11
|
export type Order<T> = [Column<T>, 'ASC' | 'DESC'];
|
|
10
12
|
export type SortBy<T> = Order<T>[];
|
|
11
13
|
export declare const positiveNumberOrDefault: (value: number | undefined, defaultValue: number, minValue?: 0 | 1) => number;
|
|
14
|
+
type ColumnProperties = {
|
|
15
|
+
propertyPath?: string;
|
|
16
|
+
propertyName: string;
|
|
17
|
+
};
|
|
18
|
+
export declare function getPropertiesByColumnName(column: string): ColumnProperties;
|
|
19
|
+
export declare function extractVirtualProperty(qb: SelectQueryBuilder<unknown>, columnProperties: ColumnProperties): {
|
|
20
|
+
isVirtualProperty: boolean;
|
|
21
|
+
query?: ColumnMetadata['query'];
|
|
22
|
+
};
|
|
23
|
+
export declare function checkIsRelation(qb: SelectQueryBuilder<unknown>, propertyPath: string): boolean;
|
|
24
|
+
export declare function fixColumnAlias(properties: ColumnProperties, alias: string, isRelation?: boolean, isVirtualProperty?: boolean, query?: ColumnMetadata['query']): string;
|
|
12
25
|
export {};
|
package/lib/helper.js
CHANGED
|
@@ -1,6 +1,56 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.positiveNumberOrDefault = void 0;
|
|
3
|
+
exports.fixColumnAlias = exports.checkIsRelation = exports.extractVirtualProperty = exports.getPropertiesByColumnName = exports.positiveNumberOrDefault = void 0;
|
|
4
4
|
const positiveNumberOrDefault = (value, defaultValue, minValue = 0) => value === undefined || value < minValue ? defaultValue : value;
|
|
5
5
|
exports.positiveNumberOrDefault = positiveNumberOrDefault;
|
|
6
|
+
function getPropertiesByColumnName(column) {
|
|
7
|
+
const propertyPath = column.split('.');
|
|
8
|
+
return propertyPath.length > 1
|
|
9
|
+
? {
|
|
10
|
+
propertyPath: propertyPath[0],
|
|
11
|
+
propertyName: propertyPath.slice(1).join('.'), // the join is in case of an embedded entity
|
|
12
|
+
}
|
|
13
|
+
: { propertyName: propertyPath[0] };
|
|
14
|
+
}
|
|
15
|
+
exports.getPropertiesByColumnName = getPropertiesByColumnName;
|
|
16
|
+
function extractVirtualProperty(qb, columnProperties) {
|
|
17
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
18
|
+
const metadata = columnProperties.propertyPath
|
|
19
|
+
? (_e = (_d = (_c = (_b = (_a = qb === null || qb === void 0 ? void 0 : qb.expressionMap) === null || _a === void 0 ? void 0 : _a.mainAlias) === null || _b === void 0 ? void 0 : _b.metadata) === null || _c === void 0 ? void 0 : _c.findColumnWithPropertyPath(columnProperties.propertyPath)) === null || _d === void 0 ? void 0 : _d.referencedColumn) === null || _e === void 0 ? void 0 : _e.entityMetadata // on relation
|
|
20
|
+
: (_g = (_f = qb === null || qb === void 0 ? void 0 : qb.expressionMap) === null || _f === void 0 ? void 0 : _f.mainAlias) === null || _g === void 0 ? void 0 : _g.metadata;
|
|
21
|
+
return (((_h = metadata === null || metadata === void 0 ? void 0 : metadata.columns) === null || _h === void 0 ? void 0 : _h.find((column) => column.propertyName === columnProperties.propertyName)) || {
|
|
22
|
+
isVirtualProperty: false,
|
|
23
|
+
query: undefined,
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
exports.extractVirtualProperty = extractVirtualProperty;
|
|
27
|
+
function checkIsRelation(qb, propertyPath) {
|
|
28
|
+
var _a, _b, _c;
|
|
29
|
+
if (!qb || !propertyPath) {
|
|
30
|
+
return false;
|
|
31
|
+
}
|
|
32
|
+
return !!((_c = (_b = (_a = qb === null || qb === void 0 ? void 0 : qb.expressionMap) === null || _a === void 0 ? void 0 : _a.mainAlias) === null || _b === void 0 ? void 0 : _b.metadata) === null || _c === void 0 ? void 0 : _c.hasRelationWithPropertyPath(propertyPath));
|
|
33
|
+
}
|
|
34
|
+
exports.checkIsRelation = checkIsRelation;
|
|
35
|
+
// This function is used to fix the column alias when using relation, embedded or virtual properties
|
|
36
|
+
function fixColumnAlias(properties, alias, isRelation = false, isVirtualProperty = false, query) {
|
|
37
|
+
if (isRelation) {
|
|
38
|
+
if (isVirtualProperty && query) {
|
|
39
|
+
return `(${query(`${alias}_${properties.propertyPath}`)})`; // () is needed to avoid parameter conflict
|
|
40
|
+
}
|
|
41
|
+
else if (isVirtualProperty && !query) {
|
|
42
|
+
return `${alias}_${properties.propertyPath}_${properties.propertyName}`;
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
return `${alias}_${properties.propertyPath}.${properties.propertyName}`; // include embeded property and relation property
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
else if (isVirtualProperty) {
|
|
49
|
+
return query ? `(${query(`${alias}`)})` : `${alias}_${properties.propertyName}`;
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
return `${alias}.${properties.propertyName}`; //
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
exports.fixColumnAlias = fixColumnAlias;
|
|
6
56
|
//# sourceMappingURL=helper.js.map
|
package/lib/helper.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helper.js","sourceRoot":"","sources":["../src/helper.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"helper.js","sourceRoot":"","sources":["../src/helper.ts"],"names":[],"mappings":";;;AAgCO,MAAM,uBAAuB,GAAG,CAAC,KAAyB,EAAE,YAAoB,EAAE,WAAkB,CAAC,EAAE,EAAE,CAC5G,KAAK,KAAK,SAAS,IAAI,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAA;AADrD,QAAA,uBAAuB,2BAC8B;AAIlE,SAAgB,yBAAyB,CAAC,MAAc;IACpD,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IACtC,OAAO,YAAY,CAAC,MAAM,GAAG,CAAC;QAC1B,CAAC,CAAC;YACI,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC;YAC7B,YAAY,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,4CAA4C;SAC9F;QACH,CAAC,CAAC,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,CAAA;AAC3C,CAAC;AARD,8DAQC;AAED,SAAgB,sBAAsB,CAClC,EAA+B,EAC/B,gBAAkC;;IAElC,MAAM,QAAQ,GAAG,gBAAgB,CAAC,YAAY;QAC1C,CAAC,CAAC,MAAA,MAAA,MAAA,MAAA,MAAA,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,aAAa,0CAAE,SAAS,0CAAE,QAAQ,0CAAE,0BAA0B,CAAC,gBAAgB,CAAC,YAAY,CAAC,0CAC3F,gBAAgB,0CAAE,cAAc,CAAC,cAAc;QACvD,CAAC,CAAC,MAAA,MAAA,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,aAAa,0CAAE,SAAS,0CAAE,QAAQ,CAAA;IAC5C,OAAO,CACH,CAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,OAAO,0CAAE,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,YAAY,KAAK,gBAAgB,CAAC,YAAY,CAAC,KAAI;QAC1F,iBAAiB,EAAE,KAAK;QACxB,KAAK,EAAE,SAAS;KACnB,CACJ,CAAA;AACL,CAAC;AAdD,wDAcC;AAED,SAAgB,eAAe,CAAC,EAA+B,EAAE,YAAoB;;IACjF,IAAI,CAAC,EAAE,IAAI,CAAC,YAAY,EAAE;QACtB,OAAO,KAAK,CAAA;KACf;IACD,OAAO,CAAC,CAAC,CAAA,MAAA,MAAA,MAAA,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,aAAa,0CAAE,SAAS,0CAAE,QAAQ,0CAAE,2BAA2B,CAAC,YAAY,CAAC,CAAA,CAAA;AAC9F,CAAC;AALD,0CAKC;AAED,oGAAoG;AACpG,SAAgB,cAAc,CAC1B,UAA4B,EAC5B,KAAa,EACb,UAAU,GAAG,KAAK,EAClB,iBAAiB,GAAG,KAAK,EACzB,KAA+B;IAE/B,IAAI,UAAU,EAAE;QACZ,IAAI,iBAAiB,IAAI,KAAK,EAAE;YAC5B,OAAO,IAAI,KAAK,CAAC,GAAG,KAAK,IAAI,UAAU,CAAC,YAAY,EAAE,CAAC,GAAG,CAAA,CAAC,2CAA2C;SACzG;aAAM,IAAI,iBAAiB,IAAI,CAAC,KAAK,EAAE;YACpC,OAAO,GAAG,KAAK,IAAI,UAAU,CAAC,YAAY,IAAI,UAAU,CAAC,YAAY,EAAE,CAAA;SAC1E;aAAM;YACH,OAAO,GAAG,KAAK,IAAI,UAAU,CAAC,YAAY,IAAI,UAAU,CAAC,YAAY,EAAE,CAAA,CAAC,iDAAiD;SAC5H;KACJ;SAAM,IAAI,iBAAiB,EAAE;QAC1B,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,UAAU,CAAC,YAAY,EAAE,CAAA;KAClF;SAAM;QACH,OAAO,GAAG,KAAK,IAAI,UAAU,CAAC,YAAY,EAAE,CAAA,CAAC,EAAE;KAClD;AACL,CAAC;AApBD,wCAoBC"}
|
package/lib/paginate.js
CHANGED
|
@@ -6,6 +6,7 @@ const common_1 = require("@nestjs/common");
|
|
|
6
6
|
const lodash_1 = require("lodash");
|
|
7
7
|
const querystring_1 = require("querystring");
|
|
8
8
|
const helper_1 = require("./helper");
|
|
9
|
+
const filter_1 = require("./filter");
|
|
9
10
|
const logger = new common_1.Logger('nestjs-paginate');
|
|
10
11
|
class Paginated {
|
|
11
12
|
}
|
|
@@ -183,7 +184,11 @@ async function paginate(query, repo, config) {
|
|
|
183
184
|
let [items, totalItems] = [[], 0];
|
|
184
185
|
const queryBuilder = repo instanceof typeorm_1.Repository ? repo.createQueryBuilder('e') : repo;
|
|
185
186
|
if (isPaginated) {
|
|
186
|
-
|
|
187
|
+
// Switch from take and skip to limit and offset
|
|
188
|
+
// due to this problem https://github.com/typeorm/typeorm/issues/5670
|
|
189
|
+
// (anyway this creates more clean query without double dinstict)
|
|
190
|
+
queryBuilder.limit(limit).offset((page - 1) * limit);
|
|
191
|
+
// queryBuilder.take(limit).skip((page - 1) * limit)
|
|
187
192
|
}
|
|
188
193
|
if ((_a = config.relations) === null || _a === void 0 ? void 0 : _a.length) {
|
|
189
194
|
config.relations.forEach((relation) => {
|
|
@@ -195,12 +200,11 @@ async function paginate(query, repo, config) {
|
|
|
195
200
|
nullSort = config.nullSort === 'last' ? 'NULLS LAST' : 'NULLS FIRST';
|
|
196
201
|
}
|
|
197
202
|
for (const order of sortBy) {
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
}
|
|
203
|
+
const columnProperties = (0, helper_1.getPropertiesByColumnName)(order[0]);
|
|
204
|
+
const { isVirtualProperty } = (0, helper_1.extractVirtualProperty)(queryBuilder, columnProperties);
|
|
205
|
+
const isRelation = (0, helper_1.checkIsRelation)(queryBuilder, columnProperties.propertyPath);
|
|
206
|
+
const alias = (0, helper_1.fixColumnAlias)(columnProperties, queryBuilder.alias, isRelation, isVirtualProperty);
|
|
207
|
+
queryBuilder.addOrderBy(alias, order[1], nullSort);
|
|
204
208
|
}
|
|
205
209
|
if (((_b = config.select) === null || _b === void 0 ? void 0 : _b.length) > 0) {
|
|
206
210
|
const mappedSelect = config.select.map((col) => {
|
|
@@ -221,22 +225,20 @@ async function paginate(query, repo, config) {
|
|
|
221
225
|
if (query.search && searchBy.length) {
|
|
222
226
|
queryBuilder.andWhere(new typeorm_1.Brackets((qb) => {
|
|
223
227
|
for (const column of searchBy) {
|
|
224
|
-
const
|
|
225
|
-
const
|
|
226
|
-
|
|
228
|
+
const property = (0, helper_1.getPropertiesByColumnName)(column);
|
|
229
|
+
const { isVirtualProperty, query: virtualQuery } = (0, helper_1.extractVirtualProperty)(qb, property);
|
|
230
|
+
const isRelation = (0, helper_1.checkIsRelation)(qb, property.propertyPath);
|
|
231
|
+
const alias = (0, helper_1.fixColumnAlias)(property, qb.alias, isRelation, isVirtualProperty, virtualQuery);
|
|
232
|
+
const condition = {
|
|
233
|
+
operator: 'ilike',
|
|
234
|
+
parameters: [alias, `:${column}`],
|
|
235
|
+
};
|
|
227
236
|
if (['postgres', 'cockroachdb'].includes(queryBuilder.connection.options.type)) {
|
|
228
|
-
|
|
229
|
-
let columns = '';
|
|
230
|
-
for (const property of propertyPath) {
|
|
231
|
-
columns += `"${property}".`;
|
|
232
|
-
}
|
|
233
|
-
const aliasColumn = alias + columns.substring(0, columns.length - 1);
|
|
234
|
-
qb.orWhere(`${aliasColumn}::text ILIKE(:search)`, { search: `%${query.search}%` });
|
|
235
|
-
}
|
|
236
|
-
else {
|
|
237
|
-
const aliasColumn = hasRelation ? `${qb.alias}_${column}` : `${qb.alias}.${column}`;
|
|
238
|
-
qb.orWhere(`UPPER(${aliasColumn}) LIKE UPPER(:search)`, { search: `%${query.search}%` });
|
|
237
|
+
condition.parameters[0] += '::text';
|
|
239
238
|
}
|
|
239
|
+
qb.orWhere(qb['createWhereConditionExpression'](condition), {
|
|
240
|
+
[column]: `%${query.search}%`,
|
|
241
|
+
});
|
|
240
242
|
}
|
|
241
243
|
}));
|
|
242
244
|
}
|
|
@@ -244,35 +246,7 @@ async function paginate(query, repo, config) {
|
|
|
244
246
|
const filter = parseFilter(query, config);
|
|
245
247
|
queryBuilder.andWhere(new typeorm_1.Brackets((qb) => {
|
|
246
248
|
for (const column in filter) {
|
|
247
|
-
|
|
248
|
-
if (propertyPath.length > 1) {
|
|
249
|
-
let parameters = { [column]: filter[column].value };
|
|
250
|
-
// TODO: refactor below
|
|
251
|
-
const isRelation = queryBuilder.expressionMap.mainAlias.metadata.hasRelationWithPropertyPath(propertyPath[0]);
|
|
252
|
-
const alias = isRelation ? `${qb.alias}_${column}` : `${qb.alias}.${column}`;
|
|
253
|
-
const condition = qb['getWherePredicateCondition'](alias, filter[column]);
|
|
254
|
-
switch (condition.operator) {
|
|
255
|
-
case 'between':
|
|
256
|
-
condition.parameters = [alias, `:${column}_from`, `:${column}_to`];
|
|
257
|
-
parameters = {
|
|
258
|
-
[column + '_from']: filter[column].value[0],
|
|
259
|
-
[column + '_to']: filter[column].value[1],
|
|
260
|
-
};
|
|
261
|
-
break;
|
|
262
|
-
case 'in':
|
|
263
|
-
condition.parameters = [alias, `:...${column}`];
|
|
264
|
-
break;
|
|
265
|
-
default:
|
|
266
|
-
condition.parameters = [alias, `:${column}`];
|
|
267
|
-
break;
|
|
268
|
-
}
|
|
269
|
-
qb.andWhere(qb['createWhereConditionExpression'](condition), parameters);
|
|
270
|
-
}
|
|
271
|
-
else {
|
|
272
|
-
qb.andWhere({
|
|
273
|
-
[column]: filter[column],
|
|
274
|
-
});
|
|
275
|
-
}
|
|
249
|
+
(0, filter_1.addWhereCondition)(qb, column, filter);
|
|
276
250
|
}
|
|
277
251
|
}));
|
|
278
252
|
}
|
package/lib/paginate.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paginate.js","sourceRoot":"","sources":["../src/paginate.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"paginate.js","sourceRoot":"","sources":["../src/paginate.ts"],"names":[],"mappings":"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"}
|