UNPKG

1.56 kBJavaScriptView Raw
1"use strict";
2// Copyright IBM Corp. 2018,2020. All Rights Reserved.
3// Node module: @loopback/repository
4// This file is licensed under the MIT License.
5// License text available at https://opensource.org/licenses/MIT
6Object.defineProperty(exports, "__esModule", { value: true });
7exports.DefaultReferencesManyRepository = void 0;
8const errors_1 = require("../../errors");
9const repositories_1 = require("../../repositories");
10class DefaultReferencesManyRepository {
11 /**
12 * Constructor of DefaultReferencesManyEntityCrudRepository
13 * @param getTargetRepository - the getter of the related target model repository instance
14 * @param constraint - the key value pair representing foreign key name to constrain
15 * the target repository instance
16 */
17 constructor(getTargetRepository, constraint) {
18 this.getTargetRepository = getTargetRepository;
19 this.constraint = constraint;
20 }
21 async get(options) {
22 const targetRepo = await this.getTargetRepository();
23 const result = await targetRepo.find((0, repositories_1.constrainFilter)(undefined, this.constraint), options);
24 if (!result.length) {
25 // We don't have a direct access to the foreign key value here :(
26 const id = 'constraint ' + JSON.stringify(this.constraint);
27 throw new errors_1.EntityNotFoundError(targetRepo.entityClass, id);
28 }
29 return result[0];
30 }
31}
32exports.DefaultReferencesManyRepository = DefaultReferencesManyRepository;
33//# sourceMappingURL=references-many.repository.js.map
\No newline at end of file