nicot 1.1.10 → 1.1.11
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 +92 -0
- package/dist/src/bases/id-base.d.ts +2 -0
- package/dist/src/bases/page-settings.d.ts +3 -2
- package/dist/src/bases/page-settings.js +4 -11
- package/dist/src/bases/page-settings.js.map +1 -1
- package/dist/src/crud-base.d.ts +36 -9
- package/dist/src/crud-base.js +87 -25
- package/dist/src/crud-base.js.map +1 -1
- package/dist/src/decorators/restful.d.ts +3 -0
- package/dist/src/decorators/restful.js +17 -1
- package/dist/src/decorators/restful.js.map +1 -1
- package/dist/src/dto/cursor-pagination.d.ts +19 -0
- package/dist/src/dto/cursor-pagination.js +89 -0
- package/dist/src/dto/cursor-pagination.js.map +1 -0
- package/dist/src/dto/index.d.ts +1 -0
- package/dist/src/dto/index.js +1 -0
- package/dist/src/dto/index.js.map +1 -1
- package/dist/src/utility/cursor-pagination-utils.d.ts +15 -0
- package/dist/src/utility/cursor-pagination-utils.js +158 -0
- package/dist/src/utility/cursor-pagination-utils.js.map +1 -0
- package/package.json +2 -1
package/README.md
CHANGED
|
@@ -665,6 +665,98 @@ GET /user?name=Tom&pageCount=2&recordsPerPage=10
|
|
|
665
665
|
|
|
666
666
|
---
|
|
667
667
|
|
|
668
|
+
## 🔁 游标分页(Cursor Pagination)
|
|
669
|
+
|
|
670
|
+
NICOT 支持游标式分页查询(Cursor-based Pagination),相比传统的页码分页,在数据量大、频繁变更或无限滚动的场景中更加稳定可靠。
|
|
671
|
+
|
|
672
|
+
---
|
|
673
|
+
|
|
674
|
+
### ✅ 使用方式
|
|
675
|
+
|
|
676
|
+
定义查询 DTO 时继承工厂生成的游标分页基类:
|
|
677
|
+
|
|
678
|
+
```ts
|
|
679
|
+
class FindAllUserCursorDto extends factory.findAllCursorPaginatedDto {}
|
|
680
|
+
```
|
|
681
|
+
|
|
682
|
+
在 Controller 中,使用以下工厂方法:
|
|
683
|
+
|
|
684
|
+
```ts
|
|
685
|
+
@factory.findAllCursorPaginated()
|
|
686
|
+
async findAll(@factory.findAllParam() dto: FindAllUserCursorDto) {
|
|
687
|
+
return this.service.findAllCursorPaginated(dto);
|
|
688
|
+
}
|
|
689
|
+
```
|
|
690
|
+
|
|
691
|
+
> ⚠️ 注意:`findAll()` 与 `findAllCursorPaginated()` **不能同时使用**,因为它们会绑定到同一个 GET `/` 路由。请选择其中一种分页模式。
|
|
692
|
+
|
|
693
|
+
---
|
|
694
|
+
|
|
695
|
+
### 📥 请求字段说明
|
|
696
|
+
|
|
697
|
+
| 字段名 | 类型 | 描述 |
|
|
698
|
+
|--------------------|---------|------------------------------------------------|
|
|
699
|
+
| `recordsPerPage` | number | 每页数据数量,默认 25 |
|
|
700
|
+
| `paginationCursor` | string | 上一次请求返回的游标(`nextCursor` 或 `previousCursor`)|
|
|
701
|
+
|
|
702
|
+
- 首次请求无需传 `paginationCursor`
|
|
703
|
+
- 后续请求使用返回的游标即可获取上一页或下一页数据
|
|
704
|
+
|
|
705
|
+
---
|
|
706
|
+
|
|
707
|
+
### 📤 返回结构说明
|
|
708
|
+
|
|
709
|
+
返回值格式与传统分页一致,但字段不同:
|
|
710
|
+
|
|
711
|
+
```json
|
|
712
|
+
{
|
|
713
|
+
"statusCode": 200,
|
|
714
|
+
"success": true,
|
|
715
|
+
"message": "success",
|
|
716
|
+
"timestamp": "2025-04-25T12:00:00.000Z",
|
|
717
|
+
"data": [{}],
|
|
718
|
+
"nextCursor": "eyJpZCI6MTAwfQ",
|
|
719
|
+
"previousCursor": "eyJpZCI6NDB9"
|
|
720
|
+
}
|
|
721
|
+
```
|
|
722
|
+
|
|
723
|
+
- 游标格式为 Base64URL 编码(安全可用于 URL 参数)
|
|
724
|
+
- `nextCursor` / `previousCursor` 是可选字段,仅在有下一页或上一页时返回
|
|
725
|
+
|
|
726
|
+
---
|
|
727
|
+
|
|
728
|
+
### 🔐 兼容性说明
|
|
729
|
+
|
|
730
|
+
- 所有字段控制装饰器(如 `@NotInResult()`, `@QueryEqual()`, `@NotQueryable()` 等)在游标分页中同样生效
|
|
731
|
+
- 查询参数仍来自实体声明,Swagger 自动生成文档
|
|
732
|
+
- 无需变更现有实体结构,只需更换 `findAllDto` 和分页调用方法
|
|
733
|
+
|
|
734
|
+
---
|
|
735
|
+
|
|
736
|
+
### ✅ 适用场景
|
|
737
|
+
|
|
738
|
+
- 无限滚动分页加载(如微博、时间线)
|
|
739
|
+
- 数据频繁变动(传统分页页数易错)
|
|
740
|
+
- 前后端希望避免“总页数”等全表统计带来的性能消耗
|
|
741
|
+
|
|
742
|
+
---
|
|
743
|
+
|
|
744
|
+
### 🧪 示例请求
|
|
745
|
+
|
|
746
|
+
```http
|
|
747
|
+
GET /user?recordsPerPage=20&paginationCursor=eyJpZCI6MTAwfQ
|
|
748
|
+
```
|
|
749
|
+
|
|
750
|
+
---
|
|
751
|
+
|
|
752
|
+
### 🛑 注意事项
|
|
753
|
+
|
|
754
|
+
- 不支持跳页(如 pageCount = 5 这种跳转)
|
|
755
|
+
- 不再返回 `pageCount`、`totalPages` 等字段
|
|
756
|
+
- 若你的 Controller 中已有 `@factory.findAll()`,请不要再使用游标分页版本
|
|
757
|
+
|
|
758
|
+
---
|
|
759
|
+
|
|
668
760
|
## 📦 统一返回结构与接口注解
|
|
669
761
|
|
|
670
762
|
NICOT 默认提供统一的接口返回格式与 Swagger 自动注解能力,便于前后端标准化对接。
|
|
@@ -22,6 +22,7 @@ export declare function IdBase(idOptions?: IdOptions): {
|
|
|
22
22
|
getPageCount(): number;
|
|
23
23
|
getRecordsPerPage(): number;
|
|
24
24
|
getStartingFrom(): number;
|
|
25
|
+
applyPaginationQuery(qb: SelectQueryBuilder<any>): void;
|
|
25
26
|
};
|
|
26
27
|
};
|
|
27
28
|
export interface StringIdOptions extends IdOptions {
|
|
@@ -48,5 +49,6 @@ export declare function StringIdBase(idOptions: StringIdOptions): {
|
|
|
48
49
|
getPageCount(): number;
|
|
49
50
|
getRecordsPerPage(): number;
|
|
50
51
|
getStartingFrom(): number;
|
|
52
|
+
applyPaginationQuery(qb: SelectQueryBuilder<any>): void;
|
|
51
53
|
};
|
|
52
54
|
};
|
|
@@ -6,7 +6,7 @@ export interface PageSettingsFactory {
|
|
|
6
6
|
export interface QueryWise<T> {
|
|
7
7
|
applyQuery(qb: SelectQueryBuilder<T>, entityName: string): void;
|
|
8
8
|
}
|
|
9
|
-
export declare type QueryCond = <T
|
|
9
|
+
export declare type QueryCond = <T>(obj: T, qb: SelectQueryBuilder<T>, entityName: string, key: keyof T & string) => any;
|
|
10
10
|
export declare class PageSettingsDto implements PageSettingsWise, PageSettingsFactory, QueryWise<PageSettingsDto> {
|
|
11
11
|
pageCount: number;
|
|
12
12
|
recordsPerPage: number;
|
|
@@ -14,5 +14,6 @@ export declare class PageSettingsDto implements PageSettingsWise, PageSettingsFa
|
|
|
14
14
|
getPageCount(): number;
|
|
15
15
|
getRecordsPerPage(): number;
|
|
16
16
|
getStartingFrom(): number;
|
|
17
|
-
|
|
17
|
+
applyPaginationQuery(qb: SelectQueryBuilder<any>): void;
|
|
18
|
+
applyQuery(qb: SelectQueryBuilder<any>, entityName: string): void;
|
|
18
19
|
}
|
|
@@ -13,7 +13,6 @@ exports.PageSettingsDto = void 0;
|
|
|
13
13
|
const decorators_1 = require("../decorators");
|
|
14
14
|
const class_validator_1 = require("class-validator");
|
|
15
15
|
const swagger_1 = require("@nestjs/swagger");
|
|
16
|
-
const metadata_1 = require("../utility/metadata");
|
|
17
16
|
class PageSettingsDto {
|
|
18
17
|
getActualPageSettings() {
|
|
19
18
|
return {
|
|
@@ -22,24 +21,18 @@ class PageSettingsDto {
|
|
|
22
21
|
};
|
|
23
22
|
}
|
|
24
23
|
getPageCount() {
|
|
25
|
-
return this.pageCount || 1;
|
|
24
|
+
return parseInt(this.pageCount) || 1;
|
|
26
25
|
}
|
|
27
26
|
getRecordsPerPage() {
|
|
28
|
-
return this.recordsPerPage || 25;
|
|
27
|
+
return parseInt(this.recordsPerPage) || 25;
|
|
29
28
|
}
|
|
30
29
|
getStartingFrom() {
|
|
31
30
|
return (this.getPageCount() - 1) * this.getRecordsPerPage();
|
|
32
31
|
}
|
|
33
|
-
|
|
34
|
-
const queryFields = metadata_1.reflector.getArray('queryConditionFields', this);
|
|
35
|
-
for (const field of queryFields) {
|
|
36
|
-
const condition = metadata_1.reflector.get('queryCondition', this, field);
|
|
37
|
-
if (condition) {
|
|
38
|
-
condition(this, qb, entityName, field);
|
|
39
|
-
}
|
|
40
|
-
}
|
|
32
|
+
applyPaginationQuery(qb) {
|
|
41
33
|
qb.take(this.getRecordsPerPage()).skip(this.getStartingFrom());
|
|
42
34
|
}
|
|
35
|
+
applyQuery(qb, entityName) { }
|
|
43
36
|
}
|
|
44
37
|
__decorate([
|
|
45
38
|
(0, decorators_1.NotWritable)(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"page-settings.js","sourceRoot":"","sources":["../../../src/bases/page-settings.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,8CAAyD;AAEzD,qDAAoD;AACpD,6CAA8C;
|
|
1
|
+
{"version":3,"file":"page-settings.js","sourceRoot":"","sources":["../../../src/bases/page-settings.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,8CAAyD;AAEzD,qDAAoD;AACpD,6CAA8C;AAmB9C,MAAa,eAAe;IA2B1B,qBAAqB;QACnB,OAAO;YACL,SAAS,EAAE,IAAI,CAAC,YAAY,EAAE;YAC9B,cAAc,EAAE,IAAI,CAAC,iBAAiB,EAAE;SACzC,CAAC;IACJ,CAAC;IAED,YAAY;QACV,OAAO,QAAQ,CAAC,IAAI,CAAC,SAAgB,CAAC,IAAI,CAAC,CAAC;IAC9C,CAAC;IAED,iBAAiB;QACf,OAAO,QAAQ,CAAC,IAAI,CAAC,cAAqB,CAAC,IAAI,EAAE,CAAC;IACpD,CAAC;IAED,eAAe;QACb,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC9D,CAAC;IAED,oBAAoB,CAAC,EAA2B;QAC9C,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;IACjE,CAAC;IAED,UAAU,CAAC,EAA2B,EAAE,UAAkB,IAAG,CAAC;CAC/D;AAtCC;IAVC,IAAA,wBAAW,GAAE;IACb,IAAA,4BAAU,GAAE;IACZ,IAAA,uBAAK,GAAE;IACP,IAAA,qBAAW,EAAC;QACX,WAAW,EAAE,gCAAgC;QAC7C,QAAQ,EAAE,KAAK;QACf,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,CAAC;KACX,CAAC;IACD,IAAA,wBAAW,GAAE;;kDACI;AAYlB;IAVC,IAAA,wBAAW,GAAE;IACb,IAAA,4BAAU,GAAE;IACZ,IAAA,uBAAK,GAAE;IACP,IAAA,qBAAW,EAAC;QACX,WAAW,EAAE,mBAAmB;QAChC,QAAQ,EAAE,KAAK;QACf,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,CAAC;KACX,CAAC;IACD,IAAA,wBAAW,GAAE;;uDACS;AAzBzB,0CAmDC"}
|
package/dist/src/crud-base.d.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { FindOptionsWhere, Repository, SelectQueryBuilder } from 'typeorm';
|
|
2
|
-
import {
|
|
2
|
+
import { EntityHooks, PageSettingsDto, PageSettingsFactory, QueryWise } from './bases';
|
|
3
3
|
import { ConsoleLogger } from '@nestjs/common';
|
|
4
|
-
import { BlankReturnMessageDto, ClassType } from 'nesties';
|
|
4
|
+
import { BlankReturnMessageDto, ClassType, PageSettingsWise } from 'nesties';
|
|
5
|
+
import { CursorPaginationDto } from './dto/cursor-pagination';
|
|
5
6
|
export declare type EntityId<T extends {
|
|
6
7
|
id: any;
|
|
7
8
|
}> = T['id'];
|
|
@@ -16,7 +17,7 @@ export declare const Relation: (name: string, options?: Omit<RelationDef, 'name'
|
|
|
16
17
|
export declare const Inner: (name: string, options?: Omit<RelationDef, 'name'>) => RelationDef;
|
|
17
18
|
export declare type ValidCrudEntity<T> = Record<string, any> & {
|
|
18
19
|
id: any;
|
|
19
|
-
} & Partial<QueryWise<T> &
|
|
20
|
+
} & Partial<QueryWise<T> & EntityHooks & PageSettingsFactory>;
|
|
20
21
|
export interface CrudOptions<T extends ValidCrudEntity<T>> {
|
|
21
22
|
relations?: (string | RelationDef)[];
|
|
22
23
|
extraGetQuery?: (qb: SelectQueryBuilder<T>) => void;
|
|
@@ -41,10 +42,16 @@ export declare class CrudBase<T extends ValidCrudEntity<T>> {
|
|
|
41
42
|
result: string;
|
|
42
43
|
entry: T;
|
|
43
44
|
}[]>;
|
|
44
|
-
readonly entityPaginatedReturnMessageDto: new (statusCode: number, message: string, data: T[], total: number, pageSettings:
|
|
45
|
+
readonly entityPaginatedReturnMessageDto: new (statusCode: number, message: string, data: T[], total: number, pageSettings: PageSettingsWise) => import("nesties").GenericPaginatedReturnMessageDto<T>;
|
|
46
|
+
readonly entityCursorPaginatedReturnMessageDto: new (statusCode: number, message: string, data: T[], cursorResponse: import("./dto").CursorPaginationResponseWise) => import("./dto").GenericCursorPaginationReturnMessageDto<T>;
|
|
45
47
|
readonly entityRelations: (string | RelationDef)[];
|
|
46
48
|
readonly extraGetQuery: (qb: SelectQueryBuilder<T>) => void;
|
|
47
49
|
readonly log: ConsoleLogger;
|
|
50
|
+
readonly _typeormRelations: {
|
|
51
|
+
isArray: boolean;
|
|
52
|
+
propertyClass: import("nesties").AnyClass;
|
|
53
|
+
propertyName: string;
|
|
54
|
+
}[];
|
|
48
55
|
constructor(entityClass: ClassType<T>, repo: Repository<T>, crudOptions: CrudOptions<T>);
|
|
49
56
|
_cleanEntityNotInResultFields(ent: T): T;
|
|
50
57
|
cleanEntityNotInResultFields<E extends T | T[]>(ents: E): E;
|
|
@@ -57,11 +64,18 @@ export declare class CrudBase<T extends ValidCrudEntity<T>> {
|
|
|
57
64
|
}>;
|
|
58
65
|
create(_ent: T, beforeCreate?: (repo: Repository<T>) => Promise<void>): Promise<import("nesties").GenericReturnMessageDto<T>>;
|
|
59
66
|
get entityAliasName(): string;
|
|
60
|
-
|
|
61
|
-
|
|
67
|
+
_applyQueryRelation(qb: SelectQueryBuilder<T>, relation: RelationDef): void;
|
|
68
|
+
_applyQueryRelations(qb: SelectQueryBuilder<T>): void;
|
|
69
|
+
_applyQueryFilters(qb: SelectQueryBuilder<T>, ent: T): void;
|
|
62
70
|
queryBuilder(): SelectQueryBuilder<T>;
|
|
63
71
|
findOne(id: EntityId<T>, extraQuery?: (qb: SelectQueryBuilder<T>) => void): Promise<import("nesties").GenericReturnMessageDto<T>>;
|
|
72
|
+
_preFindAll(ent?: Partial<T>, extraQuery?: (qb: SelectQueryBuilder<T>) => void): Promise<{
|
|
73
|
+
query: SelectQueryBuilder<T>;
|
|
74
|
+
newEnt: T;
|
|
75
|
+
pageSettings: T & PageSettingsDto;
|
|
76
|
+
}>;
|
|
64
77
|
findAll(ent?: Partial<T>, extraQuery?: (qb: SelectQueryBuilder<T>) => void): Promise<import("nesties").GenericPaginatedReturnMessageDto<T>>;
|
|
78
|
+
findAllCursorPaginated(ent?: Partial<T & Partial<CursorPaginationDto>>, extraQuery?: (qb: SelectQueryBuilder<T>) => void): Promise<import("./dto").GenericCursorPaginationReturnMessageDto<T>>;
|
|
65
79
|
update(id: EntityId<T>, entPart: Partial<T>, cond?: FindOptionsWhere<T>): Promise<BlankReturnMessageDto>;
|
|
66
80
|
delete(id: EntityId<T>, cond?: FindOptionsWhere<T>): Promise<BlankReturnMessageDto>;
|
|
67
81
|
importEntities(_ents: T[], extraChecking?: (ent: T) => string | Promise<string>): Promise<import("nesties").GenericReturnMessageDto<{
|
|
@@ -85,10 +99,16 @@ export declare function CrudService<T extends ValidCrudEntity<T>>(entityClass: C
|
|
|
85
99
|
result: string;
|
|
86
100
|
entry: T;
|
|
87
101
|
}[]>;
|
|
88
|
-
readonly entityPaginatedReturnMessageDto: new (statusCode: number, message: string, data: T[], total: number, pageSettings:
|
|
102
|
+
readonly entityPaginatedReturnMessageDto: new (statusCode: number, message: string, data: T[], total: number, pageSettings: PageSettingsWise) => import("nesties").GenericPaginatedReturnMessageDto<T>;
|
|
103
|
+
readonly entityCursorPaginatedReturnMessageDto: new (statusCode: number, message: string, data: T[], cursorResponse: import("./dto").CursorPaginationResponseWise) => import("./dto").GenericCursorPaginationReturnMessageDto<T>;
|
|
89
104
|
readonly entityRelations: (string | RelationDef)[];
|
|
90
105
|
readonly extraGetQuery: (qb: SelectQueryBuilder<T>) => void;
|
|
91
106
|
readonly log: ConsoleLogger;
|
|
107
|
+
readonly _typeormRelations: {
|
|
108
|
+
isArray: boolean;
|
|
109
|
+
propertyClass: import("nesties").AnyClass;
|
|
110
|
+
propertyName: string;
|
|
111
|
+
}[];
|
|
92
112
|
entityClass: ClassType<T>;
|
|
93
113
|
repo: Repository<T>;
|
|
94
114
|
crudOptions: CrudOptions<T>;
|
|
@@ -103,11 +123,18 @@ export declare function CrudService<T extends ValidCrudEntity<T>>(entityClass: C
|
|
|
103
123
|
}>;
|
|
104
124
|
create(_ent: T, beforeCreate?: (repo: Repository<T>) => Promise<void>): Promise<import("nesties").GenericReturnMessageDto<T>>;
|
|
105
125
|
readonly entityAliasName: string;
|
|
106
|
-
|
|
107
|
-
|
|
126
|
+
_applyQueryRelation(qb: SelectQueryBuilder<T>, relation: RelationDef): void;
|
|
127
|
+
_applyQueryRelations(qb: SelectQueryBuilder<T>): void;
|
|
128
|
+
_applyQueryFilters(qb: SelectQueryBuilder<T>, ent: T): void;
|
|
108
129
|
queryBuilder(): SelectQueryBuilder<T>;
|
|
109
130
|
findOne(id: EntityId<T>, extraQuery?: (qb: SelectQueryBuilder<T>) => void): Promise<import("nesties").GenericReturnMessageDto<T>>;
|
|
131
|
+
_preFindAll(ent?: Partial<T>, extraQuery?: (qb: SelectQueryBuilder<T>) => void): Promise<{
|
|
132
|
+
query: SelectQueryBuilder<T>;
|
|
133
|
+
newEnt: T;
|
|
134
|
+
pageSettings: T & PageSettingsDto;
|
|
135
|
+
}>;
|
|
110
136
|
findAll(ent?: Partial<T>, extraQuery?: (qb: SelectQueryBuilder<T>) => void): Promise<import("nesties").GenericPaginatedReturnMessageDto<T>>;
|
|
137
|
+
findAllCursorPaginated(ent?: Partial<T & Partial<CursorPaginationDto>>, extraQuery?: (qb: SelectQueryBuilder<T>) => void): Promise<import("./dto").GenericCursorPaginationReturnMessageDto<T>>;
|
|
111
138
|
update(id: EntityId<T>, entPart: Partial<T>, cond?: FindOptionsWhere<T>): Promise<BlankReturnMessageDto>;
|
|
112
139
|
delete(id: EntityId<T>, cond?: FindOptionsWhere<T>): Promise<BlankReturnMessageDto>;
|
|
113
140
|
importEntities(_ents: T[], extraChecking?: (ent: T) => string | Promise<string>): Promise<import("nesties").GenericReturnMessageDto<{
|
package/dist/src/crud-base.js
CHANGED
|
@@ -1,17 +1,40 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var
|
|
3
|
-
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
4
24
|
};
|
|
5
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
26
|
exports.CrudService = exports.CrudBase = exports.Inner = exports.Relation = void 0;
|
|
7
27
|
const dto_1 = require("./dto");
|
|
8
28
|
const typeorm_1 = require("typeorm");
|
|
29
|
+
const bases_1 = require("./bases");
|
|
9
30
|
const common_1 = require("@nestjs/common");
|
|
10
31
|
const StringUtils_1 = require("typeorm/util/StringUtils");
|
|
11
|
-
const lodash_1 =
|
|
32
|
+
const lodash_1 = __importStar(require("lodash"));
|
|
12
33
|
const nesties_1 = require("nesties");
|
|
13
34
|
const metadata_1 = require("./utility/metadata");
|
|
14
35
|
const get_typeorm_relations_1 = require("./utility/get-typeorm-relations");
|
|
36
|
+
const cursor_pagination_1 = require("./dto/cursor-pagination");
|
|
37
|
+
const cursor_pagination_utils_1 = require("./utility/cursor-pagination-utils");
|
|
15
38
|
const Relation = (name, options = {}) => {
|
|
16
39
|
return { name, inner: false, ...options };
|
|
17
40
|
};
|
|
@@ -30,7 +53,9 @@ class CrudBase {
|
|
|
30
53
|
this.importEntryDto = (0, dto_1.ImportEntryDto)(this.entityClass);
|
|
31
54
|
this.importReturnMessageDto = (0, nesties_1.ReturnMessageDto)([this.importEntryDto]);
|
|
32
55
|
this.entityPaginatedReturnMessageDto = (0, nesties_1.PaginatedReturnMessageDto)(this.entityClass);
|
|
56
|
+
this.entityCursorPaginatedReturnMessageDto = (0, cursor_pagination_1.CursorPaginationReturnMessageDto)(this.entityClass);
|
|
33
57
|
this.log = new common_1.ConsoleLogger(`${this.entityClass.name}Service`);
|
|
58
|
+
this._typeormRelations = (0, get_typeorm_relations_1.getTypeormRelations)(this.entityClass);
|
|
34
59
|
this.entityRelations = crudOptions.relations || [];
|
|
35
60
|
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
36
61
|
this.extraGetQuery = crudOptions.extraGetQuery || ((qb) => { });
|
|
@@ -46,8 +71,7 @@ class CrudBase {
|
|
|
46
71
|
delete o[field];
|
|
47
72
|
}
|
|
48
73
|
visited.add(o);
|
|
49
|
-
const
|
|
50
|
-
for (const relation of relations) {
|
|
74
|
+
for (const relation of this._typeormRelations) {
|
|
51
75
|
const propertyName = relation.propertyName;
|
|
52
76
|
if (o[propertyName]) {
|
|
53
77
|
if (Array.isArray(o[propertyName])) {
|
|
@@ -157,7 +181,7 @@ class CrudBase {
|
|
|
157
181
|
throw new nesties_1.BlankReturnMessageDto(400, 'Invalid entity').toException();
|
|
158
182
|
}
|
|
159
183
|
let ent = new this.entityClass();
|
|
160
|
-
Object.assign(ent, _ent);
|
|
184
|
+
Object.assign(ent, (0, lodash_1.omit)(_ent, ...this._typeormRelations.map((r) => r.propertyName)));
|
|
161
185
|
const invalidReason = ent.isValidInCreate();
|
|
162
186
|
if (invalidReason) {
|
|
163
187
|
throw new nesties_1.BlankReturnMessageDto(400, invalidReason).toException();
|
|
@@ -188,10 +212,10 @@ class CrudBase {
|
|
|
188
212
|
if (beforeCreate) {
|
|
189
213
|
await beforeCreate(repo);
|
|
190
214
|
}
|
|
191
|
-
await ent.beforeCreate();
|
|
215
|
+
await ent.beforeCreate?.();
|
|
192
216
|
try {
|
|
193
217
|
const savedEnt = await repo.save(ent);
|
|
194
|
-
await savedEnt.afterCreate();
|
|
218
|
+
await savedEnt.afterCreate?.();
|
|
195
219
|
return this.cleanEntityNotInResultFields(savedEnt);
|
|
196
220
|
}
|
|
197
221
|
catch (e) {
|
|
@@ -204,7 +228,7 @@ class CrudBase {
|
|
|
204
228
|
get entityAliasName() {
|
|
205
229
|
return (0, StringUtils_1.camelCase)(this.entityName);
|
|
206
230
|
}
|
|
207
|
-
|
|
231
|
+
_applyQueryRelation(qb, relation) {
|
|
208
232
|
const { name } = relation;
|
|
209
233
|
const relationUnit = name.split('.');
|
|
210
234
|
const base = relationUnit.length === 1
|
|
@@ -218,16 +242,26 @@ class CrudBase {
|
|
|
218
242
|
}
|
|
219
243
|
qb[methodName](`${base}.${property}`, properyAlias, relation.extraCondition || undefined, relation.extraConditionFields || undefined);
|
|
220
244
|
}
|
|
221
|
-
|
|
245
|
+
_applyQueryRelations(qb) {
|
|
222
246
|
for (const relation of this.entityRelations) {
|
|
223
247
|
if (typeof relation === 'string') {
|
|
224
|
-
this.
|
|
248
|
+
this._applyQueryRelation(qb, { name: relation });
|
|
225
249
|
}
|
|
226
250
|
else {
|
|
227
|
-
this.
|
|
251
|
+
this._applyQueryRelation(qb, relation);
|
|
228
252
|
}
|
|
229
253
|
}
|
|
230
254
|
}
|
|
255
|
+
_applyQueryFilters(qb, ent) {
|
|
256
|
+
const queryFields = metadata_1.reflector.getArray('queryConditionFields', this.entityClass);
|
|
257
|
+
for (const field of queryFields) {
|
|
258
|
+
const condition = metadata_1.reflector.get('queryCondition', this.entityClass, field);
|
|
259
|
+
if (condition) {
|
|
260
|
+
condition(ent, qb, this.entityAliasName, field);
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
ent.applyQuery?.(qb, this.entityAliasName);
|
|
264
|
+
}
|
|
231
265
|
queryBuilder() {
|
|
232
266
|
return this.repo.createQueryBuilder(this.entityAliasName);
|
|
233
267
|
}
|
|
@@ -237,7 +271,7 @@ class CrudBase {
|
|
|
237
271
|
const query = this.queryBuilder()
|
|
238
272
|
.where(`${this.entityAliasName}.id = :id`, { id })
|
|
239
273
|
.take(1);
|
|
240
|
-
this.
|
|
274
|
+
this._applyQueryRelations(query);
|
|
241
275
|
this.extraGetQuery(query);
|
|
242
276
|
extraQuery(query);
|
|
243
277
|
query.take(1);
|
|
@@ -253,26 +287,52 @@ class CrudBase {
|
|
|
253
287
|
if (!ent) {
|
|
254
288
|
throw new nesties_1.BlankReturnMessageDto(404, `${this.entityName} ID ${id} not found.`).toException();
|
|
255
289
|
}
|
|
256
|
-
await ent.afterGet();
|
|
290
|
+
await ent.afterGet?.();
|
|
257
291
|
return new this.entityReturnMessageDto(200, 'success', this.cleanEntityNotInResultFields(ent));
|
|
258
292
|
}
|
|
259
|
-
async
|
|
293
|
+
async _preFindAll(ent,
|
|
260
294
|
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
261
295
|
extraQuery = () => { }) {
|
|
262
296
|
const query = this.queryBuilder().where('1 = 1');
|
|
263
297
|
const newEnt = new this.entityClass();
|
|
264
298
|
if (ent) {
|
|
265
299
|
Object.assign(newEnt, ent);
|
|
266
|
-
await newEnt
|
|
300
|
+
await newEnt?.beforeGet?.();
|
|
267
301
|
newEnt.applyQuery(query, this.entityAliasName);
|
|
268
302
|
}
|
|
269
|
-
this.
|
|
303
|
+
this._applyQueryRelations(query);
|
|
304
|
+
this._applyQueryFilters(query, newEnt);
|
|
305
|
+
const pageSettings = newEnt instanceof bases_1.PageSettingsDto
|
|
306
|
+
? newEnt
|
|
307
|
+
: Object.assign(new bases_1.PageSettingsDto(), newEnt);
|
|
270
308
|
this.extraGetQuery(query);
|
|
271
309
|
extraQuery(query);
|
|
310
|
+
return { query, newEnt, pageSettings };
|
|
311
|
+
}
|
|
312
|
+
async findAll(ent,
|
|
313
|
+
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
314
|
+
extraQuery = () => { }) {
|
|
315
|
+
const { query, pageSettings } = await this._preFindAll(ent, extraQuery);
|
|
316
|
+
pageSettings.applyPaginationQuery(query);
|
|
317
|
+
try {
|
|
318
|
+
const [data, count] = await query.getManyAndCount();
|
|
319
|
+
await Promise.all(data.map((ent) => ent.afterGet?.()));
|
|
320
|
+
return new this.entityPaginatedReturnMessageDto(200, 'success', this.cleanEntityNotInResultFields(data), count, pageSettings.getActualPageSettings());
|
|
321
|
+
}
|
|
322
|
+
catch (e) {
|
|
323
|
+
const [sql, params] = query.getQueryAndParameters();
|
|
324
|
+
this.log.error(`Failed to read entity cond ${JSON.stringify(ent)} with SQL ${sql} param ${params.join(',')}: ${e.toString()}`);
|
|
325
|
+
throw new nesties_1.BlankReturnMessageDto(500, 'Internal error').toException();
|
|
326
|
+
}
|
|
327
|
+
}
|
|
328
|
+
async findAllCursorPaginated(ent,
|
|
329
|
+
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
330
|
+
extraQuery = () => { }) {
|
|
331
|
+
const { query, pageSettings } = await this._preFindAll(ent, extraQuery);
|
|
272
332
|
try {
|
|
273
|
-
const
|
|
274
|
-
await Promise.all(
|
|
275
|
-
return new this.
|
|
333
|
+
const { data, paginatedResult } = await (0, cursor_pagination_utils_1.getPaginatedResult)(query, this.entityAliasName, pageSettings.getRecordsPerPage(), ent.paginationCursor);
|
|
334
|
+
await Promise.all(data.map((ent) => ent.afterGet?.()));
|
|
335
|
+
return new this.entityCursorPaginatedReturnMessageDto(200, 'success', this.cleanEntityNotInResultFields(data), paginatedResult);
|
|
276
336
|
}
|
|
277
337
|
catch (e) {
|
|
278
338
|
const [sql, params] = query.getQueryAndParameters();
|
|
@@ -288,7 +348,7 @@ class CrudBase {
|
|
|
288
348
|
if (invalidReason) {
|
|
289
349
|
throw new nesties_1.BlankReturnMessageDto(400, invalidReason).toException();
|
|
290
350
|
}
|
|
291
|
-
await ent.beforeUpdate();
|
|
351
|
+
await ent.beforeUpdate?.();
|
|
292
352
|
try {
|
|
293
353
|
result = await this.repo.update({
|
|
294
354
|
id,
|
|
@@ -311,7 +371,9 @@ class CrudBase {
|
|
|
311
371
|
...cond,
|
|
312
372
|
};
|
|
313
373
|
try {
|
|
314
|
-
result = await (this.crudOptions.hardDelete
|
|
374
|
+
result = await (this.crudOptions.hardDelete ||
|
|
375
|
+
!this.repo.manager.connection.getMetadata(this.entityClass)
|
|
376
|
+
.deleteDateColumn
|
|
315
377
|
? this.repo.delete(searchCond)
|
|
316
378
|
: this.repo.softDelete(searchCond));
|
|
317
379
|
}
|
|
@@ -327,7 +389,7 @@ class CrudBase {
|
|
|
327
389
|
async importEntities(_ents, extraChecking) {
|
|
328
390
|
const ents = _ents.map((ent) => {
|
|
329
391
|
const newEnt = new this.entityClass();
|
|
330
|
-
Object.assign(newEnt,
|
|
392
|
+
Object.assign(newEnt, (0, lodash_1.omit)(ents, ...this._typeormRelations.map((r) => r.propertyName)));
|
|
331
393
|
return newEnt;
|
|
332
394
|
});
|
|
333
395
|
const invalidResults = lodash_1.default.compact(await Promise.all(ents.map(async (ent) => {
|
|
@@ -343,9 +405,9 @@ class CrudBase {
|
|
|
343
405
|
}
|
|
344
406
|
})));
|
|
345
407
|
const remainingEnts = ents.filter((ent) => !invalidResults.find((result) => result.entry === ent));
|
|
346
|
-
await Promise.all(remainingEnts.map((ent) => ent.beforeCreate()));
|
|
408
|
+
await Promise.all(remainingEnts.map((ent) => ent.beforeCreate?.()));
|
|
347
409
|
const data = await this._batchCreate(remainingEnts, undefined, true);
|
|
348
|
-
await Promise.all(data.results.map((e) => e.afterCreate()));
|
|
410
|
+
await Promise.all(data.results.map((e) => e.afterCreate?.()));
|
|
349
411
|
const results = [
|
|
350
412
|
...invalidResults,
|
|
351
413
|
...data.skipped,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crud-base.js","sourceRoot":"","sources":["../../src/crud-base.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"crud-base.js","sourceRoot":"","sources":["../../src/crud-base.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,6 +21,7 @@ export declare class RestfulFactory<T> {
|
|
|
21
21
|
data: T[];
|
|
22
22
|
};
|
|
23
23
|
readonly findAllDto: ClassType<T>;
|
|
24
|
+
readonly findAllCursorPaginatedDto: ClassType<T>;
|
|
24
25
|
readonly updateDto: ClassType<T>;
|
|
25
26
|
private resolveEntityResultDto;
|
|
26
27
|
readonly entityResultDto: ClassType<T>;
|
|
@@ -28,6 +29,7 @@ export declare class RestfulFactory<T> {
|
|
|
28
29
|
readonly entityReturnMessageDto: new (statusCode: number, message: string, data: T) => import("nesties").GenericReturnMessageDto<T>;
|
|
29
30
|
readonly entityCreateReturnMessageDto: new (statusCode: number, message: string, data: Omit<T, keyof T>) => import("nesties").GenericReturnMessageDto<Omit<T, keyof T>>;
|
|
30
31
|
readonly entityArrayReturnMessageDto: new (statusCode: number, message: string, data: T[], total: number, pageSettings: import("nesties").PageSettingsWise) => import("nesties").GenericPaginatedReturnMessageDto<T>;
|
|
32
|
+
readonly entityCursorPaginationReturnMessageDto: new (statusCode: number, message: string, data: T[], cursorResponse: import("../dto").CursorPaginationResponseWise) => import("../dto").GenericCursorPaginationReturnMessageDto<T>;
|
|
31
33
|
readonly importReturnMessageDto: new (statusCode: number, message: string, data: {
|
|
32
34
|
result: string;
|
|
33
35
|
entry: Omit<T, keyof T>;
|
|
@@ -43,6 +45,7 @@ export declare class RestfulFactory<T> {
|
|
|
43
45
|
findOne(extras?: Partial<OperationObject>): MethodDecorator;
|
|
44
46
|
idParam(): ParameterDecorator;
|
|
45
47
|
findAll(extras?: Partial<OperationObject>): MethodDecorator;
|
|
48
|
+
findAllCursorPaginated(extras?: Partial<OperationObject>): MethodDecorator;
|
|
46
49
|
findAllParam(): ParameterDecorator;
|
|
47
50
|
update(extras?: Partial<OperationObject>): MethodDecorator;
|
|
48
51
|
updateParam(): ParameterDecorator;
|
|
@@ -34,6 +34,8 @@ const metadata_1 = require("../utility/metadata");
|
|
|
34
34
|
const rename_class_1 = require("../utility/rename-class");
|
|
35
35
|
const constants_1 = require("@nestjs/swagger/dist/constants");
|
|
36
36
|
const get_typeorm_relations_1 = require("../utility/get-typeorm-relations");
|
|
37
|
+
const bases_1 = require("../bases");
|
|
38
|
+
const cursor_pagination_1 = require("../dto/cursor-pagination");
|
|
37
39
|
const extractRelationName = (relation) => {
|
|
38
40
|
if (typeof relation === 'string') {
|
|
39
41
|
return relation;
|
|
@@ -59,7 +61,10 @@ class RestfulFactory {
|
|
|
59
61
|
this.basicInputDto = (0, swagger_1.OmitType)(this.entityClass, this.fieldsToOmit);
|
|
60
62
|
this.createDto = (0, rename_class_1.RenameClass)((0, swagger_1.OmitType)(this.basicInputDto, (0, metadata_1.getSpecificFields)(this.entityClass, 'notWritable')), `Create${this.entityClass.name}Dto`);
|
|
61
63
|
this.importDto = (0, dto_1.ImportDataDto)(this.createDto);
|
|
62
|
-
this.findAllDto = (0, rename_class_1.RenameClass)((0, swagger_1.PartialType)((0, swagger_1.OmitType)(this.
|
|
64
|
+
this.findAllDto = (0, rename_class_1.RenameClass)((0, swagger_1.PartialType)((0, swagger_1.OmitType)(this.entityClass instanceof bases_1.PageSettingsDto
|
|
65
|
+
? this.basicInputDto
|
|
66
|
+
: (0, swagger_1.IntersectionType)(this.basicInputDto, bases_1.PageSettingsDto), (0, metadata_1.getSpecificFields)(this.entityClass, 'notQueryable'))), `Find${this.entityClass.name}Dto`);
|
|
67
|
+
this.findAllCursorPaginatedDto = (0, rename_class_1.RenameClass)((0, swagger_1.IntersectionType)((0, swagger_1.OmitType)(this.findAllDto, ['pageCount']), cursor_pagination_1.CursorPaginationDto), `Find${this.entityClass.name}CursorPaginatedDto`);
|
|
63
68
|
this.updateDto = (0, rename_class_1.RenameClass)((0, swagger_1.PartialType)((0, swagger_1.OmitType)(this.createDto, (0, metadata_1.getSpecificFields)(this.entityClass, 'notChangeable'))), `Update${this.entityClass.name}Dto`);
|
|
64
69
|
this.entityResultDto = this.resolveEntityResultDto();
|
|
65
70
|
this.entityCreateResultDto = (0, rename_class_1.RenameClass)((0, swagger_1.OmitType)(this.entityResultDto, [
|
|
@@ -69,6 +74,7 @@ class RestfulFactory {
|
|
|
69
74
|
this.entityReturnMessageDto = (0, nesties_1.ReturnMessageDto)(this.entityResultDto);
|
|
70
75
|
this.entityCreateReturnMessageDto = (0, nesties_1.ReturnMessageDto)(this.entityCreateResultDto);
|
|
71
76
|
this.entityArrayReturnMessageDto = (0, nesties_1.PaginatedReturnMessageDto)(this.entityResultDto);
|
|
77
|
+
this.entityCursorPaginationReturnMessageDto = (0, cursor_pagination_1.CursorPaginationReturnMessageDto)(this.entityResultDto);
|
|
72
78
|
this.importReturnMessageDto = (0, nesties_1.ReturnMessageDto)([
|
|
73
79
|
(0, dto_1.ImportEntryDto)(this.entityCreateResultDto),
|
|
74
80
|
]);
|
|
@@ -205,6 +211,16 @@ class RestfulFactory {
|
|
|
205
211
|
(0, swagger_1.ApiOkResponse)({ type: this.entityArrayReturnMessageDto }),
|
|
206
212
|
]);
|
|
207
213
|
}
|
|
214
|
+
findAllCursorPaginated(extras = {}) {
|
|
215
|
+
return (0, nesties_1.MergeMethodDecorators)([
|
|
216
|
+
this.usePrefix(common_1.Get),
|
|
217
|
+
(0, swagger_1.ApiOperation)({
|
|
218
|
+
summary: `Find all ${this.getEntityClassName()}`,
|
|
219
|
+
...extras,
|
|
220
|
+
}),
|
|
221
|
+
(0, swagger_1.ApiOkResponse)({ type: this.entityCursorPaginationReturnMessageDto }),
|
|
222
|
+
]);
|
|
223
|
+
}
|
|
208
224
|
findAllParam() {
|
|
209
225
|
return (0, common_1.Query)((0, pipes_1.GetPipe)());
|
|
210
226
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"restful.js","sourceRoot":"","sources":["../../../src/decorators/restful.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAUwB;AACxB,gCAAuD;AACvD,qCAOiB;AACjB,
|
|
1
|
+
{"version":3,"file":"restful.js","sourceRoot":"","sources":["../../../src/decorators/restful.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAUwB;AACxB,gCAAuD;AACvD,qCAOiB;AACjB,6CAYyB;AACzB,mCAA0D;AAE1D,iDAAuC;AACvC,kDAA8E;AAC9E,0DAAsD;AACtD,8DAA4D;AAC5D,4EAAuE;AAEvE,oCAA2C;AAC3C,gEAGkC;AAWlC,MAAM,mBAAmB,GAAG,CAAC,QAA8B,EAAE,EAAE;IAC7D,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;QAChC,OAAO,QAAQ,CAAC;KACjB;SAAM;QACL,OAAO,QAAQ,CAAC,IAAI,CAAC;KACtB;AACH,CAAC,CAAC;AAEF,MAAM,wBAAwB,GAAG,CAAC,SAAmB,EAAE,EAAE,CACvD,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;AAE5C,MAAM,qBAAqB,GAAG,CAAC,SAAmB,EAAE,aAAqB,EAAE,EAAE,CAC3E,SAAS;KACN,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,aAAa,GAAG,CAAC,CAAC;KACnE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAEjD,MAAa,cAAc;IA0KzB,YACkB,WAAyB,EACjC,UAAoC,EAAE,EACtC,mBAAmB,IAAI,GAAG,EAAwB;QAF1C,gBAAW,GAAX,WAAW,CAAc;QACjC,YAAO,GAAP,OAAO,CAA+B;QACtC,qBAAgB,GAAhB,gBAAgB,CAAkC;QAxKnD,iBAAY,GAAG,gBAAC,CAAC,IAAI,CAAC;YAC7B,GAAI,IAAA,4BAAiB,EAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAiB;YACpE,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,IAAI,EAAE,CAAC;YACpC,GAAG,IAAA,2CAAmB,EAAC,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,CAC1C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAuB,CACjC;SACF,CAAC,CAAC;QACc,kBAAa,GAAG,IAAA,kBAAQ,EACvC,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,YAAY,CACF,CAAC;QAET,cAAS,GAAG,IAAA,0BAAW,EAC9B,IAAA,kBAAQ,EACN,IAAI,CAAC,aAAa,EAClB,IAAA,4BAAiB,EAAC,IAAI,CAAC,WAAW,EAAE,aAAa,CAAgB,CAClE,EACD,SAAS,IAAI,CAAC,WAAW,CAAC,IAAI,KAAK,CACpB,CAAC;QACT,cAAS,GAAG,IAAA,mBAAa,EAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC1C,eAAU,GAAG,IAAA,0BAAW,EAC/B,IAAA,qBAAW,EACT,IAAA,kBAAQ,EACN,IAAI,CAAC,WAAW,YAAY,uBAAe;YACzC,CAAC,CAAC,IAAI,CAAC,aAAa;YACpB,CAAC,CAAE,IAAA,0BAAgB,EACf,IAAI,CAAC,aAAa,EAClB,uBAAe,CACY,EACjC,IAAA,4BAAiB,EAAC,IAAI,CAAC,WAAW,EAAE,cAAc,CAAgB,CACnE,CACF,EACD,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,KAAK,CAClB,CAAC;QACT,8BAAyB,GAAG,IAAA,0BAAW,EAC9C,IAAA,0BAAgB,EACd,IAAA,kBAAQ,EAAC,IAAI,CAAC,UAAU,EAAE,CAAC,WAAsB,CAAC,CAAC,EACnD,uCAAmB,CACpB,EACD,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,oBAAoB,CACtB,CAAC;QACpB,cAAS,GAAG,IAAA,0BAAW,EAC9B,IAAA,qBAAW,EACT,IAAA,kBAAQ,EACN,IAAI,CAAC,SAAS,EACd,IAAA,4BAAiB,EAAC,IAAI,CAAC,WAAW,EAAE,eAAe,CAAgB,CACpE,CACF,EACD,SAAS,IAAI,CAAC,WAAW,CAAC,IAAI,KAAK,CACpB,CAAC;QAsFT,oBAAe,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAChD,0BAAqB,GAAG,IAAA,0BAAW,EAC1C,IAAA,kBAAQ,EAAC,IAAI,CAAC,eAAe,EAAE;YAC7B,GAAG,IAAA,2CAAmB,EAAC,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,CAC1C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAuB,CACjC;YACD,GAAI,IAAA,4BAAiB,EAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAiB;SACrE,CAAC,EACF,GAAG,IAAI,CAAC,kBAAkB,EAAE,iBAAiB,CAC9C,CAAC;QAEO,2BAAsB,GAAG,IAAA,0BAAgB,EAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAChE,iCAA4B,GAAG,IAAA,0BAAgB,EACtD,IAAI,CAAC,qBAAqB,CAC3B,CAAC;QACO,gCAA2B,GAAG,IAAA,mCAAyB,EAC9D,IAAI,CAAC,eAAe,CACrB,CAAC;QACO,2CAAsC,GAC7C,IAAA,oDAAgC,EAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAChD,2BAAsB,GAAG,IAAA,0BAAgB,EAAC;YACjD,IAAA,oBAAc,EAAC,IAAI,CAAC,qBAAqB,CAAC;SAC3C,CAAC,CAAC;QACH,wDAAwD;QAC/C,WAAM,GAAa,OAAO,CAAC,WAAW,CAC7C,aAAa,EACb,IAAI,CAAC,WAAW,CAAC,SAAS,EAC1B,IAAI,CACL,CAAC;IAMC,CAAC;IA7KI,kBAAkB;QACxB,OAAO,IAAI,CAAC,OAAO,CAAC,eAAe,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;IAC/D,CAAC;IAqDO,sBAAsB;QAC5B,MAAM,SAAS,GAAG,IAAA,2CAAmB,EAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACxD,MAAM,qBAAqB,GACzB,IAAI,CAAC,OAAO,CAAC,SAAS;YACtB,IAAI,GAAG,CACL,wBAAwB,CACtB,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAChD,CACF,CAAC;QACJ,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC;YACjC,GAAI,IAAA,+BAAoB,EACtB,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,OAAO,CAAC,yBAAyB,CACvB;YACjB,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAkB,IAAI,EAAE,CAAC;YAC1C,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS;gBACxB,CAAC,CAAE,SAAS;qBACP,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC;qBAC1B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAiB;gBACjE,CAAC,CAAC,EAAE,CAAC;SACR,CAAC,CAAC;QACH,MAAM,SAAS,GAAG,IAAA,kBAAQ,EAAC,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,kBAAkB,CAAC,CAAC,CAAC;QACtE,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE;YAChC,IAAI,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,YAAuB,CAAC;gBAAE,SAAS;YACvE,MAAM,OAAO,GAAG,CAAC,QAAoB,EAAE,EAAE;gBACvC,MAAM,cAAc,GAClB,OAAO,CAAC,WAAW,CACjB,sBAAU,CAAC,oBAAoB,EAC/B,IAAI,CAAC,WAAW,CAAC,SAAS,EAC1B,QAAQ,CAAC,YAAY,CACtB,IAAI,EAAE,CAAC;gBACV,IAAA,qBAAW,EAAC;oBACV,GAAG,cAAc;oBACjB,QAAQ,EAAE,KAAK;oBACf,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;iBAC7D,CAAC,CAAC,SAAS,CAAC,SAAS,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC;YACjD,CAAC,CAAC;YACF,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;YACnE,IAAI,QAAQ,EAAE;gBACZ,OAAO,CAAC,QAAQ,CAAC,CAAC;aACnB;iBAAM;gBACL,IACE,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC;oBAC5C,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EACvB;oBACA,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;iBACrD;gBACD,MAAM,eAAe,GAAG,IAAI,cAAc,CACxC,QAAQ,CAAC,aAAa,EACtB;oBACE,eAAe,EAAE,GAAG,IAAI,CAAC,kBAAkB,EAAE,GAC3C,IAAI,CAAC,OAAO,CAAC,SAAS;wBACpB,CAAC,CAAC,IAAA,mBAAU,EAAC,QAAQ,CAAC,YAAY,CAAC;wBACnC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,IAC7B,EAAE;oBACF,SAAS,EACP,IAAI,CAAC,OAAO,CAAC,SAAS;wBACtB,qBAAqB,CACnB,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,mBAAmB,CAAC,EAC/C,QAAQ,CAAC,YAAY,CACtB;iBACJ,EACD,IAAI,CAAC,gBAAgB,CACtB,CAAC;gBACF,MAAM,iBAAiB,GAAG,eAAe,CAAC,eAAe,CAAC;gBAC1D,OAAO,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC;gBAC7B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE;oBAC3B,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,aAAa,EAAE;wBAChD,iBAAiB;qBAClB,CAAC,CAAC;iBACJ;aACF;SACF;QACD,MAAM,GAAG,GAAG,IAAA,0BAAW,EACrB,SAAS,EACT,GAAG,IAAI,CAAC,kBAAkB,EAAE,WAAW,CACxB,CAAC;QAClB,MAAM,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACrE,IAAI,gBAAgB,EAAE;YACpB,gBAAgB,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;SAC3B;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAsCO,SAAS,CACf,SAA6C,EAC7C,IAAa;QAEb,IAAI,IAAI,EAAE;YACR,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;gBACvB,OAAO,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC,CAAC;aACpD;iBAAM;gBACL,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC;aACxB;SACF;aAAM;YACL,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;gBACvB,OAAO,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;aACvC;iBAAM;gBACL,OAAO,SAAS,EAAE,CAAC;aACpB;SACF;IACH,CAAC;IAED,MAAM,CAAC,SAAmC,EAAE;QAC1C,OAAO,IAAA,+BAAqB,EAAC;YAC3B,IAAI,CAAC,SAAS,CAAC,aAAI,CAAC;YACpB,IAAA,iBAAQ,EAAC,GAAG,CAAC;YACb,IAAA,sBAAY,EAAC;gBACX,OAAO,EAAE,gBAAgB,IAAI,CAAC,kBAAkB,EAAE,EAAE;gBACpD,GAAG,MAAM;aACV,CAAC;YACF,IAAA,iBAAO,EAAC,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC;YACjC,IAAA,uBAAa,EAAC,EAAE,IAAI,EAAE,IAAI,CAAC,4BAA4B,EAAE,CAAC;YAC1D,IAAA,+BAAqB,EAAC;gBACpB,IAAI,EAAE,+BAAqB;gBAC3B,WAAW,EAAE,OAAO,IAAI,CAAC,kBAAkB,EAAE,eAAe;aAC7D,CAAC;SACH,CAAC,CAAC;IACL,CAAC;IAED,WAAW;QACT,OAAO,IAAA,aAAI,EAAC,IAAA,kBAAU,GAAE,CAAC,CAAC;IAC5B,CAAC;IAED,OAAO,CAAC,SAAmC,EAAE;QAC3C,OAAO,IAAA,+BAAqB,EAAC;YAC3B,IAAI,CAAC,SAAS,CAAC,YAAG,EAAE,KAAK,CAAC;YAC1B,IAAA,sBAAY,EAAC;gBACX,OAAO,EAAE,UAAU,IAAI,CAAC,kBAAkB,EAAE,QAAQ;gBACpD,GAAG,MAAM;aACV,CAAC;YACF,IAAA,kBAAQ,EAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;YAC3D,IAAA,uBAAa,EAAC,EAAE,IAAI,EAAE,IAAI,CAAC,sBAAsB,EAAE,CAAC;YACpD,IAAA,6BAAmB,EAAC;gBAClB,IAAI,EAAE,+BAAqB;gBAC3B,WAAW,EAAE,OAAO,IAAI,CAAC,kBAAkB,EAAE,kCAAkC;aAChF,CAAC;SACH,CAAC,CAAC;IACL,CAAC;IAED,OAAO;QACL,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,EAAE;YAC1B,OAAO,IAAA,cAAK,EAAC,IAAI,EAAE,qBAAY,CAAC,CAAC;SAClC;aAAM;YACL,OAAO,IAAA,cAAK,EAAC,IAAI,CAAC,CAAC;SACpB;IACH,CAAC;IAED,OAAO,CAAC,SAAmC,EAAE;QAC3C,OAAO,IAAA,+BAAqB,EAAC;YAC3B,IAAI,CAAC,SAAS,CAAC,YAAG,CAAC;YACnB,IAAA,sBAAY,EAAC;gBACX,OAAO,EAAE,YAAY,IAAI,CAAC,kBAAkB,EAAE,EAAE;gBAChD,GAAG,MAAM;aACV,CAAC;YACF,IAAA,uBAAa,EAAC,EAAE,IAAI,EAAE,IAAI,CAAC,2BAA2B,EAAE,CAAC;SAC1D,CAAC,CAAC;IACL,CAAC;IAED,sBAAsB,CACpB,SAAmC,EAAE;QAErC,OAAO,IAAA,+BAAqB,EAAC;YAC3B,IAAI,CAAC,SAAS,CAAC,YAAG,CAAC;YACnB,IAAA,sBAAY,EAAC;gBACX,OAAO,EAAE,YAAY,IAAI,CAAC,kBAAkB,EAAE,EAAE;gBAChD,GAAG,MAAM;aACV,CAAC;YACF,IAAA,uBAAa,EAAC,EAAE,IAAI,EAAE,IAAI,CAAC,sCAAsC,EAAE,CAAC;SACrE,CAAC,CAAC;IACL,CAAC;IAED,YAAY;QACV,OAAO,IAAA,cAAK,EAAC,IAAA,eAAO,GAAE,CAAC,CAAC;IAC1B,CAAC;IAED,MAAM,CAAC,SAAmC,EAAE;QAC1C,OAAO,IAAA,+BAAqB,EAAC;YAC3B,IAAI,CAAC,SAAS,CAAC,cAAK,EAAE,KAAK,CAAC;YAC5B,IAAA,iBAAQ,EAAC,GAAG,CAAC;YACb,IAAA,sBAAY,EAAC;gBACX,OAAO,EAAE,YAAY,IAAI,CAAC,kBAAkB,EAAE,QAAQ;gBACtD,GAAG,MAAM;aACV,CAAC;YACF,IAAA,kBAAQ,EAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;YAC3D,IAAA,iBAAO,EAAC,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC;YACjC,IAAA,uBAAa,EAAC,EAAE,IAAI,EAAE,+BAAqB,EAAE,CAAC;YAC9C,IAAA,6BAAmB,EAAC;gBAClB,IAAI,EAAE,+BAAqB;gBAC3B,WAAW,EAAE,OAAO,IAAI,CAAC,kBAAkB,EAAE,kCAAkC;aAChF,CAAC;YACF,IAAA,+BAAqB,EAAC;gBACpB,IAAI,EAAE,+BAAqB;gBAC3B,WAAW,EAAE,OAAO,IAAI,CAAC,kBAAkB,EAAE,eAAe;aAC7D,CAAC;YACF,IAAA,wCAA8B,EAAC;gBAC7B,IAAI,EAAE,+BAAqB;gBAC3B,WAAW,EAAE,gBAAgB;aAC9B,CAAC;SACH,CAAC,CAAC;IACL,CAAC;IAED,WAAW;QACT,OAAO,IAAA,aAAI,EAAC,IAAA,kBAAU,GAAE,CAAC,CAAC;IAC5B,CAAC;IAED,MAAM,CAAC,SAAmC,EAAE;QAC1C,OAAO,IAAA,+BAAqB,EAAC;YAC3B,IAAI,CAAC,SAAS,CAAC,eAAM,EAAE,KAAK,CAAC;YAC7B,IAAA,iBAAQ,EAAC,GAAG,CAAC;YACb,IAAA,sBAAY,EAAC;gBACX,OAAO,EAAE,YAAY,IAAI,CAAC,kBAAkB,EAAE,QAAQ;gBACtD,GAAG,MAAM;aACV,CAAC;YACF,IAAA,kBAAQ,EAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;YAC3D,IAAA,uBAAa,EAAC,EAAE,IAAI,EAAE,+BAAqB,EAAE,CAAC;YAC9C,IAAA,6BAAmB,EAAC;gBAClB,IAAI,EAAE,+BAAqB;gBAC3B,WAAW,EAAE,OAAO,IAAI,CAAC,kBAAkB,EAAE,kCAAkC;aAChF,CAAC;YACF,IAAA,wCAA8B,EAAC;gBAC7B,IAAI,EAAE,+BAAqB;gBAC3B,WAAW,EAAE,gBAAgB;aAC9B,CAAC;SACH,CAAC,CAAC;IACL,CAAC;IAED,MAAM,CAAC,SAAmC,EAAE;QAC1C,OAAO,IAAA,+BAAqB,EAAC;YAC3B,IAAA,aAAI,EAAC,QAAQ,CAAC;YACd,IAAA,sBAAY,EAAC;gBACX,OAAO,EAAE,UAAU,IAAI,CAAC,kBAAkB,EAAE,EAAE;gBAC9C,GAAG,MAAM;aACV,CAAC;YACF,IAAA,iBAAO,EAAC,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC;YACjC,IAAA,uBAAa,EAAC,EAAE,IAAI,EAAE,IAAI,CAAC,sBAAsB,EAAE,CAAC;YACpD,IAAA,wCAA8B,EAAC;gBAC7B,IAAI,EAAE,+BAAqB;gBAC3B,WAAW,EAAE,gBAAgB;aAC9B,CAAC;SACH,CAAC,CAAC;IACL,CAAC;CACF;AA9UD,wCA8UC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { AnyClass, BlankReturnMessageDto } from 'nesties';
|
|
2
|
+
export declare class CursorPaginationDto {
|
|
3
|
+
paginationCursor: string;
|
|
4
|
+
recordsPerPage: number;
|
|
5
|
+
}
|
|
6
|
+
export interface CursorPaginationResponseWise {
|
|
7
|
+
nextCursor?: string;
|
|
8
|
+
previousCursor?: string;
|
|
9
|
+
}
|
|
10
|
+
export declare class BlankCursorPaginationReturnMessageDto extends BlankReturnMessageDto implements CursorPaginationResponseWise {
|
|
11
|
+
nextCursor?: string;
|
|
12
|
+
previousCursor?: string;
|
|
13
|
+
constructor(statusCode: number, message: string, cursorResponse: CursorPaginationResponseWise);
|
|
14
|
+
}
|
|
15
|
+
export declare class GenericCursorPaginationReturnMessageDto<T> extends BlankCursorPaginationReturnMessageDto implements CursorPaginationResponseWise {
|
|
16
|
+
data: T[];
|
|
17
|
+
constructor(statusCode: number, message: string, data: T[], cursorResponse: CursorPaginationResponseWise);
|
|
18
|
+
}
|
|
19
|
+
export declare function CursorPaginationReturnMessageDto<T extends AnyClass>(type: T): new (statusCode: number, message: string, data: InstanceType<T>[], cursorResponse: CursorPaginationResponseWise) => GenericCursorPaginationReturnMessageDto<InstanceType<T>>;
|
|
@@ -0,0 +1,89 @@
|
|
|
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 __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.CursorPaginationReturnMessageDto = exports.GenericCursorPaginationReturnMessageDto = exports.BlankCursorPaginationReturnMessageDto = exports.CursorPaginationDto = void 0;
|
|
13
|
+
const class_validator_1 = require("class-validator");
|
|
14
|
+
const swagger_1 = require("@nestjs/swagger");
|
|
15
|
+
const nesties_1 = require("nesties");
|
|
16
|
+
const decorators_1 = require("../decorators");
|
|
17
|
+
class CursorPaginationDto {
|
|
18
|
+
}
|
|
19
|
+
__decorate([
|
|
20
|
+
(0, decorators_1.NotWritable)(),
|
|
21
|
+
(0, class_validator_1.IsNotEmpty)(),
|
|
22
|
+
(0, class_validator_1.IsString)(),
|
|
23
|
+
(0, class_validator_1.IsOptional)(),
|
|
24
|
+
(0, swagger_1.ApiProperty)({
|
|
25
|
+
description: 'Pagination Cursor',
|
|
26
|
+
required: false,
|
|
27
|
+
type: String,
|
|
28
|
+
}),
|
|
29
|
+
(0, decorators_1.NotInResult)(),
|
|
30
|
+
__metadata("design:type", String)
|
|
31
|
+
], CursorPaginationDto.prototype, "paginationCursor", void 0);
|
|
32
|
+
__decorate([
|
|
33
|
+
(0, decorators_1.NotWritable)(),
|
|
34
|
+
(0, class_validator_1.IsPositive)(),
|
|
35
|
+
(0, class_validator_1.IsInt)(),
|
|
36
|
+
(0, swagger_1.ApiProperty)({
|
|
37
|
+
description: 'Records per page.',
|
|
38
|
+
required: false,
|
|
39
|
+
type: Number,
|
|
40
|
+
minimum: 1,
|
|
41
|
+
}),
|
|
42
|
+
(0, decorators_1.NotInResult)(),
|
|
43
|
+
__metadata("design:type", Number)
|
|
44
|
+
], CursorPaginationDto.prototype, "recordsPerPage", void 0);
|
|
45
|
+
exports.CursorPaginationDto = CursorPaginationDto;
|
|
46
|
+
class BlankCursorPaginationReturnMessageDto extends nesties_1.BlankReturnMessageDto {
|
|
47
|
+
constructor(statusCode, message, cursorResponse) {
|
|
48
|
+
super(statusCode, message);
|
|
49
|
+
this.nextCursor = cursorResponse.nextCursor;
|
|
50
|
+
this.previousCursor = cursorResponse.previousCursor;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
__decorate([
|
|
54
|
+
(0, swagger_1.ApiProperty)({
|
|
55
|
+
description: 'Next Cursor',
|
|
56
|
+
required: false,
|
|
57
|
+
type: String,
|
|
58
|
+
}),
|
|
59
|
+
__metadata("design:type", String)
|
|
60
|
+
], BlankCursorPaginationReturnMessageDto.prototype, "nextCursor", void 0);
|
|
61
|
+
__decorate([
|
|
62
|
+
(0, swagger_1.ApiProperty)({
|
|
63
|
+
description: 'Previous Cursor',
|
|
64
|
+
required: false,
|
|
65
|
+
type: String,
|
|
66
|
+
}),
|
|
67
|
+
__metadata("design:type", String)
|
|
68
|
+
], BlankCursorPaginationReturnMessageDto.prototype, "previousCursor", void 0);
|
|
69
|
+
exports.BlankCursorPaginationReturnMessageDto = BlankCursorPaginationReturnMessageDto;
|
|
70
|
+
class GenericCursorPaginationReturnMessageDto extends BlankCursorPaginationReturnMessageDto {
|
|
71
|
+
constructor(statusCode, message, data, cursorResponse) {
|
|
72
|
+
super(statusCode, message, cursorResponse);
|
|
73
|
+
this.data = data;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
exports.GenericCursorPaginationReturnMessageDto = GenericCursorPaginationReturnMessageDto;
|
|
77
|
+
function CursorPaginationReturnMessageDto(type) {
|
|
78
|
+
return (0, nesties_1.InsertField)(GenericCursorPaginationReturnMessageDto, {
|
|
79
|
+
data: {
|
|
80
|
+
type: [type],
|
|
81
|
+
options: {
|
|
82
|
+
required: false,
|
|
83
|
+
description: 'Return data.',
|
|
84
|
+
},
|
|
85
|
+
},
|
|
86
|
+
}, `${(0, nesties_1.getClassFromClassOrArray)(type).name}CursorPaginationReturnMessageDto`);
|
|
87
|
+
}
|
|
88
|
+
exports.CursorPaginationReturnMessageDto = CursorPaginationReturnMessageDto;
|
|
89
|
+
//# sourceMappingURL=cursor-pagination.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cursor-pagination.js","sourceRoot":"","sources":["../../../src/dto/cursor-pagination.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAMyB;AACzB,6CAA8C;AAC9C,qCAKiB;AACjB,8CAAyD;AAEzD,MAAa,mBAAmB;CAwB/B;AAbC;IAVC,IAAA,wBAAW,GAAE;IACb,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;IACV,IAAA,4BAAU,GAAE;IACZ,IAAA,qBAAW,EAAC;QACX,WAAW,EAAE,mBAAmB;QAChC,QAAQ,EAAE,KAAK;QACf,IAAI,EAAE,MAAM;KACb,CAAC;IACD,IAAA,wBAAW,GAAE;;6DACW;AAYzB;IAVC,IAAA,wBAAW,GAAE;IACb,IAAA,4BAAU,GAAE;IACZ,IAAA,uBAAK,GAAE;IACP,IAAA,qBAAW,EAAC;QACX,WAAW,EAAE,mBAAmB;QAChC,QAAQ,EAAE,KAAK;QACf,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,CAAC;KACX,CAAC;IACD,IAAA,wBAAW,GAAE;;2DACS;AAvBzB,kDAwBC;AAOD,MAAa,qCACX,SAAQ,+BAAqB;IAiB7B,YACE,UAAkB,EAClB,OAAe,EACf,cAA4C;QAE5C,KAAK,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAC3B,IAAI,CAAC,UAAU,GAAG,cAAc,CAAC,UAAU,CAAC;QAC5C,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC,cAAc,CAAC;IACtD,CAAC;CACF;AAlBC;IALC,IAAA,qBAAW,EAAC;QACX,WAAW,EAAE,aAAa;QAC1B,QAAQ,EAAE,KAAK;QACf,IAAI,EAAE,MAAM;KACb,CAAC;;yEACkB;AAOpB;IALC,IAAA,qBAAW,EAAC;QACX,WAAW,EAAE,iBAAiB;QAC9B,QAAQ,EAAE,KAAK;QACf,IAAI,EAAE,MAAM;KACb,CAAC;;6EACsB;AAhB1B,sFA2BC;AAED,MAAa,uCACX,SAAQ,qCAAqC;IAK7C,YACE,UAAkB,EAClB,OAAe,EACf,IAAS,EACT,cAA4C;QAE5C,KAAK,CAAC,UAAU,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC;QAC3C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF;AAfD,0FAeC;AAED,SAAgB,gCAAgC,CAC9C,IAAO;IAOP,OAAO,IAAA,qBAAW,EAChB,uCAAuC,EACvC;QACE,IAAI,EAAE;YACJ,IAAI,EAAE,CAAC,IAAI,CAAC;YACZ,OAAO,EAAE;gBACP,QAAQ,EAAE,KAAK;gBACf,WAAW,EAAE,cAAc;aAC5B;SACF;KACF,EACD,GAAG,IAAA,kCAAwB,EAAC,IAAI,CAAC,CAAC,IAAI,kCAAkC,CACzE,CAAC;AACJ,CAAC;AArBD,4EAqBC"}
|
package/dist/src/dto/index.d.ts
CHANGED
package/dist/src/dto/index.js
CHANGED
|
@@ -15,4 +15,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./import-entry"), exports);
|
|
18
|
+
__exportStar(require("./cursor-pagination"), exports);
|
|
18
19
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/dto/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iDAA+B"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/dto/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iDAA+B;AAC/B,sDAAoC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { SelectQueryBuilder } from 'typeorm';
|
|
2
|
+
export declare type TypeormOrderByObject = {
|
|
3
|
+
order: 'ASC' | 'DESC';
|
|
4
|
+
nulls?: 'NULLS FIRST' | 'NULLS LAST';
|
|
5
|
+
};
|
|
6
|
+
export declare type TypeormOrderByKey = 'ASC' | 'DESC';
|
|
7
|
+
export declare type TypeormOrderBy = ('ASC' | 'DESC') | TypeormOrderByObject;
|
|
8
|
+
export declare function extractValueFromOrderByKey(obj: any, key: string, entityAliasName?: string): any;
|
|
9
|
+
export declare function getPaginatedResult<T>(qb: SelectQueryBuilder<T>, entityAliasName: string, take: number, cursor?: string): Promise<{
|
|
10
|
+
data: T[];
|
|
11
|
+
paginatedResult: {
|
|
12
|
+
nextCursor: string;
|
|
13
|
+
previousCursor: string;
|
|
14
|
+
};
|
|
15
|
+
}>;
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.getPaginatedResult = exports.extractValueFromOrderByKey = void 0;
|
|
7
|
+
const typeorm_1 = require("typeorm");
|
|
8
|
+
const lodash_1 = __importDefault(require("lodash"));
|
|
9
|
+
const superjson_1 = __importDefault(require("superjson"));
|
|
10
|
+
function getValueFromOrderBy(orderBy) {
|
|
11
|
+
return typeof orderBy === 'string' ? orderBy : orderBy.order;
|
|
12
|
+
}
|
|
13
|
+
function getOperator(type, orderBy) {
|
|
14
|
+
const value = getValueFromOrderBy(orderBy);
|
|
15
|
+
const isBackwards = (type === 'prev') !== (value === 'DESC');
|
|
16
|
+
return isBackwards ? '<' : '>';
|
|
17
|
+
}
|
|
18
|
+
function getReversedTypeormOrderBy(orderBy) {
|
|
19
|
+
if (typeof orderBy === 'string') {
|
|
20
|
+
return {
|
|
21
|
+
order: orderBy === 'ASC' ? 'DESC' : 'ASC',
|
|
22
|
+
nulls: undefined,
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
return {
|
|
26
|
+
order: orderBy.order === 'ASC' ? 'DESC' : 'ASC',
|
|
27
|
+
nulls: orderBy.nulls
|
|
28
|
+
? orderBy.nulls === 'NULLS FIRST'
|
|
29
|
+
? 'NULLS LAST'
|
|
30
|
+
: 'NULLS FIRST'
|
|
31
|
+
: undefined,
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
function reverseQueryOrderBy(qb) {
|
|
35
|
+
const orderBys = getTypeormOrderBy(qb);
|
|
36
|
+
orderBys.forEach(({ key, direction }, i) => {
|
|
37
|
+
const reversed = getReversedTypeormOrderBy(direction);
|
|
38
|
+
if (i === 0) {
|
|
39
|
+
qb.orderBy(key, reversed.order, reversed.nulls);
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
qb.addOrderBy(key, reversed.order, reversed.nulls);
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
function getTypeormOrderBy(qb) {
|
|
47
|
+
const orderBy = qb.expressionMap.allOrderBys;
|
|
48
|
+
const orderByEntrys = Object.entries(orderBy);
|
|
49
|
+
return orderByEntrys.map(([key, value]) => ({
|
|
50
|
+
key,
|
|
51
|
+
direction: value,
|
|
52
|
+
}));
|
|
53
|
+
}
|
|
54
|
+
function extractValueFromOrderByKey(obj, key, entityAliasName) {
|
|
55
|
+
const getField = (obj, key) => {
|
|
56
|
+
const value = obj[key];
|
|
57
|
+
if (!value)
|
|
58
|
+
return undefined;
|
|
59
|
+
if (Array.isArray(value)) {
|
|
60
|
+
if (!value.length) {
|
|
61
|
+
return undefined;
|
|
62
|
+
}
|
|
63
|
+
return value[value.length - 1];
|
|
64
|
+
}
|
|
65
|
+
return value;
|
|
66
|
+
};
|
|
67
|
+
const [alias, field] = key.split('.');
|
|
68
|
+
if (alias === entityAliasName) {
|
|
69
|
+
return getField(obj, field);
|
|
70
|
+
}
|
|
71
|
+
const aliasParts = alias.split('_');
|
|
72
|
+
if (aliasParts.length === 1) {
|
|
73
|
+
const value = getField(obj, alias);
|
|
74
|
+
if (!value)
|
|
75
|
+
return undefined;
|
|
76
|
+
return getField(value, field);
|
|
77
|
+
}
|
|
78
|
+
const value = getField(obj, aliasParts[0]);
|
|
79
|
+
if (!value)
|
|
80
|
+
return undefined;
|
|
81
|
+
return extractValueFromOrderByKey(value, `${aliasParts.slice(1).join('_')}.${field}`);
|
|
82
|
+
}
|
|
83
|
+
exports.extractValueFromOrderByKey = extractValueFromOrderByKey;
|
|
84
|
+
function encodeBase64Url(str) {
|
|
85
|
+
return Buffer.from(str)
|
|
86
|
+
.toString('base64')
|
|
87
|
+
.replace(/\+/g, '-')
|
|
88
|
+
.replace(/\//g, '_')
|
|
89
|
+
.replace(/=+$/, '');
|
|
90
|
+
}
|
|
91
|
+
function decodeBase64Url(str) {
|
|
92
|
+
str = str.replace(/-/g, '+').replace(/_/g, '/');
|
|
93
|
+
while (str.length % 4)
|
|
94
|
+
str += '=';
|
|
95
|
+
return Buffer.from(str, 'base64').toString();
|
|
96
|
+
}
|
|
97
|
+
async function getPaginatedResult(qb, entityAliasName, take, cursor) {
|
|
98
|
+
const orderBys = getTypeormOrderBy(qb);
|
|
99
|
+
qb.take(take + 1);
|
|
100
|
+
let type = 'next';
|
|
101
|
+
if (cursor) {
|
|
102
|
+
// cursor is base64url encoded string
|
|
103
|
+
const data = superjson_1.default.parse(decodeBase64Url(cursor));
|
|
104
|
+
type = data.type;
|
|
105
|
+
const keys = Object.keys(data.payload).filter((k) => qb.expressionMap.orderBys[k]);
|
|
106
|
+
if (keys.length) {
|
|
107
|
+
const staircasedKeys = keys.map((key, i) => lodash_1.default.range(i + 1).map((j) => keys[j]));
|
|
108
|
+
const cursorKey = (key) => `_cursor_${key.replace(/\./g, '__')}`;
|
|
109
|
+
qb.andWhere(new typeorm_1.Brackets((sqb) => {
|
|
110
|
+
const brackets = staircasedKeys.map((keys, i) => new typeorm_1.Brackets((ssqb) => {
|
|
111
|
+
const expressions = keys.map((key, j) => {
|
|
112
|
+
const paramKey = cursorKey(key);
|
|
113
|
+
const operator = j === keys.length - 1
|
|
114
|
+
? `${getOperator(data.type, qb.expressionMap.orderBys[key])}`
|
|
115
|
+
: '=';
|
|
116
|
+
return `${key} ${operator} :${paramKey}`;
|
|
117
|
+
});
|
|
118
|
+
const [firstExpression, ...restExpressions] = expressions;
|
|
119
|
+
ssqb.where(firstExpression);
|
|
120
|
+
restExpressions.forEach((expression) => ssqb.andWhere(expression));
|
|
121
|
+
}));
|
|
122
|
+
const [firstBrackets, ...restBrackets] = brackets;
|
|
123
|
+
sqb.where(firstBrackets);
|
|
124
|
+
restBrackets.forEach((brackets) => sqb.orWhere(brackets));
|
|
125
|
+
})).setParameters(lodash_1.default.mapKeys(data.payload, (_, key) => cursorKey(key)));
|
|
126
|
+
}
|
|
127
|
+
if (data.type === 'prev') {
|
|
128
|
+
reverseQueryOrderBy(qb);
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
const data = await qb.getMany();
|
|
132
|
+
const enough = data.length > take;
|
|
133
|
+
const hasNext = enough || type === 'prev';
|
|
134
|
+
const hasPrev = cursor && (enough || type === 'next');
|
|
135
|
+
if (enough) {
|
|
136
|
+
data.pop();
|
|
137
|
+
}
|
|
138
|
+
if (type === 'prev') {
|
|
139
|
+
data.reverse();
|
|
140
|
+
}
|
|
141
|
+
const generateCursor = (type, data) => {
|
|
142
|
+
const targetObject = type === 'prev' ? data[0] : data[data.length - 1];
|
|
143
|
+
const payload = Object.fromEntries(orderBys.map(({ key }) => {
|
|
144
|
+
const value = extractValueFromOrderByKey(targetObject, key, entityAliasName);
|
|
145
|
+
return [key, value];
|
|
146
|
+
}));
|
|
147
|
+
return encodeBase64Url(superjson_1.default.stringify({ type, payload }));
|
|
148
|
+
};
|
|
149
|
+
return {
|
|
150
|
+
data,
|
|
151
|
+
paginatedResult: {
|
|
152
|
+
nextCursor: hasNext ? generateCursor('next', data) : undefined,
|
|
153
|
+
previousCursor: hasPrev ? generateCursor('prev', data) : undefined,
|
|
154
|
+
},
|
|
155
|
+
};
|
|
156
|
+
}
|
|
157
|
+
exports.getPaginatedResult = getPaginatedResult;
|
|
158
|
+
//# sourceMappingURL=cursor-pagination-utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cursor-pagination-utils.js","sourceRoot":"","sources":["../../../src/utility/cursor-pagination-utils.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "nicot",
|
|
3
3
|
"description": "Nest.js interacting with class-validator + OpenAPI + TypeORM for Nest.js Restful API development.",
|
|
4
|
-
"version": "1.1.
|
|
4
|
+
"version": "1.1.11",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
7
7
|
"scripts": {
|
|
@@ -71,6 +71,7 @@
|
|
|
71
71
|
"dependencies": {
|
|
72
72
|
"lodash": "^4.17.21",
|
|
73
73
|
"nesties": "^1.1.2",
|
|
74
|
+
"superjson": "1.13.3",
|
|
74
75
|
"typed-reflector": "^1.0.11"
|
|
75
76
|
}
|
|
76
77
|
}
|