@loopback/repository 2.5.1 → 2.9.0

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 (81) hide show
  1. package/CHANGELOG.md +57 -0
  2. package/dist/decorators/metadata.d.ts +1 -1
  3. package/dist/decorators/metadata.js +6 -6
  4. package/dist/decorators/metadata.js.map +1 -1
  5. package/dist/decorators/model.decorator.d.ts +1 -1
  6. package/dist/decorators/model.decorator.js +10 -10
  7. package/dist/decorators/model.decorator.js.map +1 -1
  8. package/dist/decorators/repository.decorator.js +4 -4
  9. package/dist/decorators/repository.decorator.js.map +1 -1
  10. package/dist/define-model-class.d.ts +2 -2
  11. package/dist/mixins/repository.mixin.d.ts +82 -43
  12. package/dist/mixins/repository.mixin.js +52 -15
  13. package/dist/mixins/repository.mixin.js.map +1 -1
  14. package/dist/model.js +3 -2
  15. package/dist/model.js.map +1 -1
  16. package/dist/query.d.ts +30 -0
  17. package/dist/query.js +50 -0
  18. package/dist/query.js.map +1 -1
  19. package/dist/relations/belongs-to/belongs-to.decorator.js +2 -2
  20. package/dist/relations/belongs-to/belongs-to.decorator.js.map +1 -1
  21. package/dist/relations/belongs-to/belongs-to.repository.d.ts +1 -1
  22. package/dist/relations/has-many/has-many-through-repository.factory.d.ts +11 -0
  23. package/dist/relations/has-many/has-many-through-repository.factory.js +28 -0
  24. package/dist/relations/has-many/has-many-through-repository.factory.js.map +1 -0
  25. package/dist/relations/has-many/has-many-through.helpers.d.ts +87 -14
  26. package/dist/relations/has-many/has-many-through.helpers.js +114 -20
  27. package/dist/relations/has-many/has-many-through.helpers.js.map +1 -1
  28. package/dist/relations/has-many/has-many-through.repository.d.ts +38 -2
  29. package/dist/relations/has-many/has-many-through.repository.js +71 -0
  30. package/dist/relations/has-many/has-many-through.repository.js.map +1 -1
  31. package/dist/relations/has-many/has-many.helpers.js +3 -2
  32. package/dist/relations/has-many/has-many.helpers.js.map +1 -1
  33. package/dist/relations/has-many/has-many.repository.d.ts +1 -1
  34. package/dist/relations/has-many/index.d.ts +4 -2
  35. package/dist/relations/has-many/index.js +4 -2
  36. package/dist/relations/has-many/index.js.map +1 -1
  37. package/dist/relations/has-one/has-one.helpers.js +2 -1
  38. package/dist/relations/has-one/has-one.helpers.js.map +1 -1
  39. package/dist/relations/has-one/has-one.repository.d.ts +1 -1
  40. package/dist/relations/relation.decorator.js +7 -7
  41. package/dist/relations/relation.decorator.js.map +1 -1
  42. package/dist/relations/relation.types.d.ts +1 -1
  43. package/dist/relations/relation.types.js +2 -2
  44. package/dist/relations/relation.types.js.map +1 -1
  45. package/dist/repositories/constraint-utils.d.ts +10 -0
  46. package/dist/repositories/constraint-utils.js +16 -1
  47. package/dist/repositories/constraint-utils.js.map +1 -1
  48. package/dist/repositories/legacy-juggler-bridge.d.ts +33 -2
  49. package/dist/repositories/legacy-juggler-bridge.js +34 -0
  50. package/dist/repositories/legacy-juggler-bridge.js.map +1 -1
  51. package/dist/type-resolver.js +2 -1
  52. package/dist/type-resolver.js.map +1 -1
  53. package/dist/types/index.js +1 -1
  54. package/dist/types/index.js.map +1 -1
  55. package/dist/types/null.js +1 -1
  56. package/dist/types/null.js.map +1 -1
  57. package/package.json +14 -12
  58. package/src/decorators/metadata.ts +1 -1
  59. package/src/decorators/model.decorator.ts +1 -1
  60. package/src/decorators/repository.decorator.ts +1 -1
  61. package/src/define-model-class.ts +2 -2
  62. package/src/mixins/repository.mixin.ts +70 -41
  63. package/src/model.ts +2 -2
  64. package/src/query.ts +55 -0
  65. package/src/relations/belongs-to/belongs-to.decorator.ts +1 -1
  66. package/src/relations/belongs-to/belongs-to.repository.ts +1 -1
  67. package/src/relations/has-many/has-many-through-repository.factory.ts +100 -0
  68. package/src/relations/has-many/has-many-through.helpers.ts +138 -21
  69. package/src/relations/has-many/has-many-through.repository.ts +174 -2
  70. package/src/relations/has-many/has-many.helpers.ts +2 -3
  71. package/src/relations/has-many/has-many.repository.ts +1 -1
  72. package/src/relations/has-many/index.ts +4 -2
  73. package/src/relations/has-one/has-one.helpers.ts +1 -2
  74. package/src/relations/has-one/has-one.repository.ts +1 -1
  75. package/src/relations/relation.decorator.ts +2 -2
  76. package/src/relations/relation.types.ts +1 -1
  77. package/src/repositories/constraint-utils.ts +17 -0
  78. package/src/repositories/legacy-juggler-bridge.ts +59 -1
  79. package/src/type-resolver.ts +2 -1
  80. package/src/types/index.ts +1 -1
  81. package/src/types/null.ts +1 -1
