nestjs-paginate 8.2.0 → 8.3.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-pillow.entity.js +2 -1
- package/lib/__tests__/cat-home-pillow.entity.js.map +1 -1
- package/lib/__tests__/cat-home.entity.js +2 -1
- package/lib/__tests__/cat-home.entity.js.map +1 -1
- package/lib/__tests__/cat-toy.entity.js +2 -1
- package/lib/__tests__/cat-toy.entity.js.map +1 -1
- package/lib/__tests__/cat.entity.js +4 -4
- package/lib/__tests__/cat.entity.js.map +1 -1
- package/lib/paginate.d.ts +2 -2
- package/lib/paginate.js +14 -19
- package/lib/paginate.js.map +1 -1
- package/lib/paginate.spec.js +29 -1
- package/lib/paginate.spec.js.map +1 -1
- package/lib/swagger/paginated-swagger.type.js +1 -0
- package/lib/swagger/paginated-swagger.type.js.map +1 -1
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/package.json +16 -16
|
@@ -12,8 +12,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
12
12
|
exports.CatHomePillowEntity = void 0;
|
|
13
13
|
const typeorm_1 = require("typeorm");
|
|
14
14
|
const cat_home_entity_1 = require("./cat-home.entity");
|
|
15
|
-
let CatHomePillowEntity =
|
|
15
|
+
let CatHomePillowEntity = class CatHomePillowEntity {
|
|
16
16
|
};
|
|
17
|
+
exports.CatHomePillowEntity = CatHomePillowEntity;
|
|
17
18
|
__decorate([
|
|
18
19
|
(0, typeorm_1.PrimaryGeneratedColumn)(),
|
|
19
20
|
__metadata("design:type", Number)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cat-home-pillow.entity.js","sourceRoot":"","sources":["../../src/__tests__/cat-home-pillow.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAA6F;AAC7F,uDAAiD;AAG1C,IAAM,mBAAmB,
|
|
1
|
+
{"version":3,"file":"cat-home-pillow.entity.js","sourceRoot":"","sources":["../../src/__tests__/cat-home-pillow.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAA6F;AAC7F,uDAAiD;AAG1C,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;CAY/B,CAAA;AAZY,kDAAmB;AAE5B;IADC,IAAA,gCAAsB,GAAE;;+CACf;AAGV;IADC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,+BAAa,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC;8BACjD,+BAAa;iDAAA;AAGnB;IADC,IAAA,gBAAM,GAAE;;kDACI;AAGb;IADC,IAAA,0BAAgB,GAAE;;sDACF;8BAXR,mBAAmB;IAD/B,IAAA,gBAAM,GAAE;GACI,mBAAmB,CAY/B"}
|
|
@@ -13,8 +13,9 @@ exports.CatHomeEntity = void 0;
|
|
|
13
13
|
const typeorm_1 = require("typeorm");
|
|
14
14
|
const cat_entity_1 = require("./cat.entity");
|
|
15
15
|
const cat_home_pillow_entity_1 = require("./cat-home-pillow.entity");
|
|
16
|
-
let CatHomeEntity =
|
|
16
|
+
let CatHomeEntity = class CatHomeEntity {
|
|
17
17
|
};
|
|
18
|
+
exports.CatHomeEntity = CatHomeEntity;
|
|
18
19
|
__decorate([
|
|
19
20
|
(0, typeorm_1.PrimaryGeneratedColumn)(),
|
|
20
21
|
__metadata("design:type", Number)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cat-home.entity.js","sourceRoot":"","sources":["../../src/__tests__/cat-home.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAAsH;AACtH,6CAAwC;AACxC,qEAA8D;AAGvD,IAAM,aAAa,
|
|
1
|
+
{"version":3,"file":"cat-home.entity.js","sourceRoot":"","sources":["../../src/__tests__/cat-home.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAAsH;AACtH,6CAAwC;AACxC,qEAA8D;AAGvD,IAAM,aAAa,GAAnB,MAAM,aAAa;CAoBzB,CAAA;AApBY,sCAAa;AAEtB;IADC,IAAA,gCAAsB,GAAE;;yCACf;AAGV;IADC,IAAA,gBAAM,GAAE;;2CACG;AAGZ;IADC,IAAA,kBAAQ,EAAC,GAAG,EAAE,CAAC,sBAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC;8BACxC,sBAAS;0CAAA;AAGd;IADC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,4CAAmB,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC;;8CAChC;AAG9B;IADC,IAAA,0BAAgB,GAAE;;gDACF;AAKjB;IAHC,IAAA,uBAAa,EAAC;QACX,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,mEAAmE,KAAK,KAAK;KAClG,CAAC;;+CACc;wBAnBP,aAAa;IADzB,IAAA,gBAAM,GAAE;GACI,aAAa,CAoBzB"}
|
|
@@ -13,8 +13,9 @@ exports.CatToyEntity = void 0;
|
|
|
13
13
|
const typeorm_1 = require("typeorm");
|
|
14
14
|
const cat_entity_1 = require("./cat.entity");
|
|
15
15
|
const size_embed_1 = require("./size.embed");
|
|
16
|
-
let CatToyEntity =
|
|
16
|
+
let CatToyEntity = class CatToyEntity {
|
|
17
17
|
};
|
|
18
|
+
exports.CatToyEntity = CatToyEntity;
|
|
18
19
|
__decorate([
|
|
19
20
|
(0, typeorm_1.PrimaryGeneratedColumn)(),
|
|
20
21
|
__metadata("design:type", Number)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cat-toy.entity.js","sourceRoot":"","sources":["../../src/__tests__/cat-toy.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAAyG;AACzG,6CAAwC;AACxC,6CAAwC;AAGjC,IAAM,YAAY,
|
|
1
|
+
{"version":3,"file":"cat-toy.entity.js","sourceRoot":"","sources":["../../src/__tests__/cat-toy.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAAyG;AACzG,6CAAwC;AACxC,6CAAwC;AAGjC,IAAM,YAAY,GAAlB,MAAM,YAAY;CAgBxB,CAAA;AAhBY,oCAAY;AAErB;IADC,IAAA,gCAAsB,GAAE;;wCACf;AAGV;IADC,IAAA,gBAAM,GAAE;;0CACG;AAGZ;IADC,IAAA,gBAAM,EAAC,GAAG,EAAE,CAAC,sBAAS,CAAC;8BAClB,sBAAS;0CAAA;AAIf;IAFC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,sBAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC;IAC7C,IAAA,oBAAU,GAAE;8BACR,sBAAS;yCAAA;AAGd;IADC,IAAA,0BAAgB,GAAE;;+CACF;uBAfR,YAAY;IADxB,IAAA,gBAAM,GAAE;GACI,YAAY,CAgBxB"}
|
|
@@ -8,7 +8,6 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
8
8
|
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
9
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
10
|
};
|
|
11
|
-
var CatEntity_1;
|
|
12
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
12
|
exports.CatEntity = exports.CutenessLevel = void 0;
|
|
14
13
|
const typeorm_1 = require("typeorm");
|
|
@@ -21,7 +20,7 @@ var CutenessLevel;
|
|
|
21
20
|
CutenessLevel["MEDIUM"] = "medium";
|
|
22
21
|
CutenessLevel["HIGH"] = "high";
|
|
23
22
|
})(CutenessLevel || (exports.CutenessLevel = CutenessLevel = {}));
|
|
24
|
-
let CatEntity =
|
|
23
|
+
let CatEntity = class CatEntity {
|
|
25
24
|
afterLoad() {
|
|
26
25
|
var _a;
|
|
27
26
|
if (this.home && !((_a = this.home) === null || _a === void 0 ? void 0 : _a.id)) {
|
|
@@ -29,6 +28,7 @@ let CatEntity = exports.CatEntity = CatEntity_1 = class CatEntity {
|
|
|
29
28
|
}
|
|
30
29
|
}
|
|
31
30
|
};
|
|
31
|
+
exports.CatEntity = CatEntity;
|
|
32
32
|
__decorate([
|
|
33
33
|
(0, typeorm_1.PrimaryGeneratedColumn)(),
|
|
34
34
|
__metadata("design:type", Number)
|
|
@@ -78,7 +78,7 @@ __decorate([
|
|
|
78
78
|
__metadata("design:type", String)
|
|
79
79
|
], CatEntity.prototype, "deletedAt", void 0);
|
|
80
80
|
__decorate([
|
|
81
|
-
(0, typeorm_1.ManyToMany)(() =>
|
|
81
|
+
(0, typeorm_1.ManyToMany)(() => CatEntity),
|
|
82
82
|
(0, typeorm_1.JoinTable)(),
|
|
83
83
|
__metadata("design:type", Array)
|
|
84
84
|
], CatEntity.prototype, "friends", void 0);
|
|
@@ -91,7 +91,7 @@ __decorate([
|
|
|
91
91
|
__metadata("design:paramtypes", []),
|
|
92
92
|
__metadata("design:returntype", void 0)
|
|
93
93
|
], CatEntity.prototype, "afterLoad", null);
|
|
94
|
-
exports.CatEntity = CatEntity =
|
|
94
|
+
exports.CatEntity = CatEntity = __decorate([
|
|
95
95
|
(0, typeorm_1.Entity)({ name: 'cat' })
|
|
96
96
|
], CatEntity);
|
|
97
97
|
//# sourceMappingURL=cat.entity.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cat.entity.js","sourceRoot":"","sources":["../../src/__tests__/cat.entity.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cat.entity.js","sourceRoot":"","sources":["../../src/__tests__/cat.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAYgB;AAChB,qDAA+C;AAC/C,uDAAiD;AACjD,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;IA4CV,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;AAjDY,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,EAAE,QAAQ,EAAE,IAAI,EAAE,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,GAAE;;4CACF;AAGjB;IADC,IAAA,0BAAgB,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;4CACnB;AAIlB;IAFC,IAAA,oBAAU,EAAC,GAAG,EAAE,CAAC,SAAS,CAAC;IAC3B,IAAA,mBAAS,GAAE;;0CACQ;AAKZ;IAHP,IAAA,mBAAS,GAAE;IACZ,yDAAyD;IACzD,mGAAmG;;;;;0CAKlG;oBAhDQ,SAAS;IADrB,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;GACX,SAAS,CAiDrB"}
|
package/lib/paginate.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Repository, SelectQueryBuilder, FindOptionsWhere, FindOptionsRelations, ObjectLiteral } from 'typeorm';
|
|
1
|
+
import { Repository, SelectQueryBuilder, FindOptionsWhere, FindOptionsRelations, ObjectLiteral, FindOptionsRelationByString } from 'typeorm';
|
|
2
2
|
import { PaginateQuery } from './decorator';
|
|
3
3
|
import { Column, RelationColumn, SortBy } from './helper';
|
|
4
4
|
import { FilterOperator, FilterSuffix } from './filter';
|
|
@@ -31,7 +31,7 @@ export declare enum PaginationType {
|
|
|
31
31
|
TAKE_AND_SKIP = "take"
|
|
32
32
|
}
|
|
33
33
|
export interface PaginateConfig<T> {
|
|
34
|
-
relations?: FindOptionsRelations<T> | RelationColumn<T>[];
|
|
34
|
+
relations?: FindOptionsRelations<T> | RelationColumn<T>[] | FindOptionsRelationByString;
|
|
35
35
|
sortableColumns: Column<T>[];
|
|
36
36
|
nullSort?: 'first' | 'last';
|
|
37
37
|
searchableColumns?: Column<T>[];
|
package/lib/paginate.js
CHANGED
|
@@ -9,6 +9,7 @@ const helper_1 = require("./helper");
|
|
|
9
9
|
const filter_1 = require("./filter");
|
|
10
10
|
Object.defineProperty(exports, "FilterOperator", { enumerable: true, get: function () { return filter_1.FilterOperator; } });
|
|
11
11
|
Object.defineProperty(exports, "FilterSuffix", { enumerable: true, get: function () { return filter_1.FilterSuffix; } });
|
|
12
|
+
const OrmUtils_1 = require("typeorm/util/OrmUtils");
|
|
12
13
|
const logger = new common_1.Logger('nestjs-paginate');
|
|
13
14
|
class Paginated {
|
|
14
15
|
}
|
|
@@ -49,26 +50,20 @@ async function paginate(query, repo, config) {
|
|
|
49
50
|
}
|
|
50
51
|
}
|
|
51
52
|
if (config.relations) {
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
config.relations
|
|
55
|
-
|
|
53
|
+
const relations = Array.isArray(config.relations)
|
|
54
|
+
? OrmUtils_1.OrmUtils.propertyPathsToTruthyObject(config.relations)
|
|
55
|
+
: config.relations;
|
|
56
|
+
const createQueryBuilderRelations = (prefix, relations, alias) => {
|
|
57
|
+
Object.keys(relations).forEach((relationName) => {
|
|
58
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
59
|
+
const relationSchema = relations[relationName];
|
|
60
|
+
queryBuilder.leftJoinAndSelect(`${alias !== null && alias !== void 0 ? alias : prefix}.${relationName}`, `${alias !== null && alias !== void 0 ? alias : prefix}_${relationName}_rel`);
|
|
61
|
+
if (typeof relationSchema === 'object') {
|
|
62
|
+
createQueryBuilderRelations(relationName, relationSchema, `${alias !== null && alias !== void 0 ? alias : prefix}_${relationName}_rel`);
|
|
63
|
+
}
|
|
56
64
|
});
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
// relations: {relation:true}
|
|
60
|
-
const createQueryBuilderRelations = (prefix, relations, alias) => {
|
|
61
|
-
Object.keys(relations).forEach((relationName) => {
|
|
62
|
-
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
63
|
-
const relationSchema = relations[relationName];
|
|
64
|
-
queryBuilder.leftJoinAndSelect(`${alias !== null && alias !== void 0 ? alias : prefix}.${relationName}`, `${alias !== null && alias !== void 0 ? alias : prefix}_${relationName}_rel`);
|
|
65
|
-
if (typeof relationSchema === 'object') {
|
|
66
|
-
createQueryBuilderRelations(relationName, relationSchema, `${alias !== null && alias !== void 0 ? alias : prefix}_${relationName}_rel`);
|
|
67
|
-
}
|
|
68
|
-
});
|
|
69
|
-
};
|
|
70
|
-
createQueryBuilderRelations(queryBuilder.alias, config.relations);
|
|
71
|
-
}
|
|
65
|
+
};
|
|
66
|
+
createQueryBuilderRelations(queryBuilder.alias, relations);
|
|
72
67
|
}
|
|
73
68
|
let nullSort = undefined;
|
|
74
69
|
if (config.nullSort) {
|
package/lib/paginate.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paginate.js","sourceRoot":"","sources":["../src/paginate.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"paginate.js","sourceRoot":"","sources":["../src/paginate.ts"],"names":[],"mappings":"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"}
|
package/lib/paginate.spec.js
CHANGED
|
@@ -587,7 +587,7 @@ describe('paginate', () => {
|
|
|
587
587
|
expect(result.data).toStrictEqual([catHomesClone]);
|
|
588
588
|
expect(result.links.current).toBe('?page=1&limit=20&sortBy=id:ASC&search=Garfield');
|
|
589
589
|
});
|
|
590
|
-
it('should load nested relations', async () => {
|
|
590
|
+
it('should load nested relations (object notation)', async () => {
|
|
591
591
|
const config = {
|
|
592
592
|
relations: { home: { pillows: true } },
|
|
593
593
|
sortableColumns: ['id', 'name'],
|
|
@@ -615,6 +615,34 @@ describe('paginate', () => {
|
|
|
615
615
|
expect(result.data[0].home).toBeDefined();
|
|
616
616
|
expect(result.data[0].home.pillows).toStrictEqual(cat.home.pillows);
|
|
617
617
|
});
|
|
618
|
+
it('should load nested relations (array notation)', async () => {
|
|
619
|
+
const config = {
|
|
620
|
+
relations: ['home.pillows'],
|
|
621
|
+
sortableColumns: ['id', 'name'],
|
|
622
|
+
searchableColumns: ['name'],
|
|
623
|
+
};
|
|
624
|
+
const query = {
|
|
625
|
+
path: '',
|
|
626
|
+
search: 'Garfield',
|
|
627
|
+
};
|
|
628
|
+
const result = await (0, paginate_1.paginate)(query, catRepo, config);
|
|
629
|
+
const cat = (0, lodash_1.clone)(cats[1]);
|
|
630
|
+
const catHomesClone = (0, lodash_1.clone)(catHomes[1]);
|
|
631
|
+
const catHomePillowsClone3 = (0, lodash_1.clone)(catHomePillows[3]);
|
|
632
|
+
delete catHomePillowsClone3.home;
|
|
633
|
+
const catHomePillowsClone4 = (0, lodash_1.clone)(catHomePillows[4]);
|
|
634
|
+
delete catHomePillowsClone4.home;
|
|
635
|
+
const catHomePillowsClone5 = (0, lodash_1.clone)(catHomePillows[5]);
|
|
636
|
+
delete catHomePillowsClone5.home;
|
|
637
|
+
catHomesClone.countCat = cats.filter((cat) => cat.id === catHomesClone.cat.id).length;
|
|
638
|
+
catHomesClone.pillows = [catHomePillowsClone3, catHomePillowsClone4, catHomePillowsClone5];
|
|
639
|
+
cat.home = catHomesClone;
|
|
640
|
+
delete cat.home.cat;
|
|
641
|
+
expect(result.meta.search).toStrictEqual('Garfield');
|
|
642
|
+
expect(result.data).toStrictEqual([cat]);
|
|
643
|
+
expect(result.data[0].home).toBeDefined();
|
|
644
|
+
expect(result.data[0].home.pillows).toStrictEqual(cat.home.pillows);
|
|
645
|
+
});
|
|
618
646
|
it('should throw an error when nonexistent relation loaded', async () => {
|
|
619
647
|
const config = {
|
|
620
648
|
relations: ['homee'],
|