@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
package/src/relations/has-many/{has-many-repository.factory.ts → has-many.repository-factory.ts}
RENAMED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
import debugFactory from 'debug';
|
|
7
7
|
import {DataObject} from '../../common-types';
|
|
8
8
|
import {Entity} from '../../model';
|
|
9
|
-
import {EntityCrudRepository} from '../../repositories
|
|
9
|
+
import {EntityCrudRepository} from '../../repositories';
|
|
10
10
|
import {Getter, HasManyDefinition, InclusionResolver} from '../relation.types';
|
|
11
11
|
import {resolveHasManyMetadata} from './has-many.helpers';
|
|
12
12
|
import {createHasManyInclusionResolver} from './has-many.inclusion-resolver';
|
|
@@ -15,7 +15,9 @@ import {
|
|
|
15
15
|
HasManyRepository,
|
|
16
16
|
} from './has-many.repository';
|
|
17
17
|
|
|
18
|
-
const debug = debugFactory(
|
|
18
|
+
const debug = debugFactory(
|
|
19
|
+
'loopback:repository:relations:has-many:repository-factory',
|
|
20
|
+
);
|
|
19
21
|
|
|
20
22
|
export interface HasManyRepositoryFactory<
|
|
21
23
|
Target extends Entity,
|
|
@@ -11,8 +11,8 @@ import {
|
|
|
11
11
|
constrainDataObject,
|
|
12
12
|
constrainFilter,
|
|
13
13
|
constrainWhere,
|
|
14
|
-
|
|
15
|
-
|
|
14
|
+
EntityCrudRepository,
|
|
15
|
+
} from '../../repositories';
|
|
16
16
|
|
|
17
17
|
/**
|
|
18
18
|
* CRUD operations for a target repository of a HasMany relation
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
// This file is licensed under the MIT License.
|
|
4
4
|
// License text available at https://opensource.org/licenses/MIT
|
|
5
5
|
|
|
6
|
-
export * from './has-many-
|
|
7
|
-
export * from './has-many-through-
|
|
6
|
+
export * from './has-many.repository-factory';
|
|
7
|
+
export * from './has-many-through.repository-factory';
|
|
8
8
|
export * from './has-many-through.repository';
|
|
9
9
|
export * from './has-many.decorator';
|
|
10
10
|
export * from './has-many.inclusion-resolver';
|
|
@@ -9,7 +9,7 @@ import {InvalidRelationError} from '../../errors';
|
|
|
9
9
|
import {isTypeResolver} from '../../type-resolver';
|
|
10
10
|
import {HasOneDefinition, RelationType} from '../relation.types';
|
|
11
11
|
|
|
12
|
-
const debug = debugFactory('loopback:repository:has-one
|
|
12
|
+
const debug = debugFactory('loopback:repository:relations:has-one: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
|
findByForeignKeys,
|
|
12
12
|
flattenTargetsOfOneToOneRelation,
|
package/src/relations/has-one/{has-one-repository.factory.ts → has-one.repository-factory.ts}
RENAMED
|
@@ -6,13 +6,15 @@
|
|
|
6
6
|
import debugFactory from 'debug';
|
|
7
7
|
import {DataObject} from '../../common-types';
|
|
8
8
|
import {Entity} from '../../model';
|
|
9
|
-
import {EntityCrudRepository} from '../../repositories
|
|
9
|
+
import {EntityCrudRepository} from '../../repositories';
|
|
10
10
|
import {Getter, HasOneDefinition, InclusionResolver} from '../relation.types';
|
|
11
11
|
import {resolveHasOneMetadata} from './has-one.helpers';
|
|
12
12
|
import {createHasOneInclusionResolver} from './has-one.inclusion-resolver';
|
|
13
13
|
import {DefaultHasOneRepository, HasOneRepository} from './has-one.repository';
|
|
14
14
|
|
|
15
|
-
const debug = debugFactory(
|
|
15
|
+
const debug = debugFactory(
|
|
16
|
+
'loopback:repository:relations:has-one:repository-factory',
|
|
17
|
+
);
|
|
16
18
|
|
|
17
19
|
export interface HasOneRepositoryFactory<
|
|
18
20
|
Target extends Entity,
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
import assert from 'assert';
|
|
7
7
|
import debugFactory from 'debug';
|
|
8
|
-
import _ from 'lodash';
|
|
8
|
+
import _, {cloneDeep} from 'lodash';
|
|
9
9
|
import {
|
|
10
10
|
AnyObject,
|
|
11
11
|
Entity,
|
|
@@ -39,17 +39,11 @@ export async function findByForeignKeys<
|
|
|
39
39
|
options?: Options,
|
|
40
40
|
): Promise<(Target & TargetRelations)[]> {
|
|
41
41
|
let value;
|
|
42
|
+
scope = cloneDeep(scope);
|
|
42
43
|
|
|
43
44
|
if (Array.isArray(fkValues)) {
|
|
44
45
|
if (fkValues.length === 0) return [];
|
|
45
|
-
value =
|
|
46
|
-
fkValues.length === 1
|
|
47
|
-
? fkValues[0]
|
|
48
|
-
: {
|
|
49
|
-
// Create a copy to prevent query coercion algorithm
|
|
50
|
-
// inside connectors from modifying the original values
|
|
51
|
-
inq: [...fkValues],
|
|
52
|
-
};
|
|
46
|
+
value = fkValues.length === 1 ? fkValues[0] : {inq: fkValues};
|
|
53
47
|
} else {
|
|
54
48
|
value = fkValues;
|
|
55
49
|
}
|
|
@@ -87,6 +81,8 @@ export async function includeRelatedModels<
|
|
|
87
81
|
include?: InclusionFilter[],
|
|
88
82
|
options?: Options,
|
|
89
83
|
): Promise<(T & Relations)[]> {
|
|
84
|
+
entities = cloneDeep(entities);
|
|
85
|
+
include = cloneDeep(include);
|
|
90
86
|
const result = entities as (T & Relations)[];
|
|
91
87
|
if (!include) return result;
|
|
92
88
|
|
|
@@ -1 +0,0 @@
|
|
|
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,CAAC,iDAAiD,CAAC,CAAC;AAiB9E;;;;;;;;;;;;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"}
|
|
@@ -1 +0,0 @@
|
|
|
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,CAAC,gDAAgD,CAAC,CAAC;AAgB7E;;;;;;;;;;;;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"}
|