@spinajs/orm 2.0.407 → 2.0.409

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 +23 -4
  2. package/lib/cjs/builders.d.ts.map +1 -1
  3. package/lib/cjs/builders.js +126 -40
  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 +7 -3
  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 +22 -5
  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 +23 -4
  54. package/lib/mjs/builders.d.ts.map +1 -1
  55. package/lib/mjs/builders.js +119 -35
  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 +7 -3
  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 +20 -3
  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,14 +242,17 @@ 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;
249
251
  mergeStatements(builder: SelectQueryBuilder, callback?: (statement: IQueryStatement) => boolean): void;
250
252
  min(column: string, as?: string): this;
251
253
  max(column: string, as?: string): this;
252
- count(column?: string, as?: string): Promise<number>;
254
+ count(column?: string, as?: string): this;
255
+ selectCount(column?: string, as?: string): Promise<number>;
253
256
  sum(column: string, as?: string): this;
254
257
  avg(column: string, as?: string): this;
255
258
  distinct(): this;
@@ -645,4 +648,20 @@ export declare class SchemaQueryBuilder {
645
648
  event(name: string): EventQueryBuilder;
646
649
  dropEvent(name: string): DropEventQueryBuilder;
647
650
  }
651
+ export declare function _descriptor(model: Class<any>): import("./interfaces.js").IModelDescriptor;
652
+ /**
653
+ * Helper function to create query based on model
654
+ *
655
+ * @param model - source model for query
656
+ * @param query - query class
657
+ * @param injectModel - should inject model information into query, if not, query will return raw data
658
+ *
659
+ * @returns
660
+ */
661
+ export declare function createQuery<T extends QueryBuilder>(model: Class<any>, query: Class<T>, injectModel?: boolean): {
662
+ query: T extends import("@spinajs/di").AsyncService ? Promise<T> : T;
663
+ description: import("./interfaces.js").IModelDescriptor;
664
+ model: Class<any>;
665
+ container: IContainer;
666
+ };
648
667
  //# 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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"}
@@ -17,10 +17,10 @@ import { use } from 'typescript-mix';
17
17
  import { ColumnMethods, ColumnType, QueryMethod, SortOrder, WhereBoolean, SqlOperator, JoinMethod } from './enums.js';
18
18
  import { DeleteQueryCompiler, InsertQueryCompiler, SelectQueryCompiler, TruncateTableQueryCompiler, TableQueryCompiler, AlterTableQueryCompiler, UpdateQueryCompiler, QueryContext, IndexQueryCompiler, RelationType, ReferentialAction, DefaultValueBuilder, ColumnAlterationType, TableExistsCompiler, DropTableCompiler, TableCloneQueryCompiler, QueryMiddleware, DropEventQueryCompiler, EventQueryCompiler } from './interfaces.js';
19
19
  import { BetweenStatement, ColumnMethodStatement, ColumnStatement, ExistsQueryStatement, InSetStatement, InStatement, RawQueryStatement, WhereQueryStatement, WhereStatement, ColumnRawStatement, JoinStatement, WithRecursiveStatement, GroupByStatement, Wrap, LazyQueryStatement } from './statements.js';
20
- import { OrmDriver } from './driver.js';
21
- import { extractModelDescriptor } from './model.js';
22
20
  import { BelongsToRelation, OneToManyRelation, ManyToManyRelation, BelongsToRecursiveRelation, QueryRelation } from './relations.js';
23
21
  import { Lazy } from '@spinajs/util';
22
+ import { DiscriminationMapMiddleware } from './discrimination-middleware.js';
23
+ import { extractModelDescriptor } from './descriptor.js';
24
24
  function isWhereOperator(val) {
25
25
  return _.isString(val) && Object.values(SqlOperator).includes(val.toLowerCase());
26
26
  }
