@loopback/repository 3.3.0 → 3.5.1
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.
- package/CHANGELOG.md +50 -0
- package/dist/common-types.js +1 -1
- package/dist/common-types.js.map +1 -1
- package/dist/connectors/connector.d.ts +35 -1
- package/dist/decorators/model.decorator.js +2 -1
- package/dist/decorators/model.decorator.js.map +1 -1
- package/dist/index.d.ts +5 -0
- package/dist/index.js +7 -0
- package/dist/index.js.map +1 -1
- package/dist/mixins/repository.mixin.d.ts +11 -11
- package/dist/mixins/repository.mixin.js.map +1 -1
- package/dist/model.d.ts +2 -2
- package/dist/model.js.map +1 -1
- package/dist/relations/belongs-to/{belongs-to-accessor.d.ts → belongs-to.accessor.d.ts} +0 -0
- package/dist/relations/belongs-to/{belongs-to-accessor.js → belongs-to.accessor.js} +2 -2
- package/dist/relations/belongs-to/{belongs-to-accessor.js.map → belongs-to.accessor.js.map} +1 -1
- package/dist/relations/belongs-to/belongs-to.decorator.js +5 -2
- package/dist/relations/belongs-to/belongs-to.decorator.js.map +1 -1
- package/dist/relations/belongs-to/belongs-to.helpers.js +1 -1
- package/dist/relations/belongs-to/belongs-to.helpers.js.map +1 -1
- package/dist/relations/belongs-to/belongs-to.inclusion-resolver.d.ts +1 -1
- package/dist/relations/belongs-to/belongs-to.repository.d.ts +1 -1
- package/dist/relations/belongs-to/belongs-to.repository.js +2 -2
- package/dist/relations/belongs-to/belongs-to.repository.js.map +1 -1
- package/dist/relations/belongs-to/index.d.ts +1 -1
- package/dist/relations/belongs-to/index.js +1 -1
- package/dist/relations/has-many/has-many-through.helpers.js +1 -1
- package/dist/relations/has-many/has-many-through.helpers.js.map +1 -1
- package/dist/relations/has-many/{has-many-through.inclusion.resolver.d.ts → has-many-through.inclusion-resolver.d.ts} +1 -1
- package/dist/relations/has-many/{has-many-through.inclusion.resolver.js → has-many-through.inclusion-resolver.js} +2 -2
- package/dist/relations/has-many/{has-many-through.inclusion.resolver.js.map → has-many-through.inclusion-resolver.js.map} +1 -1
- package/dist/relations/has-many/{has-many-through-repository.factory.d.ts → has-many-through.repository-factory.d.ts} +0 -0
- package/dist/relations/has-many/{has-many-through-repository.factory.js → has-many-through.repository-factory.js} +2 -2
- package/dist/relations/has-many/{has-many-through-repository.factory.js.map → has-many-through.repository-factory.js.map} +1 -1
- package/dist/relations/has-many/has-many-through.repository.js.map +1 -1
- package/dist/relations/has-many/has-many.helpers.js +1 -1
- package/dist/relations/has-many/has-many.helpers.js.map +1 -1
- package/dist/relations/has-many/has-many.inclusion-resolver.d.ts +1 -1
- package/dist/relations/has-many/has-many.inclusion-resolver.js +1 -1
- package/dist/relations/has-many/has-many.inclusion-resolver.js.map +1 -1
- package/dist/relations/has-many/{has-many-repository.factory.d.ts → has-many.repository-factory.d.ts} +1 -1
- package/dist/relations/has-many/{has-many-repository.factory.js → has-many.repository-factory.js} +2 -2
- package/dist/relations/has-many/has-many.repository-factory.js.map +1 -0
- package/dist/relations/has-many/has-many.repository.d.ts +1 -1
- package/dist/relations/has-many/has-many.repository.js +5 -5
- package/dist/relations/has-many/has-many.repository.js.map +1 -1
- package/dist/relations/has-many/index.d.ts +2 -2
- package/dist/relations/has-many/index.js +2 -2
- package/dist/relations/has-one/has-one.helpers.js +1 -1
- package/dist/relations/has-one/has-one.helpers.js.map +1 -1
- package/dist/relations/has-one/has-one.inclusion-resolver.d.ts +1 -1
- package/dist/relations/has-one/{has-one-repository.factory.d.ts → has-one.repository-factory.d.ts} +1 -1
- package/dist/relations/has-one/{has-one-repository.factory.js → has-one.repository-factory.js} +2 -2
- package/dist/relations/has-one/has-one.repository-factory.js.map +1 -0
- package/dist/relations/has-one/index.d.ts +1 -1
- package/dist/relations/has-one/index.js +1 -1
- package/dist/relations/relation.helpers.js +5 -9
- package/dist/relations/relation.helpers.js.map +1 -1
- package/package.json +15 -15
- package/src/connectors/connector.ts +41 -1
- package/src/index.ts +5 -0
- package/src/model.ts +2 -2
- package/src/relations/belongs-to/{belongs-to-accessor.ts → belongs-to.accessor.ts} +1 -1
- package/src/relations/belongs-to/belongs-to.decorator.ts +2 -2
- package/src/relations/belongs-to/belongs-to.helpers.ts +1 -1
- package/src/relations/belongs-to/belongs-to.inclusion-resolver.ts +1 -1
- package/src/relations/belongs-to/belongs-to.repository.ts +1 -2
- package/src/relations/belongs-to/index.ts +1 -1
- package/src/relations/has-many/has-many-through.helpers.ts +3 -1
- package/src/relations/has-many/{has-many-through.inclusion.resolver.ts → has-many-through.inclusion-resolver.ts} +2 -2
- package/src/relations/has-many/{has-many-through-repository.factory.ts → has-many-through.repository-factory.ts} +1 -1
- package/src/relations/has-many/has-many.helpers.ts +1 -1
- package/src/relations/has-many/has-many.inclusion-resolver.ts +4 -2
- package/src/relations/has-many/{has-many-repository.factory.ts → has-many.repository-factory.ts} +4 -2
- package/src/relations/has-many/has-many.repository.ts +2 -2
- package/src/relations/has-many/index.ts +2 -2
- package/src/relations/has-one/has-one.helpers.ts +1 -1
- package/src/relations/has-one/has-one.inclusion-resolver.ts +1 -1
- package/src/relations/has-one/{has-one-repository.factory.ts → has-one.repository-factory.ts} +4 -2
- package/src/relations/has-one/index.ts +1 -1
- package/src/relations/relation.helpers.ts +5 -9
- package/dist/relations/has-many/has-many-repository.factory.js.map +0 -1
- package/dist/relations/has-one/has-one-repository.factory.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"has-many-through.repository.js","sourceRoot":"","sources":["../../../src/relations/has-many/has-many-through.repository.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"has-many-through.repository.js","sourceRoot":"","sources":["../../../src/relations/has-many/has-many-through.repository.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,7 +11,7 @@ const lodash_1 = require("lodash");
|
|
|
11
11
|
const errors_1 = require("../../errors");
|
|
12
12
|
const type_resolver_1 = require("../../type-resolver");
|
|
13
13
|
const relation_types_1 = require("../relation.types");
|
|
14
|
-
const debug = debug_1.default('loopback:repository:has-many
|
|
14
|
+
const debug = debug_1.default('loopback:repository:relations:has-many:helpers');
|
|
15
15
|
/**
|
|
16
16
|
* Resolves given hasMany metadata if target is specified to be a resolver.
|
|
17
17
|
* Mainly used to infer what the `keyTo` property should be from the target's
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"has-many.helpers.js","sourceRoot":"","sources":["../../../src/relations/has-many/has-many.helpers.ts"],"names":[],"mappings":";AAAA,sDAAsD;AACtD,oCAAoC;AACpC,+CAA+C;AAC/C,gEAAgE;;;;AAEhE,0DAAiC;AACjC,mCAAiC;AACjC,yCAAkD;AAClD,uDAAmD;AACnD,sDAAkE;AAElE,MAAM,KAAK,GAAG,eAAY,CAAC,
|
|
1
|
+
{"version":3,"file":"has-many.helpers.js","sourceRoot":"","sources":["../../../src/relations/has-many/has-many.helpers.ts"],"names":[],"mappings":";AAAA,sDAAsD;AACtD,oCAAoC;AACpC,+CAA+C;AAC/C,gEAAgE;;;;AAEhE,0DAAiC;AACjC,mCAAiC;AACjC,yCAAkD;AAClD,uDAAmD;AACnD,sDAAkE;AAElE,MAAM,KAAK,GAAG,eAAY,CAAC,gDAAgD,CAAC,CAAC;AAW7E;;;;;;GAMG;AACH,SAAgB,sBAAsB,CACpC,YAA+B;;IAE/B,2DAA2D;IAC3D,YAAY,GAAG,wBAAwB,CAAC,YAAY,CAAC,CAAC;IAEtD,MAAM,WAAW,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC;IAC1C,MAAM,qBAAqB,GAAG,MAAA,WAAW,CAAC,UAAU,0CAAE,UAAU,CAAC;IAEjE,MAAM,WAAW,GAAG,YAAY,CAAC,MAAM,CAAC;IAExC,IAAI,YAAY,CAAC,KAAK,IAAI,qBAAqB,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE;QACnE,wEAAwE;QACxE,OAAO,YAAyC,CAAC;KAClD;IAED,KAAK,CACH,2CAA2C,EAC3C,WAAW,CAAC,SAAS,EACrB,WAAW,CACZ,CAAC;IACF,MAAM,aAAa,GAAG,kBAAS,CAAC,WAAW,CAAC,SAAS,GAAG,KAAK,CAAC,CAAC;IAC/D,MAAM,oBAAoB,GAAG,qBAAqB,CAAC,aAAa,CAAC,CAAC;IAElE,IAAI,CAAC,oBAAoB,EAAE;QACzB,MAAM,MAAM,GAAG,gBAAgB,WAAW,CAAC,IAAI,yCAAyC,aAAa,EAAE,CAAC;QACxG,MAAM,IAAI,6BAAoB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;KACtD;IAED,OAAO,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE;QACjC,KAAK,EAAE,aAAa;KACQ,CAAC,CAAC;AAClC,CAAC;AAhCD,wDAgCC;AAED;;;;;;;GAOG;AACH,SAAgB,wBAAwB,CACtC,YAA+B;IAE/B,IAAK,YAAY,CAAC,IAAqB,KAAK,6BAAY,CAAC,OAAO,EAAE;QAChE,MAAM,MAAM,GAAG,+BAA+B,CAAC;QAC/C,MAAM,IAAI,6BAAoB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;KACtD;IAED,IAAI,CAAC,8BAAc,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE;QACxC,MAAM,MAAM,GAAG,gCAAgC,CAAC;QAChD,MAAM,IAAI,6BAAoB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;KACtD;IAED,MAAM,WAAW,GAAG,YAAY,CAAC,MAAM,CAAC;IACxC,IAAI,CAAC,WAAW,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE;QAC1C,MAAM,MAAM,GAAG,8BAA8B,CAAC;QAC9C,MAAM,IAAI,6BAAoB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;KACtD;IACD,IAAI,OAAO,CAAC;IACZ,IACE,YAAY,CAAC,OAAO;QACpB,YAAY,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,YAAY,CAAC,OAAO,CAAC,EAC/D;QACA,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC;KAChC;SAAM;QACL,OAAO,GAAG,WAAW,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,CAAC;KAC5C;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,EAAC,OAAO,EAAC,CAAsB,CAAC;AACrE,CAAC;AA5BD,4DA4BC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Entity } from '../../model';
|
|
2
|
-
import { EntityCrudRepository } from '../../repositories
|
|
2
|
+
import { EntityCrudRepository } from '../../repositories';
|
|
3
3
|
import { Getter, HasManyDefinition, InclusionResolver } from '../relation.types';
|
|
4
4
|
/**
|
|
5
5
|
* Creates InclusionResolver for HasMany relation.
|
|
@@ -9,7 +9,7 @@ const tslib_1 = require("tslib");
|
|
|
9
9
|
const debug_1 = tslib_1.__importDefault(require("debug"));
|
|
10
10
|
const relation_helpers_1 = require("../relation.helpers");
|
|
11
11
|
const has_many_helpers_1 = require("./has-many.helpers");
|
|
12
|
-
const debug = debug_1.default('loopback:repository:has-many
|
|
12
|
+
const debug = debug_1.default('loopback:repository:relations:has-many:inclusion-resolver');
|
|
13
13
|
/**
|
|
14
14
|
* Creates InclusionResolver for HasMany relation.
|
|
15
15
|
* Notice that this function only generates the inclusionResolver.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"has-many.inclusion-resolver.js","sourceRoot":"","sources":["../../../src/relations/has-many/has-many.inclusion-resolver.ts"],"names":[],"mappings":";AAAA,sDAAsD;AACtD,oCAAoC;AACpC,+CAA+C;AAC/C,gEAAgE;;;;AAGhE,0DAAiC;AAIjC,0DAI6B;AAE7B,yDAA0D;AAE1D,MAAM,KAAK,GAAG,eAAY,
|
|
1
|
+
{"version":3,"file":"has-many.inclusion-resolver.js","sourceRoot":"","sources":["../../../src/relations/has-many/has-many.inclusion-resolver.ts"],"names":[],"mappings":";AAAA,sDAAsD;AACtD,oCAAoC;AACpC,+CAA+C;AAC/C,gEAAgE;;;;AAGhE,0DAAiC;AAIjC,0DAI6B;AAE7B,yDAA0D;AAE1D,MAAM,KAAK,GAAG,eAAY,CACxB,2DAA2D,CAC5D,CAAC;AAEF;;;;;;;;;GASG;AACH,SAAgB,8BAA8B,CAK5C,IAAuB,EACvB,aAEC;IAED,MAAM,YAAY,GAAG,yCAAsB,CAAC,IAAI,CAAC,CAAC;IAElD,OAAO,KAAK,UAAU,kBAAkB,CACtC,QAAkB,EAClB,SAA0B,EAC1B,OAAiB;QAEjB,IAAI,CAAC,QAAQ,CAAC,MAAM;YAAE,OAAO,EAAE,CAAC;QAEhC,KAAK,CAAC,sCAAsC,EAAE,QAAQ,CAAC,CAAC;QACxD,KAAK,CAAC,oBAAoB,EAAE,YAAY,CAAC,CAAC;QAE1C,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC;QACvC,MAAM,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAE,CAAe,CAAC,SAAS,CAAC,CAAC,CAAC;QACjE,MAAM,SAAS,GAAG,YAAY,CAAC,KAA4B,CAAC;QAE5D,KAAK,CAAC,aAAa,EAAE,EAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAC,CAAC,CAAC;QACxD,KAAK,CACH,gBAAgB,EAChB,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAC7B,CAAC;QAEF,MAAM,KAAK,GACT,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAE,SAAS,CAAC,KAAwB,CAAC;QAE3E,MAAM,UAAU,GAAG,MAAM,aAAa,EAAE,CAAC;QACzC,MAAM,YAAY,GAAG,MAAM,oCAAiB,CAC1C,UAAU,EACV,SAAS,EACT,SAAS,EACT,KAAK,EACL,OAAO,CACR,CAAC;QAEF,KAAK,CAAC,gBAAgB,EAAE,YAAY,CAAC,CAAC;QAEtC,MAAM,MAAM,GAAG,oDAAiC,CAC9C,SAAS,EACT,YAAY,EACZ,SAAS,CACV,CAAC;QAEF,KAAK,CAAC,2BAA2B,EAAE,MAAM,CAAC,CAAC;QAC3C,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;AACJ,CAAC;AAvDD,wEAuDC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Entity } from '../../model';
|
|
2
|
-
import { EntityCrudRepository } from '../../repositories
|
|
2
|
+
import { EntityCrudRepository } from '../../repositories';
|
|
3
3
|
import { Getter, HasManyDefinition, InclusionResolver } from '../relation.types';
|
|
4
4
|
import { HasManyRepository } from './has-many.repository';
|
|
5
5
|
export interface HasManyRepositoryFactory<Target extends Entity, ForeignKeyType> {
|
package/dist/relations/has-many/{has-many-repository.factory.js → has-many.repository-factory.js}
RENAMED
|
@@ -10,7 +10,7 @@ const debug_1 = tslib_1.__importDefault(require("debug"));
|
|
|
10
10
|
const has_many_helpers_1 = require("./has-many.helpers");
|
|
11
11
|
const has_many_inclusion_resolver_1 = require("./has-many.inclusion-resolver");
|
|
12
12
|
const has_many_repository_1 = require("./has-many.repository");
|
|
13
|
-
const debug = debug_1.default('loopback:repository:has-many
|
|
13
|
+
const debug = debug_1.default('loopback:repository:relations:has-many:repository-factory');
|
|
14
14
|
/**
|
|
15
15
|
* Enforces a constraint on a repository based on a relationship contract
|
|
16
16
|
* between models. For example, if a Customer model is related to an Order model
|
|
@@ -36,4 +36,4 @@ function createHasManyRepositoryFactory(relationMetadata, targetRepositoryGetter
|
|
|
36
36
|
return result;
|
|
37
37
|
}
|
|
38
38
|
exports.createHasManyRepositoryFactory = createHasManyRepositoryFactory;
|
|
39
|
-
//# sourceMappingURL=has-many-
|
|
39
|
+
//# sourceMappingURL=has-many.repository-factory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"has-many.repository-factory.js","sourceRoot":"","sources":["../../../src/relations/has-many/has-many.repository-factory.ts"],"names":[],"mappings":";AAAA,sDAAsD;AACtD,oCAAoC;AACpC,+CAA+C;AAC/C,gEAAgE;;;;AAEhE,0DAAiC;AAKjC,yDAA0D;AAC1D,+EAA6E;AAC7E,+DAG+B;AAE/B,MAAM,KAAK,GAAG,eAAY,CACxB,2DAA2D,CAC5D,CAAC;AAiBF;;;;;;;;;;;;GAYG;AACH,SAAgB,8BAA8B,CAK5C,gBAAmC,EACnC,sBAAsE;IAEtE,MAAM,IAAI,GAAG,yCAAsB,CAAC,gBAAgB,CAAC,CAAC;IACtD,KAAK,CAAC,wCAAwC,EAAE,IAAI,CAAC,CAAC;IACtD,MAAM,MAAM,GAAqD,UAC/D,OAAuB;QAEvB,8DAA8D;QAC9D,MAAM,UAAU,GAAQ,EAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,OAAO,EAAC,CAAC;QAChD,OAAO,IAAI,8CAAwB,CAIjC,sBAAsB,EAAE,UAAgC,CAAC,CAAC;IAC9D,CAAC,CAAC;IACF,MAAM,CAAC,iBAAiB,GAAG,4DAA8B,CACvD,IAAI,EACJ,sBAAsB,CACvB,CAAC;IACF,OAAO,MAAM,CAAC;AAChB,CAAC;AA1BD,wEA0BC"}
|
|
@@ -2,7 +2,7 @@ import { Getter } from '@loopback/core';
|
|
|
2
2
|
import { Filter, Where } from '@loopback/filter';
|
|
3
3
|
import { Count, DataObject, Options } from '../../common-types';
|
|
4
4
|
import { Entity } from '../../model';
|
|
5
|
-
import { EntityCrudRepository } from '../../repositories
|
|
5
|
+
import { EntityCrudRepository } from '../../repositories';
|
|
6
6
|
/**
|
|
7
7
|
* CRUD operations for a target repository of a HasMany relation
|
|
8
8
|
*/
|
|
@@ -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.DefaultHasManyRepository = void 0;
|
|
8
|
-
const
|
|
8
|
+
const repositories_1 = require("../../repositories");
|
|
9
9
|
class DefaultHasManyRepository {
|
|
10
10
|
/**
|
|
11
11
|
* Constructor of DefaultHasManyEntityCrudRepository
|
|
@@ -19,19 +19,19 @@ class DefaultHasManyRepository {
|
|
|
19
19
|
}
|
|
20
20
|
async create(targetModelData, options) {
|
|
21
21
|
const targetRepository = await this.getTargetRepository();
|
|
22
|
-
return targetRepository.create(
|
|
22
|
+
return targetRepository.create(repositories_1.constrainDataObject(targetModelData, this.constraint), options);
|
|
23
23
|
}
|
|
24
24
|
async find(filter, options) {
|
|
25
25
|
const targetRepository = await this.getTargetRepository();
|
|
26
|
-
return targetRepository.find(
|
|
26
|
+
return targetRepository.find(repositories_1.constrainFilter(filter, this.constraint), options);
|
|
27
27
|
}
|
|
28
28
|
async delete(where, options) {
|
|
29
29
|
const targetRepository = await this.getTargetRepository();
|
|
30
|
-
return targetRepository.deleteAll(
|
|
30
|
+
return targetRepository.deleteAll(repositories_1.constrainWhere(where, this.constraint), options);
|
|
31
31
|
}
|
|
32
32
|
async patch(dataObject, where, options) {
|
|
33
33
|
const targetRepository = await this.getTargetRepository();
|
|
34
|
-
return targetRepository.updateAll(
|
|
34
|
+
return targetRepository.updateAll(repositories_1.constrainDataObject(dataObject, this.constraint), repositories_1.constrainWhere(where, this.constraint), options);
|
|
35
35
|
}
|
|
36
36
|
}
|
|
37
37
|
exports.DefaultHasManyRepository = DefaultHasManyRepository;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"has-many.repository.js","sourceRoot":"","sources":["../../../src/relations/has-many/has-many.repository.ts"],"names":[],"mappings":";AAAA,sDAAsD;AACtD,oCAAoC;AACpC,+CAA+C;AAC/C,gEAAgE;;;AAMhE,
|
|
1
|
+
{"version":3,"file":"has-many.repository.js","sourceRoot":"","sources":["../../../src/relations/has-many/has-many.repository.ts"],"names":[],"mappings":";AAAA,sDAAsD;AACtD,oCAAoC;AACpC,+CAA+C;AAC/C,gEAAgE;;;AAMhE,qDAK4B;AA4C5B,MAAa,wBAAwB;IAKnC;;;;;OAKG;IACH,YACS,mBAA6C,EAC7C,UAAoC;QADpC,wBAAmB,GAAnB,mBAAmB,CAA0B;QAC7C,eAAU,GAAV,UAAU,CAA0B;IAC1C,CAAC;IAEJ,KAAK,CAAC,MAAM,CACV,eAAyC,EACzC,OAAiB;QAEjB,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC1D,OAAO,gBAAgB,CAAC,MAAM,CAC5B,kCAAmB,CAAC,eAAe,EAAE,IAAI,CAAC,UAAU,CAAC,EACrD,OAAO,CACR,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,IAAI,CACR,MAA6B,EAC7B,OAAiB;QAEjB,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC1D,OAAO,gBAAgB,CAAC,IAAI,CAC1B,8BAAe,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,EACxC,OAAO,CACR,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,KAA2B,EAAE,OAAiB;QACzD,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC1D,OAAO,gBAAgB,CAAC,SAAS,CAC/B,6BAAc,CAAC,KAAK,EAAE,IAAI,CAAC,UAAiC,CAAC,EAC7D,OAAO,CACR,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,KAAK,CACT,UAAoC,EACpC,KAA2B,EAC3B,OAAiB;QAEjB,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC1D,OAAO,gBAAgB,CAAC,SAAS,CAC/B,kCAAmB,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,EAChD,6BAAc,CAAC,KAAK,EAAE,IAAI,CAAC,UAAiC,CAAC,EAC7D,OAAO,CACR,CAAC;IACJ,CAAC;CACF;AA1DD,4DA0DC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export * from './has-many-
|
|
2
|
-
export * from './has-many-through-
|
|
1
|
+
export * from './has-many.repository-factory';
|
|
2
|
+
export * from './has-many-through.repository-factory';
|
|
3
3
|
export * from './has-many-through.repository';
|
|
4
4
|
export * from './has-many.decorator';
|
|
5
5
|
export * from './has-many.inclusion-resolver';
|
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
// License text available at https://opensource.org/licenses/MIT
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
7
|
const tslib_1 = require("tslib");
|
|
8
|
-
tslib_1.__exportStar(require("./has-many-
|
|
9
|
-
tslib_1.__exportStar(require("./has-many-through-
|
|
8
|
+
tslib_1.__exportStar(require("./has-many.repository-factory"), exports);
|
|
9
|
+
tslib_1.__exportStar(require("./has-many-through.repository-factory"), exports);
|
|
10
10
|
tslib_1.__exportStar(require("./has-many-through.repository"), exports);
|
|
11
11
|
tslib_1.__exportStar(require("./has-many.decorator"), exports);
|
|
12
12
|
tslib_1.__exportStar(require("./has-many.inclusion-resolver"), exports);
|
|
@@ -11,7 +11,7 @@ const lodash_1 = require("lodash");
|
|
|
11
11
|
const errors_1 = require("../../errors");
|
|
12
12
|
const type_resolver_1 = require("../../type-resolver");
|
|
13
13
|
const relation_types_1 = require("../relation.types");
|
|
14
|
-
const debug = debug_1.default('loopback:repository:has-one
|
|
14
|
+
const debug = debug_1.default('loopback:repository:relations:has-one:helpers');
|
|
15
15
|
/**
|
|
16
16
|
* Resolves given hasOne metadata if target is specified to be a resolver.
|
|
17
17
|
* Mainly used to infer what the `keyTo` property should be from the target's
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"has-one.helpers.js","sourceRoot":"","sources":["../../../src/relations/has-one/has-one.helpers.ts"],"names":[],"mappings":";AAAA,sDAAsD;AACtD,oCAAoC;AACpC,+CAA+C;AAC/C,gEAAgE;;;;AAEhE,0DAAiC;AACjC,mCAAiC;AACjC,yCAAkD;AAClD,uDAAmD;AACnD,sDAAiE;AAEjE,MAAM,KAAK,GAAG,eAAY,CAAC,
|
|
1
|
+
{"version":3,"file":"has-one.helpers.js","sourceRoot":"","sources":["../../../src/relations/has-one/has-one.helpers.ts"],"names":[],"mappings":";AAAA,sDAAsD;AACtD,oCAAoC;AACpC,+CAA+C;AAC/C,gEAAgE;;;;AAEhE,0DAAiC;AACjC,mCAAiC;AACjC,yCAAkD;AAClD,uDAAmD;AACnD,sDAAiE;AAEjE,MAAM,KAAK,GAAG,eAAY,CAAC,+CAA+C,CAAC,CAAC;AAW5E;;;;;;GAMG;AACH,SAAgB,qBAAqB,CACnC,YAA8B;;IAE9B,IAAK,YAAY,CAAC,IAAqB,KAAK,6BAAY,CAAC,MAAM,EAAE;QAC/D,MAAM,MAAM,GAAG,8BAA8B,CAAC;QAC9C,MAAM,IAAI,6BAAoB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;KACtD;IAED,IAAI,CAAC,8BAAc,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE;QACxC,MAAM,MAAM,GAAG,gCAAgC,CAAC;QAChD,MAAM,IAAI,6BAAoB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;KACtD;IAED,MAAM,WAAW,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC;IAC1C,MAAM,qBAAqB,GAAG,MAAA,WAAW,CAAC,UAAU,0CAAE,UAAU,CAAC;IAEjE,MAAM,WAAW,GAAG,YAAY,CAAC,MAAM,CAAC;IACxC,IAAI,CAAC,WAAW,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE;QAC1C,MAAM,MAAM,GAAG,8BAA8B,CAAC;QAC9C,MAAM,IAAI,6BAAoB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;KACtD;IAED,kCAAkC;IAClC,IAAI,OAAO,CAAC;IACZ,IACE,YAAY,CAAC,OAAO;QACpB,YAAY,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,YAAY,CAAC,OAAO,CAAC,EAC/D;QACA,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC;KAChC;SAAM;QACL,OAAO,GAAG,WAAW,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,CAAC;KAC5C;IAED,iEAAiE;IACjE,qCAAqC;IACrC,IAAI,YAAY,CAAC,KAAK,IAAI,qBAAqB,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE;QACnE,wEAAwE;QACxE,OAAO,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,EAAC,OAAO,EAAC,CAA6B,CAAC;KAC3E;IAED,KAAK,CACH,2CAA2C,EAC3C,WAAW,CAAC,SAAS,EACrB,WAAW,CACZ,CAAC;IACF,MAAM,aAAa,GAAG,kBAAS,CAAC,WAAW,CAAC,SAAS,GAAG,KAAK,CAAC,CAAC;IAC/D,MAAM,oBAAoB,GAAG,qBAAqB,CAAC,aAAa,CAAC,CAAC;IAElE,IAAI,CAAC,oBAAoB,EAAE;QACzB,MAAM,MAAM,GAAG,gBAAgB,WAAW,CAAC,IAAI,yCAAyC,aAAa,EAAE,CAAC;QACxG,MAAM,IAAI,6BAAoB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;KACtD;IAED,OAAO,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,EAAC,OAAO,EAAE,KAAK,EAAE,aAAa,EAAC,CAAC,CAAC;AACtE,CAAC;AAtDD,sDAsDC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Entity } from '../../model';
|
|
2
|
-
import { EntityCrudRepository } from '../../repositories
|
|
2
|
+
import { EntityCrudRepository } from '../../repositories';
|
|
3
3
|
import { Getter, HasOneDefinition, InclusionResolver } from '../relation.types';
|
|
4
4
|
/**
|
|
5
5
|
* Creates InclusionResolver for HasOne relation.
|
package/dist/relations/has-one/{has-one-repository.factory.d.ts → has-one.repository-factory.d.ts}
RENAMED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Entity } from '../../model';
|
|
2
|
-
import { EntityCrudRepository } from '../../repositories
|
|
2
|
+
import { EntityCrudRepository } from '../../repositories';
|
|
3
3
|
import { Getter, HasOneDefinition, InclusionResolver } from '../relation.types';
|
|
4
4
|
import { HasOneRepository } from './has-one.repository';
|
|
5
5
|
export interface HasOneRepositoryFactory<Target extends Entity, ForeignKeyType> {
|
package/dist/relations/has-one/{has-one-repository.factory.js → has-one.repository-factory.js}
RENAMED
|
@@ -10,7 +10,7 @@ const debug_1 = tslib_1.__importDefault(require("debug"));
|
|
|
10
10
|
const has_one_helpers_1 = require("./has-one.helpers");
|
|
11
11
|
const has_one_inclusion_resolver_1 = require("./has-one.inclusion-resolver");
|
|
12
12
|
const has_one_repository_1 = require("./has-one.repository");
|
|
13
|
-
const debug = debug_1.default('loopback:repository:has-one
|
|
13
|
+
const debug = debug_1.default('loopback:repository:relations:has-one:repository-factory');
|
|
14
14
|
/**
|
|
15
15
|
* Enforces a constraint on a repository based on a relationship contract
|
|
16
16
|
* between models. For example, if a Customer model is related to an Address model
|
|
@@ -36,4 +36,4 @@ function createHasOneRepositoryFactory(relationMetadata, targetRepositoryGetter)
|
|
|
36
36
|
return result;
|
|
37
37
|
}
|
|
38
38
|
exports.createHasOneRepositoryFactory = createHasOneRepositoryFactory;
|
|
39
|
-
//# sourceMappingURL=has-one-
|
|
39
|
+
//# sourceMappingURL=has-one.repository-factory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"has-one.repository-factory.js","sourceRoot":"","sources":["../../../src/relations/has-one/has-one.repository-factory.ts"],"names":[],"mappings":";AAAA,sDAAsD;AACtD,oCAAoC;AACpC,+CAA+C;AAC/C,gEAAgE;;;;AAEhE,0DAAiC;AAKjC,uDAAwD;AACxD,6EAA2E;AAC3E,6DAA+E;AAE/E,MAAM,KAAK,GAAG,eAAY,CACxB,0DAA0D,CAC3D,CAAC;AAgBF;;;;;;;;;;;;GAYG;AACH,SAAgB,6BAA6B,CAK3C,gBAAkC,EAClC,sBAAsE;IAEtE,MAAM,IAAI,GAAG,uCAAqB,CAAC,gBAAgB,CAAC,CAAC;IACrD,KAAK,CAAC,uCAAuC,EAAE,IAAI,CAAC,CAAC;IACrD,MAAM,MAAM,GAAoD,UAC9D,OAAuB;QAEvB,8DAA8D;QAC9D,MAAM,UAAU,GAAQ,EAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,OAAO,EAAC,CAAC;QAChD,OAAO,IAAI,4CAAuB,CAIhC,sBAAsB,EAAE,UAAgC,CAAC,CAAC;IAC9D,CAAC,CAAC;IACF,MAAM,CAAC,iBAAiB,GAAG,0DAA6B,CACtD,IAAI,EACJ,sBAAsB,CACvB,CAAC;IACF,OAAO,MAAM,CAAC;AAChB,CAAC;AA1BD,sEA0BC"}
|
|
@@ -7,5 +7,5 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
7
7
|
const tslib_1 = require("tslib");
|
|
8
8
|
tslib_1.__exportStar(require("./has-one.decorator"), exports);
|
|
9
9
|
tslib_1.__exportStar(require("./has-one.repository"), exports);
|
|
10
|
-
tslib_1.__exportStar(require("./has-one-
|
|
10
|
+
tslib_1.__exportStar(require("./has-one.repository-factory"), exports);
|
|
11
11
|
//# sourceMappingURL=index.js.map
|
|
@@ -8,7 +8,7 @@ exports.isBsonType = exports.deduplicate = exports.reduceAsSingleItem = exports.
|
|
|
8
8
|
const tslib_1 = require("tslib");
|
|
9
9
|
const assert_1 = tslib_1.__importDefault(require("assert"));
|
|
10
10
|
const debug_1 = tslib_1.__importDefault(require("debug"));
|
|
11
|
-
const lodash_1 = tslib_1.
|
|
11
|
+
const lodash_1 = tslib_1.__importStar(require("lodash"));
|
|
12
12
|
const __1 = require("..");
|
|
13
13
|
const debug = debug_1.default('loopback:repository:relation-helpers');
|
|
14
14
|
/**
|
|
@@ -22,17 +22,11 @@ const debug = debug_1.default('loopback:repository:relation-helpers');
|
|
|
22
22
|
*/
|
|
23
23
|
async function findByForeignKeys(targetRepository, fkName, fkValues, scope, options) {
|
|
24
24
|
let value;
|
|
25
|
+
scope = lodash_1.cloneDeep(scope);
|
|
25
26
|
if (Array.isArray(fkValues)) {
|
|
26
27
|
if (fkValues.length === 0)
|
|
27
28
|
return [];
|
|
28
|
-
value =
|
|
29
|
-
fkValues.length === 1
|
|
30
|
-
? fkValues[0]
|
|
31
|
-
: {
|
|
32
|
-
// Create a copy to prevent query coercion algorithm
|
|
33
|
-
// inside connectors from modifying the original values
|
|
34
|
-
inq: [...fkValues],
|
|
35
|
-
};
|
|
29
|
+
value = fkValues.length === 1 ? fkValues[0] : { inq: fkValues };
|
|
36
30
|
}
|
|
37
31
|
else {
|
|
38
32
|
value = fkValues;
|
|
@@ -58,6 +52,8 @@ exports.findByForeignKeys = findByForeignKeys;
|
|
|
58
52
|
* @param options - Options for the operations
|
|
59
53
|
*/
|
|
60
54
|
async function includeRelatedModels(targetRepository, entities, include, options) {
|
|
55
|
+
entities = lodash_1.cloneDeep(entities);
|
|
56
|
+
include = lodash_1.cloneDeep(include);
|
|
61
57
|
const result = entities;
|
|
62
58
|
if (!include)
|
|
63
59
|
return result;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relation.helpers.js","sourceRoot":"","sources":["../../src/relations/relation.helpers.ts"],"names":[],"mappings":";AAAA,sDAAsD;AACtD,oCAAoC;AACpC,+CAA+C;AAC/C,gEAAgE;;;;AAEhE,4DAA4B;AAC5B,0DAAiC;AACjC,
|
|
1
|
+
{"version":3,"file":"relation.helpers.js","sourceRoot":"","sources":["../../src/relations/relation.helpers.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@loopback/repository",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.5.1",
|
|
4
4
|
"description": "Define and implement a common set of interfaces for interacting with databases",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
7
7
|
"engines": {
|
|
8
|
-
"node": "^10.16 || 12 || 14"
|
|
8
|
+
"node": "^10.16 || 12 || 14 || 15"
|
|
9
9
|
},
|
|
10
10
|
"scripts": {
|
|
11
11
|
"acceptance": "lb-mocha \"dist/__tests__/acceptance/**/*.js\"",
|
|
@@ -22,26 +22,26 @@
|
|
|
22
22
|
"access": "public"
|
|
23
23
|
},
|
|
24
24
|
"peerDependencies": {
|
|
25
|
-
"@loopback/core": "^2.
|
|
25
|
+
"@loopback/core": "^2.15.1"
|
|
26
26
|
},
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@loopback/filter": "^1.
|
|
28
|
+
"@loopback/filter": "^1.4.1",
|
|
29
29
|
"@types/debug": "^4.1.5",
|
|
30
30
|
"debug": "^4.3.1",
|
|
31
|
-
"lodash": "^4.17.
|
|
31
|
+
"lodash": "^4.17.21",
|
|
32
32
|
"loopback-datasource-juggler": "^4.26.0",
|
|
33
|
-
"tslib": "^2.0
|
|
33
|
+
"tslib": "^2.1.0"
|
|
34
34
|
},
|
|
35
35
|
"devDependencies": {
|
|
36
|
-
"@loopback/build": "^6.
|
|
37
|
-
"@loopback/core": "^2.
|
|
38
|
-
"@loopback/eslint-config": "^10.
|
|
39
|
-
"@loopback/testlab": "^3.
|
|
36
|
+
"@loopback/build": "^6.3.1",
|
|
37
|
+
"@loopback/core": "^2.15.1",
|
|
38
|
+
"@loopback/eslint-config": "^10.1.1",
|
|
39
|
+
"@loopback/testlab": "^3.3.1",
|
|
40
40
|
"@types/bson": "^4.0.3",
|
|
41
|
-
"@types/json-schema": "^7.0.
|
|
42
|
-
"@types/lodash": "^4.14.
|
|
43
|
-
"@types/node": "^10.17.
|
|
44
|
-
"bson": "4.2.
|
|
41
|
+
"@types/json-schema": "^7.0.7",
|
|
42
|
+
"@types/lodash": "^4.14.168",
|
|
43
|
+
"@types/node": "^10.17.56",
|
|
44
|
+
"bson": "4.2.3"
|
|
45
45
|
},
|
|
46
46
|
"files": [
|
|
47
47
|
"README.md",
|
|
@@ -54,5 +54,5 @@
|
|
|
54
54
|
"url": "https://github.com/strongloop/loopback-next.git",
|
|
55
55
|
"directory": "packages/repository"
|
|
56
56
|
},
|
|
57
|
-
"gitHead": "
|
|
57
|
+
"gitHead": "156ca0fcf8fa246ca380ab28b44b3708896be2b6"
|
|
58
58
|
}
|
|
@@ -12,13 +12,53 @@ import {
|
|
|
12
12
|
} from '../common-types';
|
|
13
13
|
import {Model} from '../model';
|
|
14
14
|
|
|
15
|
+
/**
|
|
16
|
+
* Interfaces adopted by a {@link Connector}.
|
|
17
|
+
*
|
|
18
|
+
* @experimental
|
|
19
|
+
*/
|
|
20
|
+
export namespace ConnectorInterfaces {
|
|
21
|
+
/**
|
|
22
|
+
* Strong relation interfaces adopted by a {@link Connector}
|
|
23
|
+
*
|
|
24
|
+
* @experimental
|
|
25
|
+
*/
|
|
26
|
+
export const enum StrongRelation {
|
|
27
|
+
BELONGS_TO = 'strongBelongsTo',
|
|
28
|
+
HAS_ONE = 'strongHasOne',
|
|
29
|
+
HAS_MANY = 'strongHasMany',
|
|
30
|
+
HAS_MANY_THROUGH = 'strongHasManyThrough',
|
|
31
|
+
HAS_AND_BELONGS_TO_MANY = 'strongHasAndBelongsToMany',
|
|
32
|
+
EMBEDS_ONE = 'strongEmbedsOne',
|
|
33
|
+
EMBEDS_MANY = 'strongEmbedsMany',
|
|
34
|
+
REFERNCES_MANY = 'strongReferencesMany',
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* Strong query join interfaces adopted by a {@link Connector}
|
|
39
|
+
*
|
|
40
|
+
* @experimental
|
|
41
|
+
*/
|
|
42
|
+
export const enum StrongJoins {
|
|
43
|
+
INNER = 'strongInnerJoin',
|
|
44
|
+
LEFT = 'strongLeftJoin',
|
|
45
|
+
RIGHT = 'strongRightJoin',
|
|
46
|
+
FULL = 'strongFullJoin',
|
|
47
|
+
CARTESIAN = 'strongCartesianJoin',
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
|
|
15
51
|
/**
|
|
16
52
|
* Common properties/operations for connectors
|
|
17
53
|
*/
|
|
18
54
|
export interface Connector {
|
|
19
55
|
name: string; // Name/type of the connector
|
|
20
56
|
configModel?: Model; // The configuration model
|
|
21
|
-
interfaces?:
|
|
57
|
+
interfaces?: (
|
|
58
|
+
| string
|
|
59
|
+
| ConnectorInterfaces.StrongRelation
|
|
60
|
+
| ConnectorInterfaces.StrongJoins
|
|
61
|
+
)[]; // A list of interfaces implemented by the connector
|
|
22
62
|
connect(): Promise<void>; // Connect to the underlying system
|
|
23
63
|
disconnect(): Promise<void>; // Disconnect from the underlying system
|
|
24
64
|
ping(): Promise<void>; // Ping the underlying system
|
package/src/index.ts
CHANGED
|
@@ -14,6 +14,11 @@
|
|
|
14
14
|
|
|
15
15
|
export * from '@loopback/filter';
|
|
16
16
|
export {JSONSchema7 as JsonSchema} from 'json-schema';
|
|
17
|
+
/**
|
|
18
|
+
* Export the DataSource to avoid TypeScript 4.2's complaint about
|
|
19
|
+
* RepositoryMixin as it references `juggler.DataSource`
|
|
20
|
+
*/
|
|
21
|
+
export {DataSource as JugglerDataSource} from 'loopback-datasource-juggler';
|
|
17
22
|
export * from './common-types';
|
|
18
23
|
export * from './connectors';
|
|
19
24
|
export * from './datasource';
|
package/src/model.ts
CHANGED
|
@@ -309,7 +309,7 @@ function asObject(value: any, options?: Options): any {
|
|
|
309
309
|
/**
|
|
310
310
|
* Base class for models
|
|
311
311
|
*/
|
|
312
|
-
export
|
|
312
|
+
export class Model {
|
|
313
313
|
static get modelName(): string {
|
|
314
314
|
return this.definition?.name || this.name;
|
|
315
315
|
}
|
|
@@ -418,7 +418,7 @@ export abstract class ValueObject extends Model implements Persistable {}
|
|
|
418
418
|
/**
|
|
419
419
|
* Base class for entities which have unique ids
|
|
420
420
|
*/
|
|
421
|
-
export
|
|
421
|
+
export class Entity extends Model implements Persistable {
|
|
422
422
|
/**
|
|
423
423
|
* Get the names of identity properties (primary keys).
|
|
424
424
|
*/
|
|
@@ -16,7 +16,7 @@ import {resolveBelongsToMetadata} from './belongs-to.helpers';
|
|
|
16
16
|
import {createBelongsToInclusionResolver} from './belongs-to.inclusion-resolver';
|
|
17
17
|
import {DefaultBelongsToRepository} from './belongs-to.repository';
|
|
18
18
|
|
|
19
|
-
const debug = debugFactory('loopback:repository:belongs-to
|
|
19
|
+
const debug = debugFactory('loopback:repository:relations:belongs-to:accessor');
|
|
20
20
|
|
|
21
21
|
export interface BelongsToAccessor<Target extends Entity, SourceId> {
|
|
22
22
|
/**
|
|
@@ -4,9 +4,9 @@
|
|
|
4
4
|
// License text available at https://opensource.org/licenses/MIT
|
|
5
5
|
|
|
6
6
|
import {DecoratorFactory, MetadataInspector} from '@loopback/core';
|
|
7
|
-
import {property} from '../../decorators
|
|
8
|
-
import {Entity, EntityResolver, PropertyDefinition} from '../../model';
|
|
7
|
+
import {property} from '../../decorators';
|
|
9
8
|
import {relation} from '../relation.decorator';
|
|
9
|
+
import {Entity, EntityResolver, PropertyDefinition} from '../../model';
|
|
10
10
|
import {BelongsToDefinition, RelationType} from '../relation.types';
|
|
11
11
|
|
|
12
12
|
/**
|
|
@@ -9,7 +9,7 @@ import {InvalidRelationError} from '../../errors';
|
|
|
9
9
|
import {isTypeResolver} from '../../type-resolver';
|
|
10
10
|
import {BelongsToDefinition, RelationType} from '../relation.types';
|
|
11
11
|
|
|
12
|
-
const debug = debugFactory('loopback:repository:belongs-to
|
|
12
|
+
const debug = debugFactory('loopback:repository:relations:belongs-to:helpers');
|
|
13
13
|
|
|
14
14
|
/**
|
|
15
15
|
* Relation definition with optional metadata (e.g. `keyTo`) filled in.
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
import {Filter, InclusionFilter} from '@loopback/filter';
|
|
7
7
|
import {AnyObject, Options} from '../../common-types';
|
|
8
8
|
import {Entity} from '../../model';
|
|
9
|
-
import {EntityCrudRepository} from '../../repositories
|
|
9
|
+
import {EntityCrudRepository} from '../../repositories';
|
|
10
10
|
import {
|
|
11
11
|
deduplicate,
|
|
12
12
|
findByForeignKeys,
|
|
@@ -7,8 +7,7 @@ import {Getter} from '@loopback/core';
|
|
|
7
7
|
import {DataObject, Options} from '../../common-types';
|
|
8
8
|
import {EntityNotFoundError} from '../../errors';
|
|
9
9
|
import {Entity} from '../../model';
|
|
10
|
-
import {constrainFilter} from '../../repositories
|
|
11
|
-
import {EntityCrudRepository} from '../../repositories/repository';
|
|
10
|
+
import {constrainFilter, EntityCrudRepository} from '../../repositories';
|
|
12
11
|
|
|
13
12
|
/**
|
|
14
13
|
* CRUD operations for a target repository of a BelongsTo relation
|
|
@@ -15,7 +15,9 @@ import {
|
|
|
15
15
|
} from '../..';
|
|
16
16
|
import {resolveHasManyMetaHelper} from './has-many.helpers';
|
|
17
17
|
|
|
18
|
-
const debug = debugFactory(
|
|
18
|
+
const debug = debugFactory(
|
|
19
|
+
'loopback:repository:relations:has-many-through:helpers',
|
|
20
|
+
);
|
|
19
21
|
|
|
20
22
|
export type HasManyThroughResolvedDefinition = HasManyDefinition & {
|
|
21
23
|
keyTo: string;
|
|
@@ -7,7 +7,7 @@ import {Filter, InclusionFilter} from '@loopback/filter';
|
|
|
7
7
|
import debugFactory from 'debug';
|
|
8
8
|
import {AnyObject, Options} from '../../common-types';
|
|
9
9
|
import {Entity} from '../../model';
|
|
10
|
-
import {EntityCrudRepository} from '../../repositories
|
|
10
|
+
import {EntityCrudRepository} from '../../repositories';
|
|
11
11
|
import {
|
|
12
12
|
findByForeignKeys,
|
|
13
13
|
flattenTargetsOfOneToManyRelation,
|
|
@@ -17,7 +17,7 @@ import {Getter, HasManyDefinition, InclusionResolver} from '../relation.types';
|
|
|
17
17
|
import {resolveHasManyMetadata} from './has-many.helpers';
|
|
18
18
|
|
|
19
19
|
const debug = debugFactory(
|
|
20
|
-
'loopback:repository:has-many-through
|
|
20
|
+
'loopback:repository:relations:has-many-through:inclusion-resolver',
|
|
21
21
|
);
|
|
22
22
|
|
|
23
23
|
/**
|
|
@@ -19,7 +19,7 @@ import {
|
|
|
19
19
|
getTargetKeysFromThroughModels,
|
|
20
20
|
resolveHasManyThroughMetadata,
|
|
21
21
|
} from './has-many-through.helpers';
|
|
22
|
-
import {createHasManyThroughInclusionResolver} from './has-many-through.inclusion
|
|
22
|
+
import {createHasManyThroughInclusionResolver} from './has-many-through.inclusion-resolver';
|
|
23
23
|
import {
|
|
24
24
|
DefaultHasManyThroughRepository,
|
|
25
25
|
HasManyThroughRepository,
|
|
@@ -9,7 +9,7 @@ import {InvalidRelationError} from '../../errors';
|
|
|
9
9
|
import {isTypeResolver} from '../../type-resolver';
|
|
10
10
|
import {HasManyDefinition, RelationType} from '../relation.types';
|
|
11
11
|
|
|
12
|
-
const debug = debugFactory('loopback:repository:has-many
|
|
12
|
+
const debug = debugFactory('loopback:repository:relations:has-many:helpers');
|
|
13
13
|
|
|
14
14
|
/**
|
|
15
15
|
* Relation definition with optional metadata (e.g. `keyTo`) filled in.
|
|
@@ -7,7 +7,7 @@ import {Filter, InclusionFilter} from '@loopback/filter';
|
|
|
7
7
|
import debugFactory from 'debug';
|
|
8
8
|
import {AnyObject, Options} from '../../common-types';
|
|
9
9
|
import {Entity} from '../../model';
|
|
10
|
-
import {EntityCrudRepository} from '../../repositories
|
|
10
|
+
import {EntityCrudRepository} from '../../repositories';
|
|
11
11
|
import {
|
|
12
12
|
findByForeignKeys,
|
|
13
13
|
flattenTargetsOfOneToManyRelation,
|
|
@@ -16,7 +16,9 @@ import {
|
|
|
16
16
|
import {Getter, HasManyDefinition, InclusionResolver} from '../relation.types';
|
|
17
17
|
import {resolveHasManyMetadata} from './has-many.helpers';
|
|
18
18
|
|
|
19
|
-
const debug = debugFactory(
|
|
19
|
+
const debug = debugFactory(
|
|
20
|
+
'loopback:repository:relations:has-many:inclusion-resolver',
|
|
21
|
+
);
|
|
20
22
|
|
|
21
23
|
/**
|
|
22
24
|
* Creates InclusionResolver for HasMany relation.
|