nicot 1.1.14 → 1.1.15
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 +98 -46
- package/dist/src/bases/base-restful-controller.d.ts +2 -1
- package/dist/src/bases/base-restful-controller.js.map +1 -1
- package/dist/src/crud-base.d.ts +10 -20
- package/dist/src/crud-base.js +37 -3
- package/dist/src/crud-base.js.map +1 -1
- package/dist/src/decorators/query.d.ts +2 -0
- package/dist/src/decorators/query.js +23 -1
- package/dist/src/decorators/query.js.map +1 -1
- package/dist/src/restful.d.ts +63 -2
- package/dist/src/restful.js +14 -10
- package/dist/src/restful.js.map +1 -1
- package/dist/src/utility/filter-relations.d.ts +4 -0
- package/dist/src/utility/filter-relations.js +43 -0
- package/dist/src/utility/filter-relations.js.map +1 -0
- package/dist/src/utility/get-typeorm-relations.d.ts +8 -10
- package/dist/src/utility/get-typeorm-relations.js +2 -0
- package/dist/src/utility/get-typeorm-relations.js.map +1 -1
- package/dist/src/utility/metadata.d.ts +2 -0
- package/dist/src/utility/metadata.js.map +1 -1
- package/dist/src/utility/query-full-text-column-options.interface.d.ts +4 -0
- package/dist/src/utility/query-full-text-column-options.interface.js +3 -0
- package/dist/src/utility/query-full-text-column-options.interface.js.map +1 -0
- package/dist/src/utility/relation-def.d.ts +7 -0
- package/dist/src/utility/relation-def.js +3 -0
- package/dist/src/utility/relation-def.js.map +1 -0
- package/package.json +2 -1
package/README.md
CHANGED
|
@@ -161,14 +161,15 @@ name: string;
|
|
|
161
161
|
|
|
162
162
|
NICOT 提供以下装饰器用于控制字段在不同接口中的表现:
|
|
163
163
|
|
|
164
|
-
| 装饰器名 | 行为控制说明
|
|
165
|
-
|
|
166
|
-
| `@NotWritable()` | 不允许在创建(POST)或修改(PATCH)时传入
|
|
167
|
-
| `@NotChangeable()` | 不允许在修改(PATCH)时更新(只可创建)
|
|
168
|
-
| `@NotQueryable()` | 不允许在 GET 查询参数中使用该字段
|
|
169
|
-
| `@NotInResult()` | 不会出现在任何返回结果中(如密码字段)
|
|
170
|
-
| `@NotColumn()` |
|
|
171
|
-
| `@
|
|
164
|
+
| 装饰器名 | 行为控制说明 |
|
|
165
|
+
|----------------------------------------|-----------------------------------------------|
|
|
166
|
+
| `@NotWritable()` | 不允许在创建(POST)或修改(PATCH)时传入 |
|
|
167
|
+
| `@NotChangeable()` | 不允许在修改(PATCH)时更新(只可创建) |
|
|
168
|
+
| `@NotQueryable()` | 不允许在 GET 查询参数中使用该字段 |
|
|
169
|
+
| `@NotInResult()` | 不会出现在任何返回结果中(如密码字段) |
|
|
170
|
+
| `@NotColumn()` | 不是数据库字段,仅作为查询结果间接字段(在 afterGet 钩子方法赋值) |
|
|
171
|
+
| `@QueryColumn()` | 不是数据库字段,仅作为虚拟查询字段(和 @QueryEqual() 等查询装饰器同时使用) |
|
|
172
|
+
| `@RelationComputed(() => EntityClass)` | 标识该字段依赖关系字段推导而来(通常在 afterGet) |
|
|
172
173
|
|
|
173
174
|
RestfulFactory 处理 Entity 类的时候,会以这些装饰器为依据,裁剪生成的 DTO 和查询参数。
|
|
174
175
|
|
|
@@ -203,17 +204,18 @@ NICOT 提供了一套查询装饰器,用于在 Entity 字段上声明支持的
|
|
|
203
204
|
|
|
204
205
|
### ✅ 内建查询装饰器
|
|
205
206
|
|
|
206
|
-
| 装饰器名
|
|
207
|
-
|
|
208
|
-
| `@QueryEqual()`
|
|
209
|
-
| `@QueryLike()`
|
|
210
|
-
| `@QuerySearch()`
|
|
211
|
-
| `@QueryMatchBoolean()`
|
|
212
|
-
| `@QueryEqualZeroNullable()`
|
|
213
|
-
| `@QueryGreater(field)`
|
|
214
|
-
| `@QueryLess(field)`
|
|
215
|
-
| `@QueryGreaterOrEqual(field)`
|
|
216
|
-
| `@QueryLessOrEqual(field)`
|
|
207
|
+
| 装饰器名 | 查询效果 |
|
|
208
|
+
|----------------------------------------------|------------------------------------------|
|
|
209
|
+
| `@QueryEqual()` | 精确匹配:`WHERE field = :value` |
|
|
210
|
+
| `@QueryLike()` | 前缀模糊匹配:`WHERE field LIKE :value%` |
|
|
211
|
+
| `@QuerySearch()` | 宽泛模糊搜索:`WHERE field LIKE %:value%` |
|
|
212
|
+
| `@QueryMatchBoolean()` | `true/false/1/0` 转换为布尔类型查询 |
|
|
213
|
+
| `@QueryEqualZeroNullable()` | `0 → IS NULL`,否则 `= :value`(适合 nullable) |
|
|
214
|
+
| `@QueryGreater(field)` | 大于查询:`WHERE field > :value` |
|
|
215
|
+
| `@QueryLess(field)` | 小于查询:`WHERE field < :value` |
|
|
216
|
+
| `@QueryGreaterOrEqual(field)` | 大于等于查询:`WHERE field >= :value` |
|
|
217
|
+
| `@QueryLessOrEqual(field)` | 小于等于查询:`WHERE field <= :value` |
|
|
218
|
+
| `@QueryFullText({ configration?, parser? })` | 全文搜索查询,只支持 PostgreSQL,会自动建索引 |
|
|
217
219
|
|
|
218
220
|
---
|
|
219
221
|
|
|
@@ -272,7 +274,31 @@ isPublished: boolean;
|
|
|
272
274
|
viewsOrderBy?: 'ASC' | 'DESC';
|
|
273
275
|
```
|
|
274
276
|
|
|
277
|
+
---
|
|
278
|
+
|
|
279
|
+
## 🧩 实体关系示例
|
|
280
|
+
|
|
281
|
+
```ts
|
|
282
|
+
@Entity()
|
|
283
|
+
class Article extends IdBase() {
|
|
284
|
+
@QueryEqual()
|
|
285
|
+
@IntColumn('bigint', { unsigned: true })
|
|
286
|
+
userId: number;
|
|
287
|
+
|
|
288
|
+
@ManyToOne(() => User, user => user.articles, { onDelete: 'CASCADE' })
|
|
289
|
+
user: User;
|
|
290
|
+
}
|
|
275
291
|
|
|
292
|
+
@Entity()
|
|
293
|
+
class User extends IdBase() {
|
|
294
|
+
@OneToMany(() => Article, article => article.user)
|
|
295
|
+
articles: Article[];
|
|
296
|
+
|
|
297
|
+
async afterGet() {
|
|
298
|
+
this.articleCount = this.articles.length;
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
```
|
|
276
302
|
|
|
277
303
|
---
|
|
278
304
|
|
|
@@ -658,7 +684,7 @@ class LogEntry extends IdBase() {
|
|
|
658
684
|
|
|
659
685
|
### 示例:分页 + 条件查询
|
|
660
686
|
|
|
661
|
-
```
|
|
687
|
+
```
|
|
662
688
|
GET /user?name=Tom&pageCount=2&recordsPerPage=10
|
|
663
689
|
// 查询第 2 页,每页 10 条,筛选 name = Tom 的用户
|
|
664
690
|
```
|
|
@@ -800,6 +826,58 @@ class UserController extends factory.baseController({
|
|
|
800
826
|
|
|
801
827
|
---
|
|
802
828
|
|
|
829
|
+
## 一键生成 CrudService
|
|
830
|
+
|
|
831
|
+
利用 `factory.crudService()` 生成标准的 CRUD 服务类,自动处理所有 CRUD 接口。效果与 `CrudService(Entity, options)` 类似。
|
|
832
|
+
|
|
833
|
+
`relations` 的配置与 `RestfulFactory` 的 `relations` 参数一致,保证 DTO 与查询参数的一致性。
|
|
834
|
+
|
|
835
|
+
```ts
|
|
836
|
+
const factory = new RestfulFactory(User, {
|
|
837
|
+
relations: ['articles'],
|
|
838
|
+
});
|
|
839
|
+
|
|
840
|
+
class UserService extends factory.crudService() {
|
|
841
|
+
constructor(@InjectRepository(User) repo) {
|
|
842
|
+
super(repo);
|
|
843
|
+
}
|
|
844
|
+
}
|
|
845
|
+
```
|
|
846
|
+
|
|
847
|
+
推荐在 Entity 文件中定义 `RestfulFactory`,然后在 Service 中使用 `factory.crudService()` 生成服务类,而在 Controller 中使用 `factory.baseController()` 生成控制器。
|
|
848
|
+
|
|
849
|
+
```ts
|
|
850
|
+
// user.entity.ts
|
|
851
|
+
@Entity()
|
|
852
|
+
export class User extends IdBase() {
|
|
853
|
+
//
|
|
854
|
+
}
|
|
855
|
+
|
|
856
|
+
export const UserRestfulFactory = new RestfulFactory(User, {
|
|
857
|
+
relations: ['articles'], // 自动代入 UserService 和 UserController 的 relations
|
|
858
|
+
});
|
|
859
|
+
|
|
860
|
+
// user.service.ts
|
|
861
|
+
@Injectable()
|
|
862
|
+
export class UserService extends UserRestfulFactory.crudService() {
|
|
863
|
+
constructor(@InjectRepository(User) repo) {
|
|
864
|
+
super(repo);
|
|
865
|
+
}
|
|
866
|
+
}
|
|
867
|
+
|
|
868
|
+
// user.controller.ts
|
|
869
|
+
@Controller('user')
|
|
870
|
+
export class UserController extends UserRestfulFactory.baseController() {
|
|
871
|
+
constructor(userService: UserService) {
|
|
872
|
+
super(userService);
|
|
873
|
+
}
|
|
874
|
+
}
|
|
875
|
+
```
|
|
876
|
+
|
|
877
|
+
这么做可以真正实现『一处定义,处处使用』,避免了 DTO 与查询参数的重复定义。
|
|
878
|
+
|
|
879
|
+
---
|
|
880
|
+
|
|
803
881
|
## 📦 统一返回结构与接口注解
|
|
804
882
|
|
|
805
883
|
NICOT 默认提供统一的接口返回格式与 Swagger 自动注解能力,便于前后端标准化对接。
|
|
@@ -971,32 +1049,6 @@ async create(@DataBody() dto: CreateUserDto) {
|
|
|
971
1049
|
|
|
972
1050
|
---
|
|
973
1051
|
|
|
974
|
-
## 🧩 实体关系示例
|
|
975
|
-
|
|
976
|
-
```ts
|
|
977
|
-
@Entity()
|
|
978
|
-
class Article extends IdBase() {
|
|
979
|
-
@QueryEqual()
|
|
980
|
-
@IntColumn('bigint', { unsigned: true })
|
|
981
|
-
userId: number;
|
|
982
|
-
|
|
983
|
-
@ManyToOne(() => User, user => user.articles, { onDelete: 'CASCADE' })
|
|
984
|
-
user: User;
|
|
985
|
-
}
|
|
986
|
-
|
|
987
|
-
@Entity()
|
|
988
|
-
class User extends IdBase() {
|
|
989
|
-
@OneToMany(() => Article, article => article.user)
|
|
990
|
-
articles: Article[];
|
|
991
|
-
|
|
992
|
-
async afterGet() {
|
|
993
|
-
this.articleCount = this.articles.length;
|
|
994
|
-
}
|
|
995
|
-
}
|
|
996
|
-
```
|
|
997
|
-
|
|
998
|
-
---
|
|
999
|
-
|
|
1000
1052
|
## 📊 和同类框架的对比
|
|
1001
1053
|
|
|
1002
1054
|
在实际开发中,很多框架也提供了 CRUD 接口构建能力,但存在不同程度的痛点。NICOT 从底层设计上解决了这些问题,适合长期维护的中大型后端项目。
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { CrudBase
|
|
1
|
+
import { CrudBase } from '../crud-base';
|
|
2
2
|
import { Repository } from 'typeorm';
|
|
3
3
|
import { ClassType } from 'nesties';
|
|
4
|
+
import { RelationDef } from '../utility/relation-def';
|
|
4
5
|
export declare const RestfulMethods: readonly ["findOne", "findAll", "create", "update", "delete", "import"];
|
|
5
6
|
export type RestfulMethods = typeof RestfulMethods[number];
|
|
6
7
|
export type RestfulPaginateType = 'offset' | 'cursor' | 'none';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-restful-controller.js","sourceRoot":"","sources":["../../../src/bases/base-restful-controller.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"base-restful-controller.js","sourceRoot":"","sources":["../../../src/bases/base-restful-controller.ts"],"names":[],"mappings":";;;AAAA,4CAAqD;AAKxC,QAAA,cAAc,GAAG;IAC5B,SAAS;IACT,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;CACA,CAAC;AAMX,MAAa,qBAAqB;IAEhC,YACE,aAA0C,EACnC,WAIF,EAAE;QAJA,aAAQ,GAAR,QAAQ,CAIR;QAEP,IAAI,aAAa,YAAY,oBAAQ,EAAE,CAAC;YACtC,IAAI,CAAC,OAAO,GAAG,aAAa,CAAC;QAC/B,CAAC;aAAM,CAAC;YACN,MAAM,gBAAgB,GAAG,IAAA,uBAAW,EAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE;gBAC9D,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS;aACnC,CAAC,CAAC;YACH,IAAI,CAAC,OAAO,GAAG,IAAI,gBAAgB,CAAC,aAAa,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;IAED,OAAO,CAAC,EAAU;QAChB,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAClC,CAAC;IAED,OAAO,CAAC,GAAe;QACrB,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,KAAK,QAAQ,EAAE,CAAC;YAC5C,OAAO,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC;QAClD,CAAC;QACD,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,KAAK,QAAQ,EAAE,CAAC;YAC5C,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACnC,CAAC;QACD,GAAG,CAAC,gBAAgB,CAAC,KAAK,KAAK,CAAC;QAChC,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACnC,CAAC;IAED,MAAM,CAAC,GAAM;QACX,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAClC,CAAC;IAED,MAAM,CAAC,EAAU,EAAE,GAAe;QAChC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IACtC,CAAC;IAED,MAAM,CAAC,EAAU;QACf,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACjC,CAAC;IAED,MAAM,CAAC,IAAmB;QACxB,OAAO,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC;CACF;AAlDD,sDAkDC"}
|
package/dist/src/crud-base.d.ts
CHANGED
|
@@ -1,18 +1,12 @@
|
|
|
1
1
|
import { FindOptionsWhere, Repository, SelectQueryBuilder } from 'typeorm';
|
|
2
2
|
import { EntityHooks, PageSettingsDto, PageSettingsFactory, QueryWise } from './bases';
|
|
3
3
|
import { ConsoleLogger } from '@nestjs/common';
|
|
4
|
-
import { BlankReturnMessageDto, ClassType
|
|
4
|
+
import { BlankReturnMessageDto, ClassType } from 'nesties';
|
|
5
5
|
import { CursorPaginationDto } from './dto/cursor-pagination';
|
|
6
|
+
import { RelationDef } from './utility/relation-def';
|
|
6
7
|
export type EntityId<T extends {
|
|
7
8
|
id: any;
|
|
8
9
|
}> = T['id'];
|
|
9
|
-
export interface RelationDef {
|
|
10
|
-
name: string;
|
|
11
|
-
inner?: boolean;
|
|
12
|
-
extraCondition?: string;
|
|
13
|
-
extraConditionFields?: Record<string, any>;
|
|
14
|
-
noSelect?: boolean;
|
|
15
|
-
}
|
|
16
10
|
export declare const Relation: (name: string, options?: Omit<RelationDef, "name">) => RelationDef;
|
|
17
11
|
export declare const Inner: (name: string, options?: Omit<RelationDef, "name">) => RelationDef;
|
|
18
12
|
export type ValidCrudEntity<T> = Record<string, any> & {
|
|
@@ -42,16 +36,12 @@ export declare class CrudBase<T extends ValidCrudEntity<T>> {
|
|
|
42
36
|
result: string;
|
|
43
37
|
entry: T;
|
|
44
38
|
}[]>;
|
|
45
|
-
readonly entityPaginatedReturnMessageDto: new (statusCode: number, message: string, data: T[], total: number, pageSettings: PageSettingsWise) => import("nesties").GenericPaginatedReturnMessageDto<T>;
|
|
39
|
+
readonly entityPaginatedReturnMessageDto: new (statusCode: number, message: string, data: T[], total: number, pageSettings: import("nesties").PageSettingsWise) => import("nesties").GenericPaginatedReturnMessageDto<T>;
|
|
46
40
|
readonly entityCursorPaginatedReturnMessageDto: new (statusCode: number, message: string, data: T[], cursorResponse: import("./dto").CursorPaginationResponseWise) => import("./dto").GenericCursorPaginationReturnMessageDto<T>;
|
|
47
41
|
readonly entityRelations: (string | RelationDef)[];
|
|
48
42
|
readonly extraGetQuery: (qb: SelectQueryBuilder<T>) => void;
|
|
49
43
|
readonly log: ConsoleLogger;
|
|
50
|
-
readonly _typeormRelations:
|
|
51
|
-
isArray: boolean;
|
|
52
|
-
propertyClass: import("nesties").AnyClass;
|
|
53
|
-
propertyName: string;
|
|
54
|
-
}[];
|
|
44
|
+
readonly _typeormRelations: import("./utility/get-typeorm-relations").TypeormRelation<any, string>[];
|
|
55
45
|
constructor(entityClass: ClassType<T>, repo: Repository<T>, crudOptions: CrudOptions<T>);
|
|
56
46
|
_cleanEntityNotInResultFields(ent: T): T;
|
|
57
47
|
cleanEntityNotInResultFields<E extends T | T[]>(ents: E): E;
|
|
@@ -83,6 +73,8 @@ export declare class CrudBase<T extends ValidCrudEntity<T>> {
|
|
|
83
73
|
entry: T;
|
|
84
74
|
}[]>>;
|
|
85
75
|
exists(id: EntityId<T>): Promise<boolean>;
|
|
76
|
+
_loadFullTextIndex(): Promise<void>;
|
|
77
|
+
onModuleInit(): Promise<void>;
|
|
86
78
|
}
|
|
87
79
|
export declare function CrudService<T extends ValidCrudEntity<T>>(entityClass: ClassType<T>, crudOptions?: CrudOptions<T>): {
|
|
88
80
|
new (repo: Repository<T>): {
|
|
@@ -99,16 +91,12 @@ export declare function CrudService<T extends ValidCrudEntity<T>>(entityClass: C
|
|
|
99
91
|
result: string;
|
|
100
92
|
entry: T;
|
|
101
93
|
}[]>;
|
|
102
|
-
readonly entityPaginatedReturnMessageDto: new (statusCode: number, message: string, data: T[], total: number, pageSettings: PageSettingsWise) => import("nesties").GenericPaginatedReturnMessageDto<T>;
|
|
94
|
+
readonly entityPaginatedReturnMessageDto: new (statusCode: number, message: string, data: T[], total: number, pageSettings: import("nesties").PageSettingsWise) => import("nesties").GenericPaginatedReturnMessageDto<T>;
|
|
103
95
|
readonly entityCursorPaginatedReturnMessageDto: new (statusCode: number, message: string, data: T[], cursorResponse: import("./dto").CursorPaginationResponseWise) => import("./dto").GenericCursorPaginationReturnMessageDto<T>;
|
|
104
96
|
readonly entityRelations: (string | RelationDef)[];
|
|
105
97
|
readonly extraGetQuery: (qb: SelectQueryBuilder<T>) => void;
|
|
106
98
|
readonly log: ConsoleLogger;
|
|
107
|
-
readonly _typeormRelations:
|
|
108
|
-
isArray: boolean;
|
|
109
|
-
propertyClass: import("nesties").AnyClass;
|
|
110
|
-
propertyName: string;
|
|
111
|
-
}[];
|
|
99
|
+
readonly _typeormRelations: import("./utility/get-typeorm-relations").TypeormRelation<any, string>[];
|
|
112
100
|
entityClass: ClassType<T>;
|
|
113
101
|
repo: Repository<T>;
|
|
114
102
|
crudOptions: CrudOptions<T>;
|
|
@@ -142,5 +130,7 @@ export declare function CrudService<T extends ValidCrudEntity<T>>(entityClass: C
|
|
|
142
130
|
entry: T;
|
|
143
131
|
}[]>>;
|
|
144
132
|
exists(id: EntityId<T>): Promise<boolean>;
|
|
133
|
+
_loadFullTextIndex(): Promise<void>;
|
|
134
|
+
onModuleInit(): Promise<void>;
|
|
145
135
|
};
|
|
146
136
|
};
|
package/dist/src/crud-base.js
CHANGED
|
@@ -32,6 +32,9 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
32
32
|
return result;
|
|
33
33
|
};
|
|
34
34
|
})();
|
|
35
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
+
};
|
|
35
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
39
|
exports.CrudBase = exports.Inner = exports.Relation = void 0;
|
|
37
40
|
exports.CrudService = CrudService;
|
|
@@ -46,6 +49,8 @@ const metadata_1 = require("./utility/metadata");
|
|
|
46
49
|
const get_typeorm_relations_1 = require("./utility/get-typeorm-relations");
|
|
47
50
|
const cursor_pagination_1 = require("./dto/cursor-pagination");
|
|
48
51
|
const cursor_pagination_utils_1 = require("./utility/cursor-pagination-utils");
|
|
52
|
+
const p_queue_1 = __importDefault(require("p-queue"));
|
|
53
|
+
const filter_relations_1 = require("./utility/filter-relations");
|
|
49
54
|
const Relation = (name, options = {}) => {
|
|
50
55
|
return { name, inner: false, ...options };
|
|
51
56
|
};
|
|
@@ -54,6 +59,10 @@ const Inner = (name, options = {}) => {
|
|
|
54
59
|
return (0, exports.Relation)(name, { inner: true, ...options });
|
|
55
60
|
};
|
|
56
61
|
exports.Inner = Inner;
|
|
62
|
+
const loadedParsers = new Set();
|
|
63
|
+
const loadFullTextQueue = new p_queue_1.default({
|
|
64
|
+
concurrency: 1,
|
|
65
|
+
});
|
|
57
66
|
class CrudBase {
|
|
58
67
|
constructor(entityClass, repo, crudOptions) {
|
|
59
68
|
this.entityClass = entityClass;
|
|
@@ -65,11 +74,10 @@ class CrudBase {
|
|
|
65
74
|
this.importReturnMessageDto = (0, nesties_1.ReturnMessageDto)([this.importEntryDto]);
|
|
66
75
|
this.entityPaginatedReturnMessageDto = (0, nesties_1.PaginatedReturnMessageDto)(this.entityClass);
|
|
67
76
|
this.entityCursorPaginatedReturnMessageDto = (0, cursor_pagination_1.CursorPaginationReturnMessageDto)(this.entityClass);
|
|
77
|
+
this.entityRelations = (0, filter_relations_1.filterRelations)(this.entityClass, this.crudOptions.relations);
|
|
78
|
+
this.extraGetQuery = this.crudOptions.extraGetQuery || ((qb) => { });
|
|
68
79
|
this.log = new common_1.ConsoleLogger(`${this.entityClass.name}Service`);
|
|
69
80
|
this._typeormRelations = (0, get_typeorm_relations_1.getTypeormRelations)(this.entityClass);
|
|
70
|
-
this.entityRelations = crudOptions.relations || [];
|
|
71
|
-
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
72
|
-
this.extraGetQuery = crudOptions.extraGetQuery || ((qb) => { });
|
|
73
81
|
}
|
|
74
82
|
_cleanEntityNotInResultFields(ent) {
|
|
75
83
|
const visited = new Set();
|
|
@@ -435,6 +443,32 @@ class CrudBase {
|
|
|
435
443
|
const ent = await this.repo.findOne({ where: { id }, select: ['id'] });
|
|
436
444
|
return !!ent;
|
|
437
445
|
}
|
|
446
|
+
async _loadFullTextIndex() {
|
|
447
|
+
const fields = metadata_1.reflector.getArray('queryFullTextColumnFields', this.entityClass);
|
|
448
|
+
const metadata = this.repo.metadata;
|
|
449
|
+
const tableName = metadata.tableName; // 真正数据库里的表名
|
|
450
|
+
const sqls = [];
|
|
451
|
+
for (const field of fields) {
|
|
452
|
+
const options = metadata_1.reflector.get('queryFullTextColumn', this.entityClass, field);
|
|
453
|
+
if (!options)
|
|
454
|
+
continue;
|
|
455
|
+
const configurationName = options.configuration;
|
|
456
|
+
const parser = options.parser;
|
|
457
|
+
if (parser && !loadedParsers.has(parser)) {
|
|
458
|
+
loadedParsers.add(parser);
|
|
459
|
+
sqls.push(`CREATE EXTENSION IF NOT EXISTS ${parser};`, `DROP TEXT SEARCH CONFIGURATION IF EXISTS ${configurationName};`, `CREATE TEXT SEARCH CONFIGURATION ${configurationName} (PARSER = ${parser});`, `ALTER TEXT SEARCH CONFIGURATION ${configurationName} ADD MAPPING FOR n, v, a, i, e, l WITH simple;`);
|
|
460
|
+
}
|
|
461
|
+
const indexName = `idx_fulltext_${this.entityName}_${field}`;
|
|
462
|
+
// 建立索引,索引名字用 this.entityName,表名用真实 tableName
|
|
463
|
+
sqls.push(`CREATE INDEX IF NOT EXISTS "${indexName}" ON "${tableName}" USING GIN (to_tsvector('${configurationName}', "${field}"));`);
|
|
464
|
+
}
|
|
465
|
+
if (sqls.length) {
|
|
466
|
+
await this.repo.manager.query(sqls.join('\n'));
|
|
467
|
+
}
|
|
468
|
+
}
|
|
469
|
+
async onModuleInit() {
|
|
470
|
+
await loadFullTextQueue.add(() => this._loadFullTextIndex());
|
|
471
|
+
}
|
|
438
472
|
}
|
|
439
473
|
exports.CrudBase = CrudBase;
|
|
440
474
|
function CrudService(entityClass, crudOptions = {}) {
|
|
@@ -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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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { QueryCond } from '../bases';
|
|
2
|
+
import { QueryFullTextColumnOptions } from '../utility/query-full-text-column-options.interface';
|
|
2
3
|
export declare const QueryCondition: (cond: QueryCond) => PropertyDecorator;
|
|
3
4
|
export declare const QueryEqual: () => PropertyDecorator;
|
|
4
5
|
export declare const QueryLike: () => PropertyDecorator;
|
|
@@ -12,3 +13,4 @@ export declare const QueryGreaterEqual: (field?: string) => PropertyDecorator;
|
|
|
12
13
|
export declare const QueryLess: (field?: string) => PropertyDecorator;
|
|
13
14
|
export declare const QueryLessEqual: (field?: string) => PropertyDecorator;
|
|
14
15
|
export declare const QueryNotEqual: (field?: string) => PropertyDecorator;
|
|
16
|
+
export declare const QueryFullText: (options?: QueryFullTextColumnOptions) => PropertyDecorator;
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.QueryNotEqual = exports.QueryLessEqual = exports.QueryLess = exports.QueryGreaterEqual = exports.QueryGreater = exports.createQueryOperator = exports.QueryOperator = exports.QueryMatchBoolean = exports.QueryEqualZeroNullable = exports.QuerySearch = exports.QueryLike = exports.QueryEqual = exports.QueryCondition = void 0;
|
|
3
|
+
exports.QueryFullText = exports.QueryNotEqual = exports.QueryLessEqual = exports.QueryLess = exports.QueryGreaterEqual = exports.QueryGreater = exports.createQueryOperator = exports.QueryOperator = exports.QueryMatchBoolean = exports.QueryEqualZeroNullable = exports.QuerySearch = exports.QueryLike = exports.QueryEqual = exports.QueryCondition = void 0;
|
|
4
4
|
const metadata_1 = require("../utility/metadata");
|
|
5
5
|
const utility_1 = require("../utility");
|
|
6
|
+
const nesties_1 = require("nesties");
|
|
6
7
|
const QueryCondition = (cond) => metadata_1.Metadata.set('queryCondition', cond, 'queryConditionFields');
|
|
7
8
|
exports.QueryCondition = QueryCondition;
|
|
8
9
|
const QueryEqual = () => (0, exports.QueryCondition)(utility_1.applyQueryProperty);
|
|
@@ -32,4 +33,25 @@ exports.QueryGreaterEqual = (0, exports.createQueryOperator)('>=');
|
|
|
32
33
|
exports.QueryLess = (0, exports.createQueryOperator)('<');
|
|
33
34
|
exports.QueryLessEqual = (0, exports.createQueryOperator)('<=');
|
|
34
35
|
exports.QueryNotEqual = (0, exports.createQueryOperator)('!=');
|
|
36
|
+
const QueryFullText = (options = {}) => {
|
|
37
|
+
const configurationName = options.parser
|
|
38
|
+
? `nicot_parser_${options.parser}`
|
|
39
|
+
: options.configuration || 'english';
|
|
40
|
+
return (0, nesties_1.MergePropertyDecorators)([
|
|
41
|
+
(0, exports.QueryCondition)((obj, qb, entityName, key) => {
|
|
42
|
+
if (obj[key] == null)
|
|
43
|
+
return;
|
|
44
|
+
const fieldName = key;
|
|
45
|
+
const typeormField = key;
|
|
46
|
+
qb.andWhere(`to_tsvector('${configurationName}', "${entityName}"."${fieldName}") @@ to_tsquery('${configurationName}', :${typeormField})`, {
|
|
47
|
+
[typeormField]: obj[key],
|
|
48
|
+
});
|
|
49
|
+
}),
|
|
50
|
+
metadata_1.Metadata.set('queryFullTextColumn', {
|
|
51
|
+
...options,
|
|
52
|
+
configuration: configurationName,
|
|
53
|
+
}, 'queryFullTextColumnFields'),
|
|
54
|
+
]);
|
|
55
|
+
};
|
|
56
|
+
exports.QueryFullText = QueryFullText;
|
|
35
57
|
//# sourceMappingURL=query.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query.js","sourceRoot":"","sources":["../../../src/decorators/query.ts"],"names":[],"mappings":";;;AACA,kDAA+C;AAC/C,wCAMoB;
|
|
1
|
+
{"version":3,"file":"query.js","sourceRoot":"","sources":["../../../src/decorators/query.ts"],"names":[],"mappings":"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"}
|
package/dist/src/restful.d.ts
CHANGED
|
@@ -1,8 +1,11 @@
|
|
|
1
|
-
import { AnyClass, ClassType } from 'nesties';
|
|
1
|
+
import { AnyClass, BlankReturnMessageDto, ClassType } from 'nesties';
|
|
2
2
|
import { OperationObject } from '@nestjs/swagger/dist/interfaces/open-api-spec.interface';
|
|
3
|
-
import { CrudBase,
|
|
3
|
+
import { CrudBase, CrudOptions } from './crud-base';
|
|
4
|
+
import { PageSettingsDto } from './bases';
|
|
5
|
+
import { CursorPaginationDto } from './dto/cursor-pagination';
|
|
4
6
|
import { BaseRestfulController, RestfulMethods, RestfulPaginateType } from './bases/base-restful-controller';
|
|
5
7
|
import { Repository } from 'typeorm';
|
|
8
|
+
import { RelationDef } from './utility/relation-def';
|
|
6
9
|
export interface RestfulFactoryOptions<T> {
|
|
7
10
|
fieldsToOmit?: (keyof T)[];
|
|
8
11
|
prefix?: string;
|
|
@@ -65,4 +68,62 @@ export declare class RestfulFactory<T extends {
|
|
|
65
68
|
}> = {}>(routeOptions?: Options): new (service: CrudBase<T> | Repository<T>) => Omit<BaseRestfulController<T>, { [M in keyof NonNullable<Options["routes"]>]: NonNullable<Options["routes"]>[M] extends {
|
|
66
69
|
enabled: false;
|
|
67
70
|
} ? M : never; }[keyof NonNullable<Options["routes"]>]>;
|
|
71
|
+
crudService(options?: CrudOptions<T>): {
|
|
72
|
+
new (repo: Repository<T>): {
|
|
73
|
+
readonly entityName: string;
|
|
74
|
+
readonly entityReturnMessageDto: new (statusCode: number, message: string, data: T) => import("nesties").GenericReturnMessageDto<T>;
|
|
75
|
+
readonly importEntryDto: new () => {
|
|
76
|
+
result: string;
|
|
77
|
+
entry: T;
|
|
78
|
+
};
|
|
79
|
+
readonly importReturnMessageDto: new (statusCode: number, message: string, data: {
|
|
80
|
+
result: string;
|
|
81
|
+
entry: T;
|
|
82
|
+
}[]) => import("nesties").GenericReturnMessageDto<{
|
|
83
|
+
result: string;
|
|
84
|
+
entry: T;
|
|
85
|
+
}[]>;
|
|
86
|
+
readonly entityPaginatedReturnMessageDto: new (statusCode: number, message: string, data: T[], total: number, pageSettings: import("nesties").PageSettingsWise) => import("nesties").GenericPaginatedReturnMessageDto<T>;
|
|
87
|
+
readonly entityCursorPaginatedReturnMessageDto: new (statusCode: number, message: string, data: T[], cursorResponse: import("./dto").CursorPaginationResponseWise) => import("./dto").GenericCursorPaginationReturnMessageDto<T>;
|
|
88
|
+
readonly entityRelations: (string | RelationDef)[];
|
|
89
|
+
readonly extraGetQuery: (qb: import("typeorm").SelectQueryBuilder<T>) => void;
|
|
90
|
+
readonly log: import("@nestjs/common").ConsoleLogger;
|
|
91
|
+
readonly _typeormRelations: import("./utility/get-typeorm-relations").TypeormRelation<any, string>[];
|
|
92
|
+
entityClass: ClassType<T>;
|
|
93
|
+
repo: Repository<T>;
|
|
94
|
+
crudOptions: CrudOptions<T>;
|
|
95
|
+
_cleanEntityNotInResultFields(ent: T): T;
|
|
96
|
+
cleanEntityNotInResultFields<E extends T | T[]>(ents: E): E;
|
|
97
|
+
_batchCreate(ents: T[], beforeCreate?: (repo: Repository<T>) => Promise<void>, skipErrors?: boolean): Promise<{
|
|
98
|
+
results: T[];
|
|
99
|
+
skipped: {
|
|
100
|
+
result: string;
|
|
101
|
+
entry: T;
|
|
102
|
+
}[];
|
|
103
|
+
}>;
|
|
104
|
+
create(_ent: T, beforeCreate?: (repo: Repository<T>) => Promise<void>): Promise<import("nesties").GenericReturnMessageDto<T>>;
|
|
105
|
+
readonly entityAliasName: string;
|
|
106
|
+
_applyQueryRelation(qb: import("typeorm").SelectQueryBuilder<T>, relation: RelationDef): void;
|
|
107
|
+
_applyQueryRelations(qb: import("typeorm").SelectQueryBuilder<T>): void;
|
|
108
|
+
_applyQueryFilters(qb: import("typeorm").SelectQueryBuilder<T>, ent: T): void;
|
|
109
|
+
queryBuilder(): import("typeorm").SelectQueryBuilder<T>;
|
|
110
|
+
findOne(id: import("./crud-base").EntityId<T>, extraQuery?: (qb: import("typeorm").SelectQueryBuilder<T>) => void): Promise<import("nesties").GenericReturnMessageDto<T>>;
|
|
111
|
+
_preFindAll(ent?: Partial<T>, extraQuery?: (qb: import("typeorm").SelectQueryBuilder<T>) => void): Promise<{
|
|
112
|
+
query: import("typeorm").SelectQueryBuilder<T>;
|
|
113
|
+
newEnt: T;
|
|
114
|
+
pageSettings: T & PageSettingsDto;
|
|
115
|
+
}>;
|
|
116
|
+
findAll(ent?: Partial<T>, extraQuery?: (qb: import("typeorm").SelectQueryBuilder<T>) => void): Promise<import("nesties").GenericPaginatedReturnMessageDto<T>>;
|
|
117
|
+
findAllCursorPaginated(ent?: Partial<T & Partial<CursorPaginationDto>>, extraQuery?: (qb: import("typeorm").SelectQueryBuilder<T>) => void): Promise<import("./dto").GenericCursorPaginationReturnMessageDto<T>>;
|
|
118
|
+
update(id: import("./crud-base").EntityId<T>, entPart: Partial<T>, cond?: import("typeorm").FindOptionsWhere<T>): Promise<BlankReturnMessageDto>;
|
|
119
|
+
delete(id: import("./crud-base").EntityId<T>, cond?: import("typeorm").FindOptionsWhere<T>): Promise<BlankReturnMessageDto>;
|
|
120
|
+
importEntities(_ents: T[], extraChecking?: (ent: T) => string | Promise<string>): Promise<import("nesties").GenericReturnMessageDto<{
|
|
121
|
+
result: string;
|
|
122
|
+
entry: T;
|
|
123
|
+
}[]>>;
|
|
124
|
+
exists(id: import("./crud-base").EntityId<T>): Promise<boolean>;
|
|
125
|
+
_loadFullTextIndex(): Promise<void>;
|
|
126
|
+
onModuleInit(): Promise<void>;
|
|
127
|
+
};
|
|
128
|
+
};
|
|
68
129
|
}
|
package/dist/src/restful.js
CHANGED
|
@@ -44,17 +44,11 @@ const metadata_1 = require("./utility/metadata");
|
|
|
44
44
|
const rename_class_1 = require("./utility/rename-class");
|
|
45
45
|
const constants_1 = require("@nestjs/swagger/dist/constants");
|
|
46
46
|
const get_typeorm_relations_1 = require("./utility/get-typeorm-relations");
|
|
47
|
+
const crud_base_1 = require("./crud-base");
|
|
47
48
|
const bases_1 = require("./bases");
|
|
48
49
|
const cursor_pagination_1 = require("./dto/cursor-pagination");
|
|
49
50
|
const base_restful_controller_1 = require("./bases/base-restful-controller");
|
|
50
|
-
const
|
|
51
|
-
if (typeof relation === 'string') {
|
|
52
|
-
return relation;
|
|
53
|
-
}
|
|
54
|
-
else {
|
|
55
|
-
return relation.name;
|
|
56
|
-
}
|
|
57
|
-
};
|
|
51
|
+
const filter_relations_1 = require("./utility/filter-relations");
|
|
58
52
|
const getCurrentLevelRelations = (relations) => relations.filter((r) => !r.includes('.'));
|
|
59
53
|
const getNextLevelRelations = (relations, enteringField) => relations
|
|
60
54
|
.filter((r) => r.includes('.') && r.startsWith(`${enteringField}.`))
|
|
@@ -66,7 +60,7 @@ class RestfulFactory {
|
|
|
66
60
|
resolveEntityResultDto() {
|
|
67
61
|
const relations = (0, get_typeorm_relations_1.getTypeormRelations)(this.entityClass);
|
|
68
62
|
const currentLevelRelations = this.options.relations &&
|
|
69
|
-
new Set(getCurrentLevelRelations(this.options.relations.map(extractRelationName)));
|
|
63
|
+
new Set(getCurrentLevelRelations(this.options.relations.map(filter_relations_1.extractRelationName)));
|
|
70
64
|
const outputFieldsToOmit = new Set([
|
|
71
65
|
...(0, metadata_1.getNotInResultFields)(this.entityClass, this.options.keepEntityVersioningDates),
|
|
72
66
|
...(this.options.outputFieldsToOmit || []),
|
|
@@ -102,7 +96,7 @@ class RestfulFactory {
|
|
|
102
96
|
? (0, lodash_1.upperFirst)(relation.propertyName)
|
|
103
97
|
: relation.propertyClass.name}`,
|
|
104
98
|
relations: this.options.relations &&
|
|
105
|
-
getNextLevelRelations(this.options.relations.map(extractRelationName), relation.propertyName),
|
|
99
|
+
getNextLevelRelations(this.options.relations.map(filter_relations_1.extractRelationName), relation.propertyName),
|
|
106
100
|
}, this.__resolveVisited);
|
|
107
101
|
const relationResultDto = relationFactory.entityResultDto;
|
|
108
102
|
replace([relationResultDto]);
|
|
@@ -151,6 +145,10 @@ class RestfulFactory {
|
|
|
151
145
|
]);
|
|
152
146
|
// eslint-disable-next-line @typescript-eslint/ban-types
|
|
153
147
|
this.idType = Reflect.getMetadata('design:type', this.entityClass.prototype, 'id');
|
|
148
|
+
if (options.relations) {
|
|
149
|
+
// we have to filter once to ensure every relation is correct
|
|
150
|
+
(0, filter_relations_1.filterRelations)(entityClass, options.relations);
|
|
151
|
+
}
|
|
154
152
|
}
|
|
155
153
|
usePrefix(methodDec, path) {
|
|
156
154
|
if (path) {
|
|
@@ -391,6 +389,12 @@ class RestfulFactory {
|
|
|
391
389
|
}
|
|
392
390
|
return (0, rename_class_1.RenameClass)(cl, `${this.getEntityClassName()}Controller`);
|
|
393
391
|
}
|
|
392
|
+
crudService(options = {}) {
|
|
393
|
+
return (0, crud_base_1.CrudService)(this.entityClass, {
|
|
394
|
+
relations: this.options.relations,
|
|
395
|
+
...options,
|
|
396
|
+
});
|
|
397
|
+
}
|
|
394
398
|
}
|
|
395
399
|
exports.RestfulFactory = RestfulFactory;
|
|
396
400
|
//# sourceMappingURL=restful.js.map
|
package/dist/src/restful.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"restful.js","sourceRoot":"","sources":["../../src/restful.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"restful.js","sourceRoot":"","sources":["../../src/restful.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { AnyClass } from 'nesties';
|
|
2
|
+
import { RelationDef } from './relation-def';
|
|
3
|
+
export declare const extractRelationName: (relation: string | RelationDef) => string;
|
|
4
|
+
export declare const filterRelations: <T extends string | RelationDef>(cl: AnyClass, relations?: T[]) => T[];
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.filterRelations = exports.extractRelationName = void 0;
|
|
4
|
+
const get_typeorm_relations_1 = require("./get-typeorm-relations");
|
|
5
|
+
const extractRelationName = (relation) => {
|
|
6
|
+
if (typeof relation === 'string') {
|
|
7
|
+
return relation;
|
|
8
|
+
}
|
|
9
|
+
else {
|
|
10
|
+
return relation.name;
|
|
11
|
+
}
|
|
12
|
+
};
|
|
13
|
+
exports.extractRelationName = extractRelationName;
|
|
14
|
+
const typeormRelationsCache = new Map();
|
|
15
|
+
const filterRelations = (cl, relations) => {
|
|
16
|
+
const fetchTypeormRelations = (cl) => {
|
|
17
|
+
if (typeormRelationsCache.has(cl)) {
|
|
18
|
+
return typeormRelationsCache.get(cl);
|
|
19
|
+
}
|
|
20
|
+
const relations = (0, get_typeorm_relations_1.getTypeormRelations)(cl);
|
|
21
|
+
const map = Object.fromEntries(relations.map((r) => [r.propertyName, r]));
|
|
22
|
+
typeormRelationsCache.set(cl, map);
|
|
23
|
+
return map;
|
|
24
|
+
};
|
|
25
|
+
return (relations?.filter((r) => {
|
|
26
|
+
const relationName = (0, exports.extractRelationName)(r);
|
|
27
|
+
const checkLevel = (entityClass, name) => {
|
|
28
|
+
const [currentLevel, ...nextLevel] = name.split('.');
|
|
29
|
+
const relation = fetchTypeormRelations(entityClass)?.[currentLevel];
|
|
30
|
+
if (!relation) {
|
|
31
|
+
throw new Error(`Relation ${currentLevel} not found in ${entityClass.name} (Reading ${relationName} in ${cl.name})`);
|
|
32
|
+
}
|
|
33
|
+
if (relation.computed)
|
|
34
|
+
return false;
|
|
35
|
+
if (!nextLevel.length)
|
|
36
|
+
return true;
|
|
37
|
+
return checkLevel(relation.propertyClass, nextLevel.join('.'));
|
|
38
|
+
};
|
|
39
|
+
return checkLevel(cl, relationName);
|
|
40
|
+
}) || []);
|
|
41
|
+
};
|
|
42
|
+
exports.filterRelations = filterRelations;
|
|
43
|
+
//# sourceMappingURL=filter-relations.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filter-relations.js","sourceRoot":"","sources":["../../../src/utility/filter-relations.ts"],"names":[],"mappings":";;;AAEA,mEAA+E;AAExE,MAAM,mBAAmB,GAAG,CAAC,QAA8B,EAAE,EAAE;IACpE,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACjC,OAAO,QAAQ,CAAC;IAClB,CAAC;SAAM,CAAC;QACN,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;AACH,CAAC,CAAC;AANW,QAAA,mBAAmB,uBAM9B;AAEF,MAAM,qBAAqB,GAAG,IAAI,GAAG,EAGlC,CAAC;AAEG,MAAM,eAAe,GAAG,CAC7B,EAAY,EACZ,SAAe,EACf,EAAE;IACF,MAAM,qBAAqB,GAAG,CAAC,EAAY,EAAE,EAAE;QAC7C,IAAI,qBAAqB,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;YAClC,OAAO,qBAAqB,CAAC,GAAG,CAAC,EAAE,CAAE,CAAC;QACxC,CAAC;QACD,MAAM,SAAS,GAAG,IAAA,2CAAmB,EAAC,EAAE,CAAC,CAAC;QAC1C,MAAM,GAAG,GAAG,MAAM,CAAC,WAAW,CAC5B,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CACP,CAAC;QACrC,qBAAqB,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;QACnC,OAAO,GAAG,CAAC;IACb,CAAC,CAAC;IACF,OAAO,CACL,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;QACtB,MAAM,YAAY,GAAG,IAAA,2BAAmB,EAAC,CAAC,CAAC,CAAC;QAC5C,MAAM,UAAU,GAAG,CAAC,WAAqB,EAAE,IAAY,EAAW,EAAE;YAClE,MAAM,CAAC,YAAY,EAAE,GAAG,SAAS,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACrD,MAAM,QAAQ,GAAG,qBAAqB,CAAC,WAAW,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC;YACpE,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,MAAM,IAAI,KAAK,CACb,YAAY,YAAY,iBAAiB,WAAW,CAAC,IAAI,aAAa,YAAY,OAAO,EAAE,CAAC,IAAI,GAAG,CACpG,CAAC;YACJ,CAAC;YACD,IAAI,QAAQ,CAAC,QAAQ;gBAAE,OAAO,KAAK,CAAC;YACpC,IAAI,CAAC,SAAS,CAAC,MAAM;gBAAE,OAAO,IAAI,CAAC;YACnC,OAAO,UAAU,CAAC,QAAQ,CAAC,aAAa,EAAE,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACjE,CAAC,CAAC;QACF,OAAO,UAAU,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC;IACtC,CAAC,CAAC,IAAI,EAAE,CACT,CAAC;AACJ,CAAC,CAAC;AAjCW,QAAA,eAAe,mBAiC1B"}
|
|
@@ -1,11 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export
|
|
1
|
+
import { ClassType } from 'nesties';
|
|
2
|
+
export type TypeormRelation<T = any, KT = string> = {
|
|
3
3
|
isArray: boolean;
|
|
4
|
-
propertyClass:
|
|
5
|
-
propertyName:
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
propertyName: key;
|
|
11
|
-
}; };
|
|
4
|
+
propertyClass: ClassType<T>;
|
|
5
|
+
propertyName: KT;
|
|
6
|
+
computed: boolean;
|
|
7
|
+
};
|
|
8
|
+
export declare function getTypeormRelations<T>(cl: ClassType<T>): TypeormRelation[];
|
|
9
|
+
export declare function getTypeormRelationsMap<T>(cl: ClassType<T>): { [key in keyof T]: TypeormRelation<T, key>; };
|
|
@@ -28,6 +28,7 @@ function getTypeormRelations(cl) {
|
|
|
28
28
|
isArray,
|
|
29
29
|
propertyClass,
|
|
30
30
|
propertyName: relation.propertyName,
|
|
31
|
+
computed: false,
|
|
31
32
|
};
|
|
32
33
|
});
|
|
33
34
|
const computedRelations = (0, metadata_1.getSpecificFields)(cl, 'relationComputed').map((field) => {
|
|
@@ -37,6 +38,7 @@ function getTypeormRelations(cl) {
|
|
|
37
38
|
isArray: res.isArray,
|
|
38
39
|
propertyClass: res.entityClass,
|
|
39
40
|
propertyName: field,
|
|
41
|
+
computed: true,
|
|
40
42
|
};
|
|
41
43
|
});
|
|
42
44
|
return lodash_1.default.uniqBy([...typeormRelations, ...computedRelations], // Merge typeorm relations and computed relations
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-typeorm-relations.js","sourceRoot":"","sources":["../../../src/utility/get-typeorm-relations.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"get-typeorm-relations.js","sourceRoot":"","sources":["../../../src/utility/get-typeorm-relations.ts"],"names":[],"mappings":";;;;;AAYA,kDA+CC;AAED,wDAMC;AAlED,qCAAiD;AACjD,yCAA0D;AAC1D,oDAAuB;AASvB,SAAgB,mBAAmB,CAAI,EAAgB;IACrD,MAAM,SAAS,GAAG,IAAA,gCAAsB,GAAE,CAAC,SAAS,CAAC,MAAM,CACzD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,EAAE,CACvB,CAAC;IAEF,MAAM,gBAAgB,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;QAClD,MAAM,OAAO,GAAG,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACxD,MAAM,oBAAoB,GAAG,QAAQ,CAAC,IAAI,CAAC;QAC3C,oCAAoC;QACpC,IAAI,aAAuB,CAAC;QAC5B,IAAI,OAAO,oBAAoB,KAAK,UAAU,EAAE,CAAC;YAC/C,MAAM,aAAa,GAAI,oBAAuC,EAAE,CAAC;YACjE,IAAI,OAAO,aAAa,KAAK,UAAU,EAAE,CAAC;gBACxC,aAAa,GAAG,aAAa,CAAC;YAChC,CAAC;QACH,CAAC;QACD,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,aAAa,GAAG,OAAO,CAAC,WAAW,CACjC,aAAa,EACb,EAAE,CAAC,SAAS,EACZ,QAAQ,CAAC,YAAY,CACtB,CAAC;QACJ,CAAC;QACD,OAAO;YACL,OAAO;YACP,aAAa;YACb,YAAY,EAAE,QAAQ,CAAC,YAAY;YACnC,QAAQ,EAAE,KAAK;SAChB,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,MAAM,iBAAiB,GAAG,IAAA,4BAAiB,EAAC,EAAE,EAAE,kBAAkB,CAAC,CAAC,GAAG,CACrE,CAAC,KAAK,EAAE,EAAE;QACR,MAAM,IAAI,GAAG,oBAAS,CAAC,GAAG,CAAC,kBAAkB,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;QAC1D,MAAM,GAAG,GAAG,IAAI,EAAE,CAAC;QACnB,OAAO;YACL,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,aAAa,EAAE,GAAG,CAAC,WAAW;YAC9B,YAAY,EAAE,KAAK;YACnB,QAAQ,EAAE,IAAI;SACf,CAAC;IACJ,CAAC,CACF,CAAC;IACF,OAAO,gBAAC,CAAC,MAAM,CACb,CAAC,GAAG,gBAAgB,EAAE,GAAG,iBAAiB,CAAC,EAAE,iDAAiD;IAC9F,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CACtB,CAAC;AACJ,CAAC;AAED,SAAgB,sBAAsB,CAAI,EAAgB;IACxD,OAAO,MAAM,CAAC,WAAW,CACvB,mBAAmB,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAGxD,CAAC;AACJ,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { MetadataSetter, Reflector } from 'typed-reflector';
|
|
2
2
|
import { QueryCond } from '../bases';
|
|
3
3
|
import { AnyClass } from 'nesties';
|
|
4
|
+
import { QueryFullTextColumnOptions } from './query-full-text-column-options.interface';
|
|
4
5
|
interface SpecificFields {
|
|
5
6
|
notColumn: boolean;
|
|
6
7
|
notWritable: boolean;
|
|
@@ -12,6 +13,7 @@ interface SpecificFields {
|
|
|
12
13
|
entityClass: AnyClass;
|
|
13
14
|
isArray: boolean;
|
|
14
15
|
};
|
|
16
|
+
queryFullTextColumn: QueryFullTextColumnOptions;
|
|
15
17
|
}
|
|
16
18
|
interface MetadataMap extends SpecificFields {
|
|
17
19
|
queryCondition: QueryCond;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../../src/utility/metadata.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../../src/utility/metadata.ts"],"names":[],"mappings":";;;AA6BA,8CAIC;AAED,oDAYC;AA/CD,qDAA4D;AA0B/C,QAAA,QAAQ,GAAG,IAAI,gCAAc,EAAiC,CAAC;AAC/D,QAAA,SAAS,GAAG,IAAI,2BAAS,EAAiC,CAAC;AAExE,SAAgB,iBAAiB,CAAC,GAAQ,EAAE,IAA0B;IACpE,OAAO,iBAAS;SACb,QAAQ,CAAC,GAAG,IAAI,QAAQ,EAAE,GAAG,CAAC;SAC9B,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,iBAAS,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;AACxD,CAAC;AAED,SAAgB,oBAAoB,CAClC,GAAQ,EACR,yBAAyB,GAAG,KAAK;IAEjC,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;IAChE,IAAI,yBAAyB,EAAE,CAAC;QAC9B,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IACD,OAAO;QACL,GAAG,iBAAiB;QACpB,GAAG,iBAAiB,CAAC,GAAG,EAAE,sBAAsB,CAAC;KAClD,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"query-full-text-column-options.interface.js","sourceRoot":"","sources":["../../../src/utility/query-full-text-column-options.interface.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"relation-def.js","sourceRoot":"","sources":["../../../src/utility/relation-def.ts"],"names":[],"mappings":""}
|
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.15",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
7
7
|
"scripts": {
|
|
@@ -83,6 +83,7 @@
|
|
|
83
83
|
"dependencies": {
|
|
84
84
|
"lodash": "^4.17.21",
|
|
85
85
|
"nesties": "^1.1.2",
|
|
86
|
+
"p-queue": "6.6.2",
|
|
86
87
|
"superjson": "1.13.3",
|
|
87
88
|
"typed-reflector": "^1.0.11"
|
|
88
89
|
}
|