@loopback/repository-tests 0.23.3 → 0.23.4
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/dist/crud/relations/acceptance/has-many-through-inclusion-resolver.acceptance.js +57 -3
- package/dist/crud/relations/acceptance/has-many-through-inclusion-resolver.acceptance.js.map +1 -1
- package/dist/crud/relations/fixtures/models/cart-item.model.d.ts +5 -2
- package/dist/crud/relations/fixtures/models/cart-item.model.js +4 -0
- package/dist/crud/relations/fixtures/models/cart-item.model.js.map +1 -1
- package/dist/crud/relations/fixtures/repositories/cart-item.repository.d.ts +4 -3
- package/dist/crud/relations/fixtures/repositories/cart-item.repository.js +3 -1
- package/dist/crud/relations/fixtures/repositories/cart-item.repository.js.map +1 -1
- package/dist/crud/relations/helpers.js +2 -1
- package/dist/crud/relations/helpers.js.map +1 -1
- package/package.json +10 -10
- package/src/crud/relations/acceptance/has-many-through-inclusion-resolver.acceptance.ts +61 -3
- package/src/crud/relations/fixtures/models/cart-item.model.ts +13 -1
- package/src/crud/relations/fixtures/repositories/cart-item.repository.ts +27 -1
- package/src/crud/relations/helpers.ts +7 -0
|
@@ -103,6 +103,51 @@ function hasManyThroughInclusionResolverAcceptance(dataSourceOptions, repository
|
|
|
103
103
|
};
|
|
104
104
|
(0, testlab_1.expect)((0, testlab_1.toJSON)(result)).to.deepEqual((0, testlab_1.toJSON)(expected));
|
|
105
105
|
});
|
|
106
|
+
it('includes relations through a bi-directional hasManyThrough relation', async () => {
|
|
107
|
+
const link = await customerRepo.create({ name: 'Link' });
|
|
108
|
+
const zelda = await customerRepo.create({ name: 'Zelda' });
|
|
109
|
+
const voldemort = await customerRepo.create({ name: 'Voldemort' });
|
|
110
|
+
const cart = await customerRepo
|
|
111
|
+
.cartItems(zelda.id)
|
|
112
|
+
.create({ description: 'crown' });
|
|
113
|
+
await customerRepo.cartItems(link.id).create({ description: 'shield' });
|
|
114
|
+
await customerRepo
|
|
115
|
+
.cartItems(link.id)
|
|
116
|
+
.create({ description: 'green hat' });
|
|
117
|
+
// Cart is now shared by Link, Zelda and Voldemort
|
|
118
|
+
await customerRepo.cartItems(link.id).link(cart.id);
|
|
119
|
+
await customerRepo.cartItems(voldemort.id).link(cart.id);
|
|
120
|
+
// We're testing the limit and order in the inclusion of customers
|
|
121
|
+
// within the inclusion of cartItems. The order clause in combination
|
|
122
|
+
// with the limit clause should return Zelda and Voldemort in that
|
|
123
|
+
// order, excluding Link due to the limit of 2 and sort by name.
|
|
124
|
+
const result = await customerRepo.find({
|
|
125
|
+
limit: 1,
|
|
126
|
+
order: ['name DESC'],
|
|
127
|
+
include: [
|
|
128
|
+
{
|
|
129
|
+
relation: 'cartItems',
|
|
130
|
+
scope: {
|
|
131
|
+
include: [
|
|
132
|
+
{
|
|
133
|
+
relation: 'customers',
|
|
134
|
+
scope: { limit: 2, order: ['name DESC'] },
|
|
135
|
+
},
|
|
136
|
+
],
|
|
137
|
+
},
|
|
138
|
+
},
|
|
139
|
+
],
|
|
140
|
+
});
|
|
141
|
+
const expected = [
|
|
142
|
+
{
|
|
143
|
+
...zelda,
|
|
144
|
+
parentId: features.emptyValue,
|
|
145
|
+
cartItems: [{ ...cart, customers: [zelda, voldemort] }],
|
|
146
|
+
},
|
|
147
|
+
];
|
|
148
|
+
(0, testlab_1.expect)(result.length).to.eql(1);
|
|
149
|
+
(0, testlab_1.expect)((0, testlab_1.toJSON)(result)).to.deepEqual((0, testlab_1.toJSON)(expected));
|
|
150
|
+
});
|
|
106
151
|
it('honours field scope when returning a model', async () => {
|
|
107
152
|
const link = await customerRepo.create({ name: 'Link' });
|
|
108
153
|
const sword = await customerRepo
|
|
@@ -126,17 +171,26 @@ function hasManyThroughInclusionResolverAcceptance(dataSourceOptions, repository
|
|
|
126
171
|
];
|
|
127
172
|
(0, testlab_1.expect)((0, testlab_1.toJSON)(result)).to.deepEqual((0, testlab_1.toJSON)(expected));
|
|
128
173
|
});
|
|
129
|
-
it('honours limit scope when returning a model', async () => {
|
|
174
|
+
it('honours limit and order scope when returning a model', async () => {
|
|
175
|
+
var _a;
|
|
130
176
|
const link = await customerRepo.create({ name: 'Link' });
|
|
131
177
|
await customerRepo
|
|
132
178
|
.cartItems(link.id)
|
|
133
179
|
.create({ description: 'master sword' });
|
|
134
|
-
|
|
180
|
+
const shield = await customerRepo
|
|
181
|
+
.cartItems(link.id)
|
|
182
|
+
.create({ description: 'shield' });
|
|
135
183
|
const result = await customerRepo.find({
|
|
136
|
-
include: [
|
|
184
|
+
include: [
|
|
185
|
+
{
|
|
186
|
+
relation: 'cartItems',
|
|
187
|
+
scope: { limit: 1, order: ['description DESC'] },
|
|
188
|
+
},
|
|
189
|
+
],
|
|
137
190
|
});
|
|
138
191
|
(0, testlab_1.expect)(result.length).to.eql(1);
|
|
139
192
|
(0, testlab_1.expect)(result[0].cartItems.length).to.eql(1);
|
|
193
|
+
(0, testlab_1.expect)((_a = result[0].cartItems[0]) === null || _a === void 0 ? void 0 : _a.id).to.eql(shield === null || shield === void 0 ? void 0 : shield.id);
|
|
140
194
|
});
|
|
141
195
|
it('finds models with nested inclusion', async () => {
|
|
142
196
|
const o1 = await orderRepo.create({ description: 'order 1' });
|
package/dist/crud/relations/acceptance/has-many-through-inclusion-resolver.acceptance.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"has-many-through-inclusion-resolver.acceptance.js","sourceRoot":"","sources":["../../../../src/crud/relations/acceptance/has-many-through-inclusion-resolver.acceptance.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"has-many-through-inclusion-resolver.acceptance.js","sourceRoot":"","sources":["../../../../src/crud/relations/acceptance/has-many-through-inclusion-resolver.acceptance.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +1,18 @@
|
|
|
1
|
-
import { BelongsToAccessor, Entity, EntityCrudRepository } from '@loopback/repository';
|
|
2
|
-
import { Order, OrderWithRelations } from '.';
|
|
1
|
+
import { BelongsToAccessor, Entity, EntityCrudRepository, HasManyThroughRepositoryFactory } from '@loopback/repository';
|
|
2
|
+
import { Customer, CustomerCartItemLink, Order, OrderWithRelations } from '.';
|
|
3
3
|
import { MixedIdType } from '../../../../helpers.repository-tests';
|
|
4
4
|
export declare class CartItem extends Entity {
|
|
5
5
|
id: MixedIdType;
|
|
6
6
|
description: string;
|
|
7
7
|
orderId: MixedIdType;
|
|
8
|
+
customers: Customer[];
|
|
8
9
|
}
|
|
9
10
|
export interface CartItemRelations {
|
|
10
11
|
order?: OrderWithRelations[];
|
|
12
|
+
customers?: Customer[];
|
|
11
13
|
}
|
|
12
14
|
export type CartItemWithRelations = CartItem & CartItemRelations;
|
|
13
15
|
export interface CartItemRepository extends EntityCrudRepository<CartItem, typeof CartItem.prototype.id> {
|
|
14
16
|
order: BelongsToAccessor<Order, MixedIdType>;
|
|
17
|
+
customers: HasManyThroughRepositoryFactory<Customer, MixedIdType, CustomerCartItemLink, MixedIdType>;
|
|
15
18
|
}
|
|
@@ -29,6 +29,10 @@ tslib_1.__decorate([
|
|
|
29
29
|
(0, repository_1.belongsTo)(() => _1.Order),
|
|
30
30
|
tslib_1.__metadata("design:type", Object)
|
|
31
31
|
], CartItem.prototype, "orderId", void 0);
|
|
32
|
+
tslib_1.__decorate([
|
|
33
|
+
(0, repository_1.hasMany)(() => _1.Customer, { through: { model: () => _1.CustomerCartItemLink } }),
|
|
34
|
+
tslib_1.__metadata("design:type", Array)
|
|
35
|
+
], CartItem.prototype, "customers", void 0);
|
|
32
36
|
exports.CartItem = CartItem = tslib_1.__decorate([
|
|
33
37
|
(0, repository_1.model)()
|
|
34
38
|
], CartItem);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cart-item.model.js","sourceRoot":"","sources":["../../../../../src/crud/relations/fixtures/models/cart-item.model.ts"],"names":[],"mappings":";AAAA,2EAA2E;AAC3E,0CAA0C;AAC1C,+CAA+C;AAC/C,gEAAgE;;;;AAEhE,
|
|
1
|
+
{"version":3,"file":"cart-item.model.js","sourceRoot":"","sources":["../../../../../src/crud/relations/fixtures/models/cart-item.model.ts"],"names":[],"mappings":";AAAA,2EAA2E;AAC3E,0CAA0C;AAC1C,+CAA+C;AAC/C,gEAAgE;;;;AAEhE,qDAS8B;AAC9B,wBAA4E;AAIrE,IAAM,QAAQ,GAAd,MAAM,QAAS,SAAQ,mBAAM;CAkBnC,CAAA;AAlBY,4BAAQ;AAMnB;IALC,IAAA,qBAAQ,EAAC;QACR,EAAE,EAAE,IAAI;QACR,SAAS,EAAE,IAAI;QACf,gBAAgB,EAAE,IAAI;KACvB,CAAC;;oCACc;AAKhB;IAHC,IAAA,qBAAQ,EAAC;QACR,IAAI,EAAE,QAAQ;KACf,CAAC;;6CACkB;AAGpB;IADC,IAAA,sBAAS,EAAC,GAAG,EAAE,CAAC,QAAK,CAAC;;yCACF;AAGrB;IADC,IAAA,oBAAO,EAAC,GAAG,EAAE,CAAC,WAAQ,EAAE,EAAC,OAAO,EAAE,EAAC,KAAK,EAAE,GAAG,EAAE,CAAC,uBAAoB,EAAC,EAAC,CAAC;;2CAClD;mBAjBX,QAAQ;IADpB,IAAA,kBAAK,GAAE;GACK,QAAQ,CAkBpB"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import { BelongsToAccessor, Getter, juggler } from '@loopback/repository';
|
|
1
|
+
import { BelongsToAccessor, Getter, HasManyThroughRepositoryFactory, juggler } from '@loopback/repository';
|
|
2
2
|
import { CrudRepositoryCtor } from '../../../..';
|
|
3
|
-
import { CartItem, CartItemRelations, Order } from '../models';
|
|
3
|
+
import { CartItem, CartItemRelations, Customer, CustomerCartItemLink, Order } from '../models';
|
|
4
4
|
export declare function createCartItemRepo(repoClass: CrudRepositoryCtor): {
|
|
5
|
-
new (db: juggler.DataSource, orderRepositoryGetter: Getter<typeof repoClass.prototype>): {
|
|
5
|
+
new (db: juggler.DataSource, orderRepositoryGetter: Getter<typeof repoClass.prototype>, customerRepositoryGetter: Getter<typeof repoClass.prototype>, customerCartItemLinkRepositoryGetter: Getter<typeof repoClass.prototype>): {
|
|
6
6
|
readonly order: BelongsToAccessor<Order, typeof CartItem.prototype.id>;
|
|
7
|
+
readonly customers: HasManyThroughRepositoryFactory<Customer, typeof Customer.prototype.id, CustomerCartItemLink, typeof CustomerCartItemLink.prototype.id>;
|
|
7
8
|
entityClass: typeof import("@loopback/repository").Entity & {
|
|
8
9
|
prototype: CartItem;
|
|
9
10
|
};
|
|
@@ -10,10 +10,12 @@ const models_1 = require("../models");
|
|
|
10
10
|
// create the CartItemRepo by calling this func so that it can be extended from CrudRepositoryCtor
|
|
11
11
|
function createCartItemRepo(repoClass) {
|
|
12
12
|
return class CartItemRepository extends repoClass {
|
|
13
|
-
constructor(db, orderRepositoryGetter) {
|
|
13
|
+
constructor(db, orderRepositoryGetter, customerRepositoryGetter, customerCartItemLinkRepositoryGetter) {
|
|
14
14
|
super(models_1.CartItem, db);
|
|
15
15
|
const ordersMeta = this.entityClass.definition.relations['order'];
|
|
16
16
|
this.order = (0, repository_1.createBelongsToAccessor)(ordersMeta, orderRepositoryGetter, this);
|
|
17
|
+
const customersMeta = this.entityClass.definition.relations['customers'];
|
|
18
|
+
this.customers = (0, repository_1.createHasManyThroughRepositoryFactory)(customersMeta, customerRepositoryGetter, customerCartItemLinkRepositoryGetter);
|
|
17
19
|
}
|
|
18
20
|
};
|
|
19
21
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cart-item.repository.js","sourceRoot":"","sources":["../../../../../src/crud/relations/fixtures/repositories/cart-item.repository.ts"],"names":[],"mappings":";AAAA,2EAA2E;AAC3E,0CAA0C;AAC1C,+CAA+C;AAC/C,gEAAgE;;;AAEhE,
|
|
1
|
+
{"version":3,"file":"cart-item.repository.js","sourceRoot":"","sources":["../../../../../src/crud/relations/fixtures/repositories/cart-item.repository.ts"],"names":[],"mappings":";AAAA,2EAA2E;AAC3E,0CAA0C;AAC1C,+CAA+C;AAC/C,gEAAgE;;;AAEhE,qDAS8B;AAE9B,sCAMmB;AAEnB,kGAAkG;AAClG,SAAgB,kBAAkB,CAAC,SAA6B;IAC9D,OAAO,MAAM,kBAAmB,SAAQ,SAIvC;QAaC,YACE,EAAsB,EACtB,qBAAyD,EACzD,wBAA4D,EAC5D,oCAAwE;YAExE,KAAK,CAAC,iBAAQ,EAAE,EAAE,CAAC,CAAC;YACpB,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YAClE,IAAI,CAAC,KAAK,GAAG,IAAA,oCAAuB,EAClC,UAAiC,EACjC,qBAAqB,EACrB,IAAI,CACL,CAAC;YAEF,MAAM,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;YACzE,IAAI,CAAC,SAAS,GAAG,IAAA,kDAAqC,EACpD,aAAkC,EAClC,wBAAwB,EACxB,oCAAoC,CACrC,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC;AAxCD,gDAwCC"}
|
|
@@ -94,8 +94,9 @@ function givenBoundCrudRepositories(db, repositoryClass, features) {
|
|
|
94
94
|
const cardInfoRepo = new cardInfoRepoClass(db, async () => creditCardRepo);
|
|
95
95
|
cardInfoRepo.inclusionResolvers.set('creditCard', cardInfoRepo.creditCard.inclusionResolver);
|
|
96
96
|
const cartItemRepoClass = (0, repositories_1.createCartItemRepo)(repositoryClass);
|
|
97
|
-
const cartItemRepo = new cartItemRepoClass(db, async () => orderRepo);
|
|
97
|
+
const cartItemRepo = new cartItemRepoClass(db, async () => orderRepo, async () => customerRepo, async () => customerCartItemLinkRepo);
|
|
98
98
|
cartItemRepo.inclusionResolvers.set('order', cartItemRepo.order.inclusionResolver);
|
|
99
|
+
cartItemRepo.inclusionResolvers.set('customers', cartItemRepo.customers.inclusionResolver);
|
|
99
100
|
const customerCartItemLinkRepoClass = (0, repositories_1.createCustomerCartItemLinkRepo)(repositoryClass);
|
|
100
101
|
const customerCartItemLinkRepo = new customerCartItemLinkRepoClass(db);
|
|
101
102
|
const freeDeliveryRepoClass = (0, repositories_1.createFreeDeliveryRepo)(repositoryClass);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/crud/relations/helpers.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/crud/relations/helpers.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@loopback/repository-tests",
|
|
3
3
|
"description": "A shared test suite to verify `@loopback/repository` functionality with a given compatible connector",
|
|
4
|
-
"version": "0.23.
|
|
4
|
+
"version": "0.23.4",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
7
|
"types": "dist/index.d.ts",
|
|
@@ -36,19 +36,19 @@
|
|
|
36
36
|
"@loopback/repository": "^6.0.0"
|
|
37
37
|
},
|
|
38
38
|
"dependencies": {
|
|
39
|
-
"@loopback/testlab": "^6.1.
|
|
40
|
-
"@types/debug": "^4.1.
|
|
39
|
+
"@loopback/testlab": "^6.1.4",
|
|
40
|
+
"@types/debug": "^4.1.12",
|
|
41
41
|
"debug": "^4.3.4",
|
|
42
42
|
"tslib": "^2.6.2"
|
|
43
43
|
},
|
|
44
44
|
"devDependencies": {
|
|
45
|
-
"@loopback/build": "^10.1.
|
|
46
|
-
"@loopback/core": "^5.1.
|
|
47
|
-
"@loopback/repository": "^6.1.
|
|
48
|
-
"@types/debug": "^4.1.
|
|
49
|
-
"@types/lodash": "^4.14.
|
|
50
|
-
"@types/node": "^16.18.
|
|
45
|
+
"@loopback/build": "^10.1.4",
|
|
46
|
+
"@loopback/core": "^5.1.4",
|
|
47
|
+
"@loopback/repository": "^6.1.4",
|
|
48
|
+
"@types/debug": "^4.1.12",
|
|
49
|
+
"@types/lodash": "^4.14.202",
|
|
50
|
+
"@types/node": "^16.18.68",
|
|
51
51
|
"lodash": "^4.17.21"
|
|
52
52
|
},
|
|
53
|
-
"gitHead": "
|
|
53
|
+
"gitHead": "5326aa3ae03bd01b970917f96d0403dd5102aef1"
|
|
54
54
|
}
|
|
@@ -158,6 +158,56 @@ export function hasManyThroughInclusionResolverAcceptance(
|
|
|
158
158
|
expect(toJSON(result)).to.deepEqual(toJSON(expected));
|
|
159
159
|
});
|
|
160
160
|
|
|
161
|
+
it('includes relations through a bi-directional hasManyThrough relation', async () => {
|
|
162
|
+
const link = await customerRepo.create({name: 'Link'});
|
|
163
|
+
const zelda = await customerRepo.create({name: 'Zelda'});
|
|
164
|
+
const voldemort = await customerRepo.create({name: 'Voldemort'});
|
|
165
|
+
|
|
166
|
+
const cart = await customerRepo
|
|
167
|
+
.cartItems(zelda.id)
|
|
168
|
+
.create({description: 'crown'});
|
|
169
|
+
await customerRepo.cartItems(link.id).create({description: 'shield'});
|
|
170
|
+
await customerRepo
|
|
171
|
+
.cartItems(link.id)
|
|
172
|
+
.create({description: 'green hat'});
|
|
173
|
+
|
|
174
|
+
// Cart is now shared by Link, Zelda and Voldemort
|
|
175
|
+
await customerRepo.cartItems(link.id).link(cart.id);
|
|
176
|
+
await customerRepo.cartItems(voldemort.id).link(cart.id);
|
|
177
|
+
|
|
178
|
+
// We're testing the limit and order in the inclusion of customers
|
|
179
|
+
// within the inclusion of cartItems. The order clause in combination
|
|
180
|
+
// with the limit clause should return Zelda and Voldemort in that
|
|
181
|
+
// order, excluding Link due to the limit of 2 and sort by name.
|
|
182
|
+
const result = await customerRepo.find({
|
|
183
|
+
limit: 1,
|
|
184
|
+
order: ['name DESC'],
|
|
185
|
+
include: [
|
|
186
|
+
{
|
|
187
|
+
relation: 'cartItems',
|
|
188
|
+
scope: {
|
|
189
|
+
include: [
|
|
190
|
+
{
|
|
191
|
+
relation: 'customers',
|
|
192
|
+
scope: {limit: 2, order: ['name DESC']},
|
|
193
|
+
},
|
|
194
|
+
],
|
|
195
|
+
},
|
|
196
|
+
},
|
|
197
|
+
],
|
|
198
|
+
});
|
|
199
|
+
const expected = [
|
|
200
|
+
{
|
|
201
|
+
...zelda,
|
|
202
|
+
parentId: features.emptyValue,
|
|
203
|
+
cartItems: [{...cart, customers: [zelda, voldemort]}],
|
|
204
|
+
},
|
|
205
|
+
];
|
|
206
|
+
|
|
207
|
+
expect(result.length).to.eql(1);
|
|
208
|
+
expect(toJSON(result)).to.deepEqual(toJSON(expected));
|
|
209
|
+
});
|
|
210
|
+
|
|
161
211
|
it('honours field scope when returning a model', async () => {
|
|
162
212
|
const link = await customerRepo.create({name: 'Link'});
|
|
163
213
|
const sword = await customerRepo
|
|
@@ -185,19 +235,27 @@ export function hasManyThroughInclusionResolverAcceptance(
|
|
|
185
235
|
expect(toJSON(result)).to.deepEqual(toJSON(expected));
|
|
186
236
|
});
|
|
187
237
|
|
|
188
|
-
it('honours limit scope when returning a model', async () => {
|
|
238
|
+
it('honours limit and order scope when returning a model', async () => {
|
|
189
239
|
const link = await customerRepo.create({name: 'Link'});
|
|
190
240
|
await customerRepo
|
|
191
241
|
.cartItems(link.id)
|
|
192
242
|
.create({description: 'master sword'});
|
|
193
|
-
await customerRepo
|
|
243
|
+
const shield = await customerRepo
|
|
244
|
+
.cartItems(link.id)
|
|
245
|
+
.create({description: 'shield'});
|
|
194
246
|
|
|
195
247
|
const result = await customerRepo.find({
|
|
196
|
-
include: [
|
|
248
|
+
include: [
|
|
249
|
+
{
|
|
250
|
+
relation: 'cartItems',
|
|
251
|
+
scope: {limit: 1, order: ['description DESC']},
|
|
252
|
+
},
|
|
253
|
+
],
|
|
197
254
|
});
|
|
198
255
|
|
|
199
256
|
expect(result.length).to.eql(1);
|
|
200
257
|
expect(result[0].cartItems.length).to.eql(1);
|
|
258
|
+
expect(result[0].cartItems[0]?.id).to.eql(shield?.id);
|
|
201
259
|
});
|
|
202
260
|
|
|
203
261
|
it('finds models with nested inclusion', async () => {
|
|
@@ -8,10 +8,12 @@ import {
|
|
|
8
8
|
BelongsToAccessor,
|
|
9
9
|
Entity,
|
|
10
10
|
EntityCrudRepository,
|
|
11
|
+
hasMany,
|
|
12
|
+
HasManyThroughRepositoryFactory,
|
|
11
13
|
model,
|
|
12
14
|
property,
|
|
13
15
|
} from '@loopback/repository';
|
|
14
|
-
import {Order, OrderWithRelations} from '.';
|
|
16
|
+
import {Customer, CustomerCartItemLink, Order, OrderWithRelations} from '.';
|
|
15
17
|
import {MixedIdType} from '../../../../helpers.repository-tests';
|
|
16
18
|
|
|
17
19
|
@model()
|
|
@@ -30,10 +32,14 @@ export class CartItem extends Entity {
|
|
|
30
32
|
|
|
31
33
|
@belongsTo(() => Order)
|
|
32
34
|
orderId: MixedIdType;
|
|
35
|
+
|
|
36
|
+
@hasMany(() => Customer, {through: {model: () => CustomerCartItemLink}})
|
|
37
|
+
customers: Customer[];
|
|
33
38
|
}
|
|
34
39
|
|
|
35
40
|
export interface CartItemRelations {
|
|
36
41
|
order?: OrderWithRelations[];
|
|
42
|
+
customers?: Customer[];
|
|
37
43
|
}
|
|
38
44
|
|
|
39
45
|
export type CartItemWithRelations = CartItem & CartItemRelations;
|
|
@@ -41,4 +47,10 @@ export type CartItemWithRelations = CartItem & CartItemRelations;
|
|
|
41
47
|
export interface CartItemRepository
|
|
42
48
|
extends EntityCrudRepository<CartItem, typeof CartItem.prototype.id> {
|
|
43
49
|
order: BelongsToAccessor<Order, MixedIdType>;
|
|
50
|
+
customers: HasManyThroughRepositoryFactory<
|
|
51
|
+
Customer,
|
|
52
|
+
MixedIdType,
|
|
53
|
+
CustomerCartItemLink,
|
|
54
|
+
MixedIdType
|
|
55
|
+
>;
|
|
44
56
|
}
|
|
@@ -7,11 +7,20 @@ import {
|
|
|
7
7
|
BelongsToAccessor,
|
|
8
8
|
BelongsToDefinition,
|
|
9
9
|
createBelongsToAccessor,
|
|
10
|
+
createHasManyThroughRepositoryFactory,
|
|
10
11
|
Getter,
|
|
12
|
+
HasManyDefinition,
|
|
13
|
+
HasManyThroughRepositoryFactory,
|
|
11
14
|
juggler,
|
|
12
15
|
} from '@loopback/repository';
|
|
13
16
|
import {CrudRepositoryCtor} from '../../../..';
|
|
14
|
-
import {
|
|
17
|
+
import {
|
|
18
|
+
CartItem,
|
|
19
|
+
CartItemRelations,
|
|
20
|
+
Customer,
|
|
21
|
+
CustomerCartItemLink,
|
|
22
|
+
Order,
|
|
23
|
+
} from '../models';
|
|
15
24
|
|
|
16
25
|
// create the CartItemRepo by calling this func so that it can be extended from CrudRepositoryCtor
|
|
17
26
|
export function createCartItemRepo(repoClass: CrudRepositoryCtor) {
|
|
@@ -24,9 +33,19 @@ export function createCartItemRepo(repoClass: CrudRepositoryCtor) {
|
|
|
24
33
|
Order,
|
|
25
34
|
typeof CartItem.prototype.id
|
|
26
35
|
>;
|
|
36
|
+
|
|
37
|
+
public readonly customers: HasManyThroughRepositoryFactory<
|
|
38
|
+
Customer,
|
|
39
|
+
typeof Customer.prototype.id,
|
|
40
|
+
CustomerCartItemLink,
|
|
41
|
+
typeof CustomerCartItemLink.prototype.id
|
|
42
|
+
>;
|
|
43
|
+
|
|
27
44
|
constructor(
|
|
28
45
|
db: juggler.DataSource,
|
|
29
46
|
orderRepositoryGetter: Getter<typeof repoClass.prototype>,
|
|
47
|
+
customerRepositoryGetter: Getter<typeof repoClass.prototype>,
|
|
48
|
+
customerCartItemLinkRepositoryGetter: Getter<typeof repoClass.prototype>,
|
|
30
49
|
) {
|
|
31
50
|
super(CartItem, db);
|
|
32
51
|
const ordersMeta = this.entityClass.definition.relations['order'];
|
|
@@ -35,6 +54,13 @@ export function createCartItemRepo(repoClass: CrudRepositoryCtor) {
|
|
|
35
54
|
orderRepositoryGetter,
|
|
36
55
|
this,
|
|
37
56
|
);
|
|
57
|
+
|
|
58
|
+
const customersMeta = this.entityClass.definition.relations['customers'];
|
|
59
|
+
this.customers = createHasManyThroughRepositoryFactory(
|
|
60
|
+
customersMeta as HasManyDefinition,
|
|
61
|
+
customerRepositoryGetter,
|
|
62
|
+
customerCartItemLinkRepositoryGetter,
|
|
63
|
+
);
|
|
38
64
|
}
|
|
39
65
|
};
|
|
40
66
|
}
|
|
@@ -201,6 +201,8 @@ export function givenBoundCrudRepositories(
|
|
|
201
201
|
const cartItemRepo: CartItemRepository = new cartItemRepoClass(
|
|
202
202
|
db,
|
|
203
203
|
async () => orderRepo,
|
|
204
|
+
async () => customerRepo,
|
|
205
|
+
async () => customerCartItemLinkRepo,
|
|
204
206
|
);
|
|
205
207
|
|
|
206
208
|
cartItemRepo.inclusionResolvers.set(
|
|
@@ -208,6 +210,11 @@ export function givenBoundCrudRepositories(
|
|
|
208
210
|
cartItemRepo.order.inclusionResolver,
|
|
209
211
|
);
|
|
210
212
|
|
|
213
|
+
cartItemRepo.inclusionResolvers.set(
|
|
214
|
+
'customers',
|
|
215
|
+
cartItemRepo.customers.inclusionResolver,
|
|
216
|
+
);
|
|
217
|
+
|
|
211
218
|
const customerCartItemLinkRepoClass =
|
|
212
219
|
createCustomerCartItemLinkRepo(repositoryClass);
|
|
213
220
|
const customerCartItemLinkRepo: CustomerCartItemLinkRepository =
|