@hed-hog/api-pagination 0.0.1

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.
Files changed (90) hide show
  1. package/.eslintrc.js +9 -0
  2. package/.prettierrc.js +4 -0
  3. package/dist/constants/pagination.constants.d.ts +3 -0
  4. package/dist/constants/pagination.constants.d.ts.map +1 -0
  5. package/dist/constants/pagination.constants.js +6 -0
  6. package/dist/constants/pagination.constants.js.map +1 -0
  7. package/dist/databases/abstract.database.d.ts +61 -0
  8. package/dist/databases/abstract.database.d.ts.map +1 -0
  9. package/dist/databases/abstract.database.js +653 -0
  10. package/dist/databases/abstract.database.js.map +1 -0
  11. package/dist/databases/database.d.ts +5 -0
  12. package/dist/databases/database.d.ts.map +1 -0
  13. package/dist/databases/database.factory.d.ts +7 -0
  14. package/dist/databases/database.factory.d.ts.map +1 -0
  15. package/dist/databases/database.factory.js +20 -0
  16. package/dist/databases/database.factory.js.map +1 -0
  17. package/dist/databases/database.js +9 -0
  18. package/dist/databases/database.js.map +1 -0
  19. package/dist/databases/index.d.ts +4 -0
  20. package/dist/databases/index.d.ts.map +1 -0
  21. package/dist/databases/index.js +20 -0
  22. package/dist/databases/index.js.map +1 -0
  23. package/dist/databases/mysql.database.d.ts +10 -0
  24. package/dist/databases/mysql.database.d.ts.map +1 -0
  25. package/dist/databases/mysql.database.js +17 -0
  26. package/dist/databases/mysql.database.js.map +1 -0
  27. package/dist/databases/postgres.database.d.ts +10 -0
  28. package/dist/databases/postgres.database.d.ts.map +1 -0
  29. package/dist/databases/postgres.database.js +17 -0
  30. package/dist/databases/postgres.database.js.map +1 -0
  31. package/dist/decorator/pagination.decorator.d.ts +3 -0
  32. package/dist/decorator/pagination.decorator.d.ts.map +1 -0
  33. package/dist/decorator/pagination.decorator.js +54 -0
  34. package/dist/decorator/pagination.decorator.js.map +1 -0
  35. package/dist/dto/pagination.dto.d.ts +10 -0
  36. package/dist/dto/pagination.dto.d.ts.map +1 -0
  37. package/dist/dto/pagination.dto.js +52 -0
  38. package/dist/dto/pagination.dto.js.map +1 -0
  39. package/dist/enums/patination.enums.d.ts +12 -0
  40. package/dist/enums/patination.enums.d.ts.map +1 -0
  41. package/dist/enums/patination.enums.js +17 -0
  42. package/dist/enums/patination.enums.js.map +1 -0
  43. package/dist/index.d.ts +8 -0
  44. package/dist/index.d.ts.map +1 -0
  45. package/dist/index.js +23 -0
  46. package/dist/index.js.map +1 -0
  47. package/dist/pagination.module.d.ts +3 -0
  48. package/dist/pagination.module.d.ts.map +1 -0
  49. package/dist/pagination.module.js +22 -0
  50. package/dist/pagination.module.js.map +1 -0
  51. package/dist/pagination.service.d.ts +23 -0
  52. package/dist/pagination.service.d.ts.map +1 -0
  53. package/dist/pagination.service.js +255 -0
  54. package/dist/pagination.service.js.map +1 -0
  55. package/dist/types/pagination.types.d.ts +34 -0
  56. package/dist/types/pagination.types.d.ts.map +1 -0
  57. package/dist/types/pagination.types.js +3 -0
  58. package/dist/types/pagination.types.js.map +1 -0
  59. package/dist/types/query-option.d.ts +5 -0
  60. package/dist/types/query-option.d.ts.map +1 -0
  61. package/dist/types/query-option.js +3 -0
  62. package/dist/types/query-option.js.map +1 -0
  63. package/dist/types/relation-n2n-result.d.ts +7 -0
  64. package/dist/types/relation-n2n-result.d.ts.map +1 -0
  65. package/dist/types/relation-n2n-result.js +3 -0
  66. package/dist/types/relation-n2n-result.js.map +1 -0
  67. package/dist/types/transaction-queries.d.ts +7 -0
  68. package/dist/types/transaction-queries.d.ts.map +1 -0
  69. package/dist/types/transaction-queries.js +3 -0
  70. package/dist/types/transaction-queries.js.map +1 -0
  71. package/package.json +31 -0
  72. package/src/constants/pagination.constants.ts +2 -0
  73. package/src/databases/abstract.database.ts +830 -0
  74. package/src/databases/database.factory.ts +25 -0
  75. package/src/databases/database.ts +4 -0
  76. package/src/databases/index.ts +3 -0
  77. package/src/databases/mysql.database.ts +14 -0
  78. package/src/databases/postgres.database.ts +14 -0
  79. package/src/decorator/pagination.decorator.ts +84 -0
  80. package/src/dto/pagination.dto.ts +31 -0
  81. package/src/enums/patination.enums.ts +12 -0
  82. package/src/index.ts +7 -0
  83. package/src/pagination.module.ts +9 -0
  84. package/src/pagination.service.ts +371 -0
  85. package/src/types/pagination.types.ts +44 -0
  86. package/src/types/query-option.ts +4 -0
  87. package/src/types/relation-n2n-result.ts +6 -0
  88. package/src/types/transaction-queries.ts +7 -0
  89. package/tsconfig.json +11 -0
  90. package/tsconfig.production.json +46 -0
