@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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"}
@@ -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);
@@ -380,11 +382,19 @@ let ColumnsBuilder = class ColumnsBuilder {
380
382
  // special case for SELECT *
381
383
  this._columns.push(this._container.resolve(statements_js_1.ColumnStatement, [column, alias, this._tableAlias, null]));
382
384
  }
383
- else {
385
+ // if query has model associated try to extract column info from descriptor
386
+ else if (descriptor) {
384
387
  const colDesc = descriptor?.Columns.find((c) => c.Name === column && !c.Virtual);
385
388
  if (colDesc) {
386
389
  this._columns.push(this._container.resolve(statements_js_1.ColumnStatement, [column, alias, this._tableAlias, colDesc]));
387
390
  }
391
+ else {
392
+ throw new exceptions_1.InvalidArgument(`Column ${column} does not exist on model ${this._model?.name}`);
393
+ }
394
+ }
395
+ // if no model associated just add column as is
396
+ else {
397
+ this._columns.push(this._container.resolve(statements_js_1.ColumnStatement, [column, alias, this._tableAlias, null]));
388
398
  }
389
399
  return this;
390
400
  }
@@ -491,7 +501,7 @@ let JoinBuilder = class JoinBuilder {
491
501
  if (this._model === undefined) {
492
502
  throw new exceptions_1.InvalidOperation(`Cannot use relation join without model defined in builder`);
493
503
  }
494
- const descriptor = (0, model_js_1.extractModelDescriptor)(this._model);
504
+ const descriptor = (0, descriptor_js_1.extractModelDescriptor)(this._model);
495
505
  const relations = descriptor.Relations;
496
506
  if (!relations || relations.size === 0) {
497
507
  throw new exceptions_1.InvalidOperation(`Model ${this._model.name} does not have any relations defined. Cannot use relation join.`);
@@ -566,8 +576,9 @@ let WhereBuilder = WhereBuilder_1 = class WhereBuilder {
566
576
  this._model = parent.Model;
567
577
  this._parent = parent;
568
578
  }
569
- clone() {
570
- const builder = new WhereBuilder_1(this._parent);
579
+ clone(_parent) {
580
+ // TODO: fix this cast
581
+ const builder = new WhereBuilder_1(_parent);
571
582
  builder._statements = this._statements.map((s) => s.clone(builder));
572
583
  builder._boolean = this._boolean;
573
584
  builder._model = this._model;
@@ -731,6 +742,8 @@ let WhereBuilder = WhereBuilder_1 = class WhereBuilder {
731
742
  return this;
732
743
  }
733
744
  whereExist(query, callback) {
745
+ // TODO: refactor and remove code duplication with whereNotExists
746
+ // TODO: move relation handling to separate DI service for every exists relation type
734
747
  let relQuery = null;
735
748
  let sourcePKey = '';
736
749
  const self = this;
@@ -751,10 +764,13 @@ let WhereBuilder = WhereBuilder_1 = class WhereBuilder {
751
764
  case interfaces_js_1.RelationType.Many:
752
765
  relQuery = rel.TargetModel.query();
753
766
  relQuery.where(util_1.Lazy.oF(function () {
754
- if (!self._tableAlias) {
755
- self._tableAlias = "__exists__";
767
+ const sourceAlias = self._tableAlias || (self._parent ? self._parent.TableAlias : "__exists__");
768
+ if (sourceAlias === undefined) {
769
+ sourcePKey = `\`${self._model.getModelDescriptor().PrimaryKey}\``;
770
+ }
771
+ else {
772
+ sourcePKey = `\`${sourceAlias}\`.\`${self._model.getModelDescriptor().PrimaryKey}\``;
756
773
  }
757
- sourcePKey = `\`${self._tableAlias}\`.\`${self._model.getModelDescriptor().PrimaryKey}\``;
758
774
  relQuery.where(new RawQuery(`${rel.ForeignKey} = ${sourcePKey}`));
759
775
  }));
760
776
  if (callback) {
@@ -765,10 +781,13 @@ let WhereBuilder = WhereBuilder_1 = class WhereBuilder {
765
781
  case interfaces_js_1.RelationType.ManyToMany:
766
782
  relQuery = rel.JunctionModel.query();
767
783
  relQuery.where(util_1.Lazy.oF(function () {
768
- if (!self._tableAlias) {
769
- self._tableAlias = "__exists__";
784
+ const sourceAlias = self._tableAlias || (self._parent ? self._parent.TableAlias : "__exists__");
785
+ if (sourceAlias === undefined) {
786
+ sourcePKey = `\`${self._model.getModelDescriptor().PrimaryKey}\``;
787
+ }
788
+ else {
789
+ sourcePKey = `\`${sourceAlias}\`.\`${self._model.getModelDescriptor().PrimaryKey}\``;
770
790
  }
771
- sourcePKey = `\`${self._tableAlias}\`.\`${self._model.getModelDescriptor().PrimaryKey}\``;
772
791
  relQuery.where(new RawQuery(`${rel.JunctionModelSourceModelFKey_Name} = ${sourcePKey}`));
773
792
  }));
774
793
  relQuery.rightJoin({
@@ -807,10 +826,13 @@ let WhereBuilder = WhereBuilder_1 = class WhereBuilder {
807
826
  case interfaces_js_1.RelationType.Many:
808
827
  relQuery = rel.TargetModel.query();
809
828
  relQuery.where(util_1.Lazy.oF(function () {
810
- if (!self._tableAlias) {
811
- self._tableAlias = "__exists__";
829
+ const sourceAlias = self._tableAlias || (self._parent ? self._parent.TableAlias : "__exists__");
830
+ if (sourceAlias === undefined) {
831
+ sourcePKey = `\`${self._model.getModelDescriptor().PrimaryKey}\``;
832
+ }
833
+ else {
834
+ sourcePKey = `\`${sourceAlias}\`.\`${self._model.getModelDescriptor().PrimaryKey}\``;
812
835
  }
813
- sourcePKey = `\`${self._tableAlias}\`.\`${self._model.getModelDescriptor().PrimaryKey}\``;
814
836
  relQuery.where(new RawQuery(`${rel.ForeignKey} = ${sourcePKey}`));
815
837
  }));
816
838
  if (callback) {
@@ -821,10 +843,13 @@ let WhereBuilder = WhereBuilder_1 = class WhereBuilder {
821
843
  case interfaces_js_1.RelationType.ManyToMany:
822
844
  relQuery = rel.JunctionModel.query();
823
845
  relQuery.where(util_1.Lazy.oF(function () {
824
- if (!self._tableAlias) {
825
- self._tableAlias = "__exists__";
846
+ const sourceAlias = self._tableAlias || (self._parent ? self._parent.TableAlias : "__exists__");
847
+ if (sourceAlias === undefined) {
848
+ sourcePKey = `\`${self._model.getModelDescriptor().PrimaryKey}\``;
849
+ }
850
+ else {
851
+ sourcePKey = `\`${sourceAlias}\`.\`${self._model.getModelDescriptor().PrimaryKey}\``;
826
852
  }
827
- sourcePKey = `\`${self._tableAlias}\`.\`${self._model.getModelDescriptor().PrimaryKey}\``;
828
853
  relQuery.where(new RawQuery(`${rel.JunctionModelSourceModelFKey_Name} = ${sourcePKey}`));
829
854
  }));
830
855
  relQuery.rightJoin({
@@ -933,7 +958,7 @@ let SelectQueryBuilder = SelectQueryBuilder_1 = class SelectQueryBuilder extends
933
958
  _getRelationInstance(relation) {
934
959
  let relInstance = this._relations.find((r) => r.Name === relation);
935
960
  if (!relInstance) {
936
- const descriptor = (0, model_js_1.extractModelDescriptor)(this._model);
961
+ const descriptor = (0, descriptor_js_1.extractModelDescriptor)(this._model);
937
962
  let rDescriptor = null;
938
963
  for (const [key, value] of descriptor.Relations) {
939
964
  if (key.toLowerCase() === relation.toLowerCase().trim()) {
@@ -973,6 +998,15 @@ let SelectQueryBuilder = SelectQueryBuilder_1 = class SelectQueryBuilder extends
973
998
  if (!relation) {
974
999
  return this;
975
1000
  }
1001
+ if ((0, di_1.isConstructor)(relation)) {
1002
+ const descriptor = (0, descriptor_js_1.extractModelDescriptor)(this._model);
1003
+ const relations = descriptor.Relations;
1004
+ const rel = relations.values().find((r) => r.TargetModel === relation);
1005
+ if (!rel) {
1006
+ throw new exceptions_1.InvalidArgument(`Cannot find relation for model ${relation.name} in model ${this._model ? this._model.name : 'undefined'}`);
1007
+ }
1008
+ return this.populate(rel.Name, callback);
1009
+ }
976
1010
  if (Array.isArray(relation)) {
977
1011
  relation.forEach((x) => this.populate(x, callback));
978
1012
  return this;
@@ -1031,7 +1065,11 @@ let SelectQueryBuilder = SelectQueryBuilder_1 = class SelectQueryBuilder extends
1031
1065
  const a = as ?? 'count';
1032
1066
  this.clearColumns();
1033
1067
  this._columns.push(this._container.resolve(statements_js_1.ColumnMethodStatement, [c, enums_js_1.ColumnMethods.COUNT, a, this._tableAlias]));
1034
- return this.takeFirst()
1068
+ return this;
1069
+ }
1070
+ selectCount(column, as) {
1071
+ const a = as ?? 'count';
1072
+ return this.count(column, as).takeFirst()
1035
1073
  .asRaw()
1036
1074
  .then((x) => x ? x[a] : 0);
1037
1075
  }
@@ -1102,7 +1140,7 @@ __decorate([
1102
1140
  ], SelectQueryBuilder.prototype, "this", void 0);
1103
1141
  exports.SelectQueryBuilder = SelectQueryBuilder = SelectQueryBuilder_1 = __decorate([
1104
1142
  (0, di_1.Injectable)(SelectQueryBuilder),
1105
- __metadata("design:paramtypes", [Object, driver_js_1.OrmDriver, Object, Object])
1143
+ __metadata("design:paramtypes", [Object, Function, Object, Object])
1106
1144
  ], SelectQueryBuilder);
1107
1145
  class SelectQueryBuilderC extends SelectQueryBuilder {
1108
1146
  }
@@ -1132,7 +1170,7 @@ __decorate([
1132
1170
  ], DeleteQueryBuilder.prototype, "this", void 0);
1133
1171
  exports.DeleteQueryBuilder = DeleteQueryBuilder = __decorate([
1134
1172
  (0, di_1.NewInstance)(),
1135
- __metadata("design:paramtypes", [di_1.Container, driver_js_1.OrmDriver, Object])
1173
+ __metadata("design:paramtypes", [di_1.Container, Function, Object])
1136
1174
  ], DeleteQueryBuilder);
1137
1175
  let OnDuplicateQueryBuilder = class OnDuplicateQueryBuilder {
1138
1176
  constructor(container, insertQueryBuilder, column, returning) {
@@ -1200,7 +1238,7 @@ __decorate([
1200
1238
  ], UpdateQueryBuilder.prototype, "this", void 0);
1201
1239
  exports.UpdateQueryBuilder = UpdateQueryBuilder = __decorate([
1202
1240
  (0, di_1.NewInstance)(),
1203
- __metadata("design:paramtypes", [di_1.Container, driver_js_1.OrmDriver, Object])
1241
+ __metadata("design:paramtypes", [di_1.Container, Function, Object])
1204
1242
  ], UpdateQueryBuilder);
1205
1243
  let InsertQueryBuilder = class InsertQueryBuilder extends QueryBuilder {
1206
1244
  get Values() {
@@ -1272,7 +1310,7 @@ let InsertQueryBuilder = class InsertQueryBuilder extends QueryBuilder {
1272
1310
  onDuplicate(column) {
1273
1311
  let columnToCheck = column;
1274
1312
  if (!columnToCheck && this._model) {
1275
- const dsc = (0, model_js_1.extractModelDescriptor)(this._model);
1313
+ const dsc = (0, descriptor_js_1.extractModelDescriptor)(this._model);
1276
1314
  columnToCheck = dsc.Columns.filter((c) => c.Unique).map((c) => c.Name);
1277
1315
  }
1278
1316
  this._update = true;
@@ -1291,7 +1329,7 @@ __decorate([
1291
1329
  ], InsertQueryBuilder.prototype, "this", void 0);
1292
1330
  exports.InsertQueryBuilder = InsertQueryBuilder = __decorate([
1293
1331
  (0, di_1.NewInstance)(),
1294
- __metadata("design:paramtypes", [di_1.Container, driver_js_1.OrmDriver, Object])
1332
+ __metadata("design:paramtypes", [di_1.Container, Function, Object])
1295
1333
  ], InsertQueryBuilder);
1296
1334
  let IndexQueryBuilder = class IndexQueryBuilder extends Builder {
1297
1335
  constructor(container, driver) {
@@ -1322,7 +1360,7 @@ exports.IndexQueryBuilder = IndexQueryBuilder;
1322
1360
  exports.IndexQueryBuilder = IndexQueryBuilder = __decorate([
1323
1361
  (0, di_1.NewInstance)(),
1324
1362
  (0, di_1.Inject)(di_1.Container),
1325
- __metadata("design:paramtypes", [di_1.Container, driver_js_1.OrmDriver])
1363
+ __metadata("design:paramtypes", [di_1.Container, Function])
1326
1364
  ], IndexQueryBuilder);
1327
1365
  let ForeignKeyBuilder = class ForeignKeyBuilder {
1328
1366
  constructor() {
@@ -1487,7 +1525,7 @@ let TableExistsQueryBuilder = class TableExistsQueryBuilder extends QueryBuilder
1487
1525
  exports.TableExistsQueryBuilder = TableExistsQueryBuilder;
1488
1526
  exports.TableExistsQueryBuilder = TableExistsQueryBuilder = __decorate([
1489
1527
  (0, di_1.NewInstance)(),
1490
- __metadata("design:paramtypes", [di_1.Container, driver_js_1.OrmDriver, String])
1528
+ __metadata("design:paramtypes", [di_1.Container, Function, String])
1491
1529
  ], TableExistsQueryBuilder);
1492
1530
  let DropTableQueryBuilder = class DropTableQueryBuilder extends QueryBuilder {
1493
1531
  constructor(container, driver, name, database) {
@@ -1510,7 +1548,7 @@ let DropTableQueryBuilder = class DropTableQueryBuilder extends QueryBuilder {
1510
1548
  exports.DropTableQueryBuilder = DropTableQueryBuilder;
1511
1549
  exports.DropTableQueryBuilder = DropTableQueryBuilder = __decorate([
1512
1550
  (0, di_1.NewInstance)(),
1513
- __metadata("design:paramtypes", [di_1.Container, driver_js_1.OrmDriver, String, String])
1551
+ __metadata("design:paramtypes", [di_1.Container, Function, String, String])
1514
1552
  ], DropTableQueryBuilder);
1515
1553
  let AlterTableQueryBuilder = class AlterTableQueryBuilder extends QueryBuilder {
1516
1554
  get Columns() {
@@ -1541,7 +1579,7 @@ let AlterTableQueryBuilder = class AlterTableQueryBuilder extends QueryBuilder {
1541
1579
  exports.AlterTableQueryBuilder = AlterTableQueryBuilder;
1542
1580
  exports.AlterTableQueryBuilder = AlterTableQueryBuilder = __decorate([
1543
1581
  (0, di_1.NewInstance)(),
1544
- __metadata("design:paramtypes", [di_1.Container, driver_js_1.OrmDriver, String])
1582
+ __metadata("design:paramtypes", [di_1.Container, Function, String])
1545
1583
  ], AlterTableQueryBuilder);
1546
1584
  let TableQueryBuilder = class TableQueryBuilder extends QueryBuilder {
1547
1585
  /**
@@ -1617,7 +1655,7 @@ let TableQueryBuilder = class TableQueryBuilder extends QueryBuilder {
1617
1655
  exports.TableQueryBuilder = TableQueryBuilder;
1618
1656
  exports.TableQueryBuilder = TableQueryBuilder = __decorate([
1619
1657
  (0, di_1.NewInstance)(),
1620
- __metadata("design:paramtypes", [di_1.Container, driver_js_1.OrmDriver, String])
1658
+ __metadata("design:paramtypes", [di_1.Container, Function, String])
1621
1659
  ], TableQueryBuilder);
1622
1660
  let TruncateTableQueryBuilder = class TruncateTableQueryBuilder extends QueryBuilder {
1623
1661
  constructor(container, driver) {
@@ -1633,7 +1671,7 @@ exports.TruncateTableQueryBuilder = TruncateTableQueryBuilder;
1633
1671
  exports.TruncateTableQueryBuilder = TruncateTableQueryBuilder = __decorate([
1634
1672
  (0, di_1.NewInstance)(),
1635
1673
  (0, di_1.Inject)(di_1.Container),
1636
- __metadata("design:paramtypes", [di_1.Container, driver_js_1.OrmDriver])
1674
+ __metadata("design:paramtypes", [di_1.Container, Function])
1637
1675
  ], TruncateTableQueryBuilder);
1638
1676
  let CloneTableQueryBuilder = class CloneTableQueryBuilder extends QueryBuilder {
1639
1677
  get CloneSource() {
@@ -1694,7 +1732,7 @@ exports.CloneTableQueryBuilder = CloneTableQueryBuilder;
1694
1732
  exports.CloneTableQueryBuilder = CloneTableQueryBuilder = __decorate([
1695
1733
  (0, di_1.NewInstance)(),
1696
1734
  (0, di_1.Inject)(di_1.Container),
1697
- __metadata("design:paramtypes", [di_1.Container, driver_js_1.OrmDriver])
1735
+ __metadata("design:paramtypes", [di_1.Container, Function])
1698
1736
  ], CloneTableQueryBuilder);
1699
1737
  class EventIntervalDesc {
1700
1738
  second(s) {
@@ -1776,7 +1814,7 @@ exports.EventQueryBuilder = EventQueryBuilder;
1776
1814
  exports.EventQueryBuilder = EventQueryBuilder = __decorate([
1777
1815
  (0, di_1.NewInstance)(),
1778
1816
  (0, di_1.Inject)(di_1.Container),
1779
- __metadata("design:paramtypes", [di_1.Container, driver_js_1.OrmDriver, String])
1817
+ __metadata("design:paramtypes", [di_1.Container, Function, String])
1780
1818
  ], EventQueryBuilder);
1781
1819
  let DropEventQueryBuilder = class DropEventQueryBuilder extends QueryBuilder {
1782
1820
  constructor(container, driver, Name) {
@@ -1793,7 +1831,7 @@ exports.DropEventQueryBuilder = DropEventQueryBuilder;
1793
1831
  exports.DropEventQueryBuilder = DropEventQueryBuilder = __decorate([
1794
1832
  (0, di_1.NewInstance)(),
1795
1833
  (0, di_1.Inject)(di_1.Container),
1796
- __metadata("design:paramtypes", [di_1.Container, driver_js_1.OrmDriver, String])
1834
+ __metadata("design:paramtypes", [di_1.Container, Function, String])
1797
1835
  ], DropEventQueryBuilder);
1798
1836
  /**
1799
1837
  * Creates schedule job in database engine.
@@ -1818,7 +1856,7 @@ exports.ScheduleQueryBuilder = ScheduleQueryBuilder;
1818
1856
  exports.ScheduleQueryBuilder = ScheduleQueryBuilder = __decorate([
1819
1857
  (0, di_1.NewInstance)(),
1820
1858
  (0, di_1.Inject)(di_1.Container),
1821
- __metadata("design:paramtypes", [di_1.Container, driver_js_1.OrmDriver])
1859
+ __metadata("design:paramtypes", [di_1.Container, Function])
1822
1860
  ], ScheduleQueryBuilder);
1823
1861
  let SchemaQueryBuilder = class SchemaQueryBuilder {
1824
1862
  constructor(container, driver) {
@@ -1862,7 +1900,7 @@ exports.SchemaQueryBuilder = SchemaQueryBuilder;
1862
1900
  exports.SchemaQueryBuilder = SchemaQueryBuilder = __decorate([
1863
1901
  (0, di_1.NewInstance)(),
1864
1902
  (0, di_1.Inject)(di_1.Container),
1865
- __metadata("design:paramtypes", [di_1.Container, driver_js_1.OrmDriver])
1903
+ __metadata("design:paramtypes", [di_1.Container, Function])
1866
1904
  ], SchemaQueryBuilder);
1867
1905
  Object.values(enums_js_1.ColumnType).forEach((type) => {
1868
1906
  TableQueryBuilder.prototype[type] = function (name, ...args) {
@@ -1878,4 +1916,52 @@ Object.values(enums_js_1.ColumnType).forEach((type) => {
1878
1916
  return _builder;
1879
1917
  };
1880
1918
  });
1919
+ function _descriptor(model) {
1920
+ return (0, descriptor_js_1.extractModelDescriptor)(model);
1921
+ }
1922
+ /**
1923
+ * Helper function to create query based on model
1924
+ *
1925
+ * @param model - source model for query
1926
+ * @param query - query class
1927
+ * @param injectModel - should inject model information into query, if not, query will return raw data
1928
+ *
1929
+ * @returns
1930
+ */
1931
+ function createQuery(model, query, injectModel = true) {
1932
+ const dsc = _descriptor(model);
1933
+ if (!dsc) {
1934
+ throw new Error(`model ${model.name} does not have model descriptor. Use @model decorator on class`);
1935
+ }
1936
+ const driver = di_1.DI.resolve('OrmConnection', [dsc.Connection]);
1937
+ if (!driver) {
1938
+ throw new Error(`model ${model.name} have invalid connection ${dsc.Connection}, please check your db config file or model connection name`);
1939
+ }
1940
+ const cnt = driver.Container;
1941
+ const models = di_1.DI.getRegisteredTypes('__models__');
1942
+ const qr = cnt.resolve(query, [driver, injectModel ? models.find((x) => x.name === model.name) : null]);
1943
+ if (qr instanceof SelectQueryBuilder) {
1944
+ const scope = model._queryScopes;
1945
+ if (scope) {
1946
+ Object.getOwnPropertyNames(scope.__proto__)
1947
+ .filter((x) => x !== 'constructor')
1948
+ .forEach(function (property) {
1949
+ if (typeof scope[property] === 'function') {
1950
+ qr[property] = scope[property].bind(qr);
1951
+ }
1952
+ });
1953
+ }
1954
+ }
1955
+ qr.middleware(new discrimination_middleware_js_1.DiscriminationMapMiddleware(dsc));
1956
+ qr.setTable(dsc.TableName);
1957
+ if (driver.Options.Database) {
1958
+ qr.database(driver.Options.Database);
1959
+ }
1960
+ return {
1961
+ query: qr,
1962
+ description: dsc,
1963
+ model,
1964
+ container: driver.Container,
1965
+ };
1966
+ }
1881
1967
  //# sourceMappingURL=builders.js.map