@loopback/repository 2.9.0 → 2.11.2
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 +57 -0
- package/README.md +1 -6
- package/dist/decorators/metadata.js +3 -3
- package/dist/decorators/metadata.js.map +1 -1
- package/dist/define-model-class.js +3 -1
- package/dist/define-model-class.js.map +1 -1
- package/dist/index.d.ts +0 -6
- package/dist/index.js.map +1 -1
- package/dist/mixins/repository.mixin.js +0 -2
- package/dist/mixins/repository.mixin.js.map +1 -1
- package/dist/model.d.ts +19 -2
- package/dist/model.js +54 -0
- package/dist/model.js.map +1 -1
- package/dist/relations/belongs-to/belongs-to.helpers.d.ts +1 -0
- package/dist/relations/belongs-to/belongs-to.helpers.js +13 -6
- package/dist/relations/belongs-to/belongs-to.helpers.js.map +1 -1
- package/dist/relations/has-many/has-many-through-repository.factory.js +4 -1
- package/dist/relations/has-many/has-many-through-repository.factory.js.map +1 -1
- package/dist/relations/has-many/has-many-through.helpers.d.ts +35 -0
- package/dist/relations/has-many/has-many-through.helpers.js +44 -1
- package/dist/relations/has-many/has-many-through.helpers.js.map +1 -1
- package/dist/relations/has-many/has-many-through.repository.d.ts +2 -1
- package/dist/relations/has-many/has-many-through.repository.js +21 -5
- package/dist/relations/has-many/has-many-through.repository.js.map +1 -1
- package/dist/relations/relation.types.d.ts +1 -1
- package/dist/relations/relation.types.js +1 -1
- package/dist/repositories/legacy-juggler-bridge.d.ts +75 -0
- package/dist/repositories/legacy-juggler-bridge.js +2 -2
- package/dist/repositories/legacy-juggler-bridge.js.map +1 -1
- package/dist/repositories/repository.js.map +1 -1
- package/package.json +12 -12
- package/src/decorators/metadata.ts +3 -3
- package/src/define-model-class.ts +4 -1
- package/src/index.ts +0 -6
- package/src/mixins/repository.mixin.ts +0 -2
- package/src/model.ts +74 -2
- package/src/relations/belongs-to/belongs-to.helpers.ts +19 -8
- package/src/relations/has-many/has-many-through-repository.factory.ts +5 -1
- package/src/relations/has-many/has-many-through.helpers.ts +49 -0
- package/src/relations/has-many/has-many-through.repository.ts +26 -9
- package/src/relations/relation.types.ts +1 -1
- package/src/repositories/legacy-juggler-bridge.ts +91 -7
- package/src/repositories/repository.ts +2 -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":";AAAA,sDAAsD;AACtD,oCAAoC;AACpC,+CAA+C;AAC/C,gEAAgE;;;AAEhE,6BAae;AAgGf;;;;;;GAMG;AACH,MAAa,+BAA+B;IAQ1C,YACS,mBAA6C,EAC7C,oBAA+C,EAC/C,oCAEsB,EACtB,aAAgE,EAChE,8BAA+D,EAC/D,8BAEuB;
|
|
1
|
+
{"version":3,"file":"has-many-through.repository.js","sourceRoot":"","sources":["../../../src/relations/has-many/has-many-through.repository.ts"],"names":[],"mappings":";AAAA,sDAAsD;AACtD,oCAAoC;AACpC,+CAA+C;AAC/C,gEAAgE;;;AAEhE,6BAae;AAgGf;;;;;;GAMG;AACH,MAAa,+BAA+B;IAQ1C,YACS,mBAA6C,EAC7C,oBAA+C,EAC/C,oCAEsB,EACtB,aAAgE,EAChE,8BAA+D,EAC/D,YAA6D,EAC7D,8BAEuB;QAVvB,wBAAmB,GAAnB,mBAAmB,CAA0B;QAC7C,yBAAoB,GAApB,oBAAoB,CAA2B;QAC/C,yCAAoC,GAApC,oCAAoC,CAEd;QACtB,kBAAa,GAAb,aAAa,CAAmD;QAChE,mCAA8B,GAA9B,8BAA8B,CAAiC;QAC/D,iBAAY,GAAZ,YAAY,CAAiD;QAC7D,mCAA8B,GAA9B,8BAA8B,CAEP;IAC7B,CAAC;IAEJ,KAAK,CAAC,MAAM,CACV,eAAyC,EACzC,OAGC;QAED,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC1D,MAAM,cAAc,GAAG,MAAM,gBAAgB,CAAC,MAAM,CAClD,eAAe,EACf,OAAO,CACR,CAAC;QACF,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,EAAE,OAAO,CAAC,CAAC;QACjD,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,KAAK,CAAC,IAAI,CACR,MAA6B,EAC7B,OAEC;QAED,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC1D,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC5D,MAAM,gBAAgB,GAAG,IAAI,CAAC,8BAA8B,EAAE,CAAC;QAC/D,MAAM,gBAAgB,GAAG,MAAM,iBAAiB,CAAC,IAAI,CACnD,mBAAe,CAAC,SAAS,EAAE,gBAAgB,CAAC,EAC5C,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,cAAc,CACxB,CAAC;QACF,MAAM,gBAAgB,GAAG,IAAI,CAAC,oCAAoC,CAChE,gBAAgB,CACjB,CAAC;QACF,OAAO,gBAAgB,CAAC,IAAI,CAC1B,mBAAe,CAAC,MAAM,EAAE,gBAAgB,CAAC,EACzC,OAAO,CACR,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,MAAM,CACV,KAA2B,EAC3B,OAEC;QAED,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC1D,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC5D,MAAM,gBAAgB,GAAG,IAAI,CAAC,8BAA8B,EAAE,CAAC;QAC/D,MAAM,gBAAgB,GAAG,MAAM,iBAAiB,CAAC,IAAI,CACnD,mBAAe,CAAC,SAAS,EAAE,gBAAgB,CAAC,EAC5C,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,cAAc,CACxB,CAAC;QACF,IAAI,KAAK,EAAE;YACT,qCAAqC;YACrC,8EAA8E;YAC9E,iDAAiD;YACjD,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC,IAAI,CAAC,EAAC,KAAK,EAAC,CAAC,CAAC;YACrD,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;YAC7C,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;gBACxB,MAAM,gBAAgB,GAAG,IAAI,CAAC,8BAA8B,CAAC,SAAS,CAAC,CAAC;gBACxE,MAAM,WAAW,GAAG,EAAC,GAAG,gBAAgB,EAAE,GAAG,gBAAgB,EAAC,CAAC;gBAC/D,MAAM,iBAAiB,CAAC,SAAS,CAC/B,uBAAmB,CAAC,EAAE,EAAE,WAAwC,CAAC,EACjE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,cAAc,CACxB,CAAC;aACH;SACF;aAAM;YACL,+DAA+D;YAC/D,MAAM,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;YAC5D,8EAA8E;YAC9E,MAAM,mBAAmB,GAAG,IAAI,CAAC,8BAA8B,CAC7D,cAAc,CACf,CAAC;YACF,MAAM,iBAAiB,CAAC,SAAS,CAC/B,oBAAgB,CAAC,EAAE,EAAE,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,CAAC,CAC9D,CAAC;SACH;QACD,mBAAmB;QACnB,MAAM,gBAAgB,GAAG,IAAI,CAAC,oCAAoC,CAChE,gBAAgB,CACjB,CAAC;QACF,OAAO,gBAAgB,CAAC,SAAS,CAC/B,kBAAc,CAAC,KAAK,EAAE,gBAAuC,CAAC,EAC9D,OAAO,CACR,CAAC;IACJ,CAAC;IACD,6CAA6C;IAC7C,KAAK,CAAC,KAAK,CACT,UAAoC,EACpC,KAA2B,EAC3B,OAEC;QAED,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC1D,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC5D,MAAM,gBAAgB,GAAG,IAAI,CAAC,8BAA8B,EAAE,CAAC;QAC/D,MAAM,gBAAgB,GAAG,MAAM,iBAAiB,CAAC,IAAI,CACnD,mBAAe,CAAC,SAAS,EAAE,gBAAgB,CAAC,EAC5C,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,cAAc,CACxB,CAAC;QACF,MAAM,gBAAgB,GAAG,IAAI,CAAC,oCAAoC,CAChE,gBAAgB,CACjB,CAAC;QACF,OAAO,gBAAgB,CAAC,SAAS,CAC/B,uBAAmB,CAAC,UAAU,EAAE,gBAAgB,CAAC,EACjD,kBAAc,CAAC,KAAK,EAAE,gBAAuC,CAAC,EAC9D,OAAO,CACR,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,IAAI,CACR,QAAkB,EAClB,OAGC;;QAED,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC5D,MAAM,gBAAgB,GAAG,IAAI,CAAC,8BAA8B,EAAE,CAAC;QAC/D,MAAM,gBAAgB,GAAG,IAAI,CAAC,8BAA8B,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;QACzE,MAAM,WAAW,GAAG,EAAC,GAAG,gBAAgB,EAAE,GAAG,gBAAgB,EAAC,CAAC;QAC/D,MAAM,iBAAiB,CAAC,MAAM,CAC5B,uBAAmB,OACjB,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,WAAW,mCAAI,EAAE,EAC1B,WAAwC,CACzC,EACD,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,cAAc,CACxB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,MAAM,CACV,QAAkB,EAClB,OAEC;QAED,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC5D,MAAM,gBAAgB,GAAG,IAAI,CAAC,8BAA8B,EAAE,CAAC;QAC/D,MAAM,gBAAgB,GAAG,IAAI,CAAC,8BAA8B,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;QACzE,MAAM,WAAW,GAAG,EAAC,GAAG,gBAAgB,EAAE,GAAG,gBAAgB,EAAC,CAAC;QAC/D,MAAM,iBAAiB,CAAC,SAAS,CAC/B,uBAAmB,CAAC,EAAE,EAAE,WAAwC,CAAC,EACjE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,cAAc,CACxB,CAAC;IACJ,CAAC;CACF;AAvKD,0EAuKC"}
|
|
@@ -96,7 +96,7 @@ export interface HasManyDefinition extends RelationDefinitionBase {
|
|
|
96
96
|
export interface BelongsToDefinition extends RelationDefinitionBase {
|
|
97
97
|
type: RelationType.belongsTo;
|
|
98
98
|
targetsMany: false;
|
|
99
|
-
keyFrom
|
|
99
|
+
keyFrom?: string;
|
|
100
100
|
keyTo?: string;
|
|
101
101
|
}
|
|
102
102
|
export interface HasOneDefinition extends RelationDefinitionBase {
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
// This file is licensed under the MIT License.
|
|
5
5
|
// License text available at https://opensource.org/licenses/MIT
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.RelationType = void 0;
|
|
7
|
+
exports.Getter = exports.RelationType = void 0;
|
|
8
8
|
var RelationType;
|
|
9
9
|
(function (RelationType) {
|
|
10
10
|
RelationType["belongsTo"] = "belongsTo";
|
|
@@ -174,7 +174,82 @@ export declare class DefaultCrudRepository<T extends Entity, ID, Relations exten
|
|
|
174
174
|
deleteById(id: ID, options?: Options): Promise<void>;
|
|
175
175
|
count(where?: Where<T>, options?: Options): Promise<Count>;
|
|
176
176
|
exists(id: ID, options?: Options): Promise<boolean>;
|
|
177
|
+
/**
|
|
178
|
+
* Execute a SQL command.
|
|
179
|
+
*
|
|
180
|
+
* **WARNING:** In general, it is always better to perform database actions
|
|
181
|
+
* through repository methods. Directly executing SQL may lead to unexpected
|
|
182
|
+
* results, corrupted data, security vulnerabilities and other issues.
|
|
183
|
+
*
|
|
184
|
+
* @example
|
|
185
|
+
*
|
|
186
|
+
* ```ts
|
|
187
|
+
* // MySQL
|
|
188
|
+
* const result = await repo.execute(
|
|
189
|
+
* 'SELECT * FROM Products WHERE size > ?',
|
|
190
|
+
* [42]
|
|
191
|
+
* );
|
|
192
|
+
*
|
|
193
|
+
* // PostgreSQL
|
|
194
|
+
* const result = await repo.execute(
|
|
195
|
+
* 'SELECT * FROM Products WHERE size > $1',
|
|
196
|
+
* [42]
|
|
197
|
+
* );
|
|
198
|
+
* ```
|
|
199
|
+
*
|
|
200
|
+
* @param command A parameterized SQL command or query.
|
|
201
|
+
* Check your database documentation for information on which characters to
|
|
202
|
+
* use as parameter placeholders.
|
|
203
|
+
* @param parameters List of parameter values to use.
|
|
204
|
+
* @param options Additional options, for example `transaction`.
|
|
205
|
+
* @returns A promise which resolves to the command output as returned by the
|
|
206
|
+
* database driver. The output type (data structure) is database specific and
|
|
207
|
+
* often depends on the command executed.
|
|
208
|
+
*/
|
|
177
209
|
execute(command: Command, parameters: NamedParameters | PositionalParameters, options?: Options): Promise<AnyObject>;
|
|
210
|
+
/**
|
|
211
|
+
* Execute a MongoDB command.
|
|
212
|
+
*
|
|
213
|
+
* **WARNING:** In general, it is always better to perform database actions
|
|
214
|
+
* through repository methods. Directly executing MongoDB commands may lead
|
|
215
|
+
* to unexpected results and other issues.
|
|
216
|
+
*
|
|
217
|
+
* @example
|
|
218
|
+
*
|
|
219
|
+
* ```ts
|
|
220
|
+
* const result = await repo.execute('MyCollection', 'aggregate', [
|
|
221
|
+
* {$lookup: {
|
|
222
|
+
* // ...
|
|
223
|
+
* }},
|
|
224
|
+
* {$unwind: '$data'},
|
|
225
|
+
* {$out: 'tempData'}
|
|
226
|
+
* ]);
|
|
227
|
+
* ```
|
|
228
|
+
*
|
|
229
|
+
* @param collectionName The name of the collection to execute the command on.
|
|
230
|
+
* @param command The command name. See
|
|
231
|
+
* [Collection API docs](http://mongodb.github.io/node-mongodb-native/3.6/api/Collection.html)
|
|
232
|
+
* for the list of commands supported by the MongoDB client.
|
|
233
|
+
* @param parameters Command parameters (arguments), as described in MongoDB API
|
|
234
|
+
* docs for individual collection methods.
|
|
235
|
+
* @returns A promise which resolves to the command output as returned by the
|
|
236
|
+
* database driver.
|
|
237
|
+
*/
|
|
238
|
+
execute(collectionName: string, command: string, ...parameters: PositionalParameters): Promise<AnyObject>;
|
|
239
|
+
/**
|
|
240
|
+
* Execute a raw database command using a connector that's not described
|
|
241
|
+
* by LoopBack's `execute` API yet.
|
|
242
|
+
*
|
|
243
|
+
* **WARNING:** In general, it is always better to perform database actions
|
|
244
|
+
* through repository methods. Directly executing database commands may lead
|
|
245
|
+
* to unexpected results and other issues.
|
|
246
|
+
*
|
|
247
|
+
* @param args Command and parameters, please consult your connector's
|
|
248
|
+
* documentation to learn about supported commands and their parameters.
|
|
249
|
+
* @returns A promise which resolves to the command output as returned by the
|
|
250
|
+
* database driver.
|
|
251
|
+
*/
|
|
252
|
+
execute(...args: PositionalParameters): Promise<AnyObject>;
|
|
178
253
|
protected toEntity<R extends T>(model: juggler.PersistedModel): R;
|
|
179
254
|
protected toEntities<R extends T>(models: juggler.PersistedModel[]): R[];
|
|
180
255
|
/**
|
|
@@ -359,8 +359,8 @@ class DefaultCrudRepository {
|
|
|
359
359
|
exists(id, options) {
|
|
360
360
|
return ensurePromise(this.modelClass.exists(id, options));
|
|
361
361
|
}
|
|
362
|
-
async execute(
|
|
363
|
-
return ensurePromise(this.dataSource.execute(
|
|
362
|
+
async execute(...args) {
|
|
363
|
+
return ensurePromise(this.dataSource.execute(...args));
|
|
364
364
|
}
|
|
365
365
|
toEntity(model) {
|
|
366
366
|
return new this.entityClass(model.toObject());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"legacy-juggler-bridge.js","sourceRoot":"","sources":["../../src/repositories/legacy-juggler-bridge.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"legacy-juggler-bridge.js","sourceRoot":"","sources":["../../src/repositories/legacy-juggler-bridge.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repository.js","sourceRoot":"","sources":["../../src/repositories/repository.ts"],"names":[],"mappings":";AAAA,sDAAsD;AACtD,oCAAoC;AACpC,+CAA+C;AAC/C,gEAAgE;;;AAahE,sCAA8C;
|
|
1
|
+
{"version":3,"file":"repository.js","sourceRoot":"","sources":["../../src/repositories/repository.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@loopback/repository",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.11.2",
|
|
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",
|
|
@@ -22,22 +22,22 @@
|
|
|
22
22
|
"access": "public"
|
|
23
23
|
},
|
|
24
24
|
"devDependencies": {
|
|
25
|
-
"@loopback/build": "^6.
|
|
26
|
-
"@loopback/eslint-config": "^
|
|
27
|
-
"@loopback/testlab": "^3.2.
|
|
25
|
+
"@loopback/build": "^6.2.2",
|
|
26
|
+
"@loopback/eslint-config": "^9.0.2",
|
|
27
|
+
"@loopback/testlab": "^3.2.4",
|
|
28
28
|
"@types/bson": "^4.0.2",
|
|
29
29
|
"@types/json-schema": "^7.0.5",
|
|
30
|
-
"@types/lodash": "^4.14.
|
|
31
|
-
"@types/node": "^10.17.
|
|
32
|
-
"bson": "4.0
|
|
30
|
+
"@types/lodash": "^4.14.160",
|
|
31
|
+
"@types/node": "^10.17.28",
|
|
32
|
+
"bson": "4.1.0"
|
|
33
33
|
},
|
|
34
34
|
"dependencies": {
|
|
35
|
-
"@loopback/core": "^2.9.
|
|
35
|
+
"@loopback/core": "^2.9.5",
|
|
36
36
|
"@types/debug": "^4.1.5",
|
|
37
37
|
"debug": "^4.1.1",
|
|
38
|
-
"lodash": "^4.17.
|
|
39
|
-
"loopback-datasource-juggler": "^4.
|
|
40
|
-
"tslib": "^2.0.
|
|
38
|
+
"lodash": "^4.17.20",
|
|
39
|
+
"loopback-datasource-juggler": "^4.24.0",
|
|
40
|
+
"tslib": "^2.0.1"
|
|
41
41
|
},
|
|
42
42
|
"files": [
|
|
43
43
|
"README.md",
|
|
@@ -50,5 +50,5 @@
|
|
|
50
50
|
"url": "https://github.com/strongloop/loopback-next.git",
|
|
51
51
|
"directory": "packages/repository"
|
|
52
52
|
},
|
|
53
|
-
"gitHead": "
|
|
53
|
+
"gitHead": "a3f54273814de63819e0d8bc86509f8a737800bb"
|
|
54
54
|
}
|
|
@@ -49,13 +49,13 @@ export class ModelMetadataHelper {
|
|
|
49
49
|
// sets the metadata to a dedicated key if cached value does not exist
|
|
50
50
|
|
|
51
51
|
// set ModelDefinition properties if they don't already exist
|
|
52
|
-
const meta = new ModelDefinition(
|
|
52
|
+
const meta = new ModelDefinition({...modelMeta});
|
|
53
53
|
|
|
54
54
|
// set properties lost from creating instance of ModelDefinition
|
|
55
55
|
Object.assign(meta, modelMeta);
|
|
56
56
|
|
|
57
57
|
meta.properties = Object.assign(
|
|
58
|
-
<PropertyMap>
|
|
58
|
+
<PropertyMap>meta.properties,
|
|
59
59
|
MetadataInspector.getAllPropertyMetadata(
|
|
60
60
|
MODEL_PROPERTIES_KEY,
|
|
61
61
|
target.prototype,
|
|
@@ -64,7 +64,7 @@ export class ModelMetadataHelper {
|
|
|
64
64
|
);
|
|
65
65
|
|
|
66
66
|
meta.relations = Object.assign(
|
|
67
|
-
<RelationDefinitionMap>
|
|
67
|
+
<RelationDefinitionMap>meta.relations,
|
|
68
68
|
MetadataInspector.getAllPropertyMetadata(
|
|
69
69
|
RELATIONS_KEY,
|
|
70
70
|
target.prototype,
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
import * as assert from 'assert';
|
|
7
7
|
import {DataObject, PrototypeOf} from './common-types';
|
|
8
|
+
import {model} from './decorators';
|
|
8
9
|
import {Model, ModelDefinition} from './model';
|
|
9
10
|
|
|
10
11
|
/**
|
|
@@ -60,7 +61,9 @@ export function defineModelClass<
|
|
|
60
61
|
Props
|
|
61
62
|
>;
|
|
62
63
|
assert.equal(modelClass.name, modelName);
|
|
63
|
-
|
|
64
|
+
|
|
65
|
+
// Apply `@model(definition)` to the generated class
|
|
66
|
+
model(definition)(modelClass);
|
|
64
67
|
return modelClass;
|
|
65
68
|
}
|
|
66
69
|
|
package/src/index.ts
CHANGED
|
@@ -6,12 +6,6 @@
|
|
|
6
6
|
/**
|
|
7
7
|
* A common set of interfaces for interacting with databases.
|
|
8
8
|
*
|
|
9
|
-
* @remarks
|
|
10
|
-
* *NOTE:* This module is experimental and evolving. It is likely going to be
|
|
11
|
-
* refactored and decomposed into multiple modules as we refine the story based
|
|
12
|
-
* on the legacy loopback-datasource-juggler and connector modules from LoopBack
|
|
13
|
-
* 3.x.
|
|
14
|
-
*
|
|
15
9
|
* This module provides data access facilities to various databases and services
|
|
16
10
|
* as well as the constructs for modeling and accessing those data.
|
|
17
11
|
*
|
|
@@ -139,13 +139,11 @@ export function RepositoryMixin<T extends MixinTarget<Application>>(
|
|
|
139
139
|
const options = toOptions(nameOrOptions);
|
|
140
140
|
// We have an instance of
|
|
141
141
|
if (dataSource instanceof juggler.DataSource) {
|
|
142
|
-
// eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing
|
|
143
142
|
const name = options.name || dataSource.name;
|
|
144
143
|
const namespace = options.namespace ?? RepositoryBindings.DATASOURCES;
|
|
145
144
|
const key = `${namespace}.${name}`;
|
|
146
145
|
return this.bind(key).to(dataSource).tag(RepositoryTags.DATASOURCE);
|
|
147
146
|
} else if (typeof dataSource === 'function') {
|
|
148
|
-
// eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing
|
|
149
147
|
options.name = options.name || dataSource.dataSourceName;
|
|
150
148
|
const binding = createBindingFromClass(dataSource, {
|
|
151
149
|
namespace: RepositoryBindings.DATASOURCES,
|
package/src/model.ts
CHANGED
|
@@ -4,8 +4,14 @@
|
|
|
4
4
|
// License text available at https://opensource.org/licenses/MIT
|
|
5
5
|
|
|
6
6
|
import {AnyObject, DataObject, Options, PrototypeOf} from './common-types';
|
|
7
|
-
import {
|
|
8
|
-
|
|
7
|
+
import {
|
|
8
|
+
BelongsToDefinition,
|
|
9
|
+
HasManyDefinition,
|
|
10
|
+
HasOneDefinition,
|
|
11
|
+
JsonSchema,
|
|
12
|
+
RelationMetadata,
|
|
13
|
+
RelationType,
|
|
14
|
+
} from './index';
|
|
9
15
|
import {TypeResolver} from './type-resolver';
|
|
10
16
|
import {Type} from './types';
|
|
11
17
|
|
|
@@ -145,6 +151,60 @@ export class ModelDefinition {
|
|
|
145
151
|
return this;
|
|
146
152
|
}
|
|
147
153
|
|
|
154
|
+
/**
|
|
155
|
+
* Define a new belongsTo relation.
|
|
156
|
+
* @param name - The name of the belongsTo relation.
|
|
157
|
+
* @param definition - The definition of the belongsTo relation.
|
|
158
|
+
*/
|
|
159
|
+
belongsTo(
|
|
160
|
+
name: string,
|
|
161
|
+
definition: Omit<BelongsToDefinition, 'name' | 'type' | 'targetsMany'>,
|
|
162
|
+
): this {
|
|
163
|
+
const meta: BelongsToDefinition = {
|
|
164
|
+
...definition,
|
|
165
|
+
name,
|
|
166
|
+
type: RelationType.belongsTo,
|
|
167
|
+
targetsMany: false,
|
|
168
|
+
};
|
|
169
|
+
return this.addRelation(meta);
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
/**
|
|
173
|
+
* Define a new hasOne relation.
|
|
174
|
+
* @param name - The name of the hasOne relation.
|
|
175
|
+
* @param definition - The definition of the hasOne relation.
|
|
176
|
+
*/
|
|
177
|
+
hasOne(
|
|
178
|
+
name: string,
|
|
179
|
+
definition: Omit<HasOneDefinition, 'name' | 'type' | 'targetsMany'>,
|
|
180
|
+
): this {
|
|
181
|
+
const meta: HasOneDefinition = {
|
|
182
|
+
...definition,
|
|
183
|
+
name,
|
|
184
|
+
type: RelationType.hasOne,
|
|
185
|
+
targetsMany: false,
|
|
186
|
+
};
|
|
187
|
+
return this.addRelation(meta);
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
/**
|
|
191
|
+
* Define a new hasMany relation.
|
|
192
|
+
* @param name - The name of the hasMany relation.
|
|
193
|
+
* @param definition - The definition of the hasMany relation.
|
|
194
|
+
*/
|
|
195
|
+
hasMany(
|
|
196
|
+
name: string,
|
|
197
|
+
definition: Omit<HasManyDefinition, 'name' | 'type' | 'targetsMany'>,
|
|
198
|
+
): this {
|
|
199
|
+
const meta: HasManyDefinition = {
|
|
200
|
+
...definition,
|
|
201
|
+
name,
|
|
202
|
+
type: RelationType.hasMany,
|
|
203
|
+
targetsMany: true,
|
|
204
|
+
};
|
|
205
|
+
return this.addRelation(meta);
|
|
206
|
+
}
|
|
207
|
+
|
|
148
208
|
/**
|
|
149
209
|
* Get an array of names of ID properties, which are specified in
|
|
150
210
|
* the model settings or properties with `id` attribute.
|
|
@@ -279,6 +339,18 @@ export abstract class Model {
|
|
|
279
339
|
return obj;
|
|
280
340
|
}
|
|
281
341
|
|
|
342
|
+
if (def?.relations) {
|
|
343
|
+
for (const r in def.relations) {
|
|
344
|
+
const relName = def.relations[r].name;
|
|
345
|
+
if (relName in this) {
|
|
346
|
+
obj[relName] = asObject((this as AnyObject)[relName], {
|
|
347
|
+
...options,
|
|
348
|
+
ignoreUnknownProperties: false,
|
|
349
|
+
});
|
|
350
|
+
}
|
|
351
|
+
}
|
|
352
|
+
}
|
|
353
|
+
|
|
282
354
|
const props = def.properties;
|
|
283
355
|
const keys = Object.keys(props);
|
|
284
356
|
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
// License text available at https://opensource.org/licenses/MIT
|
|
5
5
|
|
|
6
6
|
import debugFactory from 'debug';
|
|
7
|
+
import {camelCase} from 'lodash';
|
|
7
8
|
import {InvalidRelationError} from '../../errors';
|
|
8
9
|
import {isTypeResolver} from '../../type-resolver';
|
|
9
10
|
import {BelongsToDefinition, RelationType} from '../relation.types';
|
|
@@ -14,7 +15,10 @@ const debug = debugFactory('loopback:repository:belongs-to-helpers');
|
|
|
14
15
|
* Relation definition with optional metadata (e.g. `keyTo`) filled in.
|
|
15
16
|
* @internal
|
|
16
17
|
*/
|
|
17
|
-
export type BelongsToResolvedDefinition = BelongsToDefinition & {
|
|
18
|
+
export type BelongsToResolvedDefinition = BelongsToDefinition & {
|
|
19
|
+
keyFrom: string;
|
|
20
|
+
keyTo: string;
|
|
21
|
+
};
|
|
18
22
|
|
|
19
23
|
/**
|
|
20
24
|
* Resolves given belongsTo metadata if target is specified to be a resolver.
|
|
@@ -34,11 +38,6 @@ export function resolveBelongsToMetadata(relationMeta: BelongsToDefinition) {
|
|
|
34
38
|
throw new InvalidRelationError(reason, relationMeta);
|
|
35
39
|
}
|
|
36
40
|
|
|
37
|
-
if (!relationMeta.keyFrom) {
|
|
38
|
-
const reason = 'keyFrom is required';
|
|
39
|
-
throw new InvalidRelationError(reason, relationMeta);
|
|
40
|
-
}
|
|
41
|
-
|
|
42
41
|
const sourceModel = relationMeta.source;
|
|
43
42
|
if (!sourceModel || !sourceModel.modelName) {
|
|
44
43
|
const reason = 'source model must be defined';
|
|
@@ -49,12 +48,24 @@ export function resolveBelongsToMetadata(relationMeta: BelongsToDefinition) {
|
|
|
49
48
|
const targetName = targetModel.modelName;
|
|
50
49
|
debug('Resolved model %s from given metadata: %o', targetName, targetModel);
|
|
51
50
|
|
|
51
|
+
let keyFrom;
|
|
52
|
+
if (
|
|
53
|
+
relationMeta.keyFrom &&
|
|
54
|
+
relationMeta.source.definition.properties[relationMeta.keyFrom]
|
|
55
|
+
) {
|
|
56
|
+
keyFrom = relationMeta.keyFrom;
|
|
57
|
+
} else {
|
|
58
|
+
keyFrom = camelCase(targetName + '_id');
|
|
59
|
+
}
|
|
60
|
+
|
|
52
61
|
const targetProperties = targetModel.definition.properties;
|
|
53
62
|
debug('relation metadata from %o: %o', targetName, targetProperties);
|
|
54
63
|
|
|
55
64
|
if (relationMeta.keyTo && targetProperties[relationMeta.keyTo]) {
|
|
56
65
|
// The explicit cast is needed because of a limitation of type inference
|
|
57
|
-
return relationMeta
|
|
66
|
+
return Object.assign(relationMeta, {
|
|
67
|
+
keyFrom,
|
|
68
|
+
}) as BelongsToResolvedDefinition;
|
|
58
69
|
}
|
|
59
70
|
|
|
60
71
|
const targetPrimaryKey = targetModel.definition.idProperties()[0];
|
|
@@ -63,5 +74,5 @@ export function resolveBelongsToMetadata(relationMeta: BelongsToDefinition) {
|
|
|
63
74
|
throw new InvalidRelationError(reason, relationMeta);
|
|
64
75
|
}
|
|
65
76
|
|
|
66
|
-
return Object.assign(relationMeta, {keyTo: targetPrimaryKey});
|
|
77
|
+
return Object.assign(relationMeta, {keyFrom, keyTo: targetPrimaryKey});
|
|
67
78
|
}
|
|
@@ -13,6 +13,7 @@ import {
|
|
|
13
13
|
createTargetConstraintFromThrough,
|
|
14
14
|
createThroughConstraintFromSource,
|
|
15
15
|
createThroughConstraintFromTarget,
|
|
16
|
+
getTargetIdsFromTargetModels,
|
|
16
17
|
getTargetKeysFromThroughModels,
|
|
17
18
|
resolveHasManyThroughMetadata,
|
|
18
19
|
} from './has-many-through.helpers';
|
|
@@ -69,7 +70,9 @@ export function createHasManyThroughRepositoryFactory<
|
|
|
69
70
|
>(meta, fkValue);
|
|
70
71
|
return constraint;
|
|
71
72
|
}
|
|
72
|
-
|
|
73
|
+
function getTargetIds(targetInstances: Target[]): TargetID[] {
|
|
74
|
+
return getTargetIdsFromTargetModels(meta, targetInstances);
|
|
75
|
+
}
|
|
73
76
|
function getThroughConstraintFromTarget(
|
|
74
77
|
fkValues: TargetID[],
|
|
75
78
|
): DataObject<Through> {
|
|
@@ -93,6 +96,7 @@ export function createHasManyThroughRepositoryFactory<
|
|
|
93
96
|
getTargetConstraintFromThroughModels,
|
|
94
97
|
getTargetKeys,
|
|
95
98
|
getThroughConstraintFromSource,
|
|
99
|
+
getTargetIds,
|
|
96
100
|
getThroughConstraintFromTarget,
|
|
97
101
|
);
|
|
98
102
|
};
|
|
@@ -174,6 +174,55 @@ export function createThroughConstraintFromSource<
|
|
|
174
174
|
const constraint: any = {[sourceFkName]: fkValue};
|
|
175
175
|
return constraint;
|
|
176
176
|
}
|
|
177
|
+
|
|
178
|
+
/**
|
|
179
|
+
* Returns an array of target ids of the given target instances.
|
|
180
|
+
*
|
|
181
|
+
* @param relationMeta - resolved hasManyThrough metadata
|
|
182
|
+
* @param targetInstances - an array of target instances
|
|
183
|
+
*
|
|
184
|
+
* @example
|
|
185
|
+
* ```ts
|
|
186
|
+
* const resolvedMetadata = {
|
|
187
|
+
* // .. other props
|
|
188
|
+
* keyFrom: 'id',
|
|
189
|
+
* keyTo: 'id',
|
|
190
|
+
* through: {
|
|
191
|
+
* model: () => CategoryProductLink,
|
|
192
|
+
* keyFrom: 'categoryId',
|
|
193
|
+
* keyTo: 'productId',
|
|
194
|
+
* },
|
|
195
|
+
* };
|
|
196
|
+
* getTargetKeysFromTargetModels(resolvedMetadata,[{
|
|
197
|
+
id: 2,
|
|
198
|
+
des: 'a target',
|
|
199
|
+
}]);
|
|
200
|
+
* >>> [2]
|
|
201
|
+
* getTargetKeysFromTargetModels(resolvedMetadata, [
|
|
202
|
+
{
|
|
203
|
+
id: 2,
|
|
204
|
+
des: 'a target',
|
|
205
|
+
}, {
|
|
206
|
+
id: 1,
|
|
207
|
+
des: 'a target',
|
|
208
|
+
}
|
|
209
|
+
]);
|
|
210
|
+
>>> [2, 1]
|
|
211
|
+
*/
|
|
212
|
+
export function getTargetIdsFromTargetModels<Target extends Entity, TargetID>(
|
|
213
|
+
relationMeta: HasManyThroughResolvedDefinition,
|
|
214
|
+
targetInstances: Target[],
|
|
215
|
+
): TargetID[] {
|
|
216
|
+
const targetId = relationMeta.keyTo;
|
|
217
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
218
|
+
let ids = [] as any;
|
|
219
|
+
ids = targetInstances.map(
|
|
220
|
+
(targetInstance: Target) => targetInstance[targetId as keyof Target],
|
|
221
|
+
);
|
|
222
|
+
ids = deduplicate(ids);
|
|
223
|
+
return ids as TargetID[];
|
|
224
|
+
}
|
|
225
|
+
|
|
177
226
|
/**
|
|
178
227
|
* Creates through constraint based on the target foreign key
|
|
179
228
|
*
|
|
@@ -135,6 +135,7 @@ export class DefaultHasManyThroughRepository<
|
|
|
135
135
|
) => DataObject<TargetEntity>,
|
|
136
136
|
public getTargetKeys: (throughInstances: ThroughEntity[]) => TargetID[],
|
|
137
137
|
public getThroughConstraintFromSource: () => DataObject<ThroughEntity>,
|
|
138
|
+
public getTargetIds: (targetInstances: TargetEntity[]) => TargetID[],
|
|
138
139
|
public getThroughConstraintFromTarget: (
|
|
139
140
|
targetID: TargetID[],
|
|
140
141
|
) => DataObject<ThroughEntity>,
|
|
@@ -191,15 +192,31 @@ export class DefaultHasManyThroughRepository<
|
|
|
191
192
|
constrainFilter(undefined, sourceConstraint),
|
|
192
193
|
options?.throughOptions,
|
|
193
194
|
);
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
195
|
+
if (where) {
|
|
196
|
+
// only delete related through models
|
|
197
|
+
// TODO(Agnes): this performance can be improved by only fetching related data
|
|
198
|
+
// TODO: add target ids to the `where` constraint
|
|
199
|
+
const targets = await targetRepository.find({where});
|
|
200
|
+
const targetIds = this.getTargetIds(targets);
|
|
201
|
+
if (targetIds.length > 0) {
|
|
202
|
+
const targetConstraint = this.getThroughConstraintFromTarget(targetIds);
|
|
203
|
+
const constraints = {...targetConstraint, ...sourceConstraint};
|
|
204
|
+
await throughRepository.deleteAll(
|
|
205
|
+
constrainDataObject({}, constraints as DataObject<ThroughEntity>),
|
|
206
|
+
options?.throughOptions,
|
|
207
|
+
);
|
|
208
|
+
}
|
|
209
|
+
} else {
|
|
210
|
+
// otherwise, delete through models that relate to the sourceId
|
|
211
|
+
const targetFkValues = this.getTargetKeys(throughInstances);
|
|
212
|
+
// delete through instances that have the targets that are going to be deleted
|
|
213
|
+
const throughFkConstraint = this.getThroughConstraintFromTarget(
|
|
214
|
+
targetFkValues,
|
|
215
|
+
);
|
|
216
|
+
await throughRepository.deleteAll(
|
|
217
|
+
constrainWhereOr({}, [sourceConstraint, throughFkConstraint]),
|
|
218
|
+
);
|
|
219
|
+
}
|
|
203
220
|
// delete target(s)
|
|
204
221
|
const targetConstraint = this.getTargetConstraintFromThroughModels(
|
|
205
222
|
throughInstances,
|
|
@@ -117,7 +117,7 @@ export interface BelongsToDefinition extends RelationDefinitionBase {
|
|
|
117
117
|
/*
|
|
118
118
|
* The foreign key in the source model, e.g. Order#customerId.
|
|
119
119
|
*/
|
|
120
|
-
keyFrom
|
|
120
|
+
keyFrom?: string;
|
|
121
121
|
|
|
122
122
|
/*
|
|
123
123
|
* The primary key of the target model, e.g Customer#id.
|