@spinajs/orm 2.0.407 → 2.0.408

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 (107) hide show
  1. package/lib/cjs/builders.d.ts +21 -3
  2. package/lib/cjs/builders.d.ts.map +1 -1
  3. package/lib/cjs/builders.js +86 -26
  4. package/lib/cjs/builders.js.map +1 -1
  5. package/lib/cjs/decorators.d.ts +1 -2
  6. package/lib/cjs/decorators.d.ts.map +1 -1
  7. package/lib/cjs/decorators.js +12 -10
  8. package/lib/cjs/decorators.js.map +1 -1
  9. package/lib/cjs/descriptor.d.ts +3 -0
  10. package/lib/cjs/descriptor.d.ts.map +1 -0
  11. package/lib/cjs/descriptor.js +45 -0
  12. package/lib/cjs/descriptor.js.map +1 -0
  13. package/lib/cjs/discrimination-middleware.d.ts +10 -0
  14. package/lib/cjs/discrimination-middleware.d.ts.map +1 -0
  15. package/lib/cjs/discrimination-middleware.js +26 -0
  16. package/lib/cjs/discrimination-middleware.js.map +1 -0
  17. package/lib/cjs/index.d.ts +7 -4
  18. package/lib/cjs/index.d.ts.map +1 -1
  19. package/lib/cjs/index.js +10 -4
  20. package/lib/cjs/index.js.map +1 -1
  21. package/lib/cjs/interfaces.d.ts +3 -1
  22. package/lib/cjs/interfaces.d.ts.map +1 -1
  23. package/lib/cjs/interfaces.js.map +1 -1
  24. package/lib/cjs/metadata.d.ts.map +1 -1
  25. package/lib/cjs/metadata.js +1 -1
  26. package/lib/cjs/metadata.js.map +1 -1
  27. package/lib/cjs/middlewares.d.ts +1 -7
  28. package/lib/cjs/middlewares.d.ts.map +1 -1
  29. package/lib/cjs/middlewares.js +6 -25
  30. package/lib/cjs/middlewares.js.map +1 -1
  31. package/lib/cjs/model.d.ts +5 -21
  32. package/lib/cjs/model.d.ts.map +1 -1
  33. package/lib/cjs/model.js +44 -122
  34. package/lib/cjs/model.js.map +1 -1
  35. package/lib/cjs/orm.d.ts.map +1 -1
  36. package/lib/cjs/orm.js +9 -4
  37. package/lib/cjs/orm.js.map +1 -1
  38. package/lib/cjs/relation-objects.d.ts +23 -2
  39. package/lib/cjs/relation-objects.d.ts.map +1 -1
  40. package/lib/cjs/relation-objects.js +64 -10
  41. package/lib/cjs/relation-objects.js.map +1 -1
  42. package/lib/cjs/relations.d.ts +1 -1
  43. package/lib/cjs/relations.d.ts.map +1 -1
  44. package/lib/cjs/relations.js +7 -7
  45. package/lib/cjs/relations.js.map +1 -1
  46. package/lib/cjs/statements.d.ts.map +1 -1
  47. package/lib/cjs/statements.js +10 -7
  48. package/lib/cjs/statements.js.map +1 -1
  49. package/lib/cjs/symbols.d.ts +7 -0
  50. package/lib/cjs/symbols.d.ts.map +1 -0
  51. package/lib/cjs/symbols.js +10 -0
  52. package/lib/cjs/symbols.js.map +1 -0
  53. package/lib/mjs/builders.d.ts +21 -3
  54. package/lib/mjs/builders.d.ts.map +1 -1
  55. package/lib/mjs/builders.js +79 -21
  56. package/lib/mjs/builders.js.map +1 -1
  57. package/lib/mjs/decorators.d.ts +1 -2
  58. package/lib/mjs/decorators.d.ts.map +1 -1
  59. package/lib/mjs/decorators.js +3 -3
  60. package/lib/mjs/decorators.js.map +1 -1
  61. package/lib/mjs/descriptor.d.ts +3 -0
  62. package/lib/mjs/descriptor.d.ts.map +1 -0
  63. package/lib/mjs/descriptor.js +39 -0
  64. package/lib/mjs/descriptor.js.map +1 -0
  65. package/lib/mjs/discrimination-middleware.d.ts +10 -0
  66. package/lib/mjs/discrimination-middleware.d.ts.map +1 -0
  67. package/lib/mjs/discrimination-middleware.js +22 -0
  68. package/lib/mjs/discrimination-middleware.js.map +1 -0
  69. package/lib/mjs/index.d.ts +7 -4
  70. package/lib/mjs/index.d.ts.map +1 -1
  71. package/lib/mjs/index.js +10 -4
  72. package/lib/mjs/index.js.map +1 -1
  73. package/lib/mjs/interfaces.d.ts +3 -1
  74. package/lib/mjs/interfaces.d.ts.map +1 -1
  75. package/lib/mjs/interfaces.js.map +1 -1
  76. package/lib/mjs/metadata.d.ts.map +1 -1
  77. package/lib/mjs/metadata.js +1 -1
  78. package/lib/mjs/metadata.js.map +1 -1
  79. package/lib/mjs/middlewares.d.ts +1 -7
  80. package/lib/mjs/middlewares.d.ts.map +1 -1
  81. package/lib/mjs/middlewares.js +2 -21
  82. package/lib/mjs/middlewares.js.map +1 -1
  83. package/lib/mjs/model.d.ts +5 -21
  84. package/lib/mjs/model.d.ts.map +1 -1
  85. package/lib/mjs/model.js +14 -90
  86. package/lib/mjs/model.js.map +1 -1
  87. package/lib/mjs/orm.d.ts.map +1 -1
  88. package/lib/mjs/orm.js +7 -2
  89. package/lib/mjs/orm.js.map +1 -1
  90. package/lib/mjs/relation-objects.d.ts +23 -2
  91. package/lib/mjs/relation-objects.d.ts.map +1 -1
  92. package/lib/mjs/relation-objects.js +61 -7
  93. package/lib/mjs/relation-objects.js.map +1 -1
  94. package/lib/mjs/relations.d.ts +1 -1
  95. package/lib/mjs/relations.d.ts.map +1 -1
  96. package/lib/mjs/relations.js +6 -6
  97. package/lib/mjs/relations.js.map +1 -1
  98. package/lib/mjs/statements.d.ts.map +1 -1
  99. package/lib/mjs/statements.js +8 -5
  100. package/lib/mjs/statements.js.map +1 -1
  101. package/lib/mjs/symbols.d.ts +7 -0
  102. package/lib/mjs/symbols.d.ts.map +1 -0
  103. package/lib/mjs/symbols.js +7 -0
  104. package/lib/mjs/symbols.js.map +1 -0
  105. package/lib/tsconfig.cjs.tsbuildinfo +1 -1
  106. package/lib/tsconfig.mjs.tsbuildinfo +1 -1
  107. package/package.json +5 -5
