@hedhog/pagination 0.0.8 → 0.0.10
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pagination.service.d.ts","sourceRoot":"","sources":["../src/pagination.service.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,SAAS,EACT,YAAY,EACZ,eAAe,EACf,gBAAgB,EACjB,MAAM,0BAA0B,CAAC;AAElC,qBACa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAsC;IAEvD,QAAQ,CAAC,CAAC,EAAE,CAAC,SAAS,SAAS,EACnC,KAAK,EAAE,CAAC,EACR,gBAAgB,EAAE,gBAAgB,EAClC,WAAW,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,GAC5B,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"pagination.service.d.ts","sourceRoot":"","sources":["../src/pagination.service.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,SAAS,EACT,YAAY,EACZ,eAAe,EACf,gBAAgB,EACjB,MAAM,0BAA0B,CAAC;AAElC,qBACa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAsC;IAEvD,QAAQ,CAAC,CAAC,EAAE,CAAC,SAAS,SAAS,EACnC,KAAK,EAAE,CAAC,EACR,gBAAgB,EAAE,gBAAgB,EAClC,WAAW,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,GAC5B,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IAuH9B,iBAAiB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,EAAE;IAgBvD,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,OAAO;IAI5D,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,SAAS,GAAG,OAAO;CAK7D"}
|
|
@@ -17,6 +17,9 @@ let PaginationService = PaginationService_1 = class PaginationService {
|
|
|
17
17
|
}
|
|
18
18
|
async paginate(model, paginationParams, customQuery) {
|
|
19
19
|
try {
|
|
20
|
+
if (!model) {
|
|
21
|
+
throw new common_1.BadRequestException('Model is required');
|
|
22
|
+
}
|
|
20
23
|
const page = Number(paginationParams.page || pagination_constants_1.DEFAULT_PAGE);
|
|
21
24
|
const pageSize = Number(paginationParams.pageSize || pagination_constants_1.DEFAULT_PAGE_SIZE);
|
|
22
25
|
const search = paginationParams.search || null;
|
|
@@ -32,6 +35,7 @@ let PaginationService = PaginationService_1 = class PaginationService {
|
|
|
32
35
|
let sortOrderCondition = {
|
|
33
36
|
id: paginationParams.sortOrder || patination_enums_1.PageOrderDirection.Asc,
|
|
34
37
|
};
|
|
38
|
+
console.log('sortField:', sortField);
|
|
35
39
|
if (sortField) {
|
|
36
40
|
const invalid = this.isInvalidField(sortField, model);
|
|
37
41
|
if (invalid) {
|
|
@@ -46,6 +50,7 @@ let PaginationService = PaginationService_1 = class PaginationService {
|
|
|
46
50
|
throw new common_1.BadRequestException('Search must be a string');
|
|
47
51
|
}
|
|
48
52
|
}
|
|
53
|
+
console.log('fields:', fields);
|
|
49
54
|
if (fields) {
|
|
50
55
|
const invalidFields = this.isInvalidFields(fields, model);
|
|
51
56
|
if (invalidFields) {
|
|
@@ -61,11 +66,16 @@ let PaginationService = PaginationService_1 = class PaginationService {
|
|
|
61
66
|
const query = {
|
|
62
67
|
select: selectCondition,
|
|
63
68
|
where: (customQuery === null || customQuery === void 0 ? void 0 : customQuery.where) || {},
|
|
64
|
-
include: (customQuery === null || customQuery === void 0 ? void 0 : customQuery.include) || {},
|
|
65
69
|
orderBy: sortOrderCondition,
|
|
66
70
|
take: pageSize,
|
|
67
71
|
skip,
|
|
68
72
|
};
|
|
73
|
+
if (customQuery === null || customQuery === void 0 ? void 0 : customQuery.include) {
|
|
74
|
+
query.include = customQuery === null || customQuery === void 0 ? void 0 : customQuery.include;
|
|
75
|
+
delete query.select;
|
|
76
|
+
}
|
|
77
|
+
console.log('Query:', query);
|
|
78
|
+
console.log('model:', model);
|
|
69
79
|
const [total, data] = await Promise.all([
|
|
70
80
|
model.count({ where: (customQuery === null || customQuery === void 0 ? void 0 : customQuery.where) || {} }),
|
|
71
81
|
model.findMany(query),
|
|
@@ -91,6 +101,7 @@ let PaginationService = PaginationService_1 = class PaginationService {
|
|
|
91
101
|
}
|
|
92
102
|
extractFieldNames(model) {
|
|
93
103
|
const fieldNames = [];
|
|
104
|
+
console.log('extractFieldNames', { model });
|
|
94
105
|
const fields = model.fields;
|
|
95
106
|
for (const key in fields) {
|
|
96
107
|
if (fields && fields.hasOwnProperty(key)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pagination.service.js","sourceRoot":"","sources":["../src/pagination.service.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAAyE;AACzE,2EAG0C;AAC1C,+DAA8D;AASvD,IAAM,iBAAiB,yBAAvB,MAAM,iBAAiB;IAAvB;QACY,WAAM,GAAG,IAAI,eAAM,CAAC,mBAAiB,CAAC,IAAI,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"pagination.service.js","sourceRoot":"","sources":["../src/pagination.service.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -21,6 +21,10 @@ export class PaginationService {
|
|
|
21
21
|
customQuery?: FindManyArgs<M>,
|
|
22
22
|
): Promise<PaginatedResult<T>> {
|
|
23
23
|
try {
|
|
24
|
+
if (!model) {
|
|
25
|
+
throw new BadRequestException('Model is required');
|
|
26
|
+
}
|
|
27
|
+
|
|
24
28
|
const page = Number(paginationParams.page || DEFAULT_PAGE);
|
|
25
29
|
const pageSize = Number(paginationParams.pageSize || DEFAULT_PAGE_SIZE);
|
|
26
30
|
const search = paginationParams.search || null;
|
|
@@ -41,6 +45,8 @@ export class PaginationService {
|
|
|
41
45
|
id: paginationParams.sortOrder || PageOrderDirection.Asc,
|
|
42
46
|
};
|
|
43
47
|
|
|
48
|
+
console.log('sortField:', sortField);
|
|
49
|
+
|
|
44
50
|
if (sortField) {
|
|
45
51
|
const invalid = this.isInvalidField(sortField, model);
|
|
46
52
|
if (invalid) {
|
|
@@ -62,6 +68,8 @@ export class PaginationService {
|
|
|
62
68
|
}
|
|
63
69
|
}
|
|
64
70
|
|
|
71
|
+
console.log('fields:', fields);
|
|
72
|
+
|
|
65
73
|
if (fields) {
|
|
66
74
|
const invalidFields = this.isInvalidFields(fields, model);
|
|
67
75
|
|
|
@@ -87,15 +95,22 @@ export class PaginationService {
|
|
|
87
95
|
|
|
88
96
|
const skip = page > 0 ? pageSize * (page - 1) : 0;
|
|
89
97
|
|
|
90
|
-
const query = {
|
|
98
|
+
const query: any = {
|
|
91
99
|
select: selectCondition,
|
|
92
100
|
where: customQuery?.where || {},
|
|
93
|
-
include: customQuery?.include || {},
|
|
94
101
|
orderBy: sortOrderCondition,
|
|
95
102
|
take: pageSize,
|
|
96
103
|
skip,
|
|
97
104
|
};
|
|
98
105
|
|
|
106
|
+
if (customQuery?.include) {
|
|
107
|
+
query.include = customQuery?.include;
|
|
108
|
+
delete query.select;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
console.log('Query:', query);
|
|
112
|
+
console.log('model:', model);
|
|
113
|
+
|
|
99
114
|
const [total, data] = await Promise.all([
|
|
100
115
|
model.count({ where: customQuery?.where || {} }),
|
|
101
116
|
model.findMany(query),
|
|
@@ -125,6 +140,9 @@ export class PaginationService {
|
|
|
125
140
|
|
|
126
141
|
extractFieldNames(model: Record<string, any>): string[] {
|
|
127
142
|
const fieldNames: string[] = [];
|
|
143
|
+
|
|
144
|
+
console.log('extractFieldNames', { model });
|
|
145
|
+
|
|
128
146
|
const fields = model.fields;
|
|
129
147
|
|
|
130
148
|
for (const key in fields) {
|