@joktec/mysql 0.0.173 → 0.0.174

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 (42) hide show
  1. package/dist/helpers/mysql.helper.d.ts +8 -4
  2. package/dist/helpers/mysql.helper.d.ts.map +1 -1
  3. package/dist/helpers/mysql.helper.js +82 -37
  4. package/dist/helpers/mysql.helper.js.map +1 -1
  5. package/dist/index.d.ts +1 -2
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +1 -4
  8. package/dist/index.js.map +1 -1
  9. package/dist/models/index.d.ts +1 -0
  10. package/dist/models/index.d.ts.map +1 -1
  11. package/dist/models/index.js +1 -0
  12. package/dist/models/index.js.map +1 -1
  13. package/dist/models/mysql.model.d.ts +6 -3
  14. package/dist/models/mysql.model.d.ts.map +1 -1
  15. package/dist/models/mysql.model.js +5 -5
  16. package/dist/models/mysql.model.js.map +1 -1
  17. package/dist/models/mysql.option.d.ts +4 -0
  18. package/dist/models/mysql.option.d.ts.map +1 -0
  19. package/dist/models/mysql.option.js +3 -0
  20. package/dist/models/mysql.option.js.map +1 -0
  21. package/dist/models/mysql.request.d.ts +2 -1
  22. package/dist/models/mysql.request.d.ts.map +1 -1
  23. package/dist/mysql.client.d.ts +11 -9
  24. package/dist/mysql.client.d.ts.map +1 -1
  25. package/dist/mysql.client.js.map +1 -1
  26. package/dist/mysql.config.d.ts +16 -6
  27. package/dist/mysql.config.d.ts.map +1 -1
  28. package/dist/mysql.config.js +15 -4
  29. package/dist/mysql.config.js.map +1 -1
  30. package/dist/mysql.exception.d.ts.map +1 -1
  31. package/dist/mysql.exception.js +4 -11
  32. package/dist/mysql.exception.js.map +1 -1
  33. package/dist/mysql.repo.d.ts +21 -18
  34. package/dist/mysql.repo.d.ts.map +1 -1
  35. package/dist/mysql.repo.js +99 -75
  36. package/dist/mysql.repo.js.map +1 -1
  37. package/dist/mysql.service.d.ts +8 -8
  38. package/dist/mysql.service.d.ts.map +1 -1
  39. package/dist/mysql.service.js +14 -23
  40. package/dist/mysql.service.js.map +1 -1
  41. package/dist/tsconfig.tsbuildinfo +1 -1
  42. package/package.json +4 -4
@@ -1,7 +1,11 @@
1
- import { FindOptions } from 'sequelize';
2
- import { IMysqlRequest } from '../models';
1
+ import { IBaseRequest, ICondition, IPopulate } from '@joktec/core';
2
+ import { FindManyOptions, FindOptionsWhere } from 'typeorm';
3
+ import { MysqlModel } from '../models';
3
4
  export declare class MysqlHelper {
4
- static opMapping: Record<string, symbol>;
5
- static parseFilter(query: IMysqlRequest<any>): FindOptions;
5
+ static parseProjection<T extends MysqlModel>(select: string | string[] | Record<string, number | boolean>): FindManyOptions<T>['select'];
6
+ static parseFilter<T>(query: IBaseRequest<T>): FindManyOptions<T>;
7
+ static parseCondition<T>(condition: ICondition<T>): FindOptionsWhere<T>;
8
+ static parseOrder<T>(sort: any): FindManyOptions<T>['order'];
9
+ static parseRelations<T>(populate: IPopulate<T>): FindManyOptions<T>['relations'];
6
10
  }
7
11
  //# sourceMappingURL=mysql.helper.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mysql.helper.d.ts","sourceRoot":"","sources":["../../src/helpers/mysql.helper.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAe,MAAM,WAAW,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAG1C,qBAAa,WAAW;IACtB,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAgBtC;IAEF,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,aAAa,CAAC,GAAG,CAAC,GAAG,WAAW;CAqC3D"}
