@gaias/basenode 1.0.45 → 1.0.49

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (89) hide show
  1. package/dist/example/controllers/UserController.d.ts +1 -1
  2. package/dist/example/utils/MyUtils.d.ts +10 -3
  3. package/dist/example/utils/MyUtils.d.ts.map +1 -1
  4. package/dist/example/utils/MyUtils.example.d.ts +46 -0
  5. package/dist/example/utils/MyUtils.example.d.ts.map +1 -0
  6. package/dist/example/utils/MyUtils.example.js +141 -0
  7. package/dist/example/utils/MyUtils.example.js.map +1 -0
  8. package/dist/example/utils/MyUtils.js +66 -20
  9. package/dist/example/utils/MyUtils.js.map +1 -1
  10. package/dist/example/utils/QueryBuilderHelper.d.ts +34 -0
  11. package/dist/example/utils/QueryBuilderHelper.d.ts.map +1 -0
  12. package/dist/example/utils/QueryBuilderHelper.example.d.ts +87 -0
  13. package/dist/example/utils/QueryBuilderHelper.example.d.ts.map +1 -0
  14. package/dist/example/utils/QueryBuilderHelper.example.js +335 -0
  15. package/dist/example/utils/QueryBuilderHelper.example.js.map +1 -0
  16. package/dist/example/utils/QueryBuilderHelper.js +95 -0
  17. package/dist/example/utils/QueryBuilderHelper.js.map +1 -0
  18. package/dist/example/utils/index.d.ts +3 -0
  19. package/dist/example/utils/index.d.ts.map +1 -1
  20. package/dist/example/utils/index.js +3 -0
  21. package/dist/example/utils/index.js.map +1 -1
  22. package/dist/src/libs/casbin/CasbinAdapter.d.ts +40 -0
  23. package/dist/src/libs/casbin/CasbinAdapter.d.ts.map +1 -0
  24. package/dist/src/libs/casbin/CasbinAdapter.js +355 -0
  25. package/dist/src/libs/casbin/CasbinAdapter.js.map +1 -0
  26. package/dist/src/libs/casbin/CasbinLoader.d.ts +3 -0
  27. package/dist/src/libs/casbin/CasbinLoader.d.ts.map +1 -0
  28. package/dist/src/libs/casbin/CasbinLoader.js +44 -0
  29. package/dist/src/libs/casbin/CasbinLoader.js.map +1 -0
  30. package/dist/src/libs/casbin/CasbinRule.d.ts +14 -0
  31. package/dist/src/libs/casbin/CasbinRule.d.ts.map +1 -0
  32. package/dist/src/libs/casbin/CasbinRule.js +85 -0
  33. package/dist/src/libs/casbin/CasbinRule.js.map +1 -0
  34. package/dist/src/libs/casbin/FilterCondition.d.ts +10 -0
  35. package/dist/src/libs/casbin/FilterCondition.d.ts.map +1 -0
  36. package/dist/src/libs/casbin/FilterCondition.js +3 -0
  37. package/dist/src/libs/casbin/FilterCondition.js.map +1 -0
  38. package/dist/src/libs/casbin/index.d.ts +5 -0
  39. package/dist/src/libs/casbin/index.d.ts.map +1 -0
  40. package/dist/src/libs/casbin/index.js +21 -0
  41. package/dist/src/libs/casbin/index.js.map +1 -0
  42. package/dist/src/libs/cls/FSBackendMiddleware.d.ts +2 -0
  43. package/dist/src/libs/cls/FSBackendMiddleware.d.ts.map +1 -0
  44. package/dist/src/libs/cls/FSBackendMiddleware.js +32 -0
  45. package/dist/src/libs/cls/FSBackendMiddleware.js.map +1 -0
  46. package/dist/src/libs/cls/index.d.ts +2 -0
  47. package/dist/src/libs/cls/index.d.ts.map +1 -0
  48. package/dist/src/libs/cls/index.js +18 -0
  49. package/dist/src/libs/cls/index.js.map +1 -0
  50. package/dist/src/libs/index.d.ts +3 -0
  51. package/dist/src/libs/index.d.ts.map +1 -1
  52. package/dist/src/libs/index.js +3 -0
  53. package/dist/src/libs/index.js.map +1 -1
  54. package/dist/src/libs/koa/KoaLoader.d.ts.map +1 -1
  55. package/dist/src/libs/koa/KoaLoader.js +6 -4
  56. package/dist/src/libs/koa/KoaLoader.js.map +1 -1
  57. package/dist/src/libs/pagination/QueryBuilderHelper.d.ts +34 -0
  58. package/dist/src/libs/pagination/QueryBuilderHelper.d.ts.map +1 -0
  59. package/dist/src/libs/pagination/QueryBuilderHelper.js +95 -0
  60. package/dist/src/libs/pagination/QueryBuilderHelper.js.map +1 -0
  61. package/dist/src/libs/pagination/SelectQueryUtils.d.ts +16 -0
  62. package/dist/src/libs/pagination/SelectQueryUtils.d.ts.map +1 -0
  63. package/dist/src/libs/pagination/SelectQueryUtils.js +141 -0
  64. package/dist/src/libs/pagination/SelectQueryUtils.js.map +1 -0
  65. package/dist/src/libs/pagination/index.d.ts +2 -0
  66. package/dist/src/libs/pagination/index.d.ts.map +1 -1
  67. package/dist/src/libs/pagination/index.js +2 -0
  68. package/dist/src/libs/pagination/index.js.map +1 -1
  69. package/dist/src/libs/restful/RestClientLoader.d.ts +3 -0
  70. package/dist/src/libs/restful/RestClientLoader.d.ts.map +1 -0
  71. package/dist/src/libs/restful/RestClientLoader.js +19 -0
  72. package/dist/src/libs/restful/RestClientLoader.js.map +1 -0
  73. package/dist/src/libs/restful/index.d.ts +2 -0
  74. package/dist/src/libs/restful/index.d.ts.map +1 -0
  75. package/dist/src/libs/restful/index.js +18 -0
  76. package/dist/src/libs/restful/index.js.map +1 -0
  77. package/dist/src/libs/type/index.d.ts +1 -1
  78. package/dist/src/libs/type/index.d.ts.map +1 -1
  79. package/dist/src/libs/type/index.js +1 -1
  80. package/dist/src/libs/type/index.js.map +1 -1
  81. package/dist/src/libs/universal/UniversalService.d.ts +1 -1
  82. package/dist/src/server/bootstrap.d.ts.map +1 -1
  83. package/dist/src/server/bootstrap.js +2 -2
  84. package/dist/src/server/bootstrap.js.map +1 -1
  85. package/dist/src/utils/YamlUtil.d.ts.map +1 -1
  86. package/dist/src/utils/YamlUtil.js +1 -3
  87. package/dist/src/utils/YamlUtil.js.map +1 -1
  88. package/dist/tools/DBSchemaGenerator.js.map +1 -1
  89. package/package.json +8 -3
