@gaias/basenode 1.0.44 → 1.0.46
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/dist/example/utils/MyUtils.d.ts +10 -3
- package/dist/example/utils/MyUtils.d.ts.map +1 -1
- package/dist/example/utils/MyUtils.example.d.ts +46 -0
- package/dist/example/utils/MyUtils.example.d.ts.map +1 -0
- package/dist/example/utils/MyUtils.example.js +141 -0
- package/dist/example/utils/MyUtils.example.js.map +1 -0
- package/dist/example/utils/MyUtils.js +66 -20
- package/dist/example/utils/MyUtils.js.map +1 -1
- package/dist/example/utils/QueryBuilderHelper.d.ts +34 -0
- package/dist/example/utils/QueryBuilderHelper.d.ts.map +1 -0
- package/dist/example/utils/QueryBuilderHelper.example.d.ts +87 -0
- package/dist/example/utils/QueryBuilderHelper.example.d.ts.map +1 -0
- package/dist/example/utils/QueryBuilderHelper.example.js +335 -0
- package/dist/example/utils/QueryBuilderHelper.example.js.map +1 -0
- package/dist/example/utils/QueryBuilderHelper.js +95 -0
- package/dist/example/utils/QueryBuilderHelper.js.map +1 -0
- package/dist/example/utils/index.d.ts +1 -0
- package/dist/example/utils/index.d.ts.map +1 -1
- package/dist/example/utils/index.js +1 -0
- package/dist/example/utils/index.js.map +1 -1
- package/dist/src/libs/pagination/QueryBuilderHelper.d.ts +34 -0
- package/dist/src/libs/pagination/QueryBuilderHelper.d.ts.map +1 -0
- package/dist/src/libs/pagination/QueryBuilderHelper.js +95 -0
- package/dist/src/libs/pagination/QueryBuilderHelper.js.map +1 -0
- package/dist/src/libs/pagination/SelectQueryUtils.d.ts +16 -0
- package/dist/src/libs/pagination/SelectQueryUtils.d.ts.map +1 -0
- package/dist/src/libs/pagination/SelectQueryUtils.js +141 -0
- package/dist/src/libs/pagination/SelectQueryUtils.js.map +1 -0
- package/dist/src/libs/pagination/index.d.ts +2 -0
- package/dist/src/libs/pagination/index.d.ts.map +1 -1
- package/dist/src/libs/pagination/index.js +2 -0
- package/dist/src/libs/pagination/index.js.map +1 -1
- package/dist/src/libs/type/CurrentUserToken.d.ts +8 -0
- package/dist/src/libs/type/CurrentUserToken.d.ts.map +1 -0
- package/dist/src/libs/type/CurrentUserToken.js +3 -0
- package/dist/src/libs/type/CurrentUserToken.js.map +1 -0
- package/dist/src/libs/type/index.d.ts +1 -0
- package/dist/src/libs/type/index.d.ts.map +1 -1
- package/dist/src/libs/type/index.js +1 -0
- package/dist/src/libs/type/index.js.map +1 -1
- package/package.json +8 -8
|
@@ -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
|
|
12
|
-
export declare function andWhereWithSign<T extends ObjectLiteral>(qb: SelectQueryBuilder<T>, alias: string, field: string, sign: string, value
|
|
13
|
-
export declare function andWhereBetween<T extends ObjectLiteral>(qb: SelectQueryBuilder<T>, alias: string, field: string, value1
|
|
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,
|
|
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
|
|
74
|
-
|
|
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
|
|
82
|
-
|
|
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
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
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
|
-
|
|
99
|
-
|
|
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
|
-
|
|
106
|
-
|
|
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(`(
|
|
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
|
|
137
|
-
|
|
138
|
-
|
|
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":";;;;;;;;;;;;;;;AAiCA,oCASC;AAED,sCAOC;AAED,4CAOC;AAED,
|
|
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"}
|