@@ -1,9 +1,9 @@
1
- import { Container, Constructor, IContainer } from '@spinajs/di';
1
+ import { Container, Constructor, IContainer, Class } from '@spinajs/di';
2
2
  import { ColumnType, QueryMethod, SortOrder, WhereBoolean, SqlOperator, JoinMethod } from './enums.js';
3
3
  import { IColumnsBuilder, ICompilerOutput, ILimitBuilder, IOrderByBuilder, IQueryBuilder, IQueryLimit, ISort, IWhereBuilder, QueryContext, IJoinBuilder, IBuilderMiddleware, IWithRecursiveBuilder, ReferentialAction, IGroupByBuilder, IUpdateResult, DefaultValueBuilder, ColumnAlterationType, QueryMiddleware, IBuilder, IDeleteQueryBuilder, IUpdateQueryBuilder, ISelectQueryBuilder, IJoinStatementOptions } from './interfaces.js';
4
4
  import { ColumnStatement, IQueryStatement, RawQueryStatement, Wrap } from './statements.js';
5
5
  import { ModelDataWithRelationDataSearchable, PickRelations, Unbox, WhereFunction } from './types.js';
6
- import { OrmDriver } from './driver.js';
6
+ import type { OrmDriver } from './driver.js';
7
7
  import { ModelBase } from './model.js';