@@ -0,0 +1,255 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var PaginationService_1;
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.PaginationService = void 0;
11
+ const api_1 = require("@hed-hog/api");
12
+ const common_1 = require("@nestjs/common");
13
+ const pagination_constants_1 = require("./constants/pagination.constants");
14
+ const databases_1 = require("./databases");
15
+ const patination_enums_1 = require("./enums/patination.enums");
16
+ let PaginationService = PaginationService_1 = class PaginationService {
17
+ constructor() {
18
+ this.logger = new common_1.Logger(PaginationService_1.name);
19
+ this.db = null;
20
+ }
21
+ async paginate(model, paginationParams, customQuery, translationKey) {
22
+ try {
23
+ if (!model) {
24
+ throw new common_1.BadRequestException('Model is required');
25
+ }
26
+ const page = Number(paginationParams.page || pagination_constants_1.DEFAULT_PAGE);
27
+ const pageSize = Number(paginationParams.pageSize || pagination_constants_1.DEFAULT_PAGE_SIZE);
28
+ const search = paginationParams.search || null;
29
+ const sortField = paginationParams.sortField || null;
30
+ const sortOrder = paginationParams.sortOrder || patination_enums_1.PageOrderDirection.Asc;
31
+ const fields = paginationParams.fields
32
+ ? paginationParams.fields.split(',')
33
+ : null;
34
+ if (page < 1 || pageSize < 1) {
35
+ throw new common_1.BadRequestException('Page and pageSize must be greater than 0');
36
+ }
37
+ let selectCondition = undefined;
38
+ let sortOrderCondition = {
39
+ id: paginationParams.sortOrder || patination_enums_1.PageOrderDirection.Asc,
40
+ };
41
+ if (sortField) {
42
+ const invalid = this.isInvalidField(sortField, model);
43
+ let localeInvalid = false;
44
+ if (invalid) {
45
+ localeInvalid = this.isInvalidLocaleField(sortField, model);
46
+ if (localeInvalid) {
47
+ this.logger.error(`Invalid field: ${sortField}`);
48
+ throw new common_1.BadRequestException(`Invalid field: ${sortField}. Valid columns are: ${this.extractFieldNames(model).join(', ')}`);
49
+ }
50
+ else {
51
+ sortOrderCondition = {
52
+ [`${model.name}_locale`]: { [sortField]: sortOrder },
53
+ };
54
+ }
55
+ }
56
+ else {
57
+ sortOrderCondition = { [sortField]: sortOrder };
58
+ }
59
+ }
60
+ if (search) {
61
+ if (typeof search !== 'string') {
62
+ this.logger.error('Search must be a string');
63
+ throw new common_1.BadRequestException('Search must be a string');
64
+ }
65
+ }
66
+ if (fields) {
67
+ const invalidFields = this.isInvalidFields(fields, model);
68
+ if (invalidFields) {
69
+ this.logger.error(`Invalid fields: ${fields.join(', ')}. Valid columns are: ${this.extractFieldNames(model).join(', ')}`);
70
+ throw new common_1.BadRequestException(`Invalid fields: ${fields.join(', ')}. Valid columns are: ${this.extractFieldNames(model).join(', ')}`);
71
+ }
72
+ selectCondition = fields.reduce((acc, field) => {
73
+ acc[field] = true;
74
+ return acc;
75
+ }, {});
76
+ }
77
+ const skip = page > 0 ? pageSize * (page - 1) : 0;
78
+ if (customQuery.where &&
79
+ customQuery.where.OR &&
80
+ customQuery.where.OR.length === 0) {
81
+ delete customQuery.where.OR;
82
+ }
83
+ const query = {
84
+ select: selectCondition,
85
+ where: (customQuery === null || customQuery === void 0 ? void 0 : customQuery.where) || {},
86
+ orderBy: sortOrderCondition,
87
+ take: pageSize,
88
+ skip,
89
+ };
90
+ if (customQuery === null || customQuery === void 0 ? void 0 : customQuery.include) {
91
+ query.include = customQuery === null || customQuery === void 0 ? void 0 : customQuery.include;
92
+ delete query.select;
93
+ }
94
+ let [total, data] = await Promise.all([
95
+ model.count({ where: (customQuery === null || customQuery === void 0 ? void 0 : customQuery.where) || {} }),
96
+ model.findMany(query),
97
+ //this.query(model, query),
98
+ ]);
99
+ const lastPage = Math.ceil(total / pageSize);
100
+ if (translationKey) {
101
+ data = data.map((item) => {
102
+ return (0, api_1.itemTranslations)(translationKey, item);
103
+ });
104
+ }
105
+ return {
106
+ total,
107
+ lastPage,
108
+ page,
109
+ pageSize,
110
+ prev: page > 1 ? page - 1 : null,
111
+ next: page < lastPage ? page + 1 : null,
112
+ data,
113
+ };
114
+ }
115
+ catch (error) {
116
+ this.logger.error('Pagination Error:', error);
117
+ if (error instanceof common_1.BadRequestException) {
118
+ throw error;
119
+ }
120
+ throw new common_1.BadRequestException(`Failed to paginate: ${error}`);
121
+ }
122
+ }
123
+ extractFieldNames(model) {
124
+ const fieldNames = [];
125
+ const fields = model.fields;
126
+ for (const key in fields) {
127
+ if (fields && fields.hasOwnProperty(key)) {
128
+ fieldNames.push(key);
129
+ }
130
+ }
131
+ return fieldNames;
132
+ }
133
+ isInvalidField(sortField, model) {
134
+ return model && model.fields ? !model.fields[sortField] : true;
135
+ }
136
+ isInvalidLocaleField(sortField, model) {
137
+ const fields = model['$parent'][`${model.name}_locale`].fields;
138
+ return model && fields ? !fields[sortField] : true;
139
+ }
140
+ isInvalidFields(fields, model) {
141
+ return !fields.every((field) => model.fields ? model && model.fields[field] : false);
142
+ }
143
+ isInvalidLocaleFields(fields, model) {
144
+ const localeFields = model['$parent'][`${model.name}_locale`].fields;
145
+ return !fields.every((field) => localeFields ? !localeFields[field] : false);
146
+ }
147
+ async getDb(model) {
148
+ const { DATABASE_URL, DB_HOST, DB_PORT, DB_USERNAME, DB_PASSWORD, DB_DATABASE, } = model['$parent']._engine.config.env;
149
+ const type = DATABASE_URL.split(':')[0];
150
+ this.db = databases_1.DatabaseFactory.create(type === 'mysql' ? databases_1.Database.MYSQL : databases_1.Database.POSTGRES, DB_HOST, DB_USERNAME, DB_PASSWORD, DB_DATABASE, Number(DB_PORT));
151
+ return this.db;
152
+ }
153
+ async getBuilder(model, tableName, query, builder) {
154
+ const db = await this.getDb(model);
155
+ if (!builder) {
156
+ builder = {
157
+ joinTables: [],
158
+ select: [],
159
+ where: [],
160
+ order: [],
161
+ join: [],
162
+ from: db.getColumnNameWithScaping(tableName),
163
+ };
164
+ }
165
+ if (query.orderBy) {
166
+ for (const key in query.orderBy) {
167
+ if (typeof query.orderBy[key] === 'object') {
168
+ if (!builder.joinTables.includes(key)) {
169
+ builder.joinTables.push(key);
170
+ const foreignKey = await db.getColumnNameFromRelation(tableName, `${tableName}_locale`);
171
+ const primaryKeys = await db.getPrimaryKeys(tableName);
172
+ if (primaryKeys.length !== 1) {
173
+ throw new Error('Only single primary key is supported');
174
+ }
175
+ const primaryKey = primaryKeys[0];
176
+ builder.join.push(`LEFT JOIN ${db.getColumnNameWithScaping(key)} ON ${db.getColumnNameWithScaping(key)}.${db.getColumnNameWithScaping(foreignKey)} = ${db.getColumnNameWithScaping(tableName)}.${db.getColumnNameWithScaping(primaryKey)}`);
177
+ for (const k in query.orderBy[key]) {
178
+ builder.order.push(`${db.getColumnNameWithScaping(key)}.${db.getColumnNameWithScaping(k)} ${query.orderBy[key][k]}`);
179
+ }
180
+ }
181
+ }
182
+ }
183
+ }
184
+ if (query.select) {
185
+ builder.select = [
186
+ ...builder.select,
187
+ ...Object.keys(query.select).map((key) => `${db.getColumnNameWithScaping(tableName)}.${db.getColumnNameWithScaping(key)}`),
188
+ ];
189
+ for (const key in query.select) {
190
+ if (typeof query.select[key] === 'object') {
191
+ builder = await this.getBuilder(model, key, query.select[key], builder);
192
+ }
193
+ }
194
+ }
195
+ else if (query.include) {
196
+ builder.select = [
197
+ ...builder.select,
198
+ `${db.getColumnNameWithScaping(tableName)}.*`,
199
+ ];
200
+ for (const key in query.include) {
201
+ if (typeof query.include[key] === 'object') {
202
+ if (!builder.joinTables.includes(key)) {
203
+ builder.joinTables.push(key);
204
+ const foreignKey = await db.getColumnNameFromRelation(tableName, key);
205
+ const primaryKeys = await db.getPrimaryKeys(tableName);
206
+ const primaryKey = primaryKeys[0];
207
+ builder.join.push(`LEFT JOIN ${db.getColumnNameWithScaping(key)} ON ${db.getColumnNameWithScaping(key)}.${db.getColumnNameWithScaping(foreignKey)} = ${db.getColumnNameWithScaping(tableName)}.${db.getColumnNameWithScaping(primaryKey)}`);
208
+ builder = await this.getBuilder(model, key, query.include[key], builder);
209
+ }
210
+ }
211
+ }
212
+ }
213
+ if (query.where) {
214
+ for (const key in query.where) {
215
+ if (typeof query.where[key] === 'object') {
216
+ if (!builder.joinTables.includes(key)) {
217
+ builder.joinTables.push(key);
218
+ const foreignKey = await db.getColumnNameFromRelation(key, tableName);
219
+ const primaryKeys = await db.getPrimaryKeys(key);
220
+ builder.join.push(`LEFT JOIN ${db.getColumnNameWithScaping(key)} ON ${db.getColumnNameWithScaping(key)}.${db.getColumnNameWithScaping(primaryKeys[0])} = ${db.getColumnNameWithScaping(tableName)}.${db.getColumnNameWithScaping(foreignKey)}`);
221
+ for (const k in query.where[key]) {
222
+ builder.where.push(`${db.getColumnNameWithScaping(key)}.${db.getColumnNameWithScaping(k)} = ${databases_1.AbstractDatabase.addSimpleQuotes(query.where[key][k])}`);
223
+ }
224
+ }
225
+ }
226
+ else {
227
+ builder.where.push(`${db.getColumnNameWithScaping(tableName)}.${db.getColumnNameWithScaping(key)} = ${databases_1.AbstractDatabase.addSimpleQuotes(query.where[key])}`);
228
+ }
229
+ }
230
+ }
231
+ return builder;
232
+ }
233
+ async query(model, query) {
234
+ const db = await this.getDb(model);
235
+ const builder = await this.getBuilder(model, model.name, query, null);
236
+ const sql = [];
237
+ sql.push(`SELECT ${builder.select.join(', ')}`);
238
+ sql.push(`FROM ${builder.from}`);
239
+ if (builder.join.length)
240
+ sql.push(builder.join.join(' '));
241
+ if (builder.where.length)
242
+ sql.push(`WHERE ${builder.where.join(' AND ')}`);
243
+ if (builder.order.length)
244
+ sql.push(`ORDER BY ${builder.order.join(', ')}`);
245
+ if (query.take >= 0 && query.skip >= 0)
246
+ sql.push(db.getLimit(query.take, query.skip));
247
+ const result = await db.query(sql.join(' '));
248
+ return result;
249
+ }
250
+ };
251
+ exports.PaginationService = PaginationService;
252
+ exports.PaginationService = PaginationService = PaginationService_1 = __decorate([
253
+ (0, common_1.Injectable)()
254
+ ], PaginationService);
255
+ //# sourceMappingURL=pagination.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pagination.service.js","sourceRoot":"","sources":["../src/pagination.service.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,sCAAgD;AAChD,2CAAyE;AACzE,2EAG0C;AAC1C,2CAA0E;AAC1E,+DAA8D;AAIvD,IAAM,iBAAiB,yBAAvB,MAAM,iBAAiB;IAAvB;QACY,WAAM,GAAG,IAAI,eAAM,CAAC,mBAAiB,CAAC,IAAI,CAAC,CAAC;QACrD,OAAE,GAAQ,IAAI,CAAC;IAqWzB,CAAC;IApWC,KAAK,CAAC,QAAQ,CACZ,KAAQ,EACR,gBAAkC,EAClC,WAA6B,EAC7B,cAAuB;QAEvB,IAAI,CAAC;YACH,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,MAAM,IAAI,4BAAmB,CAAC,mBAAmB,CAAC,CAAC;YACrD,CAAC;YAED,MAAM,IAAI,GAAG,MAAM,CAAC,gBAAgB,CAAC,IAAI,IAAI,mCAAY,CAAC,CAAC;YAC3D,MAAM,QAAQ,GAAG,MAAM,CAAC,gBAAgB,CAAC,QAAQ,IAAI,wCAAiB,CAAC,CAAC;YACxE,MAAM,MAAM,GAAG,gBAAgB,CAAC,MAAM,IAAI,IAAI,CAAC;YAC/C,MAAM,SAAS,GAAG,gBAAgB,CAAC,SAAS,IAAI,IAAI,CAAC;YACrD,MAAM,SAAS,GAAG,gBAAgB,CAAC,SAAS,IAAI,qCAAkB,CAAC,GAAG,CAAC;YACvE,MAAM,MAAM,GAAG,gBAAgB,CAAC,MAAM;gBACpC,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC;gBACpC,CAAC,CAAC,IAAI,CAAC;YAET,IAAI,IAAI,GAAG,CAAC,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;gBAC7B,MAAM,IAAI,4BAAmB,CAC3B,0CAA0C,CAC3C,CAAC;YACJ,CAAC;YAED,IAAI,eAAe,GAAG,SAAS,CAAC;YAChC,IAAI,kBAAkB,GAAQ;gBAC5B,EAAE,EAAE,gBAAgB,CAAC,SAAS,IAAI,qCAAkB,CAAC,GAAG;aACzD,CAAC;YAEF,IAAI,SAAS,EAAE,CAAC;gBACd,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;gBACtD,IAAI,aAAa,GAAG,KAAK,CAAC;gBAC1B,IAAI,OAAO,EAAE,CAAC;oBACZ,aAAa,GAAG,IAAI,CAAC,oBAAoB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;oBAE5D,IAAI,aAAa,EAAE,CAAC;wBAClB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAkB,SAAS,EAAE,CAAC,CAAC;wBACjD,MAAM,IAAI,4BAAmB,CAC3B,kBAAkB,SAAS,wBAAwB,IAAI,CAAC,iBAAiB,CACvE,KAAK,CACN,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACf,CAAC;oBACJ,CAAC;yBAAM,CAAC;wBACN,kBAAkB,GAAG;4BACnB,CAAC,GAAI,KAAa,CAAC,IAAI,SAAS,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE;yBAC9D,CAAC;oBACJ,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,kBAAkB,GAAG,EAAE,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,CAAC;gBAClD,CAAC;YACH,CAAC;YAED,IAAI,MAAM,EAAE,CAAC;gBACX,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;oBAC/B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;oBAC7C,MAAM,IAAI,4BAAmB,CAAC,yBAAyB,CAAC,CAAC;gBAC3D,CAAC;YACH,CAAC;YAED,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,aAAa,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;gBAE1D,IAAI,aAAa,EAAE,CAAC;oBAClB,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,mBAAmB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,wBAAwB,IAAI,CAAC,iBAAiB,CAChF,KAAK,CACN,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACf,CAAC;oBAEF,MAAM,IAAI,4BAAmB,CAC3B,mBAAmB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,wBAAwB,IAAI,CAAC,iBAAiB,CAChF,KAAK,CACN,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACf,CAAC;gBACJ,CAAC;gBAED,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;oBAC7C,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;oBAClB,OAAO,GAAG,CAAC;gBACb,CAAC,EAAE,EAAE,CAAC,CAAC;YACT,CAAC;YAED,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAElD,IACG,WAAmB,CAAC,KAAK;gBACzB,WAAmB,CAAC,KAAK,CAAC,EAAE;gBAC5B,WAAmB,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,KAAK,CAAC,EAC1C,CAAC;gBACD,OAAQ,WAAmB,CAAC,KAAK,CAAC,EAAE,CAAC;YACvC,CAAC;YAED,MAAM,KAAK,GAAQ;gBACjB,MAAM,EAAE,eAAe;gBACvB,KAAK,EAAE,CAAC,WAAmB,aAAnB,WAAW,uBAAX,WAAW,CAAU,KAAK,KAAI,EAAE;gBACxC,OAAO,EAAE,kBAAkB;gBAC3B,IAAI,EAAE,QAAQ;gBACd,IAAI;aACL,CAAC;YAEF,IAAK,WAAmB,aAAnB,WAAW,uBAAX,WAAW,CAAU,OAAO,EAAE,CAAC;gBAClC,KAAK,CAAC,OAAO,GAAI,WAAmB,aAAnB,WAAW,uBAAX,WAAW,CAAU,OAAO,CAAC;gBAC9C,OAAO,KAAK,CAAC,MAAM,CAAC;YACtB,CAAC;YAED,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBACnC,KAAa,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC,WAAmB,aAAnB,WAAW,uBAAX,WAAW,CAAU,KAAK,KAAI,EAAE,EAAE,CAAC;gBACjE,KAAa,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAC9B,2BAA2B;aAC5B,CAAC,CAAC;YAEH,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,CAAC;YAE7C,IAAI,cAAc,EAAE,CAAC;gBACnB,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE;oBAC5B,OAAO,IAAA,sBAAgB,EAAC,cAAc,EAAE,IAAI,CAAC,CAAC;gBAChD,CAAC,CAAC,CAAC;YACL,CAAC;YAED,OAAO;gBACL,KAAK;gBACL,QAAQ;gBACR,IAAI;gBACJ,QAAQ;gBACR,IAAI,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI;gBAChC,IAAI,EAAE,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI;gBACvC,IAAI;aACL,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC;YAE9C,IAAI,KAAK,YAAY,4BAAmB,EAAE,CAAC;gBACzC,MAAM,KAAK,CAAC;YACd,CAAC;YAED,MAAM,IAAI,4BAAmB,CAAC,uBAAuB,KAAK,EAAE,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;IAED,iBAAiB,CAAC,KAA0B;QAC1C,MAAM,UAAU,GAAa,EAAE,CAAC;QAEhC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QAE5B,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;YACzB,IAAI,MAAM,IAAI,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;gBACzC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACvB,CAAC;QACH,CAAC;QAED,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,cAAc,CAAC,SAAiB,EAAE,KAAU;QAC1C,OAAO,KAAK,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACjE,CAAC;IAED,oBAAoB,CAAC,SAAiB,EAAE,KAAU;QAChD,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,SAAS,CAAC,CAAC,MAAM,CAAC;QAE/D,OAAO,KAAK,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACrD,CAAC;IAED,eAAe,CAAC,MAAgB,EAAE,KAAU;QAC1C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAC7B,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CACpD,CAAC;IACJ,CAAC;IAED,qBAAqB,CAAC,MAAgB,EAAE,KAAU;QAChD,MAAM,YAAY,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,SAAS,CAAC,CAAC,MAAM,CAAC;QAErE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAC7B,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAC5C,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,KAAU;QACpB,MAAM,EACJ,YAAY,EACZ,OAAO,EACP,OAAO,EACP,WAAW,EACX,WAAW,EACX,WAAW,GACZ,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC;QAExC,MAAM,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAExC,IAAI,CAAC,EAAE,GAAG,2BAAe,CAAC,MAAM,CAC9B,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,oBAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,oBAAQ,CAAC,QAAQ,EACrD,OAAO,EACP,WAAW,EACX,WAAW,EACX,WAAW,EACX,MAAM,CAAC,OAAO,CAAC,CAChB,CAAC;QAEF,OAAO,IAAI,CAAC,EAAE,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,UAAU,CACd,KAAU,EACV,SAAiB,EACjB,KAAU,EACV,OAAY;QAEZ,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAEnC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,GAAG;gBACR,UAAU,EAAE,EAAE;gBACd,MAAM,EAAE,EAAE;gBACV,KAAK,EAAE,EAAE;gBACT,KAAK,EAAE,EAAE;gBACT,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,EAAE,CAAC,wBAAwB,CAAC,SAAS,CAAC;aAC7C,CAAC;QACJ,CAAC;QAED,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YAClB,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;gBAChC,IAAI,OAAO,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,QAAQ,EAAE,CAAC;oBAC3C,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;wBACtC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;wBAC7B,MAAM,UAAU,GAAG,MAAM,EAAE,CAAC,yBAAyB,CACnD,SAAS,EACT,GAAG,SAAS,SAAS,CACtB,CAAC;wBAEF,MAAM,WAAW,GAAG,MAAM,EAAE,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;wBAEvD,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;4BAC7B,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;wBAC1D,CAAC;wBAED,MAAM,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;wBAElC,OAAO,CAAC,IAAI,CAAC,IAAI,CACf,aAAa,EAAE,CAAC,wBAAwB,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,wBAAwB,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,wBAAwB,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,wBAAwB,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,wBAAwB,CAAC,UAAU,CAAC,EAAE,CACzN,CAAC;wBAEF,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;4BACnC,OAAO,CAAC,KAAK,CAAC,IAAI,CAChB,GAAG,EAAE,CAAC,wBAAwB,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,wBAAwB,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CACjG,CAAC;wBACJ,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACjB,OAAO,CAAC,MAAM,GAAG;gBACf,GAAG,OAAO,CAAC,MAAM;gBACjB,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,CAC9B,CAAC,GAAG,EAAE,EAAE,CACN,GAAG,EAAE,CAAC,wBAAwB,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,wBAAwB,CAAC,GAAG,CAAC,EAAE,CAClF;aACF,CAAC;YACF,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;gBAC/B,IAAI,OAAO,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,QAAQ,EAAE,CAAC;oBAC1C,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAC7B,KAAK,EACL,GAAG,EACH,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,EACjB,OAAO,CACR,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;aAAM,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YACzB,OAAO,CAAC,MAAM,GAAG;gBACf,GAAG,OAAO,CAAC,MAAM;gBACjB,GAAG,EAAE,CAAC,wBAAwB,CAAC,SAAS,CAAC,IAAI;aAC9C,CAAC;YACF,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;gBAChC,IAAI,OAAO,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,QAAQ,EAAE,CAAC;oBAC3C,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;wBACtC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;wBAE7B,MAAM,UAAU,GAAG,MAAM,EAAE,CAAC,yBAAyB,CACnD,SAAS,EACT,GAAG,CACJ,CAAC;wBAEF,MAAM,WAAW,GAAG,MAAM,EAAE,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;wBAEvD,MAAM,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;wBAElC,OAAO,CAAC,IAAI,CAAC,IAAI,CACf,aAAa,EAAE,CAAC,wBAAwB,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,wBAAwB,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,wBAAwB,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,wBAAwB,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,wBAAwB,CAAC,UAAU,CAAC,EAAE,CACzN,CAAC;wBAEF,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAC7B,KAAK,EACL,GAAG,EACH,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAClB,OAAO,CACR,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YAChB,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;gBAC9B,IAAI,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,QAAQ,EAAE,CAAC;oBACzC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;wBACtC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;wBAC7B,MAAM,UAAU,GAAG,MAAM,EAAE,CAAC,yBAAyB,CACnD,GAAG,EACH,SAAS,CACV,CAAC;wBACF,MAAM,WAAW,GAAG,MAAM,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;wBAEjD,OAAO,CAAC,IAAI,CAAC,IAAI,CACf,aAAa,EAAE,CAAC,wBAAwB,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,wBAAwB,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,wBAAwB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,wBAAwB,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,wBAAwB,CAAC,UAAU,CAAC,EAAE,CAC7N,CAAC;wBAEF,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;4BACjC,OAAO,CAAC,KAAK,CAAC,IAAI,CAChB,GAAG,EAAE,CAAC,wBAAwB,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,wBAAwB,CAAC,CAAC,CAAC,MAAM,4BAAgB,CAAC,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CACnI,CAAC;wBACJ,CAAC;oBACH,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,KAAK,CAAC,IAAI,CAChB,GAAG,EAAE,CAAC,wBAAwB,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,wBAAwB,CAAC,GAAG,CAAC,MAAM,4BAAgB,CAAC,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CACxI,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,KAAU,EAAE,KAAU;QAChC,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACnC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QAEtE,MAAM,GAAG,GAAG,EAAE,CAAC;QAEf,GAAG,CAAC,IAAI,CAAC,UAAU,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAChD,GAAG,CAAC,IAAI,CAAC,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QACjC,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM;YAAE,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAC1D,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM;YAAE,GAAG,CAAC,IAAI,CAAC,SAAS,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC3E,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM;YAAE,GAAG,CAAC,IAAI,CAAC,YAAY,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC3E,IAAI,KAAK,CAAC,IAAI,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,IAAI,CAAC;YACpC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QAEhD,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAE7C,OAAO,MAAM,CAAC;IAChB,CAAC;CACF,CAAA;AAvWY,8CAAiB;4BAAjB,iBAAiB;IAD7B,IAAA,mBAAU,GAAE;GACA,iBAAiB,CAuW7B"}
@@ -0,0 +1,34 @@
1
+ import { PageOrderDirection } from '../enums/patination.enums';
2
+ export type PaginatedResult<T> = {
3
+ total: number;
4
+ lastPage: number;
5
+ page: number;
6
+ pageSize: number;
7
+ prev: number | null;
8
+ next: number | null;
9
+ data: T[];
10
+ };
11
+ export type PaginationType = string | number | PaginationParams;
12
+ export type PaginateFunction = <K, T>(model: any, args?: K, options?: PaginateOptions) => Promise<PaginatedResult<T>>;
13
+ export type PaginationParams = {
14
+ page?: number;
15
+ pageSize?: number;
16
+ search?: string;
17
+ sortField?: string;
18
+ sortOrder?: PageOrderDirection;
19
+ fields: string;
20
+ };
21
+ export type PaginateOptions = {
22
+ page?: number | string;
23
+ pageSize?: number | string;
24
+ };
25
+ export type BaseModel = {
26
+ findMany: (args: any) => Promise<any[]>;
27
+ count: (args: any) => Promise<number>;
28
+ fields?: Record<string, any>;
29
+ name: string;
30
+ };
31
+ export type FindManyArgs<M> = M extends {
32
+ findMany: (args: infer A) => any;
33
+ } ? A : never;
34
+ //# sourceMappingURL=pagination.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pagination.types.d.ts","sourceRoot":"","sources":["../../src/types/pagination.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAE/D,MAAM,MAAM,eAAe,CAAC,CAAC,IAAI;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,IAAI,EAAE,CAAC,EAAE,CAAC;CACX,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,MAAM,GAAG,gBAAgB,CAAC;AAEhE,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,EAAE,CAAC,EAClC,KAAK,EAAE,GAAG,EACV,IAAI,CAAC,EAAE,CAAC,EACR,OAAO,CAAC,EAAE,eAAe,KACtB,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;AAEjC,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,kBAAkB,CAAC;IAC/B,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,QAAQ,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACxC,KAAK,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACtC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC7B,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,CAAC,SAAS;IAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,GAAG,CAAA;CAAE,GACxE,CAAC,GACD,KAAK,CAAC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=pagination.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pagination.types.js","sourceRoot":"","sources":["../../src/types/pagination.types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ export type QueryOption = {
2
+ returning?: string[] | string;
3
+ primaryKeys?: string[] | string;
4
+ };
5
+ //# sourceMappingURL=query-option.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query-option.d.ts","sourceRoot":"","sources":["../../src/types/query-option.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,GAAG;IACxB,SAAS,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IAC9B,WAAW,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;CACjC,CAAC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=query-option.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query-option.js","sourceRoot":"","sources":["../../src/types/query-option.ts"],"names":[],"mappings":""}
@@ -0,0 +1,7 @@
1
+ export type RelationN2NResult = {
2
+ tableNameIntermediate: string;
3
+ columnNameOrigin: string;
4
+ columnNameDestination: string;
5
+ primaryKeyDestination: string;
6
+ };
7
+ //# sourceMappingURL=relation-n2n-result.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relation-n2n-result.d.ts","sourceRoot":"","sources":["../../src/types/relation-n2n-result.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,iBAAiB,GAAG;IAC9B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,gBAAgB,EAAE,MAAM,CAAC;IACzB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,qBAAqB,EAAE,MAAM,CAAC;CAC/B,CAAC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=relation-n2n-result.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relation-n2n-result.js","sourceRoot":"","sources":["../../src/types/relation-n2n-result.ts"],"names":[],"mappings":""}
@@ -0,0 +1,7 @@
1
+ import { QueryOption } from './query-option';
2
+ export type TransactionQueries = {
3
+ query: string;
4
+ values?: any[];
5
+ options?: QueryOption;
6
+ };
7
+ //# sourceMappingURL=transaction-queries.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transaction-queries.d.ts","sourceRoot":"","sources":["../../src/types/transaction-queries.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,MAAM,MAAM,kBAAkB,GAAG;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC;IACf,OAAO,CAAC,EAAE,WAAW,CAAC;CACvB,CAAC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=transaction-queries.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transaction-queries.js","sourceRoot":"","sources":["../../src/types/transaction-queries.ts"],"names":[],"mappings":""}
package/package.json ADDED
@@ -0,0 +1,31 @@
1
+ {
2
+ "name": "@hed-hog/api-pagination",
3
+ "version": "0.0.1",
4
+ "main": "dist/index.js",
5
+ "types": "dist/index.d.ts",
6
+ "dependencies": {
7
+ "@nestjs/mapped-types": "*",
8
+ "@nestjs/common": "*",
9
+ "class-validator": "*",
10
+ "mysql2": "3.14.1",
11
+ "pg": "8.16.0",
12
+ "typeorm": "*",
13
+ "@hed-hog/api": "0.0.1",
14
+ "@hed-hog/api-prisma": "0.0.0"
15
+ },
16
+ "exports": {
17
+ ".": {
18
+ "import": "./dist/index.js",
19
+ "require": "./dist/index.js"
20
+ },
21
+ "./package.json": "./package.json"
22
+ },
23
+ "scripts": {
24
+ "_dev": "pnpm build --watch",
25
+ "lint": "eslint \"{src,apps,libs,test}/**/*.ts\"",
26
+ "prebuild": "npx ts-node ../../scripts/build-dependencies.ts api-pagination",
27
+ "build": "tsc --project tsconfig.production.json",
28
+ "patch": "npx ts-node ../../scripts/patch.ts api-pagination",
29
+ "prod": "pnpm run patch && pnpm run build && pnpm publish --access public --no-git-checks"
30
+ }
31
+ }
@@ -0,0 +1,2 @@
1
+ export const DEFAULT_PAGE = 1;
2
+ export const DEFAULT_PAGE_SIZE = 20;