1
+ {"version":3,"file":"mysql.helper.d.ts","sourceRoot":"","sources":["../../src/helpers/mysql.helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAmB,MAAM,cAAc,CAAC;AACpF,OAAO,EACL,eAAe,EACf,gBAAgB,EAQjB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAGvC,qBAAa,WAAW;IACtB,MAAM,CAAC,eAAe,CAAC,CAAC,SAAS,UAAU,EACzC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,GAC3D,eAAe,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IAc/B,MAAM,CAAC,WAAW,CAAC,CAAC,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC;IASjE,MAAM,CAAC,cAAc,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC;IA2DvE,MAAM,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;IAQ5D,MAAM,CAAC,cAAc,CAAC,CAAC,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;CAclF"}
@@ -2,59 +2,104 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.MysqlHelper = void 0;
4
4
  const core_1 = require("@joktec/core");
5
- const lodash_1 = require("lodash");
6
- const sequelize_1 = require("sequelize");
5
+ const typeorm_1 = require("typeorm");
7
6
  const mysql_exception_1 = require("../mysql.exception");
8
7
  class MysqlHelper {
8
+ static parseProjection(select) {
9
+ if (typeof select === 'object') {
10
+ return Object.entries(select).reduce((acc, [field, direction]) => {
11
+ acc[field] = (0, core_1.toBool)(direction);
12
+ return acc;
13
+ }, {});
14
+ }
15
+ return (0, core_1.toArray)(select, { split: ',' }).reduce((acc, field) => {
16
+ acc[field] = true;
17
+ return acc;
18
+ }, {});
19
+ }
9
20
  static parseFilter(query) {
10
21
  const { condition = {}, keyword } = query;
22
+ const where = MysqlHelper.parseCondition(condition);
23
+ if (keyword && typeof where === 'object') {
24
+ where['name'] = (0, typeorm_1.ILike)(`%${keyword}%`);
25
+ }
26
+ return { where };
27
+ }
28
+ static parseCondition(condition) {
11
29
  const where = {};
12
30
  for (const [key, value] of Object.entries(condition)) {
13
- if (key === '$and') {
14
- where[sequelize_1.Op.and] = (0, core_1.toArray)(value).map(c => this.parseFilter(c));
31
+ if (key === '$and' || key === '$or') {
32
+ where[key === '$and' ? 'AND' : 'OR'] = value.map((c) => MysqlHelper.parseCondition(c));
15
33
  continue;
16
34
  }
17
- if (key === '$or') {
18
- where[sequelize_1.Op.or] = (0, core_1.toArray)(value).map(c => this.parseFilter(c));
35
+ if (value === null || value === undefined) {
36
+ where[key] = (0, typeorm_1.Not)(null);
19
37
  continue;
20
38
  }
21
- if ((0, lodash_1.isNil)(value)) {
22
- where[key][sequelize_1.Op.is] = null;
23
- continue;
39
+ if (typeof value === 'object') {
40
+ for (const [op, val] of Object.entries(value)) {
41
+ switch (op) {
42
+ case '$eq':
43
+ where[key] = val;
44
+ break;
45
+ case '$gt':
46
+ where[key] = (0, typeorm_1.MoreThan)(val);
47
+ break;
48
+ case '$gte':
49
+ where[key] = (0, typeorm_1.MoreThanOrEqual)(val);
50
+ break;
51
+ case '$lt':
52
+ where[key] = (0, typeorm_1.LessThan)(val);
53
+ break;
54
+ case '$lte':
55
+ where[key] = (0, typeorm_1.LessThanOrEqual)(val);
56
+ break;
57
+ case '$ne':
58
+ where[key] = (0, typeorm_1.Not)(val);
59
+ break;
60
+ case '$in':
61
+ where[key] = (0, typeorm_1.In)((0, core_1.toArray)(val));
62
+ break;
63
+ case '$like':
64
+ where[key] = (0, typeorm_1.ILike)(`%${val}%`);
65
+ break;
66
+ case '$begin':
67
+ where[key] = (0, typeorm_1.ILike)(`${val}%`);
68
+ break;
69
+ case '$end':
70
+ where[key] = (0, typeorm_1.ILike)(`%${val}`);
71
+ break;
72
+ default:
73
+ throw new mysql_exception_1.MysqlException(`Operator ${op} not supported`, { op, val });
74
+ }
75
+ }
24
76
  }
25
- if ((0, lodash_1.isDate)(value) || (0, lodash_1.isRegExp)(value)) {
77
+ else {
26
78
  where[key] = value;
27
- continue;
28
79
  }
29
- const keyOrSymbol = key.startsWith('$') ? this.opMapping[key] : key;
30
- if (!keyOrSymbol)
31
- throw new mysql_exception_1.MysqlException(`Operator not support`, { key, condition });
32
- where[keyOrSymbol] = (0, lodash_1.isObject)(value) ? this.parseFilter(value) : value;
33
80
  }
34
- if (keyword) {
35
- if (!where[sequelize_1.Op.and])
36
- where[sequelize_1.Op.and] = [];
37
- where[sequelize_1.Op.and].push((0, sequelize_1.literal)(`MATCH(name) AGAINST('${keyword}' IN BOOLEAN MODE)`));
81
+ return where;
82
+ }
83
+ static parseOrder(sort) {
84
+ const order = {};
85
+ for (const [key, value] of Object.entries(sort)) {
86
+ order[key] = value === 'asc' ? 'ASC' : 'DESC';
38
87
  }
39
- return { where };
88
+ return order;
89
+ }
90
+ static parseRelations(populate) {
91
+ const relations = {};
92
+ for (const [key, value] of Object.entries(populate)) {
93
+ if (value === '*') {
94
+ relations[key] = true;
95
+ continue;
96
+ }
97
+ if (typeof value === 'object') {
98
+ relations[key] = MysqlHelper.parseRelations(value['populate'] || {});
99
+ }
100
+ }
101
+ return relations;
40
102
  }
41
103
  }
42
104
  exports.MysqlHelper = MysqlHelper;
43
- MysqlHelper.opMapping = {
44
- $and: sequelize_1.Op.and,
45
- $or: sequelize_1.Op.or,
46
- $eq: sequelize_1.Op.eq,
47
- $gt: sequelize_1.Op.gt,
48
- $gte: sequelize_1.Op.gte,
49
- $lt: sequelize_1.Op.lt,
50
- $lte: sequelize_1.Op.lte,
51
- $ne: sequelize_1.Op.ne,
52
- $in: sequelize_1.Op.in,
53
- $nin: sequelize_1.Op.notIn,
54
- $all: sequelize_1.Op.all,
55
- $not: sequelize_1.Op.not,
56
- $like: sequelize_1.Op.substring,
57
- $begin: sequelize_1.Op.startsWith,
58
- $end: sequelize_1.Op.endsWith,
59
- };
60
105
  //# sourceMappingURL=mysql.helper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mysql.helper.js","sourceRoot":"","sources":["../../src/helpers/mysql.helper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mysql.helper.js","sourceRoot":"","sources":["../../src/helpers/mysql.helper.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -5,6 +5,5 @@ export * from './mysql.config';
5
5
  export * from './mysql.repo';
6
6
  export * from './mysql.exception';
7
7
  export * from './models';
8
- export * from 'sequelize-typescript';
9
- export { Op, Optional } from 'sequelize';
8
+ export * from 'typeorm';
10
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,UAAU,CAAC;AACzB,cAAc,sBAAsB,CAAC;AACrC,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC"}
package/dist/index.js CHANGED
@@ -14,7 +14,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.Op = void 0;
18
17
  __exportStar(require("./mysql.module"), exports);
19
18
  __exportStar(require("./mysql.client"), exports);
20
19
  __exportStar(require("./mysql.service"), exports);
@@ -22,7 +21,5 @@ __exportStar(require("./mysql.config"), exports);
22
21
  __exportStar(require("./mysql.repo"), exports);
23
22
  __exportStar(require("./mysql.exception"), exports);
24
23
  __exportStar(require("./models"), exports);
25
- __exportStar(require("sequelize-typescript"), exports);
26
- var sequelize_1 = require("sequelize");
27
- Object.defineProperty(exports, "Op", { enumerable: true, get: function () { return sequelize_1.Op; } });
24
+ __exportStar(require("typeorm"), exports);
28
25
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,iDAA+B;AAC/B,iDAA+B;AAC/B,kDAAgC;AAChC,iDAA+B;AAC/B,+CAA6B;AAC7B,oDAAkC;AAClC,2CAAyB;AACzB,uDAAqC;AACrC,uCAAyC;AAAhC,+FAAA,EAAE,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iDAA+B;AAC/B,iDAA+B;AAC/B,kDAAgC;AAChC,iDAA+B;AAC/B,+CAA6B;AAC7B,oDAAkC;AAClC,2CAAyB;AACzB,0CAAwB"}
@@ -1,4 +1,5 @@
1
1
  export * from './mysql.model';
2
+ export * from './mysql.option';
2
3
  export * from './mysql.request';
3
4
  export * from './mysql.response';
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/models/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/models/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC"}
@@ -15,6 +15,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./mysql.model"), exports);
18
+ __exportStar(require("./mysql.option"), exports);
18
19
  __exportStar(require("./mysql.request"), exports);
19
20
  __exportStar(require("./mysql.response"), exports);
20
21
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/models/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAA8B;AAC9B,kDAAgC;AAChC,mDAAiC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/models/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAA8B;AAC9B,iDAA+B;AAC/B,kDAAgC;AAChC,mDAAiC"}
@@ -1,6 +1,9 @@
1
- import { Model } from 'sequelize-typescript';
2
- export declare class MysqlModel<TModelAttributes extends {} = any, TCreationAttributes extends {} = TModelAttributes> extends Model<TModelAttributes, TCreationAttributes> {
3
- id?: number | any;
1
+ export interface IMysqlModel {
2
+ createdAt?: Date;
3
+ updatedAt?: Date;
4
+ deletedAt?: Date;
5
+ }
6
+ export declare class MysqlModel implements IMysqlModel {
4
7
  createdAt?: Date;
5
8
  updatedAt?: Date;
6
9
  deletedAt?: Date;
@@ -1 +1 @@
1
- {"version":3,"file":"mysql.model.d.ts","sourceRoot":"","sources":["../../src/models/mysql.model.ts"],"names":[],"mappings":"AACA,OAAO,EAAwB,KAAK,EAAa,MAAM,sBAAsB,CAAC;AAE9E,qBAAa,UAAU,CACrB,gBAAgB,SAAS,EAAE,GAAG,GAAG,EACjC,mBAAmB,SAAS,EAAE,GAAG,gBAAgB,CACjD,SAAQ,KAAK,CAAC,gBAAgB,EAAE,mBAAmB,CAAC;IACpD,EAAE,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC;IAKlB,SAAS,CAAC,EAAE,IAAI,CAAC;IAKjB,SAAS,CAAC,EAAE,IAAI,CAAC;IAKjB,SAAS,CAAC,EAAE,IAAI,CAAC;CAClB"}
1
+ {"version":3,"file":"mysql.model.d.ts","sourceRoot":"","sources":["../../src/models/mysql.model.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,WAAW;IAC1B,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,SAAS,CAAC,EAAE,IAAI,CAAC;CAClB;AAED,qBAAa,UAAW,YAAW,WAAW;IAI5C,SAAS,CAAC,EAAE,IAAI,CAAC;IAKjB,SAAS,CAAC,EAAE,IAAI,CAAC;IAKjB,SAAS,CAAC,EAAE,IAAI,CAAC;CAClB"}
@@ -11,24 +11,24 @@ var __metadata = (this && this.__metadata) || function (k, v) {
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.MysqlModel = void 0;
13
13
  const core_1 = require("@joktec/core");
14
- const sequelize_typescript_1 = require("sequelize-typescript");
15
- class MysqlModel extends sequelize_typescript_1.Model {
14
+ const typeorm_1 = require("typeorm");
15
+ class MysqlModel {
16
16
  }
17
17
  exports.MysqlModel = MysqlModel;
18
18
  __decorate([
19
- sequelize_typescript_1.CreatedAt,
19
+ (0, typeorm_1.CreateDateColumn)(),
20
20
  (0, core_1.ApiProperty)({ type: Date }),
21
21
  (0, core_1.Field)(() => Date, { nullable: true }),
22
22
  __metadata("design:type", Date)
23
23
  ], MysqlModel.prototype, "createdAt", void 0);
24
24
  __decorate([
25
- sequelize_typescript_1.UpdatedAt,
25
+ (0, typeorm_1.UpdateDateColumn)(),
26
26
  (0, core_1.ApiProperty)({ type: Date }),
27
27
  (0, core_1.Field)(() => Date, { nullable: true }),
28
28
  __metadata("design:type", Date)
29
29
  ], MysqlModel.prototype, "updatedAt", void 0);
30
30
  __decorate([
31
- sequelize_typescript_1.DeletedAt,
31
+ (0, typeorm_1.DeleteDateColumn)(),
32
32
  (0, core_1.ApiProperty)({ type: Date }),
33
33
  (0, core_1.Field)(() => Date, { nullable: true }),
34
34
  __metadata("design:type", Date)
@@ -1 +1 @@
1
- {"version":3,"file":"mysql.model.js","sourceRoot":"","sources":["../../src/models/mysql.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,uCAAkD;AAClD,+DAA8E;AAE9E,MAAa,UAGX,SAAQ,4BAA4C;CAiBrD;AApBD,gCAoBC;AAXC;IAHC,gCAAS;IACT,IAAA,kBAAW,EAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAC3B,IAAA,YAAK,EAAC,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;8BAC1B,IAAI;6CAAC;AAKjB;IAHC,gCAAS;IACT,IAAA,kBAAW,EAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAC3B,IAAA,YAAK,EAAC,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;8BAC1B,IAAI;6CAAC;AAKjB;IAHC,gCAAS;IACT,IAAA,kBAAW,EAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAC3B,IAAA,YAAK,EAAC,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;8BAC1B,IAAI;6CAAC"}
1
+ {"version":3,"file":"mysql.model.js","sourceRoot":"","sources":["../../src/models/mysql.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,uCAAkD;AAClD,qCAA+E;AAQ/E,MAAa,UAAU;CAetB;AAfD,gCAeC;AAXC;IAHC,IAAA,0BAAgB,GAAE;IAClB,IAAA,kBAAW,EAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAC3B,IAAA,YAAK,EAAC,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;8BAC1B,IAAI;6CAAC;AAKjB;IAHC,IAAA,0BAAgB,GAAE;IAClB,IAAA,kBAAW,EAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAC3B,IAAA,YAAK,EAAC,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;8BAC1B,IAAI;6CAAC;AAKjB;IAHC,IAAA,0BAAgB,GAAE;IAClB,IAAA,kBAAW,EAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAC3B,IAAA,YAAK,EAAC,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;8BAC1B,IAAI;6CAAC"}
@@ -0,0 +1,4 @@
1
+ import { FindOneOptions, SaveOptions } from 'typeorm';
2
+ export interface IMysqlOption<T = any> extends SaveOptions, FindOneOptions<T> {
3
+ }
4
+ //# sourceMappingURL=mysql.option.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mysql.option.d.ts","sourceRoot":"","sources":["../../src/models/mysql.option.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtD,MAAM,WAAW,YAAY,CAAC,CAAC,GAAG,GAAG,CAAE,SAAQ,WAAW,EAAE,cAAc,CAAC,CAAC,CAAC;CAAG"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=mysql.option.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mysql.option.js","sourceRoot":"","sources":["../../src/models/mysql.option.ts"],"names":[],"mappings":""}
@@ -6,6 +6,7 @@ export type DictBinding = {
6
6
  [key: string]: IDataType;
7
7
  };
8
8
  export type RawBinding = ArrayBinding | DictBinding;
9
- export interface IMysqlRequest<T extends MysqlModel<T>> extends IBaseRequest<T> {
9
+ export interface IMysqlRequest<T extends MysqlModel> extends IBaseRequest<T> {
10
+ withDeleted?: boolean;
10
11
  }
11
12
  //# sourceMappingURL=mysql.request.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mysql.request.d.ts","sourceRoot":"","sources":["../../src/models/mysql.request.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,MAAM,MAAM,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAC/C,MAAM,MAAM,YAAY,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;AAC5C,MAAM,MAAM,WAAW,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CAAC;AACvD,MAAM,MAAM,UAAU,GAAG,YAAY,GAAG,WAAW,CAAC;AAEpD,MAAM,WAAW,aAAa,CAAC,CAAC,SAAS,UAAU,CAAC,CAAC,CAAC,CAAE,SAAQ,YAAY,CAAC,CAAC,CAAC;CAAG"}
1
+ {"version":3,"file":"mysql.request.d.ts","sourceRoot":"","sources":["../../src/models/mysql.request.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,MAAM,MAAM,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAC/C,MAAM,MAAM,YAAY,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;AAC5C,MAAM,MAAM,WAAW,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CAAC;AACvD,MAAM,MAAM,UAAU,GAAG,YAAY,GAAG,WAAW,CAAC;AAEpD,MAAM,WAAW,aAAa,CAAC,CAAC,SAAS,UAAU,CAAE,SAAQ,YAAY,CAAC,CAAC,CAAC;IAC1E,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB"}
@@ -1,19 +1,21 @@
1
- import { Client, DeepPartial, IBaseRepository } from '@joktec/core';
2
- import { Model, ModelCtor, Repository, Sequelize } from 'sequelize-typescript';
1
+ import { Client, Constructor, DeepPartial, IBaseRepository, KeyOf } from '@joktec/core';
2
+ import { DataSource, Repository } from 'typeorm';
3
+ import { UpsertOptions } from 'typeorm/repository/UpsertOptions';
4
+ import { IMysqlOption, MysqlId, MysqlModel } from './models';
3
5
  import { MysqlConfig } from './mysql.config';
4
6
  export declare const MODEL_REGISTRY_KEY = "MODEL_REGISTRY_KEY";
5
7
  export interface MysqlModuleOptions {
6
- models?: ModelCtor[];
8
+ models?: Constructor<MysqlModel>[];
7
9
  conId?: string;
8
10
  }
9
11
  export interface MysqlModelRegistry {
10
- [conId: string]: ModelCtor[];
12
+ [conId: string]: Constructor<MysqlModel>[];
11
13
  }
12
- export interface MysqlClient extends Client<MysqlConfig, Sequelize> {
13
- getModel<T extends Model<T>>(model: ModelCtor<T>, conId?: string): ModelCtor<T>;
14
- getRepository<T extends Model<T>>(model: ModelCtor<T>, conId?: string): Repository<T>;
14
+ export interface MysqlClient extends Client<MysqlConfig, DataSource> {
15
+ getRepository<T extends MysqlModel>(entityClass: Constructor<T>, conId?: string): Repository<T>;
15
16
  }
16
- export interface IMysqlRepository<T extends Model<T>, ID> extends IBaseRepository<T, ID> {
17
- upsert(body: DeepPartial<T>, onConflicts: (keyof T)[]): Promise<T>;
17
+ export interface IMysqlRepository<T extends MysqlModel, ID extends MysqlId> extends IBaseRepository<T, ID> {
18
+ upsert(body: DeepPartial<T>, onConflicts: KeyOf<T>[], opts?: IMysqlOption<T> & Omit<UpsertOptions<T>, 'conflictPaths'>): Promise<T>;
19
+ bulkUpsert(body: DeepPartial<T>[], onConflicts: KeyOf<T>[], opts?: IMysqlOption<T> & Omit<UpsertOptions<T>, 'conflictPaths'>): Promise<T[]>;
18
20
  }
19
21
  //# sourceMappingURL=mysql.client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mysql.client.d.ts","sourceRoot":"","sources":["../src/mysql.client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACpE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAC/E,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,eAAO,MAAM,kBAAkB,uBAAuB,CAAC;AAEvD,MAAM,WAAW,kBAAkB;IACjC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,kBAAkB;IACjC,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,CAAC;CAC9B;AAED,MAAM,WAAW,WAAY,SAAQ,MAAM,CAAC,WAAW,EAAE,SAAS,CAAC;IACjE,QAAQ,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IAEhF,aAAa,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;CACvF;AAED,MAAM,WAAW,gBAAgB,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAE,SAAQ,eAAe,CAAC,CAAC,EAAE,EAAE,CAAC;IACtF,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;CACpE"}
1
+ {"version":3,"file":"mysql.client.d.ts","sourceRoot":"","sources":["../src/mysql.client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AACxF,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,eAAO,MAAM,kBAAkB,uBAAuB,CAAC;AAEvD,MAAM,WAAW,kBAAkB;IACjC,MAAM,CAAC,EAAE,WAAW,CAAC,UAAU,CAAC,EAAE,CAAC;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,kBAAkB;IACjC,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,CAAC,UAAU,CAAC,EAAE,CAAC;CAC5C;AAED,MAAM,WAAW,WAAY,SAAQ,MAAM,CAAC,WAAW,EAAE,UAAU,CAAC;IAClE,aAAa,CAAC,CAAC,SAAS,UAAU,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;CACjG;AAED,MAAM,WAAW,gBAAgB,CAAC,CAAC,SAAS,UAAU,EAAE,EAAE,SAAS,OAAO,CAAE,SAAQ,eAAe,CAAC,CAAC,EAAE,EAAE,CAAC;IACxG,MAAM,CACJ,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,EACpB,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,EACvB,IAAI,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,eAAe,CAAC,GAC/D,OAAO,CAAC,CAAC,CAAC,CAAC;IAEd,UAAU,CACR,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,EACtB,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,EACvB,IAAI,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,eAAe,CAAC,GAC/D,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;CACjB"}
@@ -1 +1 @@
1
- {"version":3,"file":"mysql.client.js","sourceRoot":"","sources":["../src/mysql.client.ts"],"names":[],"mappings":";;;AAIa,QAAA,kBAAkB,GAAG,oBAAoB,CAAC"}
1
+ {"version":3,"file":"mysql.client.js","sourceRoot":"","sources":["../src/mysql.client.ts"],"names":[],"mappings":";;;AAMa,QAAA,kBAAkB,GAAG,oBAAoB,CAAC"}
@@ -1,6 +1,5 @@
1
1
  import { ClientConfig } from '@joktec/core';
2
- import { ConnectionOptions } from 'sequelize/types/sequelize';
3
- export declare class MysqlSlaveConfig implements ConnectionOptions {
2
+ export declare class MysqlSlaveConfig {
4
3
  host: string;
5
4
  port: number;
6
5
  username: string;
@@ -11,12 +10,23 @@ export declare class MysqlSlaveConfig implements ConnectionOptions {
11
10
  export declare enum Dialect {
12
11
  MYSQL = "mysql",
13
12
  POSTGRES = "postgres",
14
- SQLITE = "sqlite",
13
+ COCKROACHDB = "cockroachdb",
14
+ SAP = "sap",
15
15
  MARIADB = "mariadb",
16
+ SQLITE = "sqlite",
17
+ CORDOVA = "cordova",
18
+ REACT_NATIVE = "react-native",
19
+ NATIVESCRIPT = "nativescript",
20
+ SQLJS = "sqljs",
21
+ ORACLE = "oracle",
16
22
  MSSQL = "mssql",
17
- DB2 = "db2",
18
- SNOWFLAKE = "snowflake",
19
- ORACLE = "oracle"
23
+ MONGODB = "mongodb",
24
+ AURORA_MYSQL = "aurora-mysql",
25
+ AURORA_POSTGRES = "aurora-postgres",
26
+ EXPO = "expo",
27
+ BETTER_SQLITE3 = "better-sqlite3",
28
+ CAPACITOR = "capacitor",
29
+ SPANNER = "spanner"
20
30
  }
21
31
  export declare class MysqlConfig extends ClientConfig {
22
32
  dialect?: Dialect;
@@ -1 +1 @@
1
- {"version":3,"file":"mysql.config.d.ts","sourceRoot":"","sources":["../src/mysql.config.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EASb,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAE9D,qBAAa,gBAAiB,YAAW,iBAAiB;IAGxD,IAAI,EAAE,MAAM,CAAC;IAIb,IAAI,EAAE,MAAM,CAAC;IAIb,QAAQ,EAAE,MAAM,CAAC;IAIjB,QAAQ,EAAE,MAAM,CAAC;IAIjB,QAAQ,EAAE,MAAM,CAAC;gBAEL,KAAK,EAAE,gBAAgB;CAGpC;AAED,oBAAY,OAAO;IACjB,KAAK,UAAU;IACf,QAAQ,aAAa;IACrB,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,KAAK,UAAU;IACf,GAAG,QAAQ;IACX,SAAS,cAAc;IACvB,MAAM,WAAW;CAClB;AAED,qBAAa,WAAY,SAAQ,YAAY;IAG3C,OAAO,CAAC,EAAE,OAAO,CAAiB;IAIlC,IAAI,CAAC,EAAE,MAAM,CAAe;IAI5B,IAAI,CAAC,EAAE,MAAM,CAAQ;IAIrB,QAAQ,EAAG,MAAM,CAAC;IAIlB,QAAQ,EAAG,MAAM,CAAC;IAIlB,QAAQ,EAAG,MAAM,CAAC;IAIlB,OAAO,CAAC,EAAE,MAAM,CAAC;IAIjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAIlB,cAAc,CAAC,EAAE,MAAM,CAAS;IAKhC,MAAM,CAAC,EAAE,gBAAgB,EAAE,CAAM;IAIjC,SAAS,CAAC,EAAE,OAAO,CAAS;IAI5B,IAAI,CAAC,EAAE,OAAO,CAAQ;gBAEV,KAAK,EAAE,WAAW;CAQ/B"}
1
+ {"version":3,"file":"mysql.config.d.ts","sourceRoot":"","sources":["../src/mysql.config.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EASb,MAAM,cAAc,CAAC;AAGtB,qBAAa,gBAAgB;IAG3B,IAAI,EAAE,MAAM,CAAC;IAIb,IAAI,EAAE,MAAM,CAAC;IAIb,QAAQ,EAAE,MAAM,CAAC;IAIjB,QAAQ,EAAE,MAAM,CAAC;IAIjB,QAAQ,EAAE,MAAM,CAAC;gBAEL,KAAK,EAAE,gBAAgB;CAGpC;AAED,oBAAY,OAAO;IACjB,KAAK,UAAU;IACf,QAAQ,aAAa;IACrB,WAAW,gBAAgB;IAC3B,GAAG,QAAQ;IACX,OAAO,YAAY;IACnB,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,YAAY,iBAAiB;IAC7B,YAAY,iBAAiB;IAC7B,KAAK,UAAU;IACf,MAAM,WAAW;IACjB,KAAK,UAAU;IACf,OAAO,YAAY;IACnB,YAAY,iBAAiB;IAC7B,eAAe,oBAAoB;IACnC,IAAI,SAAS;IACb,cAAc,mBAAmB;IACjC,SAAS,cAAc;IACvB,OAAO,YAAY;CACpB;AAED,qBAAa,WAAY,SAAQ,YAAY;IAG3C,OAAO,CAAC,EAAE,OAAO,CAAiB;IAIlC,IAAI,CAAC,EAAE,MAAM,CAAe;IAI5B,IAAI,CAAC,EAAE,MAAM,CAAQ;IAIrB,QAAQ,EAAG,MAAM,CAAC;IAIlB,QAAQ,EAAG,MAAM,CAAC;IAIlB,QAAQ,EAAG,MAAM,CAAC;IAIlB,OAAO,CAAC,EAAE,MAAM,CAAC;IAIjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAIlB,cAAc,CAAC,EAAE,MAAM,CAAS;IAKhC,MAAM,CAAC,EAAE,gBAAgB,EAAE,CAAM;IAIjC,SAAS,CAAC,EAAE,OAAO,CAAS;IAI5B,IAAI,CAAC,EAAE,OAAO,CAAQ;gBAEV,KAAK,EAAE,WAAW;CAQ/B"}
@@ -47,12 +47,23 @@ var Dialect;
47
47
  (function (Dialect) {
48
48
  Dialect["MYSQL"] = "mysql";
49
49
  Dialect["POSTGRES"] = "postgres";
50
- Dialect["SQLITE"] = "sqlite";
50
+ Dialect["COCKROACHDB"] = "cockroachdb";
51
+ Dialect["SAP"] = "sap";
51
52
  Dialect["MARIADB"] = "mariadb";
52
- Dialect["MSSQL"] = "mssql";
53
- Dialect["DB2"] = "db2";
54
- Dialect["SNOWFLAKE"] = "snowflake";
53
+ Dialect["SQLITE"] = "sqlite";
54
+ Dialect["CORDOVA"] = "cordova";
55
+ Dialect["REACT_NATIVE"] = "react-native";
56
+ Dialect["NATIVESCRIPT"] = "nativescript";
57
+ Dialect["SQLJS"] = "sqljs";
55
58
  Dialect["ORACLE"] = "oracle";
59
+ Dialect["MSSQL"] = "mssql";
60
+ Dialect["MONGODB"] = "mongodb";
61
+ Dialect["AURORA_MYSQL"] = "aurora-mysql";
62
+ Dialect["AURORA_POSTGRES"] = "aurora-postgres";
63
+ Dialect["EXPO"] = "expo";
64
+ Dialect["BETTER_SQLITE3"] = "better-sqlite3";
65
+ Dialect["CAPACITOR"] = "capacitor";
66
+ Dialect["SPANNER"] = "spanner";
56
67
  })(Dialect || (exports.Dialect = Dialect = {}));
57
68
  class MysqlConfig extends core_1.ClientConfig {
58
69
  constructor(props) {
@@ -1 +1 @@
1
- {"version":3,"file":"mysql.config.js","sourceRoot":"","sources":["../src/mysql.config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mysql.config.js","sourceRoot":"","sources":["../src/mysql.config.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"mysql.exception.d.ts","sourceRoot":"","sources":["../src/mysql.exception.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8C,uBAAuB,EAAoB,MAAM,cAAc,CAAC;AAIrH,qBAAa,cAAe,SAAQ,uBAAuB;gBAC7C,GAAG,EAAE,MAA0B,EAAE,KAAK,EAAE,GAAG;CAGxD;AAED,eAAO,MAAM,UAAU,iBAqBrB,CAAC"}
1
+ {"version":3,"file":"mysql.exception.d.ts","sourceRoot":"","sources":["../src/mysql.exception.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8C,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAInG,qBAAa,cAAe,SAAQ,uBAAuB;gBAC7C,GAAG,EAAE,MAA0B,EAAE,KAAK,EAAE,GAAG;CAGxD;AAED,eAAO,MAAM,UAAU,iBAWrB,CAAC"}
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.MysqlCatch = exports.MysqlException = void 0;
4
4
  const core_1 = require("@joktec/core");
5
5
  const lodash_1 = require("lodash");
6
+ const typeorm_1 = require("typeorm");
6
7
  class MysqlException extends core_1.InternalServerException {
7
8
  constructor(msg = 'MYSQL_EXCEPTION', error) {
8
9
  super(msg, error);
@@ -15,19 +16,11 @@ exports.MysqlCatch = (0, core_1.BaseMethodDecorator)(async (options) => {
15
16
  return await method(...args);
16
17
  }
17
18
  catch (err) {
18
- if (err.errors && Array.isArray(err.errors)) {
19
- const validationBuilder = core_1.ValidatorBuilder.init(MysqlException.name);
20
- err.errors.map((errItem) => {
21
- validationBuilder.add(errItem.path, errItem.message, errItem.value);
22
- });
23
- validationBuilder.throw();
24
- }
25
- if (err.parent || err.original) {
26
- const parent = err.parent || err.original;
19
+ if (err instanceof typeorm_1.QueryFailedError) {
27
20
  const msg = (0, lodash_1.snakeCase)(err.message).toUpperCase();
28
- throw new MysqlException(msg, parent);
21
+ throw new MysqlException(msg, err);
29
22
  }
30
- throw new MysqlException(err.message, err);
23
+ throw new MysqlException(err, err.message);
31
24
  }
32
25
  });
33
26
  //# sourceMappingURL=mysql.exception.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mysql.exception.js","sourceRoot":"","sources":["../src/mysql.exception.ts"],"names":[],"mappings":";;;AAAA,uCAAqH;AACrH,mCAAmC;AAGnC,MAAa,cAAe,SAAQ,8BAAuB;IACzD,YAAY,MAAc,iBAAiB,EAAE,KAAU;QACrD,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACpB,CAAC;CACF;AAJD,wCAIC;AAEY,QAAA,UAAU,GAAG,IAAA,0BAAmB,EAAC,KAAK,EAAE,OAA8B,EAAgB,EAAE;IACnG,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;IACjC,IAAI,CAAC;QACH,OAAO,MAAM,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;IAC/B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,CAAC,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5C,MAAM,iBAAiB,GAAG,uBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YACrE,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,OAA4B,EAAE,EAAE;gBAC9C,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;YACtE,CAAC,CAAC,CAAC;YACH,iBAAiB,CAAC,KAAK,EAAE,CAAC;QAC5B,CAAC;QAED,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;YAC/B,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,QAAQ,CAAC;YAC1C,MAAM,GAAG,GAAG,IAAA,kBAAS,EAAC,GAAG,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;YACjD,MAAM,IAAI,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QACxC,CAAC;QAED,MAAM,IAAI,cAAc,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IAC7C,CAAC;AACH,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"mysql.exception.js","sourceRoot":"","sources":["../src/mysql.exception.ts"],"names":[],"mappings":";;;AAAA,uCAAmG;AACnG,mCAAmC;AACnC,qCAA2C;AAE3C,MAAa,cAAe,SAAQ,8BAAuB;IACzD,YAAY,MAAc,iBAAiB,EAAE,KAAU;QACrD,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACpB,CAAC;CACF;AAJD,wCAIC;AAEY,QAAA,UAAU,GAAG,IAAA,0BAAmB,EAAC,KAAK,EAAE,OAA8B,EAAgB,EAAE;IACnG,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;IACjC,IAAI,CAAC;QACH,OAAO,MAAM,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;IAC/B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,0BAAgB,EAAE,CAAC;YACpC,MAAM,GAAG,GAAG,IAAA,kBAAS,EAAC,GAAG,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;YACjD,MAAM,IAAI,cAAc,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACrC,CAAC;QACD,MAAM,IAAI,cAAc,CAAC,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;IAC7C,CAAC;AACH,CAAC,CAAC,CAAC"}
@@ -1,33 +1,36 @@
1
- import { ConfigService, DeepPartial, ICondition, LogService, OnModuleInit } from '@joktec/core';
1
+ import { ConfigService, Constructor, ICondition, KeyOf, LogService, OnModuleInit } from '@joktec/core';
2
2
  import { OnApplicationBootstrap } from '@nestjs/common';
3
- import { Model, ModelCtor, Repository } from 'sequelize-typescript';
4
- import { IMysqlRequest, IMysqlResponse, MysqlId, MysqlModel } from './models';
3
+ import { DeepPartial, FindManyOptions, Repository } from 'typeorm';
4
+ import { UpsertOptions } from 'typeorm/repository/UpsertOptions';
5
+ import { IMysqlOption, IMysqlRequest, IMysqlResponse, MysqlId, MysqlModel } from './models';
5
6
  import { IMysqlRepository } from './mysql.client';
6
7
  import { MysqlService } from './mysql.service';
7
- export declare abstract class MysqlRepo<T extends MysqlModel<T>, ID = MysqlId> implements IMysqlRepository<T, ID>, OnModuleInit, OnApplicationBootstrap {
8
+ export declare abstract class MysqlRepo<T extends MysqlModel, ID extends MysqlId = MysqlId> implements IMysqlRepository<T, ID>, OnModuleInit, OnApplicationBootstrap {
8
9
  protected mysqlService: MysqlService;
9
- protected model: ModelCtor<T>;
10
+ protected model: Constructor<T>;
10
11
  protected conId: string;
11
12
  protected configService: ConfigService;
12
13
  protected logService: LogService;
13
- protected constructor(mysqlService: MysqlService, model: ModelCtor<T>, conId?: string);
14
+ protected constructor(mysqlService: MysqlService, model: Constructor<T>, conId?: string);
14
15
  onModuleInit(): Promise<void>;
15
16
  onApplicationBootstrap(): void;
16
17
  get repository(): Repository<T>;
17
- find(query: IMysqlRequest<T>): Promise<T[]>;
18
- count(query: IMysqlRequest<T>): Promise<number>;
19
- paginate(query: IMysqlRequest<T>): Promise<IMysqlResponse<T>>;
20
- findOne(query: IMysqlRequest<T>): Promise<T>;
21
- findById(id: ID, query: IMysqlRequest<T>): Promise<T>;
22
- create(body: Model<T>): Promise<T>;
23
- update(condition: ICondition<T>, body: DeepPartial<T>): Promise<T>;
24
- delete(condition: ICondition<T>, opts?: {
18
+ protected transform(docs: any | any[]): T | T[];
19
+ qb(query?: IMysqlRequest<T>, opts?: IMysqlOption<T>): FindManyOptions<T>;
20
+ private whereById;
21
+ paginate(query: IMysqlRequest<T>, opts?: IMysqlOption<T>): Promise<IMysqlResponse<T>>;
22
+ find(query: IMysqlRequest<T>, opts?: IMysqlOption<T>): Promise<T[]>;
23
+ count(query: IMysqlRequest<T>, opts?: IMysqlOption<T>): Promise<number>;
24
+ findOne(cond: ID | ICondition<T>, query?: Omit<IMysqlRequest<T>, 'condition'>, opts?: IMysqlOption<T>): Promise<T>;
25
+ create(body: DeepPartial<T>, opts?: IMysqlOption<T>): Promise<T>;
26
+ update(cond: ID | ICondition<T>, body: DeepPartial<T>, options?: IMysqlOption<T>): Promise<T>;
27
+ delete(cond: ID | ICondition<T>, opts?: IMysqlOption<T> & {
25
28
  force?: boolean;
26
- userId?: ID;
27
29
  }): Promise<T>;
28
- restore(condition: ICondition<T>, opts?: {
29
- userId?: ID;
30
+ restore(cond: ID | ICondition<T>, opts?: IMysqlOption<T> & {
31
+ reload?: false;
30
32
  }): Promise<T>;
31
- upsert(body: DeepPartial<T>, onConflicts: (keyof T)[]): Promise<T>;
33
+ upsert(body: DeepPartial<T>, onConflicts: KeyOf<T>[], opts?: IMysqlOption<T> & Omit<UpsertOptions<T>, 'conflictPaths'>): Promise<T>;
34
+ bulkUpsert(body: DeepPartial<T>[], onConflicts: KeyOf<T>[], opts?: IMysqlOption<T> & Omit<UpsertOptions<T>, 'conflictPaths'>): Promise<T[]>;
32
35
  }
33
36
  //# sourceMappingURL=mysql.repo.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mysql.repo.d.ts","sourceRoot":"","sources":["../src/mysql.repo.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,WAAW,EAEX,UAAU,EAGV,UAAU,EACV,YAAY,EAGb,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAGxD,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAEpE,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAC9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAElD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,8BACsB,SAAS,CAAC,CAAC,SAAS,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,OAAO,CACnE,YAAW,gBAAgB,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,YAAY,EAAE,sBAAsB;IAMtE,SAAS,CAAC,YAAY,EAAE,YAAY;IACpC,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC;IAC7B,SAAS,CAAC,KAAK,EAAE,MAAM;IANf,SAAS,CAAC,aAAa,EAAE,aAAa,CAAC;IACvC,SAAS,CAAC,UAAU,EAAE,UAAU,CAAC;IAE3C,SAAS,aACG,YAAY,EAAE,YAAY,EAC1B,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,EACnB,KAAK,GAAE,MAAuB;IAGpC,YAAY;IAIlB,sBAAsB;IAItB,IAAI,UAAU,IAAI,UAAU,CAAC,CAAC,CAAC,CAE9B;IAGK,IAAI,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IAa3C,KAAK,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAM/C,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;IAM7D,OAAO,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAO5C,QAAQ,CAAC,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAQrD,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAKlC,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IASlE,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,EAAE,CAAA;KAAE,GAAG,OAAO,CAAC,CAAC,CAAC;IAWrF,OAAO,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,EAAE,CAAA;KAAE,GAAG,OAAO,CAAC,CAAC,CAAC;IAUrE,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC;CAUzE"}
1
+ {"version":3,"file":"mysql.repo.d.ts","sourceRoot":"","sources":["../src/mysql.repo.ts"],"names":[],"mappings":"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"}