8
8
  import { IOrmRelation } from './relations.js';
9
9
  import { DateTime } from 'luxon';
@@ -188,7 +188,7 @@ export declare class WhereBuilder<T> implements IWhereBuilder<T> {
188
188
  get Statements(): IQueryStatement[];
189
189
  get Op(): WhereBoolean;
190
190
  constructor(parent: WhereBuilder<T>);
191
- clone(): WhereBuilder<T>;
191
+ clone<P extends IWhereBuilder<any>>(_parent: P): WhereBuilder<T>;
192
192
  when(condition: boolean, callback?: WhereFunction<T>, callbackElse?: WhereFunction<T>): this;
193
193
  where(column: string | boolean | WhereFunction<T> | Lazy<void> | RawQuery | Wrap | Partial<ModelDataWithRelationDataSearchable<Unbox<T>>> | PickRelations<T>, operator?: SqlOperator | any, value?: any): this;
194
194
  orWhere(column: string | boolean | WhereFunction<T> | Lazy<void> | RawQuery | Wrap | Partial<ModelDataWithRelationDataSearchable<Unbox<T>>>, ..._args: any[]): this;
@@ -242,7 +242,9 @@ export declare class SelectQueryBuilder<T = any> extends QueryBuilder<T> {
242
242
  setAlias(alias: string): this;
243
243
  clone(): this;
244
244
  protected _getRelationInstance(relation: string): IOrmRelation;
245
+ populate<R = this>(relation: Constructor<ModelBase>): this;
245
246
  populate<R = this>(relation: string[]): this;
247
+ populate<R = this>(relation: string): this;
246
248
  populate<R = this>(relation: {}, callback?: (this: SelectQueryBuilder<R>, relation: IOrmRelation) => void): this;
247
249
  mergeBuilder(builder: SelectQueryBuilder): void;
248
250
  mergeRelations(builder: SelectQueryBuilder): void;
@@ -645,4 +647,20 @@ export declare class SchemaQueryBuilder {
645
647
  event(name: string): EventQueryBuilder;
646
648
  dropEvent(name: string): DropEventQueryBuilder;
647
649
  }
650
+ export declare function _descriptor(model: Class<any>): import("./interfaces.js").IModelDescriptor;
651
+ /**
652
+ * Helper function to create query based on model
653
+ *
654
+ * @param model - source model for query
655
+ * @param query - query class
656
+ * @param injectModel - should inject model information into query, if not, query will return raw data
657
+ *
658
+ * @returns
659
+ */
660
+ export declare function createQuery<T extends QueryBuilder>(model: Class<any>, query: Class<T>, injectModel?: boolean): {
661
+ query: T extends import("@spinajs/di").AsyncService ? Promise<T> : T;
662
+ description: import("./interfaces.js").IModelDescriptor;
663
+ model: Class<any>;
664
+ container: IContainer;
665
+ };
648
666
  //# sourceMappingURL=builders.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"builders.d.ts","sourceRoot":"","sources":["../../src/builders.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"builders.d.ts","sourceRoot":"","sources":["../../src/builders.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
14
14
  var RawQuery_1, WhereBuilder_1, SelectQueryBuilder_1;
15
15
  Object.defineProperty(exports, "__esModule", { value: true });
16
16
  exports.SchemaQueryBuilder = exports.ScheduleQueryBuilder = exports.DropEventQueryBuilder = exports.EventQueryBuilder = exports.EventIntervalDesc = exports.CloneTableQueryBuilder = exports.TruncateTableQueryBuilder = exports.TableQueryBuilder = exports.AlterTableQueryBuilder = exports.DropTableQueryBuilder = exports.TableExistsQueryBuilder = exports.AlterColumnQueryBuilder = exports.ColumnQueryBuilder = exports.ForeignKeyBuilder = exports.IndexQueryBuilder = exports.InsertQueryBuilder = exports.UpdateQueryBuilder = exports.OnDuplicateQueryBuilder = exports.DeleteQueryBuilder = exports.SelectQueryBuilderC = exports.SelectQueryBuilder = exports.WhereBuilder = exports.WithRecursiveBuilder = exports.JoinBuilder = exports.GroupByBuilder = exports.RawQuery = exports.ColumnsBuilder = exports.OrderByBuilder = exports.LimitBuilder = exports.QueryBuilder = exports.Builder = void 0;
17
+ exports._descriptor = _descriptor;
18
+ exports.createQuery = createQuery;
17
19
  /* eslint-disable prettier/prettier */
18
20
  const di_1 = require("@spinajs/di");
19
21
  const exceptions_1 = require("@spinajs/exceptions");
@@ -23,10 +25,10 @@ const typescript_mix_1 = require("typescript-mix");
23
25
  const enums_js_1 = require("./enums.js");
24
26
  const interfaces_js_1 = require("./interfaces.js");
25
27
  const statements_js_1 = require("./statements.js");
26
- const driver_js_1 = require("./driver.js");
27
- const model_js_1 = require("./model.js");
28
28
  const relations_js_1 = require("./relations.js");
29
29
  const util_1 = require("@spinajs/util");
30
+ const discrimination_middleware_js_1 = require("./discrimination-middleware.js");
31
+ const descriptor_js_1 = require("./descriptor.js");
30
32
  function isWhereOperator(val) {
31
33
  return lodash_1.default.isString(val) && Object.values(enums_js_1.SqlOperator).includes(val.toLowerCase());
32
34
  }
@@ -142,7 +144,7 @@ exports.Builder = Builder;
142
144
  exports.Builder = Builder = __decorate([
143
145
  (0, di_1.NewInstance)(),
144
146
  (0, di_1.Inject)(di_1.Container),
145
- __metadata("design:paramtypes", [Object, driver_js_1.OrmDriver, Object])
147
+ __metadata("design:paramtypes", [Object, Function, Object])
146
148
  ], Builder);
147
149
  /**
148
150
  * Base class for queires. Implements basic query functionality
@@ -221,7 +223,7 @@ exports.QueryBuilder = QueryBuilder;
221
223
  exports.QueryBuilder = QueryBuilder = __decorate([
222
224
  (0, di_1.NewInstance)(),
223
225
  (0, di_1.Inject)(di_1.Container),
224
- __metadata("design:paramtypes", [Object, driver_js_1.OrmDriver, Object])
226
+ __metadata("design:paramtypes", [Object, Function, Object])
225
227
  ], QueryBuilder);
226
228
  let LimitBuilder = class LimitBuilder {
227
229
  constructor() {
@@ -357,14 +359,14 @@ let ColumnsBuilder = class ColumnsBuilder {
357
359
  return this;
358
360
  }
359
361
  columns(names) {
360
- const descriptor = (0, model_js_1.extractModelDescriptor)(this._model);
362
+ const descriptor = (0, descriptor_js_1.extractModelDescriptor)(this._model);
361
363
  this._columns = names.map((n) => {
362
364
  return this._container.resolve(statements_js_1.ColumnStatement, [n, null, this._tableAlias, descriptor?.Columns.filter(c => !c.Virtual).find((c) => c.Name === n)]);
363
365
  });
364
366
  return this;
365
367
  }
366
368
  select(column, alias) {
367
- const descriptor = (0, model_js_1.extractModelDescriptor)(this._model);
369
+ const descriptor = (0, descriptor_js_1.extractModelDescriptor)(this._model);
368
370
  if (column instanceof Map) {
369
371
  column.forEach((alias, colName) => {
370
372
  const colDesc = descriptor?.Columns.find((c) => c.Name === colName && !c.Virtual);
@@ -491,7 +493,7 @@ let JoinBuilder = class JoinBuilder {
491
493
  if (this._model === undefined) {
492
494
  throw new exceptions_1.InvalidOperation(`Cannot use relation join without model defined in builder`);
493
495
  }
494
- const descriptor = (0, model_js_1.extractModelDescriptor)(this._model);
496
+ const descriptor = (0, descriptor_js_1.extractModelDescriptor)(this._model);
495
497
  const relations = descriptor.Relations;
496
498
  if (!relations || relations.size === 0) {
497
499
  throw new exceptions_1.InvalidOperation(`Model ${this._model.name} does not have any relations defined. Cannot use relation join.`);
@@ -566,8 +568,9 @@ let WhereBuilder = WhereBuilder_1 = class WhereBuilder {
566
568
  this._model = parent.Model;
567
569
  this._parent = parent;
568
570
  }
569
- clone() {
570
- const builder = new WhereBuilder_1(this._parent);
571
+ clone(_parent) {
572
+ // TODO: fix this cast
573
+ const builder = new WhereBuilder_1(_parent);
571
574
  builder._statements = this._statements.map((s) => s.clone(builder));
572
575
  builder._boolean = this._boolean;
573
576
  builder._model = this._model;
@@ -933,7 +936,7 @@ let SelectQueryBuilder = SelectQueryBuilder_1 = class SelectQueryBuilder extends
933
936
  _getRelationInstance(relation) {
934
937
  let relInstance = this._relations.find((r) => r.Name === relation);
935
938
  if (!relInstance) {
936
- const descriptor = (0, model_js_1.extractModelDescriptor)(this._model);
939
+ const descriptor = (0, descriptor_js_1.extractModelDescriptor)(this._model);
937
940
  let rDescriptor = null;
938
941
  for (const [key, value] of descriptor.Relations) {
939
942
  if (key.toLowerCase() === relation.toLowerCase().trim()) {
@@ -973,6 +976,15 @@ let SelectQueryBuilder = SelectQueryBuilder_1 = class SelectQueryBuilder extends
973
976
  if (!relation) {
974
977
  return this;
975
978
  }
979
+ if ((0, di_1.isConstructor)(relation)) {
980
+ const descriptor = (0, descriptor_js_1.extractModelDescriptor)(this._model);
981
+ const relations = descriptor.Relations;
982
+ const rel = relations.values().find((r) => r.TargetModel === relation);
983
+ if (!rel) {
984
+ throw new exceptions_1.InvalidArgument(`Cannot find relation for model ${relation.name} in model ${this._model ? this._model.name : 'undefined'}`);
985
+ }
986
+ return this.populate(rel.Name, callback);
987
+ }
976
988
  if (Array.isArray(relation)) {
977
989
  relation.forEach((x) => this.populate(x, callback));
978
990
  return this;
@@ -1102,7 +1114,7 @@ __decorate([
1102
1114
  ], SelectQueryBuilder.prototype, "this", void 0);
1103
1115
  exports.SelectQueryBuilder = SelectQueryBuilder = SelectQueryBuilder_1 = __decorate([
1104
1116
  (0, di_1.Injectable)(SelectQueryBuilder),
1105
- __metadata("design:paramtypes", [Object, driver_js_1.OrmDriver, Object, Object])
1117
+ __metadata("design:paramtypes", [Object, Function, Object, Object])
1106
1118
  ], SelectQueryBuilder);
1107
1119
  class SelectQueryBuilderC extends SelectQueryBuilder {
1108
1120
  }
@@ -1132,7 +1144,7 @@ __decorate([
1132
1144
  ], DeleteQueryBuilder.prototype, "this", void 0);
1133
1145
  exports.DeleteQueryBuilder = DeleteQueryBuilder = __decorate([
1134
1146
  (0, di_1.NewInstance)(),
1135
- __metadata("design:paramtypes", [di_1.Container, driver_js_1.OrmDriver, Object])
1147
+ __metadata("design:paramtypes", [di_1.Container, Function, Object])
1136
1148
  ], DeleteQueryBuilder);
1137
1149
  let OnDuplicateQueryBuilder = class OnDuplicateQueryBuilder {
1138
1150
  constructor(container, insertQueryBuilder, column, returning) {
@@ -1200,7 +1212,7 @@ __decorate([
1200
1212
  ], UpdateQueryBuilder.prototype, "this", void 0);
1201
1213
  exports.UpdateQueryBuilder = UpdateQueryBuilder = __decorate([
1202
1214
  (0, di_1.NewInstance)(),
1203
- __metadata("design:paramtypes", [di_1.Container, driver_js_1.OrmDriver, Object])
1215
+ __metadata("design:paramtypes", [di_1.Container, Function, Object])
1204
1216
  ], UpdateQueryBuilder);
1205
1217
  let InsertQueryBuilder = class InsertQueryBuilder extends QueryBuilder {
1206
1218
  get Values() {
@@ -1272,7 +1284,7 @@ let InsertQueryBuilder = class InsertQueryBuilder extends QueryBuilder {
1272
1284
  onDuplicate(column) {
1273
1285
  let columnToCheck = column;
1274
1286
  if (!columnToCheck && this._model) {
1275
- const dsc = (0, model_js_1.extractModelDescriptor)(this._model);
1287
+ const dsc = (0, descriptor_js_1.extractModelDescriptor)(this._model);
1276
1288
  columnToCheck = dsc.Columns.filter((c) => c.Unique).map((c) => c.Name);
1277
1289
  }
1278
1290
  this._update = true;
@@ -1291,7 +1303,7 @@ __decorate([
1291
1303
  ], InsertQueryBuilder.prototype, "this", void 0);
1292
1304
  exports.InsertQueryBuilder = InsertQueryBuilder = __decorate([
1293
1305
  (0, di_1.NewInstance)(),
1294
- __metadata("design:paramtypes", [di_1.Container, driver_js_1.OrmDriver, Object])
1306
+ __metadata("design:paramtypes", [di_1.Container, Function, Object])
1295
1307
  ], InsertQueryBuilder);
1296
1308
  let IndexQueryBuilder = class IndexQueryBuilder extends Builder {
1297
1309
  constructor(container, driver) {
@@ -1322,7 +1334,7 @@ exports.IndexQueryBuilder = IndexQueryBuilder;
1322
1334
  exports.IndexQueryBuilder = IndexQueryBuilder = __decorate([
1323
1335
  (0, di_1.NewInstance)(),
1324
1336
  (0, di_1.Inject)(di_1.Container),
1325
- __metadata("design:paramtypes", [di_1.Container, driver_js_1.OrmDriver])
1337
+ __metadata("design:paramtypes", [di_1.Container, Function])
1326
1338
  ], IndexQueryBuilder);
1327
1339
  let ForeignKeyBuilder = class ForeignKeyBuilder {
1328
1340
  constructor() {
@@ -1487,7 +1499,7 @@ let TableExistsQueryBuilder = class TableExistsQueryBuilder extends QueryBuilder
1487
1499
  exports.TableExistsQueryBuilder = TableExistsQueryBuilder;
1488
1500
  exports.TableExistsQueryBuilder = TableExistsQueryBuilder = __decorate([
1489
1501
  (0, di_1.NewInstance)(),
1490
- __metadata("design:paramtypes", [di_1.Container, driver_js_1.OrmDriver, String])
1502
+ __metadata("design:paramtypes", [di_1.Container, Function, String])
1491
1503
  ], TableExistsQueryBuilder);
1492
1504
  let DropTableQueryBuilder = class DropTableQueryBuilder extends QueryBuilder {
1493
1505
  constructor(container, driver, name, database) {
@@ -1510,7 +1522,7 @@ let DropTableQueryBuilder = class DropTableQueryBuilder extends QueryBuilder {
1510
1522
  exports.DropTableQueryBuilder = DropTableQueryBuilder;
1511
1523
  exports.DropTableQueryBuilder = DropTableQueryBuilder = __decorate([
1512
1524
  (0, di_1.NewInstance)(),
1513
- __metadata("design:paramtypes", [di_1.Container, driver_js_1.OrmDriver, String, String])
1525
+ __metadata("design:paramtypes", [di_1.Container, Function, String, String])
1514
1526
  ], DropTableQueryBuilder);
1515
1527
  let AlterTableQueryBuilder = class AlterTableQueryBuilder extends QueryBuilder {
1516
1528
  get Columns() {
@@ -1541,7 +1553,7 @@ let AlterTableQueryBuilder = class AlterTableQueryBuilder extends QueryBuilder {
1541
1553
  exports.AlterTableQueryBuilder = AlterTableQueryBuilder;
1542
1554
  exports.AlterTableQueryBuilder = AlterTableQueryBuilder = __decorate([
1543
1555
  (0, di_1.NewInstance)(),
1544
- __metadata("design:paramtypes", [di_1.Container, driver_js_1.OrmDriver, String])
1556
+ __metadata("design:paramtypes", [di_1.Container, Function, String])
1545
1557
  ], AlterTableQueryBuilder);
1546
1558
  let TableQueryBuilder = class TableQueryBuilder extends QueryBuilder {
1547
1559
  /**
@@ -1617,7 +1629,7 @@ let TableQueryBuilder = class TableQueryBuilder extends QueryBuilder {
1617
1629
  exports.TableQueryBuilder = TableQueryBuilder;
1618
1630
  exports.TableQueryBuilder = TableQueryBuilder = __decorate([
1619
1631
  (0, di_1.NewInstance)(),
1620
- __metadata("design:paramtypes", [di_1.Container, driver_js_1.OrmDriver, String])
1632
+ __metadata("design:paramtypes", [di_1.Container, Function, String])
1621
1633
  ], TableQueryBuilder);
1622
1634
  let TruncateTableQueryBuilder = class TruncateTableQueryBuilder extends QueryBuilder {
1623
1635
  constructor(container, driver) {
@@ -1633,7 +1645,7 @@ exports.TruncateTableQueryBuilder = TruncateTableQueryBuilder;
1633
1645
  exports.TruncateTableQueryBuilder = TruncateTableQueryBuilder = __decorate([
1634
1646
  (0, di_1.NewInstance)(),
1635
1647
  (0, di_1.Inject)(di_1.Container),
1636
- __metadata("design:paramtypes", [di_1.Container, driver_js_1.OrmDriver])
1648
+ __metadata("design:paramtypes", [di_1.Container, Function])
1637
1649
  ], TruncateTableQueryBuilder);
1638
1650
  let CloneTableQueryBuilder = class CloneTableQueryBuilder extends QueryBuilder {
1639
1651
  get CloneSource() {
@@ -1694,7 +1706,7 @@ exports.CloneTableQueryBuilder = CloneTableQueryBuilder;
1694
1706
  exports.CloneTableQueryBuilder = CloneTableQueryBuilder = __decorate([
1695
1707
  (0, di_1.NewInstance)(),
1696
1708
  (0, di_1.Inject)(di_1.Container),
1697
- __metadata("design:paramtypes", [di_1.Container, driver_js_1.OrmDriver])
1709
+ __metadata("design:paramtypes", [di_1.Container, Function])
1698
1710
  ], CloneTableQueryBuilder);
1699
1711
  class EventIntervalDesc {
1700
1712
  second(s) {
@@ -1776,7 +1788,7 @@ exports.EventQueryBuilder = EventQueryBuilder;
1776
1788
  exports.EventQueryBuilder = EventQueryBuilder = __decorate([
1777
1789
  (0, di_1.NewInstance)(),
1778
1790
  (0, di_1.Inject)(di_1.Container),
1779
- __metadata("design:paramtypes", [di_1.Container, driver_js_1.OrmDriver, String])
1791
+ __metadata("design:paramtypes", [di_1.Container, Function, String])
1780
1792
  ], EventQueryBuilder);
1781
1793
  let DropEventQueryBuilder = class DropEventQueryBuilder extends QueryBuilder {
1782
1794
  constructor(container, driver, Name) {
@@ -1793,7 +1805,7 @@ exports.DropEventQueryBuilder = DropEventQueryBuilder;
1793
1805
  exports.DropEventQueryBuilder = DropEventQueryBuilder = __decorate([
1794
1806
  (0, di_1.NewInstance)(),
1795
1807
  (0, di_1.Inject)(di_1.Container),
1796
- __metadata("design:paramtypes", [di_1.Container, driver_js_1.OrmDriver, String])
1808
+ __metadata("design:paramtypes", [di_1.Container, Function, String])
1797
1809
  ], DropEventQueryBuilder);
1798
1810
  /**
1799
1811
  * Creates schedule job in database engine.
@@ -1818,7 +1830,7 @@ exports.ScheduleQueryBuilder = ScheduleQueryBuilder;
1818
1830
  exports.ScheduleQueryBuilder = ScheduleQueryBuilder = __decorate([
1819
1831
  (0, di_1.NewInstance)(),
1820
1832
  (0, di_1.Inject)(di_1.Container),
1821
- __metadata("design:paramtypes", [di_1.Container, driver_js_1.OrmDriver])
1833
+ __metadata("design:paramtypes", [di_1.Container, Function])
1822
1834
  ], ScheduleQueryBuilder);
1823
1835
  let SchemaQueryBuilder = class SchemaQueryBuilder {
1824
1836
  constructor(container, driver) {
@@ -1862,7 +1874,7 @@ exports.SchemaQueryBuilder = SchemaQueryBuilder;
1862
1874
  exports.SchemaQueryBuilder = SchemaQueryBuilder = __decorate([
1863
1875
  (0, di_1.NewInstance)(),
1864
1876
  (0, di_1.Inject)(di_1.Container),
1865
- __metadata("design:paramtypes", [di_1.Container, driver_js_1.OrmDriver])
1877
+ __metadata("design:paramtypes", [di_1.Container, Function])
1866
1878
  ], SchemaQueryBuilder);
1867
1879
  Object.values(enums_js_1.ColumnType).forEach((type) => {
1868
1880
  TableQueryBuilder.prototype[type] = function (name, ...args) {
@@ -1878,4 +1890,52 @@ Object.values(enums_js_1.ColumnType).forEach((type) => {
1878
1890
  return _builder;
1879
1891
  };
1880
1892
  });
1893
+ function _descriptor(model) {
1894
+ return (0, descriptor_js_1.extractModelDescriptor)(model);
1895
+ }
1896
+ /**
1897
+ * Helper function to create query based on model
1898
+ *
1899
+ * @param model - source model for query
1900
+ * @param query - query class
1901
+ * @param injectModel - should inject model information into query, if not, query will return raw data
1902
+ *
1903
+ * @returns
1904
+ */
1905
+ function createQuery(model, query, injectModel = true) {
1906
+ const dsc = _descriptor(model);
1907
+ if (!dsc) {
1908
+ throw new Error(`model ${model.name} does not have model descriptor. Use @model decorator on class`);
1909
+ }
1910
+ const driver = di_1.DI.resolve('OrmConnection', [dsc.Connection]);
1911
+ if (!driver) {
1912
+ throw new Error(`model ${model.name} have invalid connection ${dsc.Connection}, please check your db config file or model connection name`);
1913
+ }
1914
+ const cnt = driver.Container;
1915
+ const models = di_1.DI.getRegisteredTypes('__models__');
1916
+ const qr = cnt.resolve(query, [driver, injectModel ? models.find((x) => x.name === model.name) : null]);
1917
+ if (qr instanceof SelectQueryBuilder) {
1918
+ const scope = model._queryScopes;
1919
+ if (scope) {
1920
+ Object.getOwnPropertyNames(scope.__proto__)
1921
+ .filter((x) => x !== 'constructor')
1922
+ .forEach(function (property) {
1923
+ if (typeof scope[property] === 'function') {
1924
+ qr[property] = scope[property].bind(qr);
1925
+ }
1926
+ });
1927
+ }
1928
+ }
1929
+ qr.middleware(new discrimination_middleware_js_1.DiscriminationMapMiddleware(dsc));
1930
+ qr.setTable(dsc.TableName);
1931
+ if (driver.Options.Database) {
1932
+ qr.database(driver.Options.Database);
1933
+ }
1934
+ return {
1935
+ query: qr,
1936
+ description: dsc,
1937
+ model,
1938
+ container: driver.Container,
1939
+ };
1940
+ }
1881
1941
  //# sourceMappingURL=builders.js.map