package/CHANGELOG.md CHANGED
@@ -3,6 +3,63 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [2.9.0](https://github.com/strongloop/loopback-next/compare/@loopback/repository@2.8.0...@loopback/repository@2.9.0) (2020-06-30)
7
+
8
+
9
+ ### Features
10
+
11
+ * add HasManyThroughFactory to Juggler bridge ([c2d4352](https://github.com/strongloop/loopback-next/commit/c2d43524be4fd1345970b29e722e57890f2ea766))
12
+ * **repository:** add link and unlink methods ([31dc4e9](https://github.com/strongloop/loopback-next/commit/31dc4e989ae981732fa43f7f48dfb8f19d5ac796))
13
+
14
+
15
+
16
+
17
+
18
+ # [2.8.0](https://github.com/strongloop/loopback-next/compare/@loopback/repository@2.7.0...@loopback/repository@2.8.0) (2020-06-23)
19
+
20
+
21
+ ### Bug Fixes
22
+
23
+ * set node version to >=10.16 to support events.once ([e39da1c](https://github.com/strongloop/loopback-next/commit/e39da1ca47728eafaf83c10ce35b09b03b6a4edc))
24
+
25
+
26
+ ### Features
27
+
28
+ * **repository:** implement hasManyThrough repo ([ecd2780](https://github.com/strongloop/loopback-next/commit/ecd2780c034e902e72905f0bbefe3a6fe08c3a2c))
29
+
30
+
31
+
32
+
33
+
34
+ # [2.7.0](https://github.com/strongloop/loopback-next/compare/@loopback/repository@2.6.0...@loopback/repository@2.7.0) (2020-06-11)
35
+
36
+
37
+ ### Bug Fixes
38
+
39
+ * **repository:** fix DynamicModelCtor type to correctly preserve Props ([927789e](https://github.com/strongloop/loopback-next/commit/927789e254f4db7945201609683ae83a18f1c48d))
40
+
41
+
42
+ ### Features
43
+
44
+ * **repository:** add hasManyThrough factory and tests ([3304963](https://github.com/strongloop/loopback-next/commit/33049634e2320cd30e5f9403e03db17000dd49cd))
45
+ * **repository:** add more helpers for HasManyThrough ([c795544](https://github.com/strongloop/loopback-next/commit/c7955446c38b2dfd0d064eb6fa4d90a7f76283a2))
46
+ * **repository:** adds fuzzy where filters to WhereBuilder ([7f79805](https://github.com/strongloop/loopback-next/commit/7f798052b33077b12ae2becb5c42453800aa54aa)), closes [#5577](https://github.com/strongloop/loopback-next/issues/5577)
47
+
48
+
49
+
50
+
51
+
52
+ # [2.6.0](https://github.com/strongloop/loopback-next/compare/@loopback/repository@2.5.1...@loopback/repository@2.6.0) (2020-05-28)
53
+
54
+
55
+ ### Features
56
+
57
+ * **repository:** allow components to contribute models for DI ([e74fc57](https://github.com/strongloop/loopback-next/commit/e74fc5725a52227a4cf37ae7d2796df0f5288142))
58
+
59
+
60
+
61
+
62
+
6
63
  ## [2.5.1](https://github.com/strongloop/loopback-next/compare/@loopback/repository@2.5.0...@loopback/repository@2.5.1) (2020-05-20)
7
64
 
8
65
  **Note:** Version bump only for package @loopback/repository
@@ -1,4 +1,4 @@
1
- import { InspectionOptions } from '@loopback/context';
1
+ import { InspectionOptions } from '@loopback/core';
2
2
  import { ModelDefinition } from '../model';
3
3
  export declare class ModelMetadataHelper {
4
4
  /**
@@ -5,7 +5,7 @@
5
5
  // License text available at https://opensource.org/licenses/MIT
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
7
  exports.ModelMetadataHelper = void 0;
8
- const context_1 = require("@loopback/context");
8
+ const core_1 = require("@loopback/core");
9
9
  const model_1 = require("../model");
10
10
  const relations_1 = require("../relations");
11
11
  const model_decorator_1 = require("./model.decorator");
@@ -18,7 +18,7 @@ class ModelMetadataHelper {
18
18
  * the output of the metadata retrieval functions.
19
19
  */
20
20
  static getModelMetadata(target, options) {
21
- const classDef = context_1.MetadataInspector.getClassMetadata(model_decorator_1.MODEL_WITH_PROPERTIES_KEY, target,
21
+ const classDef = core_1.MetadataInspector.getClassMetadata(model_decorator_1.MODEL_WITH_PROPERTIES_KEY, target,
22
22
  // https://github.com/strongloop/loopback-next/issues/4721
23
23
  // The `target` can be a subclass for a base model
24
24
  { ...options, ownMetadataOnly: true });
@@ -29,7 +29,7 @@ class ModelMetadataHelper {
29
29
  return classDef;
30
30
  }
31
31
  else {
32
- const modelMeta = context_1.MetadataInspector.getClassMetadata(model_decorator_1.MODEL_KEY, target, options);
32
+ const modelMeta = core_1.MetadataInspector.getClassMetadata(model_decorator_1.MODEL_KEY, target, options);
33
33
  if (!modelMeta) {
34
34
  return {};
35
35
  }
@@ -39,9 +39,9 @@ class ModelMetadataHelper {
39
39
  const meta = new model_1.ModelDefinition(Object.assign({}, modelMeta));
40
40
  // set properties lost from creating instance of ModelDefinition
41
41
  Object.assign(meta, modelMeta);
42
- meta.properties = Object.assign({}, context_1.MetadataInspector.getAllPropertyMetadata(model_decorator_1.MODEL_PROPERTIES_KEY, target.prototype, options));
43
- meta.relations = Object.assign({}, context_1.MetadataInspector.getAllPropertyMetadata(relations_1.RELATIONS_KEY, target.prototype, options));
44
- context_1.MetadataInspector.defineMetadata(model_decorator_1.MODEL_WITH_PROPERTIES_KEY.key, meta, target);
42
+ meta.properties = Object.assign({}, core_1.MetadataInspector.getAllPropertyMetadata(model_decorator_1.MODEL_PROPERTIES_KEY, target.prototype, options));
43
+ meta.relations = Object.assign({}, core_1.MetadataInspector.getAllPropertyMetadata(relations_1.RELATIONS_KEY, target.prototype, options));
44
+ core_1.MetadataInspector.defineMetadata(model_decorator_1.MODEL_WITH_PROPERTIES_KEY.key, meta, target);
45
45
  return meta;
46
46
  }
47
47
  }
@@ -1 +1 @@
1
- {"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../src/decorators/metadata.ts"],"names":[],"mappings":";AAAA,sDAAsD;AACtD,oCAAoC;AACpC,+CAA+C;AAC/C,gEAAgE;;;AAEhE,+CAAuE;AACvE,oCAAgE;AAChE,4CAA2C;AAC3C,uDAK2B;AAE3B,MAAa,mBAAmB;IAC9B;;;;;;OAMG;IACH,MAAM,CAAC,gBAAgB,CACrB,MAAgB,EAChB,OAA2B;QAE3B,MAAM,QAAQ,GAAG,2BAAiB,CAAC,gBAAgB,CACjD,2CAAyB,EACzB,MAAM;QACN,0DAA0D;QAC1D,kDAAkD;QAClD,EAAC,GAAG,OAAO,EAAE,eAAe,EAAE,IAAI,EAAC,CACpC,CAAC;QACF,yCAAyC;QACzC,uEAAuE;QACvE,iEAAiE;QACjE,IAAI,QAAQ,EAAE;YACZ,OAAO,QAAQ,CAAC;SACjB;aAAM;YACL,MAAM,SAAS,GAAG,2BAAiB,CAAC,gBAAgB,CAClD,2BAAS,EACT,MAAM,EACN,OAAO,CACR,CAAC;YACF,IAAI,CAAC,SAAS,EAAE;gBACd,OAAO,EAAE,CAAC;aACX;iBAAM;gBACL,sEAAsE;gBAEtE,6DAA6D;gBAC7D,MAAM,IAAI,GAAG,IAAI,uBAAe,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC;gBAE/D,gEAAgE;gBAChE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;gBAE/B,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,CAChB,EAAE,EACf,2BAAiB,CAAC,sBAAsB,CACtC,sCAAoB,EACpB,MAAM,CAAC,SAAS,EAChB,OAAO,CACR,CACF,CAAC;gBAEF,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,MAAM,CACL,EAAE,EACzB,2BAAiB,CAAC,sBAAsB,CACtC,yBAAa,EACb,MAAM,CAAC,SAAS,EAChB,OAAO,CACR,CACF,CAAC;gBAEF,2BAAiB,CAAC,cAAc,CAC9B,2CAAyB,CAAC,GAAG,EAC7B,IAAI,EACJ,MAAM,CACP,CAAC;gBACF,OAAO,IAAI,CAAC;aACb;SACF;IACH,CAAC;CACF;AApED,kDAoEC"}
1
+ {"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../src/decorators/metadata.ts"],"names":[],"mappings":";AAAA,sDAAsD;AACtD,oCAAoC;AACpC,+CAA+C;AAC/C,gEAAgE;;;AAEhE,yCAAoE;AACpE,oCAAgE;AAChE,4CAA2C;AAC3C,uDAK2B;AAE3B,MAAa,mBAAmB;IAC9B;;;;;;OAMG;IACH,MAAM,CAAC,gBAAgB,CACrB,MAAgB,EAChB,OAA2B;QAE3B,MAAM,QAAQ,GAAG,wBAAiB,CAAC,gBAAgB,CACjD,2CAAyB,EACzB,MAAM;QACN,0DAA0D;QAC1D,kDAAkD;QAClD,EAAC,GAAG,OAAO,EAAE,eAAe,EAAE,IAAI,EAAC,CACpC,CAAC;QACF,yCAAyC;QACzC,uEAAuE;QACvE,iEAAiE;QACjE,IAAI,QAAQ,EAAE;YACZ,OAAO,QAAQ,CAAC;SACjB;aAAM;YACL,MAAM,SAAS,GAAG,wBAAiB,CAAC,gBAAgB,CAClD,2BAAS,EACT,MAAM,EACN,OAAO,CACR,CAAC;YACF,IAAI,CAAC,SAAS,EAAE;gBACd,OAAO,EAAE,CAAC;aACX;iBAAM;gBACL,sEAAsE;gBAEtE,6DAA6D;gBAC7D,MAAM,IAAI,GAAG,IAAI,uBAAe,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC;gBAE/D,gEAAgE;gBAChE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;gBAE/B,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,CAChB,EAAE,EACf,wBAAiB,CAAC,sBAAsB,CACtC,sCAAoB,EACpB,MAAM,CAAC,SAAS,EAChB,OAAO,CACR,CACF,CAAC;gBAEF,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,MAAM,CACL,EAAE,EACzB,wBAAiB,CAAC,sBAAsB,CACtC,yBAAa,EACb,MAAM,CAAC,SAAS,EAChB,OAAO,CACR,CACF,CAAC;gBAEF,wBAAiB,CAAC,cAAc,CAC9B,2CAAyB,CAAC,GAAG,EAC7B,IAAI,EACJ,MAAM,CACP,CAAC;gBACF,OAAO,IAAI,CAAC;aACb;SACF;IACH,CAAC;CACF;AApED,kDAoEC"}
@@ -1,4 +1,4 @@
1
- import { MetadataAccessor, MetadataMap } from '@loopback/context';
1
+ import { MetadataAccessor, MetadataMap } from '@loopback/core';
2
2
  import { ModelDefinition, ModelDefinitionSyntax, PropertyDefinition, PropertyType } from '../model';
3
3
  export declare const MODEL_KEY: MetadataAccessor<Partial<ModelDefinitionSyntax>, ClassDecorator>;
4
4
  export declare const MODEL_PROPERTIES_KEY: MetadataAccessor<PropertyDefinition, PropertyDecorator>;
@@ -5,12 +5,12 @@
5
5
  // License text available at https://opensource.org/licenses/MIT
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
7
  exports.property = exports.buildModelDefinition = exports.model = exports.MODEL_WITH_PROPERTIES_KEY = exports.MODEL_PROPERTIES_KEY = exports.MODEL_KEY = void 0;
8
- const context_1 = require("@loopback/context");
8
+ const core_1 = require("@loopback/core");
9
9
  const model_1 = require("../model");
10
10
  const relation_decorator_1 = require("../relations/relation.decorator");
11
- exports.MODEL_KEY = context_1.MetadataAccessor.create('loopback:model');
12
- exports.MODEL_PROPERTIES_KEY = context_1.MetadataAccessor.create('loopback:model-properties');
13
- exports.MODEL_WITH_PROPERTIES_KEY = context_1.MetadataAccessor.create('loopback:model-and-properties');
11
+ exports.MODEL_KEY = core_1.MetadataAccessor.create('loopback:model');
12
+ exports.MODEL_PROPERTIES_KEY = core_1.MetadataAccessor.create('loopback:model-properties');
13
+ exports.MODEL_WITH_PROPERTIES_KEY = core_1.MetadataAccessor.create('loopback:model-and-properties');
14
14
  /**
15
15
  * Decorator for model definitions
16
16
  * @param definition
@@ -23,7 +23,7 @@ function model(definition) {
23
23
  const def = Object.assign(definition, {
24
24
  name: (_a = definition.name) !== null && _a !== void 0 ? _a : target.name,
25
25
  });
26
- const decorator = context_1.ClassDecoratorFactory.createDecorator(exports.MODEL_KEY, definition, { decoratorName: '@model' });
26
+ const decorator = core_1.ClassDecoratorFactory.createDecorator(exports.MODEL_KEY, definition, { decoratorName: '@model' });
27
27
  decorator(target);
28
28
  // Build "ModelDefinition" and store it on model constructor
29
29
  buildModelDefinition(target, def);
@@ -48,17 +48,17 @@ function buildModelDefinition(target, def) {
48
48
  }
49
49
  const modelDef = new model_1.ModelDefinition(def !== null && def !== void 0 ? def : { name: target.name });
50
50
  const prototype = target.prototype;
51
- const propertyMap = (_a = context_1.MetadataInspector.getAllPropertyMetadata(exports.MODEL_PROPERTIES_KEY, prototype)) !== null && _a !== void 0 ? _a : {};
51
+ const propertyMap = (_a = core_1.MetadataInspector.getAllPropertyMetadata(exports.MODEL_PROPERTIES_KEY, prototype)) !== null && _a !== void 0 ? _a : {};
52
52
  for (const p in propertyMap) {
53
53
  const propertyDef = propertyMap[p];
54
- const designType = context_1.MetadataInspector.getDesignTypeForProperty(prototype, p);
54
+ const designType = core_1.MetadataInspector.getDesignTypeForProperty(prototype, p);
55
55
  if (!propertyDef.type) {
56
56
  propertyDef.type = designType;
57
57
  }
58
58
  modelDef.addProperty(p, propertyDef);
59
59
  }
60
60
  target.definition = modelDef;
61
- const relationMeta = (_b = context_1.MetadataInspector.getAllPropertyMetadata(relation_decorator_1.RELATIONS_KEY, prototype)) !== null && _b !== void 0 ? _b : {};
61
+ const relationMeta = (_b = core_1.MetadataInspector.getAllPropertyMetadata(relation_decorator_1.RELATIONS_KEY, prototype)) !== null && _b !== void 0 ? _b : {};
62
62
  const relations = {};
63
63
  // Build an object keyed by relation names
64
64
  Object.values(relationMeta).forEach(r => {
@@ -74,7 +74,7 @@ exports.buildModelDefinition = buildModelDefinition;
74
74
  * @returns A property decorator
75
75
  */
76
76
  function property(definition) {
77
- return context_1.PropertyDecoratorFactory.createDecorator(exports.MODEL_PROPERTIES_KEY, Object.assign({}, definition), { decoratorName: '@property' });
77
+ return core_1.PropertyDecoratorFactory.createDecorator(exports.MODEL_PROPERTIES_KEY, Object.assign({}, definition), { decoratorName: '@property' });
78
78
  }
79
79
  exports.property = property;
80
80
  (function (property) {
@@ -89,7 +89,7 @@ exports.property = property;
89
89
  */
90
90
  function array(itemType, definition) {
91
91
  return function (target, propertyName) {
92
- const propType = context_1.MetadataInspector.getDesignTypeForProperty(target, propertyName);
92
+ const propType = core_1.MetadataInspector.getDesignTypeForProperty(target, propertyName);
93
93
  if (propType !== Array) {
94
94
  throw new Error(property.ERR_PROP_NOT_ARRAY);
95
95
  }
@@ -1 +1 @@
1
- {"version":3,"file":"model.decorator.js","sourceRoot":"","sources":["../../src/decorators/model.decorator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model.decorator.js","sourceRoot":"","sources":["../../src/decorators/model.decorator.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
7
  exports.repository = exports.RepositoryMetadata = void 0;
8
8
  const tslib_1 = require("tslib");
9
- const context_1 = require("@loopback/context");
9
+ const core_1 = require("@loopback/core");
10
10
  const assert_1 = tslib_1.__importDefault(require("assert"));
11
11
  const repositories_1 = require("../repositories");
12
12
  const legacy_juggler_bridge_1 = require("../repositories/legacy-juggler-bridge");
@@ -63,11 +63,11 @@ function repository(modelOrRepo, dataSource) {
63
63
  // Please note key is undefined for constructor. If strictNullChecks
64
64
  // is true, the compiler will complain as reflect-metadata won't
65
65
  // accept undefined or null for key. Use ! to fool the compiler.
66
- context_1.inject('repositories.' + meta.name, meta)(target, key, descriptorOrIndex);
66
+ core_1.inject('repositories.' + meta.name, meta)(target, key, descriptorOrIndex);
67
67
  }
68
68
  else {
69
69
  // Use repository-factory to create a repository from model + dataSource
70
- context_1.inject('', meta, resolve)(target, key, descriptorOrIndex);
70
+ core_1.inject('', meta, resolve)(target, key, descriptorOrIndex);
71
71
  }
72
72
  return;
73
73
  }
@@ -85,7 +85,7 @@ exports.repository = repository;
85
85
  */
86
86
  function getter(nameOrClass) {
87
87
  const name = typeof nameOrClass === 'string' ? nameOrClass : nameOrClass.name;
88
- return context_1.inject.getter(`repositories.${name}`);
88
+ return core_1.inject.getter(`repositories.${name}`);
89
89
  }
90
90
  repository.getter = getter;
91
91
  })(repository = exports.repository || (exports.repository = {}));
@@ -1 +1 @@
1
- {"version":3,"file":"repository.decorator.js","sourceRoot":"","sources":["../../src/decorators/repository.decorator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"repository.decorator.js","sourceRoot":"","sources":["../../src/decorators/repository.decorator.ts"],"names":[],"mappings":";AAAA,sDAAsD;AACtD,oCAAoC;AACpC,+CAA+C;AAC/C,gEAAgE;;;;AAEhE,yCAA0D;AAC1D,4DAA4B;AAI5B,kDAAkE;AAClE,iFAA8D;AAY9D;;GAEG;AACH,MAAa,kBAAkB;IAsB7B;;;;;;;;;;;;;;;OAeG;IACH,YACE,WAAmC,EACnC,UAAqD;QAErD,IAAI,CAAC,IAAI;YACP,OAAO,WAAW,KAAK,QAAQ,IAAI,UAAU,KAAK,SAAS;gBACzD,CAAC,CAAC,WAAW;gBACb,CAAC,CAAC,SAAS,CAAC;QAChB,IAAI,CAAC,SAAS;YACZ,OAAO,WAAW,KAAK,QAAQ,IAAI,UAAU,IAAI,IAAI;gBACnD,CAAC,CAAC,WAAW;gBACb,CAAC,CAAC,SAAS,CAAC;QAChB,IAAI,CAAC,UAAU;YACb,OAAO,WAAW,KAAK,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;QAC9D,IAAI,CAAC,cAAc;YACjB,OAAO,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;QAC1D,IAAI,CAAC,UAAU,GAAG,OAAO,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;IAC5E,CAAC;CACF;AAxDD,gDAwDC;AAuDD,SAAgB,UAAU,CACxB,WAA8D,EAC9D,UAAwC;IAExC,6CAA6C;IAC7C,2DAA2D;IAC3D,MAAM,aAAa,GACjB,OAAO,WAAW,KAAK,QAAQ,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,KAAK;QAC7D,CAAC,CAAC,WAAW,CAAC,IAAI;QAClB,CAAC,CAAE,WAA6B,CAAC;IACrC,MAAM,IAAI,GAAG,IAAI,kBAAkB,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;IAC/D,OAAO,UACL,MAAc,EACd,GAAY;IACZ,8DAA8D;IAC9D,iBAAyD;QAEzD,IAAI,GAAG,IAAI,OAAO,iBAAiB,KAAK,QAAQ,EAAE;YAChD,IAAI,IAAI,CAAC,IAAI,EAAE;gBACb,uDAAuD;gBACvD,oEAAoE;gBACpE,gEAAgE;gBAChE,gEAAgE;gBAChE,aAAM,CAAC,eAAe,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CACvC,MAAM,EACN,GAAI,EACJ,iBAAiB,CAClB,CAAC;aACH;iBAAM;gBACL,wEAAwE;gBACxE,aAAM,CAAC,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,MAAM,EAAE,GAAI,EAAE,iBAAiB,CAAC,CAAC;aAC5D;YACD,OAAO;SACR;QACD,kCAAkC;QAClC,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;IAChE,CAAC,CAAC;AACJ,CAAC;AArCD,gCAqCC;AAED,WAAiB,UAAU;IACzB;;;;;OAKG;IACH,SAAgB,MAAM,CAAC,WAA8C;QACnE,MAAM,IAAI,GACR,OAAO,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC;QACnE,OAAO,aAAM,CAAC,MAAM,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAC;IAC/C,CAAC;IAJe,iBAAM,SAIrB,CAAA;AACH,CAAC,EAZgB,UAAU,GAAV,kBAAU,KAAV,kBAAU,QAY1B;AAED;;;;GAIG;AACH,KAAK,UAAU,OAAO,CAAC,GAAY,EAAE,SAAoB;IACvD,MAAM,IAAI,GAAG,SAAS,CAAC,QAA8B,CAAC;IACtD,IAAI,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;IACjC,IAAI,IAAI,CAAC,SAAS,EAAE;QAClB,UAAU,GAAG,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,CAAkB,CAAC;KAC3E;IACD,IAAI,CAAC,UAAU,EAAE;QACf,MAAM,IAAI,KAAK,CACb,6BAA6B;YAC3B,kDAAkD,CACrD,CAAC;KACH;IAED,IAAI,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;IACjC,IAAI,IAAI,CAAC,cAAc,EAAE;QACvB,UAAU,GAAG,MAAM,GAAG,CAAC,GAAG,CACxB,cAAc,GAAG,IAAI,CAAC,cAAc,CACrC,CAAC;KACH;IACD,gBAAM,CACJ,UAAU,YAAY,+BAAO,CAAC,UAAU,EACxC,6BAA6B,CAC9B,CAAC;IACF,OAAO,IAAI,oCAAqB,CAC9B,UAAU,EACV,UAAiC,CAClC,CAAC;AACJ,CAAC"}
@@ -49,7 +49,7 @@ export declare function defineModelClass<BaseCtor extends typeof Model, Props ex
49
49
  * - all prototype fields from `BaseCtor` prototype are inherited and available
50
50
  * as prototype fields on the dynamic class
51
51
  */
52
- export declare type DynamicModelCtor<BaseCtor extends typeof Model, Props extends object> = BaseCtor & {
52
+ export declare type DynamicModelCtor<BaseCtor extends typeof Model, Props extends object> = {
53
53
  /** Model constructor accepting partial model data. */
54
54
  new (data?: DataObject<PrototypeOf<BaseCtor> & Props>): PrototypeOf<BaseCtor> & Props;
55
- };
55
+ } & BaseCtor;
@@ -1,10 +1,10 @@
1
- import { Binding, BindingFromClassOptions } from '@loopback/context';
1
+ import { Binding, BindingFromClassOptions } from '@loopback/core';
2
2
  import { Application, Component, Constructor, MixinTarget } from '@loopback/core';
3
3
  import { Class } from '../common-types';
4
4
  import { SchemaMigrationOptions } from '../datasource';
5
+ import { Model } from '../model';
5
6
  import { juggler, Repository } from '../repositories';
6
- import { BindingAddress, BindingFilter, JSONObject, Provider, Context, ContextSubscriptionManager, ContextEvent, Interceptor, InterceptorBindingOptions, ResolutionOptions, BindingKey, ValueOrPromise, ContextEventObserver, ContextObserver, Subscription, BindingComparator, ContextView, ResolutionSession, BindingCreationPolicy, ContextInspectOptions } from '@loopback/context';
7
- import { Server, ApplicationConfig, ApplicationMetadata, LifeCycleObserver, ServiceOptions } from '@loopback/core';
7
+ import * as loopbackContext from '@loopback/core';
8
8
  /**
9
9
  * A mixin class for Application that creates a .repository()
10
10
  * function to register a repository automatically. Also overrides
@@ -18,6 +18,12 @@ import { Server, ApplicationConfig, ApplicationMetadata, LifeCycleObserver, Serv
18
18
  * Please note: the members in the mixin function are documented in a dummy class
19
19
  * called <a href="#RepositoryMixinDoc">RepositoryMixinDoc</a>
20
20
  *
21
+ * @param superClass - Application class
22
+ * @returns A new class that extends the super class with repository related
23
+ * methods
24
+ *
25
+ * @typeParam T - Type of the application class as the target for the mixin
26
+ *
21
27
  */
22
28
  export declare function RepositoryMixin<T extends MixinTarget<Application>>(superClass: T): {
23
29
  new (...args: any[]): {
@@ -112,11 +118,22 @@ export declare function RepositoryMixin<T extends MixinTarget<Application>>(supe
112
118
  /**
113
119
  * Get an instance of a component and mount all it's
114
120
  * repositories. This function is intended to be used internally
115
- * by component()
121
+ * by `component()`.
116
122
  *
117
- * @param component - The component to mount repositories of
123
+ * NOTE: Calling `mountComponentRepositories` with a component class
124
+ * constructor is deprecated. You should instantiate the component
125
+ * yourself and provide the component instance instead.
126
+ *
127
+ * @param componentInstanceOrClass - The component to mount repositories of
128
+ * @internal
118
129
  */
119
- mountComponentRepositories(component: Class<unknown>): void;
130
+ mountComponentRepositories(componentInstanceOrClass: Class<unknown> | RepositoryComponent): void;
131
+ /**
132
+ * Bind all model classes provided by a component.
133
+ * @param component
134
+ * @internal
135
+ */
136
+ mountComponentModels(component: RepositoryComponent): void;
120
137
  /**
121
138
  * Update or recreate the database schema for all repositories.
122
139
  *
@@ -131,61 +148,67 @@ export declare function RepositoryMixin<T extends MixinTarget<Application>>(supe
131
148
  * preserving data or rebuild everything from scratch.
132
149
  */
133
150
  migrateSchema(options?: SchemaMigrationOptions): Promise<void>;
134
- readonly options: ApplicationConfig;
151
+ readonly options: loopbackContext.ApplicationConfig;
135
152
  readonly state: string;
136
153
  controller: <T_1>(controllerCtor: Constructor<T_1>, nameOrOptions?: string | BindingFromClassOptions | undefined) => Binding<T_1>;
137
- server: <T_2 extends Server>(ctor: Constructor<T_2>, nameOrOptions?: string | BindingFromClassOptions | undefined) => Binding<T_2>;
138
- servers: <T_3 extends Server>(ctors: Constructor<T_3>[]) => Binding<any>[];
139
- getServer: <T_4 extends Server>(target: string | Constructor<T_4>) => Promise<T_4>;
154
+ server: <T_2 extends loopbackContext.Server>(ctor: Constructor<T_2>, nameOrOptions?: string | BindingFromClassOptions | undefined) => Binding<T_2>;
155
+ servers: <T_3 extends loopbackContext.Server>(ctors: Constructor<T_3>[]) => Binding<any>[];
156
+ getServer: <T_4 extends loopbackContext.Server>(target: string | Constructor<T_4>) => Promise<T_4>;
140
157
  start: () => Promise<void>;
141
158
  stop: () => Promise<void>;
142
- setMetadata: (metadata: ApplicationMetadata) => void;
143
- lifeCycleObserver: <T_5 extends LifeCycleObserver>(ctor: Constructor<T_5>, nameOrOptions?: string | BindingFromClassOptions | undefined) => Binding<T_5>;
144
- service: <S>(cls: Constructor<S | Provider<S>>, nameOrOptions?: string | ServiceOptions | undefined) => Binding<S>;
145
- interceptor: (interceptor: Interceptor | Constructor<Provider<Interceptor>>, nameOrOptions?: string | InterceptorBindingOptions | undefined) => Binding<Interceptor>;
159
+ setMetadata: (metadata: loopbackContext.ApplicationMetadata) => void;
160
+ lifeCycleObserver: <T_5 extends loopbackContext.LifeCycleObserver>(ctor: Constructor<T_5>, nameOrOptions?: string | BindingFromClassOptions | undefined) => Binding<T_5>;
161
+ service: <S>(cls: Constructor<S | loopbackContext.Provider<S>>, nameOrOptions?: string | loopbackContext.ServiceOptions | undefined) => Binding<S>;
162
+ interceptor: (interceptor: loopbackContext.Interceptor | Constructor<loopbackContext.Provider<loopbackContext.Interceptor>>, nameOrOptions?: string | loopbackContext.InterceptorBindingOptions | undefined) => Binding<loopbackContext.Interceptor>;
146
163
  readonly name: string;
147
- readonly subscriptionManager: ContextSubscriptionManager;
148
- readonly parent: Context | undefined;
149
- emitEvent: <T_6 extends ContextEvent>(type: string, event: T_6) => void;
164
+ readonly subscriptionManager: loopbackContext.ContextSubscriptionManager;
165
+ readonly parent: loopbackContext.Context | undefined;
166
+ emitEvent: <T_6 extends loopbackContext.ContextEvent>(type: string, event: T_6) => void;
150
167
  emitError: (err: unknown) => void;
151
- bind: <ValueType = any>(key: BindingAddress<ValueType>) => Binding<ValueType>;
168
+ bind: <ValueType = any>(key: loopbackContext.BindingAddress<ValueType>) => Binding<ValueType>;
152
169
  add: (binding: Binding<unknown>) => Application;
153
- configure: <ConfigValueType = any>(key?: string | BindingKey<unknown> | undefined) => Binding<ConfigValueType>;
154
- getConfigAsValueOrPromise: <ConfigValueType_1>(key: BindingAddress<unknown>, propertyPath?: string | undefined, resolutionOptions?: ResolutionOptions | undefined) => ValueOrPromise<ConfigValueType_1 | undefined>;
155
- getConfig: <ConfigValueType_2>(key: BindingAddress<unknown>, propertyPath?: string | undefined, resolutionOptions?: ResolutionOptions | undefined) => Promise<ConfigValueType_2 | undefined>;
156
- getConfigSync: <ConfigValueType_3>(key: BindingAddress<unknown>, propertyPath?: string | undefined, resolutionOptions?: ResolutionOptions | undefined) => ConfigValueType_3 | undefined;
157
- unbind: (key: BindingAddress<unknown>) => boolean;
158
- subscribe: (observer: ContextEventObserver) => Subscription;
159
- unsubscribe: (observer: ContextEventObserver) => boolean;
170
+ configure: <ConfigValueType = any>(key?: string | loopbackContext.BindingKey<unknown> | undefined) => Binding<ConfigValueType>;
171
+ getConfigAsValueOrPromise: <ConfigValueType_1>(key: loopbackContext.BindingAddress<unknown>, propertyPath?: string | undefined, resolutionOptions?: loopbackContext.ResolutionOptions | undefined) => loopbackContext.ValueOrPromise<ConfigValueType_1 | undefined>;
172
+ getConfig: <ConfigValueType_2>(key: loopbackContext.BindingAddress<unknown>, propertyPath?: string | undefined, resolutionOptions?: loopbackContext.ResolutionOptions | undefined) => Promise<ConfigValueType_2 | undefined>;
173
+ getConfigSync: <ConfigValueType_3>(key: loopbackContext.BindingAddress<unknown>, propertyPath?: string | undefined, resolutionOptions?: loopbackContext.ResolutionOptions | undefined) => ConfigValueType_3 | undefined;
174
+ unbind: (key: loopbackContext.BindingAddress<unknown>) => boolean;
175
+ subscribe: (observer: loopbackContext.ContextEventObserver) => loopbackContext.Subscription;
176
+ unsubscribe: (observer: loopbackContext.ContextEventObserver) => boolean;
160
177
  close: () => void;
161
- isSubscribed: (observer: ContextObserver) => boolean;
162
- createView: <T_7 = unknown>(filter: BindingFilter, comparator?: BindingComparator | undefined) => ContextView<T_7>;
163
- contains: (key: BindingAddress<unknown>) => boolean;
164
- isBound: (key: BindingAddress<unknown>) => boolean;
165
- getOwnerContext: (key: BindingAddress<unknown>) => Context | undefined;
166
- find: <ValueType_1 = any>(pattern?: string | RegExp | BindingFilter | undefined) => Readonly<Binding<ValueType_1>>[];
178
+ isSubscribed: (observer: loopbackContext.ContextObserver) => boolean;
179
+ createView: <T_7 = unknown>(filter: loopbackContext.BindingFilter, comparator?: loopbackContext.BindingComparator | undefined) => loopbackContext.ContextView<T_7>;
180
+ contains: (key: loopbackContext.BindingAddress<unknown>) => boolean;
181
+ isBound: (key: loopbackContext.BindingAddress<unknown>) => boolean;
182
+ getOwnerContext: (key: loopbackContext.BindingAddress<unknown>) => loopbackContext.Context | undefined;
183
+ find: <ValueType_1 = any>(pattern?: string | RegExp | loopbackContext.BindingFilter | undefined) => Readonly<Binding<ValueType_1>>[];
167
184
  findByTag: <ValueType_2 = any>(tagFilter: string | RegExp | Record<string, any>) => Readonly<Binding<ValueType_2>>[];
168
185
  get: {
169
- <ValueType_3>(keyWithPath: BindingAddress<ValueType_3>, session?: ResolutionSession | undefined): Promise<ValueType_3>;
170
- <ValueType_4>(keyWithPath: BindingAddress<ValueType_4>, options: ResolutionOptions): Promise<ValueType_4 | undefined>;
186
+ <ValueType_3>(keyWithPath: loopbackContext.BindingAddress<ValueType_3>, session?: loopbackContext.ResolutionSession | undefined): Promise<ValueType_3>;
187
+ <ValueType_4>(keyWithPath: loopbackContext.BindingAddress<ValueType_4>, options: loopbackContext.ResolutionOptions): Promise<ValueType_4 | undefined>;
171
188
  };
172
189
  getSync: {
173
- <ValueType_5>(keyWithPath: BindingAddress<ValueType_5>, session?: ResolutionSession | undefined): ValueType_5;
174
- <ValueType_6>(keyWithPath: BindingAddress<ValueType_6>, options?: ResolutionOptions | undefined): ValueType_6 | undefined;
190
+ <ValueType_5>(keyWithPath: loopbackContext.BindingAddress<ValueType_5>, session?: loopbackContext.ResolutionSession | undefined): ValueType_5;
191
+ <ValueType_6>(keyWithPath: loopbackContext.BindingAddress<ValueType_6>, options?: loopbackContext.ResolutionOptions | undefined): ValueType_6 | undefined;
175
192
  };
176
193
  getBinding: {
177
- <ValueType_7 = any>(key: BindingAddress<ValueType_7>): Binding<ValueType_7>;
178
- <ValueType_8>(key: BindingAddress<ValueType_8>, options?: {
194
+ <ValueType_7 = any>(key: loopbackContext.BindingAddress<ValueType_7>): Binding<ValueType_7>;
195
+ <ValueType_8>(key: loopbackContext.BindingAddress<ValueType_8>, options?: {
179
196
  optional?: boolean | undefined;
180
197
  } | undefined): Binding<ValueType_8> | undefined;
181
198
  };
182
- findOrCreateBinding: <T_8>(key: BindingAddress<T_8>, policy?: BindingCreationPolicy | undefined) => Binding<T_8>;
183
- getValueOrPromise: <ValueType_9>(keyWithPath: BindingAddress<ValueType_9>, optionsOrSession?: ResolutionOptions | ResolutionSession | undefined) => ValueOrPromise<ValueType_9 | undefined>;
184
- toJSON: () => JSONObject;
185
- inspect: (options?: ContextInspectOptions | undefined) => JSONObject;
199
+ findOrCreateBinding: <T_8>(key: loopbackContext.BindingAddress<T_8>, policy?: loopbackContext.BindingCreationPolicy | undefined) => Binding<T_8>;
200
+ getValueOrPromise: <ValueType_9>(keyWithPath: loopbackContext.BindingAddress<ValueType_9>, optionsOrSession?: loopbackContext.ResolutionOptions | loopbackContext.ResolutionSession | undefined) => loopbackContext.ValueOrPromise<ValueType_9 | undefined>;
201
+ toJSON: () => loopbackContext.JSONObject;
202
+ inspect: (options?: loopbackContext.ContextInspectOptions | undefined) => loopbackContext.JSONObject;
203
+ on: {
204
+ (eventName: "bind" | "unbind", listener: loopbackContext.ContextEventListener): Application;
205
+ (event: string | symbol, listener: (...args: any[]) => void): Application;
206
+ };
207
+ once: {
208
+ (eventName: "bind" | "unbind", listener: loopbackContext.ContextEventListener): Application;
209
+ (event: string | symbol, listener: (...args: any[]) => void): Application;
210
+ };
186
211
  addListener: (event: string | symbol, listener: (...args: any[]) => void) => Application;
187
- on: (event: string | symbol, listener: (...args: any[]) => void) => Application;
188
- once: (event: string | symbol, listener: (...args: any[]) => void) => Application;
189
212
  prependListener: (event: string | symbol, listener: (...args: any[]) => void) => Application;
190
213
  prependOnceListener: (event: string | symbol, listener: (...args: any[]) => void) => Application;
191
214
  removeListener: (event: string | symbol, listener: (...args: any[]) => void) => Application;
@@ -200,6 +223,22 @@ export declare function RepositoryMixin<T extends MixinTarget<Application>>(supe
200
223
  listenerCount: (type: string | symbol) => number;
201
224
  };
202
225
  } & T;
226
+ /**
227
+ * This interface describes additional Component properties
228
+ * allowing components to contribute Repository-related artifacts.
229
+ */
230
+ export interface RepositoryComponent {
231
+ /**
232
+ * An optional list of Repository classes to bind for dependency injection
233
+ * via `app.repository()` API.
234
+ */
235
+ repositories?: Class<Repository<Model>>[];
236
+ /**
237
+ * An optional list of Model classes to bind for dependency injection
238
+ * via `app.model()` API.
239
+ */
240
+ models?: Class<Model>[];
241
+ }
203
242
  /**
204
243
  * Interface for an Application mixed in with RepositoryMixin
205
244
  */
@@ -6,12 +6,13 @@
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
7
  exports.createModelClassBinding = exports.RepositoryMixinDoc = exports.RepositoryMixin = void 0;
8
8
  const tslib_1 = require("tslib");
9
- const context_1 = require("@loopback/context");
10
9
  const core_1 = require("@loopback/core");
10
+ const core_2 = require("@loopback/core");
11
11
  const debug_1 = tslib_1.__importDefault(require("debug"));
12
12
  const keys_1 = require("../keys");
13
13
  const repositories_1 = require("../repositories");
14
14
  const debug = debug_1.default('loopback:repository:mixin');
15
+ /* eslint-enable @typescript-eslint/no-unused-vars */
15
16
  /**
16
17
  * A mixin class for Application that creates a .repository()
17
18
  * function to register a repository automatically. Also overrides
@@ -25,6 +26,12 @@ const debug = debug_1.default('loopback:repository:mixin');
25
26
  * Please note: the members in the mixin function are documented in a dummy class
26
27
  * called <a href="#RepositoryMixinDoc">RepositoryMixinDoc</a>
27
28
  *
29
+ * @param superClass - Application class
30
+ * @returns A new class that extends the super class with repository related
31
+ * methods
32
+ *
33
+ * @typeParam T - Type of the application class as the target for the mixin
34
+ *
28
35
  */
29
36
  function RepositoryMixin(superClass) {
30
37
  return class extends superClass {
@@ -59,10 +66,10 @@ function RepositoryMixin(superClass) {
59
66
  */
60
67
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
61
68
  repository(repoClass, nameOrOptions) {
62
- const binding = context_1.createBindingFromClass(repoClass, {
69
+ const binding = core_1.createBindingFromClass(repoClass, {
63
70
  namespace: keys_1.RepositoryBindings.REPOSITORIES,
64
71
  type: keys_1.RepositoryTags.REPOSITORY,
65
- defaultScope: context_1.BindingScope.TRANSIENT,
72
+ defaultScope: core_1.BindingScope.TRANSIENT,
66
73
  ...toOptions(nameOrOptions),
67
74
  }).tag(keys_1.RepositoryTags.REPOSITORY);
68
75
  this.add(binding);
@@ -114,10 +121,10 @@ function RepositoryMixin(superClass) {
114
121
  else if (typeof dataSource === 'function') {
115
122
  // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing
116
123
  options.name = options.name || dataSource.dataSourceName;
117
- const binding = context_1.createBindingFromClass(dataSource, {
124
+ const binding = core_1.createBindingFromClass(dataSource, {
118
125
  namespace: keys_1.RepositoryBindings.DATASOURCES,
119
126
  type: keys_1.RepositoryTags.DATASOURCE,
120
- defaultScope: context_1.BindingScope.SINGLETON,
127
+ defaultScope: core_1.BindingScope.SINGLETON,
121
128
  ...options,
122
129
  });
123
130
  this.add(binding);
@@ -160,28 +167,58 @@ function RepositoryMixin(superClass) {
160
167
  */
161
168
  // Unfortunately, TypeScript does not allow overriding methods inherited
162
169
  // from mapped types. https://github.com/microsoft/TypeScript/issues/38496
163
- // eslint-disable-next-line @typescript-eslint/ban-ts-ignore
170
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
164
171
  // @ts-ignore
165
172
  component(componentCtor, nameOrOptions) {
166
173
  const binding = super.component(componentCtor, nameOrOptions);
167
- this.mountComponentRepositories(componentCtor);
174
+ const instance = this.getSync(binding.key);
175
+ this.mountComponentRepositories(instance);
176
+ this.mountComponentModels(instance);
168
177
  return binding;
169
178
  }
170
179
  /**
171
180
  * Get an instance of a component and mount all it's
172
181
  * repositories. This function is intended to be used internally
173
- * by component()
182
+ * by `component()`.
174
183
  *
175
- * @param component - The component to mount repositories of
184
+ * NOTE: Calling `mountComponentRepositories` with a component class
185
+ * constructor is deprecated. You should instantiate the component
186
+ * yourself and provide the component instance instead.
187
+ *
188
+ * @param componentInstanceOrClass - The component to mount repositories of
189
+ * @internal
176
190
  */
177
- mountComponentRepositories(component) {
178
- const componentKey = `${core_1.CoreBindings.COMPONENTS}.${component.name}`;
179
- const compInstance = this.getSync(componentKey);
180
- if (compInstance.repositories) {
181
- for (const repo of compInstance.repositories) {
191
+ mountComponentRepositories(
192
+ // accept also component class to preserve backwards compatibility
193
+ // TODO(semver-major) Remove support for component class constructor
194
+ componentInstanceOrClass) {
195
+ const component = resolveComponentInstance(this);
196
+ if (component.repositories) {
197
+ for (const repo of component.repositories) {
182
198
  this.repository(repo);
183
199
  }
184
200
  }
201
+ // `Readonly<Application>` is a hack to remove protected members
202
+ // and thus allow `this` to be passed as a value for `ctx`
203
+ function resolveComponentInstance(ctx) {
204
+ if (typeof componentInstanceOrClass !== 'function')
205
+ return componentInstanceOrClass;
206
+ const componentName = componentInstanceOrClass.name;
207
+ const componentKey = `${core_2.CoreBindings.COMPONENTS}.${componentName}`;
208
+ return ctx.getSync(componentKey);
209
+ }
210
+ }
211
+ /**
212
+ * Bind all model classes provided by a component.
213
+ * @param component
214
+ * @internal
215
+ */
216
+ mountComponentModels(component) {
217
+ if (!component.models)
218
+ return;
219
+ for (const m of component.models) {
220
+ this.model(m);
221
+ }
185
222
  }
186
223
  /**
187
224
  * Update or recreate the database schema for all repositories.
@@ -359,7 +396,7 @@ exports.RepositoryMixinDoc = RepositoryMixinDoc;
359
396
  * @param modelClass - Model class
360
397
  */
361
398
  function createModelClassBinding(modelClass) {
362
- return context_1.Binding.bind(`${keys_1.RepositoryBindings.MODELS}.${modelClass.name}`)
399
+ return core_1.Binding.bind(`${keys_1.RepositoryBindings.MODELS}.${modelClass.name}`)
363
400
  .to(modelClass)
364
401
  .tag(keys_1.RepositoryTags.MODEL);
365
402
  }
@@ -1 +1 @@
1
- {"version":3,"file":"repository.mixin.js","sourceRoot":"","sources":["../../src/mixins/repository.mixin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"repository.mixin.js","sourceRoot":"","sources":["../../src/mixins/repository.mixin.ts"],"names":[],"mappings":"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"}