@@ -135,7 +135,7 @@ let Builder = class Builder {
135
135
  Builder = __decorate([
136
136
  NewInstance(),
137
137
  Inject(Container),
138
- __metadata("design:paramtypes", [Object, OrmDriver, Object])
138
+ __metadata("design:paramtypes", [Object, Function, Object])
139
139
  ], Builder);
140
140
  export { Builder };
141
141
  /**
@@ -214,7 +214,7 @@ let QueryBuilder = class QueryBuilder extends Builder {
214
214
  QueryBuilder = __decorate([
215
215
  NewInstance(),
216
216
  Inject(Container),
217
- __metadata("design:paramtypes", [Object, OrmDriver, Object])
217
+ __metadata("design:paramtypes", [Object, Function, Object])
218
218
  ], QueryBuilder);
219
219
  export { QueryBuilder };
220
220
  let LimitBuilder = class LimitBuilder {
@@ -374,11 +374,19 @@ let ColumnsBuilder = class ColumnsBuilder {
374
374
  // special case for SELECT *
375
375
  this._columns.push(this._container.resolve(ColumnStatement, [column, alias, this._tableAlias, null]));
376
376
  }
377
- else {
377
+ // if query has model associated try to extract column info from descriptor
378
+ else if (descriptor) {
378
379
  const colDesc = descriptor?.Columns.find((c) => c.Name === column && !c.Virtual);
379
380
  if (colDesc) {
380
381
  this._columns.push(this._container.resolve(ColumnStatement, [column, alias, this._tableAlias, colDesc]));
381
382
  }
383
+ else {
384
+ throw new InvalidArgument(`Column ${column} does not exist on model ${this._model?.name}`);
385
+ }
386
+ }
387
+ // if no model associated just add column as is
388
+ else {
389
+ this._columns.push(this._container.resolve(ColumnStatement, [column, alias, this._tableAlias, null]));
382
390
  }
383
391
  return this;
384
392
  }
@@ -560,8 +568,9 @@ let WhereBuilder = WhereBuilder_1 = class WhereBuilder {
560
568
  this._model = parent.Model;
561
569
  this._parent = parent;
562
570
  }
563
- clone() {
564
- const builder = new WhereBuilder_1(this._parent);
571
+ clone(_parent) {
572
+ // TODO: fix this cast
573
+ const builder = new WhereBuilder_1(_parent);
565
574
  builder._statements = this._statements.map((s) => s.clone(builder));
566
575
  builder._boolean = this._boolean;
567
576
  builder._model = this._model;
@@ -725,6 +734,8 @@ let WhereBuilder = WhereBuilder_1 = class WhereBuilder {
725
734
  return this;
726
735
  }
727
736
  whereExist(query, callback) {
737
+ // TODO: refactor and remove code duplication with whereNotExists
738
+ // TODO: move relation handling to separate DI service for every exists relation type
728
739
  let relQuery = null;
729
740
  let sourcePKey = '';
730
741
  const self = this;
@@ -745,10 +756,13 @@ let WhereBuilder = WhereBuilder_1 = class WhereBuilder {
745
756
  case RelationType.Many:
746
757
  relQuery = rel.TargetModel.query();
747
758
  relQuery.where(Lazy.oF(function () {
748
- if (!self._tableAlias) {
749
- self._tableAlias = "__exists__";
759
+ const sourceAlias = self._tableAlias || (self._parent ? self._parent.TableAlias : "__exists__");
760
+ if (sourceAlias === undefined) {
761
+ sourcePKey = `\`${self._model.getModelDescriptor().PrimaryKey}\``;
762
+ }
763
+ else {
764
+ sourcePKey = `\`${sourceAlias}\`.\`${self._model.getModelDescriptor().PrimaryKey}\``;
750
765
  }
751
- sourcePKey = `\`${self._tableAlias}\`.\`${self._model.getModelDescriptor().PrimaryKey}\``;
752
766
  relQuery.where(new RawQuery(`${rel.ForeignKey} = ${sourcePKey}`));
753
767
  }));
754
768
  if (callback) {
@@ -759,10 +773,13 @@ let WhereBuilder = WhereBuilder_1 = class WhereBuilder {
759
773
  case RelationType.ManyToMany:
760
774
  relQuery = rel.JunctionModel.query();
761
775
  relQuery.where(Lazy.oF(function () {
762
- if (!self._tableAlias) {
763
- self._tableAlias = "__exists__";
776
+ const sourceAlias = self._tableAlias || (self._parent ? self._parent.TableAlias : "__exists__");
777
+ if (sourceAlias === undefined) {
778
+ sourcePKey = `\`${self._model.getModelDescriptor().PrimaryKey}\``;
779
+ }
780
+ else {
781
+ sourcePKey = `\`${sourceAlias}\`.\`${self._model.getModelDescriptor().PrimaryKey}\``;
764
782
  }
765
- sourcePKey = `\`${self._tableAlias}\`.\`${self._model.getModelDescriptor().PrimaryKey}\``;
766
783
  relQuery.where(new RawQuery(`${rel.JunctionModelSourceModelFKey_Name} = ${sourcePKey}`));
767
784
  }));
768
785
  relQuery.rightJoin({
@@ -801,10 +818,13 @@ let WhereBuilder = WhereBuilder_1 = class WhereBuilder {
801
818
  case RelationType.Many:
802
819
  relQuery = rel.TargetModel.query();
803
820
  relQuery.where(Lazy.oF(function () {
804
- if (!self._tableAlias) {
805
- self._tableAlias = "__exists__";
821
+ const sourceAlias = self._tableAlias || (self._parent ? self._parent.TableAlias : "__exists__");
822
+ if (sourceAlias === undefined) {
823
+ sourcePKey = `\`${self._model.getModelDescriptor().PrimaryKey}\``;
824
+ }
825
+ else {
826
+ sourcePKey = `\`${sourceAlias}\`.\`${self._model.getModelDescriptor().PrimaryKey}\``;
806
827
  }
807
- sourcePKey = `\`${self._tableAlias}\`.\`${self._model.getModelDescriptor().PrimaryKey}\``;
808
828
  relQuery.where(new RawQuery(`${rel.ForeignKey} = ${sourcePKey}`));
809
829
  }));
810
830
  if (callback) {
@@ -815,10 +835,13 @@ let WhereBuilder = WhereBuilder_1 = class WhereBuilder {
815
835
  case RelationType.ManyToMany:
816
836
  relQuery = rel.JunctionModel.query();
817
837
  relQuery.where(Lazy.oF(function () {
818
- if (!self._tableAlias) {
819
- self._tableAlias = "__exists__";
838
+ const sourceAlias = self._tableAlias || (self._parent ? self._parent.TableAlias : "__exists__");
839
+ if (sourceAlias === undefined) {
840
+ sourcePKey = `\`${self._model.getModelDescriptor().PrimaryKey}\``;
841
+ }
842
+ else {
843
+ sourcePKey = `\`${sourceAlias}\`.\`${self._model.getModelDescriptor().PrimaryKey}\``;
820
844
  }
821
- sourcePKey = `\`${self._tableAlias}\`.\`${self._model.getModelDescriptor().PrimaryKey}\``;
822
845
  relQuery.where(new RawQuery(`${rel.JunctionModelSourceModelFKey_Name} = ${sourcePKey}`));
823
846
  }));
824
847
  relQuery.rightJoin({
@@ -967,6 +990,15 @@ let SelectQueryBuilder = SelectQueryBuilder_1 = class SelectQueryBuilder extends
967
990
  if (!relation) {
968
991
  return this;
969
992
  }
993
+ if (isConstructor(relation)) {
994
+ const descriptor = extractModelDescriptor(this._model);
995
+ const relations = descriptor.Relations;
996
+ const rel = relations.values().find((r) => r.TargetModel === relation);
997
+ if (!rel) {
998
+ throw new InvalidArgument(`Cannot find relation for model ${relation.name} in model ${this._model ? this._model.name : 'undefined'}`);
999
+ }
1000
+ return this.populate(rel.Name, callback);
1001
+ }
970
1002
  if (Array.isArray(relation)) {
971
1003
  relation.forEach((x) => this.populate(x, callback));
972
1004
  return this;
@@ -1025,7 +1057,11 @@ let SelectQueryBuilder = SelectQueryBuilder_1 = class SelectQueryBuilder extends
1025
1057
  const a = as ?? 'count';
1026
1058
  this.clearColumns();
1027
1059
  this._columns.push(this._container.resolve(ColumnMethodStatement, [c, ColumnMethods.COUNT, a, this._tableAlias]));
1028
- return this.takeFirst()
1060
+ return this;
1061
+ }
1062
+ selectCount(column, as) {
1063
+ const a = as ?? 'count';
1064
+ return this.count(column, as).takeFirst()
1029
1065
  .asRaw()
1030
1066
  .then((x) => x ? x[a] : 0);
1031
1067
  }
@@ -1095,7 +1131,7 @@ __decorate([
1095
1131
  ], SelectQueryBuilder.prototype, "this", void 0);
1096
1132
  SelectQueryBuilder = SelectQueryBuilder_1 = __decorate([
1097
1133
  Injectable(SelectQueryBuilder),
1098
- __metadata("design:paramtypes", [Object, OrmDriver, Object, Object])
1134
+ __metadata("design:paramtypes", [Object, Function, Object, Object])
1099
1135
  ], SelectQueryBuilder);
1100
1136
  export { SelectQueryBuilder };
1101
1137
  export class SelectQueryBuilderC extends SelectQueryBuilder {
@@ -1124,7 +1160,7 @@ __decorate([
1124
1160
  ], DeleteQueryBuilder.prototype, "this", void 0);
1125
1161
  DeleteQueryBuilder = __decorate([
1126
1162
  NewInstance(),
1127
- __metadata("design:paramtypes", [Container, OrmDriver, Object])
1163
+ __metadata("design:paramtypes", [Container, Function, Object])
1128
1164
  ], DeleteQueryBuilder);
1129
1165
  export { DeleteQueryBuilder };
1130
1166
  let OnDuplicateQueryBuilder = class OnDuplicateQueryBuilder {
@@ -1192,7 +1228,7 @@ __decorate([
1192
1228
  ], UpdateQueryBuilder.prototype, "this", void 0);
1193
1229
  UpdateQueryBuilder = __decorate([
1194
1230
  NewInstance(),
1195
- __metadata("design:paramtypes", [Container, OrmDriver, Object])
1231
+ __metadata("design:paramtypes", [Container, Function, Object])
1196
1232
  ], UpdateQueryBuilder);
1197
1233
  export { UpdateQueryBuilder };
1198
1234
  let InsertQueryBuilder = class InsertQueryBuilder extends QueryBuilder {
@@ -1283,7 +1319,7 @@ __decorate([
1283
1319
  ], InsertQueryBuilder.prototype, "this", void 0);
1284
1320
  InsertQueryBuilder = __decorate([
1285
1321
  NewInstance(),
1286
- __metadata("design:paramtypes", [Container, OrmDriver, Object])
1322
+ __metadata("design:paramtypes", [Container, Function, Object])
1287
1323
  ], InsertQueryBuilder);
1288
1324
  export { InsertQueryBuilder };
1289
1325
  let IndexQueryBuilder = class IndexQueryBuilder extends Builder {
@@ -1314,7 +1350,7 @@ let IndexQueryBuilder = class IndexQueryBuilder extends Builder {
1314
1350
  IndexQueryBuilder = __decorate([
1315
1351
  NewInstance(),
1316
1352
  Inject(Container),
1317
- __metadata("design:paramtypes", [Container, OrmDriver])
1353
+ __metadata("design:paramtypes", [Container, Function])
1318
1354
  ], IndexQueryBuilder);
1319
1355
  export { IndexQueryBuilder };
1320
1356
  let ForeignKeyBuilder = class ForeignKeyBuilder {
@@ -1479,7 +1515,7 @@ let TableExistsQueryBuilder = class TableExistsQueryBuilder extends QueryBuilder
1479
1515
  };
1480
1516
  TableExistsQueryBuilder = __decorate([
1481
1517
  NewInstance(),
1482
- __metadata("design:paramtypes", [Container, OrmDriver, String])
1518
+ __metadata("design:paramtypes", [Container, Function, String])
1483
1519
  ], TableExistsQueryBuilder);
1484
1520
  export { TableExistsQueryBuilder };
1485
1521
  let DropTableQueryBuilder = class DropTableQueryBuilder extends QueryBuilder {
@@ -1502,7 +1538,7 @@ let DropTableQueryBuilder = class DropTableQueryBuilder extends QueryBuilder {
1502
1538
  };
1503
1539
  DropTableQueryBuilder = __decorate([
1504
1540
  NewInstance(),
1505
- __metadata("design:paramtypes", [Container, OrmDriver, String, String])
1541
+ __metadata("design:paramtypes", [Container, Function, String, String])
1506
1542
  ], DropTableQueryBuilder);
1507
1543
  export { DropTableQueryBuilder };
1508
1544
  let AlterTableQueryBuilder = class AlterTableQueryBuilder extends QueryBuilder {
@@ -1533,7 +1569,7 @@ let AlterTableQueryBuilder = class AlterTableQueryBuilder extends QueryBuilder {
1533
1569
  };
1534
1570
  AlterTableQueryBuilder = __decorate([
1535
1571
  NewInstance(),
1536
- __metadata("design:paramtypes", [Container, OrmDriver, String])
1572
+ __metadata("design:paramtypes", [Container, Function, String])
1537
1573
  ], AlterTableQueryBuilder);
1538
1574
  export { AlterTableQueryBuilder };
1539
1575
  let TableQueryBuilder = class TableQueryBuilder extends QueryBuilder {
@@ -1609,7 +1645,7 @@ let TableQueryBuilder = class TableQueryBuilder extends QueryBuilder {
1609
1645
  };
1610
1646
  TableQueryBuilder = __decorate([
1611
1647
  NewInstance(),
1612
- __metadata("design:paramtypes", [Container, OrmDriver, String])
1648
+ __metadata("design:paramtypes", [Container, Function, String])
1613
1649
  ], TableQueryBuilder);
1614
1650
  export { TableQueryBuilder };
1615
1651
  let TruncateTableQueryBuilder = class TruncateTableQueryBuilder extends QueryBuilder {
@@ -1625,7 +1661,7 @@ let TruncateTableQueryBuilder = class TruncateTableQueryBuilder extends QueryBui
1625
1661
  TruncateTableQueryBuilder = __decorate([
1626
1662
  NewInstance(),
1627
1663
  Inject(Container),
1628
- __metadata("design:paramtypes", [Container, OrmDriver])
1664
+ __metadata("design:paramtypes", [Container, Function])
1629
1665
  ], TruncateTableQueryBuilder);
1630
1666
  export { TruncateTableQueryBuilder };
1631
1667
  let CloneTableQueryBuilder = class CloneTableQueryBuilder extends QueryBuilder {
@@ -1686,7 +1722,7 @@ let CloneTableQueryBuilder = class CloneTableQueryBuilder extends QueryBuilder {
1686
1722
  CloneTableQueryBuilder = __decorate([
1687
1723
  NewInstance(),
1688
1724
  Inject(Container),
1689
- __metadata("design:paramtypes", [Container, OrmDriver])
1725
+ __metadata("design:paramtypes", [Container, Function])
1690
1726
  ], CloneTableQueryBuilder);
1691
1727
  export { CloneTableQueryBuilder };
1692
1728
  export class EventIntervalDesc {
@@ -1767,7 +1803,7 @@ let EventQueryBuilder = class EventQueryBuilder extends QueryBuilder {
1767
1803
  EventQueryBuilder = __decorate([
1768
1804
  NewInstance(),
1769
1805
  Inject(Container),
1770
- __metadata("design:paramtypes", [Container, OrmDriver, String])
1806
+ __metadata("design:paramtypes", [Container, Function, String])
1771
1807
  ], EventQueryBuilder);
1772
1808
  export { EventQueryBuilder };
1773
1809
  let DropEventQueryBuilder = class DropEventQueryBuilder extends QueryBuilder {
@@ -1784,7 +1820,7 @@ let DropEventQueryBuilder = class DropEventQueryBuilder extends QueryBuilder {
1784
1820
  DropEventQueryBuilder = __decorate([
1785
1821
  NewInstance(),
1786
1822
  Inject(Container),
1787
- __metadata("design:paramtypes", [Container, OrmDriver, String])
1823
+ __metadata("design:paramtypes", [Container, Function, String])
1788
1824
  ], DropEventQueryBuilder);
1789
1825
  export { DropEventQueryBuilder };
1790
1826
  /**
@@ -1809,7 +1845,7 @@ let ScheduleQueryBuilder = class ScheduleQueryBuilder {
1809
1845
  ScheduleQueryBuilder = __decorate([
1810
1846
  NewInstance(),
1811
1847
  Inject(Container),
1812
- __metadata("design:paramtypes", [Container, OrmDriver])
1848
+ __metadata("design:paramtypes", [Container, Function])
1813
1849
  ], ScheduleQueryBuilder);
1814
1850
  export { ScheduleQueryBuilder };
1815
1851
  let SchemaQueryBuilder = class SchemaQueryBuilder {
@@ -1853,7 +1889,7 @@ let SchemaQueryBuilder = class SchemaQueryBuilder {
1853
1889
  SchemaQueryBuilder = __decorate([
1854
1890
  NewInstance(),
1855
1891
  Inject(Container),
1856
- __metadata("design:paramtypes", [Container, OrmDriver])
1892
+ __metadata("design:paramtypes", [Container, Function])
1857
1893
  ], SchemaQueryBuilder);
1858
1894
  export { SchemaQueryBuilder };
1859
1895
  Object.values(ColumnType).forEach((type) => {
@@ -1870,4 +1906,52 @@ Object.values(ColumnType).forEach((type) => {
1870
1906
  return _builder;
1871
1907
  };
1872
1908
  });
1909
+ export function _descriptor(model) {
1910
+ return extractModelDescriptor(model);
1911
+ }
1912
+ /**
1913
+ * Helper function to create query based on model
1914
+ *
1915
+ * @param model - source model for query
1916
+ * @param query - query class
1917
+ * @param injectModel - should inject model information into query, if not, query will return raw data
1918
+ *
1919
+ * @returns
1920
+ */
1921
+ export function createQuery(model, query, injectModel = true) {
1922
+ const dsc = _descriptor(model);
1923
+ if (!dsc) {
1924
+ throw new Error(`model ${model.name} does not have model descriptor. Use @model decorator on class`);
1925
+ }
1926
+ const driver = DI.resolve('OrmConnection', [dsc.Connection]);
1927
+ if (!driver) {
1928
+ throw new Error(`model ${model.name} have invalid connection ${dsc.Connection}, please check your db config file or model connection name`);
1929
+ }
1930
+ const cnt = driver.Container;
1931
+ const models = DI.getRegisteredTypes('__models__');
1932
+ const qr = cnt.resolve(query, [driver, injectModel ? models.find((x) => x.name === model.name) : null]);
1933
+ if (qr instanceof SelectQueryBuilder) {
1934
+ const scope = model._queryScopes;
1935
+ if (scope) {
1936
+ Object.getOwnPropertyNames(scope.__proto__)
1937
+ .filter((x) => x !== 'constructor')
1938
+ .forEach(function (property) {
1939
+ if (typeof scope[property] === 'function') {
1940
+ qr[property] = scope[property].bind(qr);
1941
+ }
1942
+ });
1943
+ }
1944
+ }
1945
+ qr.middleware(new DiscriminationMapMiddleware(dsc));
1946
+ qr.setTable(dsc.TableName);
1947
+ if (driver.Options.Database) {
1948
+ qr.database(driver.Options.Database);
1949
+ }
1950
+ return {
1951
+ query: qr,
1952
+ description: dsc,
1953
+ model,
1954
+ container: driver.Container,
1955
+ };
1956
+ }
1873
1957
  //# sourceMappingURL=builders.js.map