@@ -20,7 +20,7 @@ export declare class UserController extends UniversalController {
20
20
  createUser(user: UserVo): Promise<void>;
21
21
  getUser(id: string): Promise<User | null>;
22
22
  modifyUser(id: string, user: UserVo): Promise<import("typeorm").UpdateResult>;
23
- removeUser(id: string): Promise<import("typeorm").UpdateResult | import("typeorm").DeleteResult>;
23
+ removeUser(id: string): Promise<import("typeorm").DeleteResult | import("typeorm").UpdateResult>;
24
24
  getAllUsers(): Promise<UserVo[]>;
25
25
  queryUser(search: UserSearch): Promise<import("../../src").PaginationOut<any, User>>;
26
26
  allUsers(email: string, reset: string, cache: string, update: string, del: string): Promise<void | {
@@ -8,10 +8,17 @@ export declare class SearchVo extends PaginationIn {
8
8
  sort: string;
9
9
  }
10
10
  export declare function selectFields<T extends ObjectLiteral>(qb: SelectQueryBuilder<T>, fields: Record<string, string>): SelectQueryBuilder<T>;
11
- export declare function andWhereEqual<T extends ObjectLiteral>(qb: SelectQueryBuilder<T>, alias: string, field: string, value: string | number | Date): SelectQueryBuilder<T>;
12
- export declare function andWhereWithSign<T extends ObjectLiteral>(qb: SelectQueryBuilder<T>, alias: string, field: string, sign: string, value: string | number | Date): SelectQueryBuilder<T>;
13
- export declare function andWhereBetween<T extends ObjectLiteral>(qb: SelectQueryBuilder<T>, alias: string, field: string, value1: string | number | Date, value2: string | number | Date): SelectQueryBuilder<T>;
11
+ export declare function andWhereEqual<T extends ObjectLiteral>(qb: SelectQueryBuilder<T>, alias: string, field: string, value?: string | number | Date): SelectQueryBuilder<T>;
12
+ export declare function andWhereWithSign<T extends ObjectLiteral>(qb: SelectQueryBuilder<T>, alias: string, field: string, sign: string, value?: string | number | Date): SelectQueryBuilder<T>;
13
+ export declare function andWhereBetween<T extends ObjectLiteral>(qb: SelectQueryBuilder<T>, alias: string, field: string, value1?: string | number | Date, value2?: string | number | Date): SelectQueryBuilder<T>;
14
14
  export declare function multiSearch<T extends ObjectLiteral>(qb: SelectQueryBuilder<T>, fields: string[], keyWords: string): SelectQueryBuilder<T>;
15
15
  export declare function setSorts<T extends ObjectLiteral>(qb: SelectQueryBuilder<T>, fields: Record<string, string>, sorts: string): SelectQueryBuilder<T>;
16
16
  export declare function andWhereIn<T extends ObjectLiteral>(qb: SelectQueryBuilder<T>, alias: string, field: string, values?: string[] | number[]): SelectQueryBuilder<T>;
17
+ export declare function andWhereNotIn<T extends ObjectLiteral>(qb: SelectQueryBuilder<T>, alias: string, field: string, values?: string[] | number[]): SelectQueryBuilder<T>;
18
+ export declare function andWhereLike<T extends ObjectLiteral>(qb: SelectQueryBuilder<T>, alias: string, field: string, value?: string): SelectQueryBuilder<T>;
19
+ export declare function andWhereNull<T extends ObjectLiteral>(qb: SelectQueryBuilder<T>, alias: string, field: string, isNull?: boolean): SelectQueryBuilder<T>;
20
+ export declare function orWhere<T extends ObjectLiteral>(qb: SelectQueryBuilder<T>, alias: string, conditions: Array<{
21
+ field: string;
22
+ value: any;
23
+ }>): SelectQueryBuilder<T>;
17
24
  //# sourceMappingURL=MyUtils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MyUtils.d.ts","sourceRoot":"","sources":["../../../example/utils/MyUtils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAC5D,OAAO,EAAgB,YAAY,EAAE,MAAM,WAAW,CAAC;AAEvD,qBACa,QAAS,SAAQ,YAAY;IAIxC,SAAS,EAAE,MAAM,CAAC;IAKlB,WAAW,EAAE,MAAM,CAAC;IAKpB,QAAQ,EAAE,MAAM,CAAC;IAKjB,MAAM,EAAE,MAAM,CAAC;IAKf,IAAI,EAAE,MAAM,CAAC;CACd;AAGD,wBAAgB,YAAY,CAAC,CAAC,SAAS,aAAa,EAAE,EAAE,EAAE,kBAAkB,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,yBAS9G;AAED,wBAAgB,aAAa,CAAC,CAAC,SAAS,aAAa,EAAE,EAAE,EAAE,kBAAkB,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,yBAO5I;AAED,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,aAAa,EAAE,EAAE,EAAE,kBAAkB,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,yBAO7J;AAED,wBAAgB,eAAe,CAAC,CAAC,SAAS,aAAa,EAAE,EAAE,EAAE,kBAAkB,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,yBAQ/K;AAED,wBAAgB,WAAW,CAAC,CAAC,SAAS,aAAa,EAAE,EAAE,EAAE,kBAAkB,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,yBAmBjH;AAED,wBAAgB,QAAQ,CAAC,CAAC,SAAS,aAAa,EAAE,EAAE,EAAE,kBAAkB,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,yBAiBzH;AAED,wBAAgB,UAAU,CAAC,CAAC,SAAS,aAAa,EAAE,EAAE,EAAE,kBAAkB,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,yBAOxI"}
1
+ {"version":3,"file":"MyUtils.d.ts","sourceRoot":"","sources":["../../../example/utils/MyUtils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,46 @@
1
+ import { Repository } from 'typeorm';
2
+ interface User {
3
+ id: number;
4
+ username: string;
5
+ email: string;
6
+ age: number;
7
+ status: number;
8
+ role: string;
9
+ createdAt: Date;
10
+ updatedAt: Date;
11
+ deletedAt?: Date;
12
+ }
13
+ export declare class UserQueryExample {
14
+ private userRepo;
15
+ constructor(userRepo: Repository<User>);
16
+ findByStatus(status: number): Promise<User[]>;
17
+ findActiveAdults(minAge: number): Promise<User[]>;
18
+ findByRoles(includeRoles: string[], excludeRoles: string[]): Promise<User[]>;
19
+ findByAgeRange(minAge: number, maxAge: number): Promise<User[]>;
20
+ searchByUsername(keyword: string): Promise<User[]>;
21
+ multiFieldSearch(keywords: string): Promise<User[]>;
22
+ findByMultipleConditions(): Promise<User[]>;
23
+ selectSpecificFields(): Promise<any[]>;
24
+ findWithSorting(sortString: string): Promise<User[]>;
25
+ complexQuery(params: {
26
+ status?: number;
27
+ roles?: string[];
28
+ minAge?: number;
29
+ maxAge?: number;
30
+ keywords?: string;
31
+ excludeDeleted?: boolean;
32
+ sort?: string;
33
+ }): Promise<User[]>;
34
+ paginatedQuery(page?: number, pageSize?: number, status?: number): Promise<{
35
+ total: number;
36
+ page: number;
37
+ pageSize: number;
38
+ totalPages: number;
39
+ data: User[];
40
+ }>;
41
+ multipleInConditions(): Promise<User[]>;
42
+ findByDateRange(startDate: Date, endDate: Date): Promise<User[]>;
43
+ advancedQuery(): Promise<User[]>;
44
+ }
45
+ export {};
46
+ //# sourceMappingURL=MyUtils.example.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MyUtils.example.d.ts","sourceRoot":"","sources":["../../../example/utils/MyUtils.example.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAgBrC,UAAU,IAAI;IACZ,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,CAAC,EAAE,IAAI,CAAC;CAClB;AAED,qBAAa,gBAAgB;IACf,OAAO,CAAC,QAAQ;gBAAR,QAAQ,EAAE,UAAU,CAAC,IAAI,CAAC;IAKxC,YAAY,CAAC,MAAM,EAAE,MAAM;IAY3B,gBAAgB,CAAC,MAAM,EAAE,MAAM;IAkB/B,WAAW,CAAC,YAAY,EAAE,MAAM,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE;IAe1D,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAY7C,gBAAgB,CAAC,OAAO,EAAE,MAAM;IAYhC,gBAAgB,CAAC,QAAQ,EAAE,MAAM;IAajC,wBAAwB;IAexB,oBAAoB;IAmBpB,eAAe,CAAC,UAAU,EAAE,MAAM;IAuBlC,YAAY,CAAC,MAAM,EAAE;QACzB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;QACjB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,IAAI,CAAC,EAAE,MAAM,CAAC;KACf;IAuCK,cAAc,CAAC,IAAI,GAAE,MAAU,EAAE,QAAQ,GAAE,MAAW,EAAE,MAAM,CAAC,EAAE,MAAM;;;;;;;IA2BvE,oBAAoB;IAgBpB,eAAe,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI;IAe9C,aAAa;CAiBpB"}
@@ -0,0 +1,141 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UserQueryExample = void 0;
4
+ const MyUtils_1 = require("./MyUtils");
5
+ class UserQueryExample {
6
+ constructor(userRepo) {
7
+ this.userRepo = userRepo;
8
+ }
9
+ async findByStatus(status) {
10
+ const qb = this.userRepo.createQueryBuilder('user');
11
+ (0, MyUtils_1.andWhereEqual)(qb, 'user', 'status', status);
12
+ return qb.getMany();
13
+ }
14
+ async findActiveAdults(minAge) {
15
+ const qb = this.userRepo.createQueryBuilder('user');
16
+ (0, MyUtils_1.andWhereEqual)(qb, 'user', 'status', 1);
17
+ (0, MyUtils_1.andWhereWithSign)(qb, 'user', 'age', '>=', minAge);
18
+ (0, MyUtils_1.andWhereNull)(qb, 'user', 'deletedAt', true);
19
+ return qb.getMany();
20
+ }
21
+ async findByRoles(includeRoles, excludeRoles) {
22
+ const qb = this.userRepo.createQueryBuilder('user');
23
+ (0, MyUtils_1.andWhereIn)(qb, 'user', 'role', includeRoles);
24
+ (0, MyUtils_1.andWhereNotIn)(qb, 'user', 'status', [0, -1]);
25
+ return qb.getMany();
26
+ }
27
+ async findByAgeRange(minAge, maxAge) {
28
+ const qb = this.userRepo.createQueryBuilder('user');
29
+ (0, MyUtils_1.andWhereBetween)(qb, 'user', 'age', minAge, maxAge);
30
+ return qb.getMany();
31
+ }
32
+ async searchByUsername(keyword) {
33
+ const qb = this.userRepo.createQueryBuilder('user');
34
+ (0, MyUtils_1.andWhereLike)(qb, 'user', 'username', keyword);
35
+ return qb.getMany();
36
+ }
37
+ async multiFieldSearch(keywords) {
38
+ const qb = this.userRepo.createQueryBuilder('user');
39
+ (0, MyUtils_1.multiSearch)(qb, ['user.username', 'user.email', 'user.role'], keywords);
40
+ return qb.getMany();
41
+ }
42
+ async findByMultipleConditions() {
43
+ const qb = this.userRepo.createQueryBuilder('user');
44
+ (0, MyUtils_1.orWhere)(qb, 'user', [
45
+ { field: 'status', value: 1 },
46
+ { field: 'role', value: 'admin' },
47
+ ]);
48
+ return qb.getMany();
49
+ }
50
+ async selectSpecificFields() {
51
+ const qb = this.userRepo.createQueryBuilder('user');
52
+ (0, MyUtils_1.selectFields)(qb, {
53
+ id: 'user.id',
54
+ name: 'user.username',
55
+ mail: 'user.email',
56
+ created: 'user.createdAt',
57
+ });
58
+ (0, MyUtils_1.andWhereEqual)(qb, 'user', 'status', 1);
59
+ return qb.getRawMany();
60
+ }
61
+ async findWithSorting(sortString) {
62
+ const qb = this.userRepo.createQueryBuilder('user');
63
+ const sortFields = {
64
+ id: 'user.id',
65
+ username: 'user.username',
66
+ email: 'user.email',
67
+ age: 'user.age',
68
+ createdAt: 'user.created_at',
69
+ updatedAt: 'user.updated_at',
70
+ };
71
+ (0, MyUtils_1.setSorts)(qb, sortFields, sortString);
72
+ return qb.getMany();
73
+ }
74
+ async complexQuery(params) {
75
+ const qb = this.userRepo.createQueryBuilder('user');
76
+ (0, MyUtils_1.andWhereEqual)(qb, 'user', 'status', params.status);
77
+ if (params.roles) {
78
+ (0, MyUtils_1.andWhereIn)(qb, 'user', 'role', params.roles);
79
+ }
80
+ if (params.minAge && params.maxAge) {
81
+ (0, MyUtils_1.andWhereBetween)(qb, 'user', 'age', params.minAge, params.maxAge);
82
+ }
83
+ if (params.keywords) {
84
+ (0, MyUtils_1.multiSearch)(qb, ['user.username', 'user.email'], params.keywords);
85
+ }
86
+ if (params.excludeDeleted) {
87
+ (0, MyUtils_1.andWhereNull)(qb, 'user', 'deletedAt', true);
88
+ }
89
+ if (params.sort) {
90
+ const sortFields = {
91
+ id: 'user.id',
92
+ username: 'user.username',
93
+ age: 'user.age',
94
+ createdAt: 'user.created_at',
95
+ };
96
+ (0, MyUtils_1.setSorts)(qb, sortFields, params.sort);
97
+ }
98
+ return qb.getMany();
99
+ }
100
+ async paginatedQuery(page = 1, pageSize = 10, status) {
101
+ const qb = this.userRepo.createQueryBuilder('user');
102
+ (0, MyUtils_1.andWhereEqual)(qb, 'user', 'status', status);
103
+ (0, MyUtils_1.andWhereNull)(qb, 'user', 'deletedAt', true);
104
+ (0, MyUtils_1.setSorts)(qb, { createdAt: 'user.created_at' }, '!createdAt');
105
+ const total = await qb.getCount();
106
+ const skip = (page - 1) * pageSize;
107
+ const data = await qb.skip(skip).take(pageSize).getMany();
108
+ return {
109
+ total,
110
+ page,
111
+ pageSize,
112
+ totalPages: Math.ceil(total / pageSize),
113
+ data,
114
+ };
115
+ }
116
+ async multipleInConditions() {
117
+ const qb = this.userRepo.createQueryBuilder('user');
118
+ (0, MyUtils_1.andWhereIn)(qb, 'user', 'role', ['admin', 'moderator']);
119
+ (0, MyUtils_1.andWhereIn)(qb, 'user', 'status', [1, 2]);
120
+ (0, MyUtils_1.andWhereEqual)(qb, 'user', 'age', 25);
121
+ return qb.getMany();
122
+ }
123
+ async findByDateRange(startDate, endDate) {
124
+ const qb = this.userRepo.createQueryBuilder('user');
125
+ (0, MyUtils_1.andWhereBetween)(qb, 'user', 'createdAt', startDate, endDate);
126
+ (0, MyUtils_1.setSorts)(qb, { createdAt: 'user.created_at' }, '!createdAt');
127
+ return qb.getMany();
128
+ }
129
+ async advancedQuery() {
130
+ const qb = this.userRepo.createQueryBuilder('user');
131
+ (0, MyUtils_1.andWhereEqual)(qb, 'user', 'status', 1);
132
+ (0, MyUtils_1.orWhere)(qb, 'user', [
133
+ { field: 'role', value: 'admin' },
134
+ { field: 'role', value: 'moderator' },
135
+ ]);
136
+ (0, MyUtils_1.andWhereWithSign)(qb, 'user', 'age', '>=', 18);
137
+ return qb.getMany();
138
+ }
139
+ }
140
+ exports.UserQueryExample = UserQueryExample;
141
+ //# sourceMappingURL=MyUtils.example.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MyUtils.example.js","sourceRoot":"","sources":["../../../example/utils/MyUtils.example.ts"],"names":[],"mappings":"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"}
@@ -20,6 +20,10 @@ exports.andWhereBetween = andWhereBetween;
20
20
  exports.multiSearch = multiSearch;
21
21
  exports.setSorts = setSorts;
22
22
  exports.andWhereIn = andWhereIn;
23
+ exports.andWhereNotIn = andWhereNotIn;
24
+ exports.andWhereLike = andWhereLike;
25
+ exports.andWhereNull = andWhereNull;
26
+ exports.orWhere = orWhere;
23
27
  const lodash_1 = __importDefault(require("lodash"));
24
28
  const src_1 = require("../../src");
25
29
  let SearchVo = class SearchVo extends src_1.PaginationIn {
@@ -70,43 +74,46 @@ function selectFields(qb, fields) {
70
74
  }
71
75
  function andWhereEqual(qb, alias, field, value) {
72
76
  if (!lodash_1.default.isNil(value)) {
73
- const conditions = {};
74
- conditions[field] = value;
75
- qb.andWhere(`${alias}.${field} = :${field}`, conditions);
77
+ const paramName = `${field}_${Date.now()}_${Math.random().toString(36).substring(2, 9)}`;
78
+ qb.andWhere(`${alias}.${field} = :${paramName}`, { [paramName]: value });
76
79
  }
77
80
  return qb;
78
81
  }
79
82
  function andWhereWithSign(qb, alias, field, sign, value) {
80
83
  if (!lodash_1.default.isNil(value)) {
81
- const conditions = {};
82
- conditions[field] = value;
83
- qb.andWhere(`${alias}.${field} ${sign} :${field}`, conditions);
84
+ const paramName = `${field}_${Date.now()}_${Math.random().toString(36).substring(2, 9)}`;
85
+ qb.andWhere(`${alias}.${field} ${sign} :${paramName}`, { [paramName]: value });
84
86
  }
85
87
  return qb;
86
88
  }
87
89
  function andWhereBetween(qb, alias, field, value1, value2) {
88
90
  if (!lodash_1.default.isNil(value1) && !lodash_1.default.isNil(value2)) {
89
- const conditions = {};
90
- conditions[`${field}1`] = value1;
91
- conditions[`${field}2`] = value2;
92
- qb.andWhere(`(${alias}.${field} >= :${field}1 and ${alias}.${field} <= :${field}2)`, conditions);
91
+ const timestamp = Date.now();
92
+ const random = Math.random().toString(36).substring(2, 9);
93
+ const param1 = `${field}_1_${timestamp}_${random}`;
94
+ const param2 = `${field}_2_${timestamp}_${random}`;
95
+ qb.andWhere(`(${alias}.${field} >= :${param1} AND ${alias}.${field} <= :${param2})`, {
96
+ [param1]: value1,
97
+ [param2]: value2,
98
+ });
93
99
  }
94
100
  return qb;
95
101
  }
96
102
  function multiSearch(qb, fields, keyWords) {
97
103
  if (!lodash_1.default.isNil(keyWords)) {
98
- let clauses;
99
- let conditions;
104
+ const timestamp = Date.now();
105
+ const random = Math.random().toString(36).substring(2, 9);
100
106
  keyWords.split(' ').forEach((keyWord, idx) => {
101
107
  if (keyWord.length > 0) {
102
- clauses = [];
103
- conditions = {};
108
+ const clauses = [];
109
+ const conditions = {};
104
110
  for (const field of fields) {
105
- clauses.push(`${field} like :${field}_${idx}`);
106
- conditions[`${field}_${idx}`] = `%${keyWord}%`;
111
+ const paramName = `${field.replace(/\./g, '_')}_${idx}_${timestamp}_${random}`;
112
+ clauses.push(`${field} LIKE :${paramName}`);
113
+ conditions[paramName] = `%${keyWord}%`;
107
114
  }
108
115
  if (!lodash_1.default.isEmpty(clauses)) {
109
- qb.andWhere(`( ${clauses.join(' or ')} )`, conditions);
116
+ qb.andWhere(`(${clauses.join(' OR ')})`, conditions);
110
117
  }
111
118
  }
112
119
  });
@@ -133,9 +140,48 @@ function setSorts(qb, fields, sorts) {
133
140
  }
134
141
  function andWhereIn(qb, alias, field, values) {
135
142
  if (!lodash_1.default.isNil(values) && !lodash_1.default.isEmpty(values)) {
136
- const conditions = {};
137
- conditions[field] = values;
138
- qb.andWhere(`${alias}.${field} IN (:...${field})`, conditions);
143
+ const paramName = `${field}_${Date.now()}_${Math.random().toString(36).substring(2, 9)}`;
144
+ qb.andWhere(`${alias}.${field} IN (:...${paramName})`, { [paramName]: values });
145
+ }
146
+ return qb;
147
+ }
148
+ function andWhereNotIn(qb, alias, field, values) {
149
+ if (!lodash_1.default.isNil(values) && !lodash_1.default.isEmpty(values)) {
150
+ const paramName = `${field}_${Date.now()}_${Math.random().toString(36).substring(2, 9)}`;
151
+ qb.andWhere(`${alias}.${field} NOT IN (:...${paramName})`, { [paramName]: values });
152
+ }
153
+ return qb;
154
+ }
155
+ function andWhereLike(qb, alias, field, value) {
156
+ if (!lodash_1.default.isNil(value) && value.trim()) {
157
+ const paramName = `${field}_${Date.now()}_${Math.random().toString(36).substring(2, 9)}`;
158
+ qb.andWhere(`${alias}.${field} LIKE :${paramName}`, { [paramName]: `%${value}%` });
159
+ }
160
+ return qb;
161
+ }
162
+ function andWhereNull(qb, alias, field, isNull = true) {
163
+ if (isNull) {
164
+ qb.andWhere(`${alias}.${field} IS NULL`);
165
+ }
166
+ else {
167
+ qb.andWhere(`${alias}.${field} IS NOT NULL`);
168
+ }
169
+ return qb;
170
+ }
171
+ function orWhere(qb, alias, conditions) {
172
+ if (!lodash_1.default.isEmpty(conditions)) {
173
+ const clauses = [];
174
+ const params = {};
175
+ conditions.forEach((condition, idx) => {
176
+ if (!lodash_1.default.isNil(condition.value)) {
177
+ const paramName = `${condition.field}_or_${idx}_${Date.now()}`;
178
+ clauses.push(`${alias}.${condition.field} = :${paramName}`);
179
+ params[paramName] = condition.value;
180
+ }
181
+ });
182
+ if (!lodash_1.default.isEmpty(clauses)) {
183
+ qb.andWhere(`(${clauses.join(' OR ')})`, params);
184
+ }
139
185
  }
140
186
  return qb;
141
187
  }
@@ -1 +1 @@
1
- {"version":3,"file":"MyUtils.js","sourceRoot":"","sources":["../../../example/utils/MyUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MyUtils.js","sourceRoot":"","sources":["../../../example/utils/MyUtils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ import { ObjectLiteral, SelectQueryBuilder } from 'typeorm';
2
+ export declare class QueryBuilderHelper<T extends ObjectLiteral> {
3
+ private qb;
4
+ private alias;
5
+ constructor(qb: SelectQueryBuilder<T>, alias: string);
6
+ select(fields: Record<string, string>): this;
7
+ whereEqual(field: string, value?: string | number | Date): this;
8
+ where(field: string, sign: string, value?: string | number | Date): this;
9
+ whereBetween(field: string, value1?: string | number | Date, value2?: string | number | Date): this;
10
+ whereIn(field: string, values?: string[] | number[]): this;
11
+ whereNotIn(field: string, values?: string[] | number[]): this;
12
+ whereLike(field: string, value?: string): this;
13
+ whereNull(field: string, isNull?: boolean): this;
14
+ multiSearch(fields: string[], keywords?: string): this;
15
+ orWhere(conditions: Array<{
16
+ field: string;
17
+ value: any;
18
+ }>): this;
19
+ sort(fields: Record<string, string>, sorts?: string): this;
20
+ paginate(page: number, pageSize: number): this;
21
+ limit(limit: number, offset?: number): this;
22
+ build(): SelectQueryBuilder<T>;
23
+ getMany(): Promise<T[]>;
24
+ getOne(): Promise<T | null>;
25
+ getCount(): Promise<number>;
26
+ getRawMany(): Promise<any[]>;
27
+ getManyAndCount(): Promise<{
28
+ total: number;
29
+ data: T[];
30
+ }>;
31
+ static create<T extends ObjectLiteral>(qb: SelectQueryBuilder<T>, alias: string): QueryBuilderHelper<T>;
32
+ }
33
+ export declare function qbHelper<T extends ObjectLiteral>(qb: SelectQueryBuilder<T>, alias: string): QueryBuilderHelper<T>;
34
+ //# sourceMappingURL=QueryBuilderHelper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QueryBuilderHelper.d.ts","sourceRoot":"","sources":["../../../example/utils/QueryBuilderHelper.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAe5D,qBAAa,kBAAkB,CAAC,CAAC,SAAS,aAAa;IACrD,OAAO,CAAC,EAAE,CAAwB;IAElC,OAAO,CAAC,KAAK,CAAS;gBAOV,EAAE,EAAE,kBAAkB,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM;IAWpD,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI;IAY5C,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,IAAI;IAa/D,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,IAAI;IAaxE,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,IAAI;IAYnG,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,GAAG,IAAI;IAY1D,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,GAAG,IAAI;IAY7D,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI;IAa9C,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,GAAE,OAAc,GAAG,IAAI;IAYtD,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI;IAgBtD,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,GAAG,CAAA;KAAE,CAAC,GAAG,IAAI;IAY/D,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI;IAc1D,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAa9C,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,GAAE,MAAU,GAAG,IAAI;IAY9C,KAAK,IAAI,kBAAkB,CAAC,CAAC,CAAC;IAQxB,OAAO,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC;IAQvB,MAAM,IAAI,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAQ3B,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC;IAQ3B,UAAU,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAQ5B,eAAe,IAAI,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,CAAC,EAAE,CAAA;KAAE,CAAC;IAe9D,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,aAAa,EAAE,EAAE,EAAE,kBAAkB,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,kBAAkB,CAAC,CAAC,CAAC;CAGxG;AAYD,wBAAgB,QAAQ,CAAC,CAAC,SAAS,aAAa,EAAE,EAAE,EAAE,kBAAkB,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAEjH"}
@@ -0,0 +1,87 @@
1
+ import { Repository } from 'typeorm';
2
+ interface User {
3
+ id: number;
4
+ username: string;
5
+ email: string;
6
+ age: number;
7
+ status: number;
8
+ role: string;
9
+ createdAt: Date;
10
+ updatedAt: Date;
11
+ deletedAt?: Date;
12
+ }
13
+ export declare class UserQueryExampleWithBuilder {
14
+ private userRepo;
15
+ constructor(userRepo: Repository<User>);
16
+ example1_basicChaining(): Promise<User[]>;
17
+ example2_staticFactory(): Promise<User[]>;
18
+ example3_helperFunction(): Promise<User[]>;
19
+ example4_complexQuery(): Promise<User[]>;
20
+ example5_multiSearch(keywords: string): Promise<User[]>;
21
+ example6_orConditions(): Promise<User[]>;
22
+ example7_pagination(page?: number, pageSize?: number): Promise<{
23
+ page: number;
24
+ pageSize: number;
25
+ total: number;
26
+ totalPages: number;
27
+ data: User[];
28
+ }>;
29
+ example8_selectFields(): Promise<any[]>;
30
+ example9_buildAndCustomize(): Promise<User[]>;
31
+ example10_dynamicConditions(filters: {
32
+ status?: number;
33
+ roles?: string[];
34
+ minAge?: number;
35
+ maxAge?: number;
36
+ keywords?: string;
37
+ excludeDeleted?: boolean;
38
+ sortBy?: string;
39
+ }): Promise<User[]>;
40
+ example11_comparison(): Promise<{
41
+ users1: User[];
42
+ users2: User[];
43
+ }>;
44
+ example12_conditionalBuilder(userRole: string): Promise<User[]>;
45
+ example13_dateRange(startDate: Date, endDate: Date): Promise<User[]>;
46
+ example14_limitOffset(): Promise<User[]>;
47
+ example15_countOnly(): Promise<number>;
48
+ example16_getOne(userId: number): Promise<User | null>;
49
+ example17_complexBusinessQuery(params: {
50
+ searchKeywords?: string;
51
+ roleFilter?: string[];
52
+ ageRange?: {
53
+ min: number;
54
+ max: number;
55
+ };
56
+ status?: number;
57
+ page?: number;
58
+ pageSize?: number;
59
+ sortBy?: string;
60
+ }): Promise<{
61
+ page: number;
62
+ pageSize: number;
63
+ total: number;
64
+ totalPages: number;
65
+ data: User[];
66
+ }>;
67
+ example18_orWhere_basic(): Promise<User[]>;
68
+ example19_orWhere_multiConditions(): Promise<User[]>;
69
+ example20_orWhere_permissions(currentUserRole: string, currentUserId: number): Promise<User[]>;
70
+ example21_orWhere_statusFilter(): Promise<User[]>;
71
+ example22_orWhere_multipleGroups(): Promise<User[]>;
72
+ example23_orWhere_exactSearch(searchValue: string | number): Promise<User | null>;
73
+ example24_orWhere_dynamic(filters: {
74
+ includeAdmin?: boolean;
75
+ includeModerator?: boolean;
76
+ includePremium?: boolean;
77
+ }): Promise<User[]>;
78
+ example25_orWhere_urgentNotification(): Promise<User[]>;
79
+ example26_orWhere_vs_whereIn(): Promise<{
80
+ users1: User[];
81
+ users2: User[];
82
+ users3: User[];
83
+ }>;
84
+ example27_orWhere_numericConditions(): Promise<User[]>;
85
+ }
86
+ export {};
87
+ //# sourceMappingURL=QueryBuilderHelper.example.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QueryBuilderHelper.example.d.ts","sourceRoot":"","sources":["../../../example/utils/QueryBuilderHelper.example.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAIrC,UAAU,IAAI;IACZ,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,CAAC,EAAE,IAAI,CAAC;CAClB;AAED,qBAAa,2BAA2B;IAC1B,OAAO,CAAC,QAAQ;gBAAR,QAAQ,EAAE,UAAU,CAAC,IAAI,CAAC;IAKxC,sBAAsB;IAYtB,sBAAsB;IAYtB,uBAAuB;IAYvB,qBAAqB;IAgBrB,oBAAoB,CAAC,QAAQ,EAAE,MAAM;IAarC,qBAAqB;IAerB,mBAAmB,CAAC,IAAI,GAAE,MAAU,EAAE,QAAQ,GAAE,MAAW;;;;;;;IAqB3D,qBAAqB;IAiBrB,0BAA0B;IAe1B,2BAA2B,CAAC,OAAO,EAAE;QACzC,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;QACjB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB;IA+BK,oBAAoB;;;;IAwBpB,4BAA4B,CAAC,QAAQ,EAAE,MAAM;IAqB7C,mBAAmB,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI;IAalD,qBAAqB;IAYrB,mBAAmB;IAYnB,gBAAgB,CAAC,MAAM,EAAE,MAAM;IAa/B,8BAA8B,CAAC,MAAM,EAAE;QAC3C,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;QACtB,QAAQ,CAAC,EAAE;YAAE,GAAG,EAAE,MAAM,CAAC;YAAC,GAAG,EAAE,MAAM,CAAA;SAAE,CAAC;QACxC,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB;;;;;;;IAyDK,uBAAuB;IAiBvB,iCAAiC;IAqBjC,6BAA6B,CAAC,eAAe,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM;IAwB5E,8BAA8B;IAiB9B,gCAAgC;IA6BhC,6BAA6B,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM;IAkB1D,yBAAyB,CAAC,OAAO,EAAE;QACvC,YAAY,CAAC,EAAE,OAAO,CAAC;QACvB,gBAAgB,CAAC,EAAE,OAAO,CAAC;QAC3B,cAAc,CAAC,EAAE,OAAO,CAAC;KAC1B;IA2BK,oCAAoC;IAmBpC,4BAA4B;;;;;IAoC5B,mCAAmC;CAe1C"}