@chevre/domain 20.1.0-alpha.4 → 20.1.0-alpha.41
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/example/src/chevre/deleteEvents.ts +9 -1
- package/example/src/chevre/migrateAccountTitleAdditionalProperties.ts +157 -0
- package/example/src/chevre/migrateCreativeWorkAdditionalProperties.ts +116 -0
- package/example/src/chevre/migrateEventOffersSellerMakesOffer.ts +139 -0
- package/example/src/chevre/migrateEventProjectAttributes.ts +57 -0
- package/example/src/chevre/migratePlaceAdditionalProperties.ts +162 -0
- package/example/src/chevre/migrateSSKTEventCOAEndpoint.ts +64 -0
- package/example/src/chevre/searchEvents.ts +36 -16
- package/lib/chevre/repo/accountAction.d.ts +0 -18
- package/lib/chevre/repo/accountAction.js +402 -355
- package/lib/chevre/repo/accountTitle.d.ts +1 -0
- package/lib/chevre/repo/accountTitle.js +6 -1
- package/lib/chevre/repo/additionalProperty.d.ts +35 -0
- package/lib/chevre/repo/additionalProperty.js +205 -0
- package/lib/chevre/repo/categoryCode.d.ts +1 -0
- package/lib/chevre/repo/categoryCode.js +15 -1
- package/lib/chevre/repo/creativeWork.js +10 -1
- package/lib/chevre/repo/customer.d.ts +1 -0
- package/lib/chevre/repo/customer.js +5 -0
- package/lib/chevre/repo/event.d.ts +12 -4
- package/lib/chevre/repo/event.js +84 -48
- package/lib/chevre/repo/merchantReturnPolicy.d.ts +1 -0
- package/lib/chevre/repo/merchantReturnPolicy.js +5 -0
- package/lib/chevre/repo/mongoose/model/additionalProperty.d.ts +7 -0
- package/lib/chevre/repo/mongoose/model/additionalProperty.js +81 -0
- package/lib/chevre/repo/mongoose/model/categoryCode.js +18 -2
- package/lib/chevre/repo/mongoose/model/creativeWork.js +6 -0
- package/lib/chevre/repo/mongoose/model/event.js +53 -0
- package/lib/chevre/repo/mongoose/model/offer.js +7 -1
- package/lib/chevre/repo/mongoose/model/offerCatalog.js +21 -2
- package/lib/chevre/repo/mongoose/model/ownershipInfo.js +3 -15
- package/lib/chevre/repo/mongoose/model/place.js +42 -0
- package/lib/chevre/repo/offer.js +10 -1
- package/lib/chevre/repo/offerCatalog.js +10 -10
- package/lib/chevre/repo/place.d.ts +1 -0
- package/lib/chevre/repo/place.js +54 -7
- package/lib/chevre/repo/reservation.d.ts +16 -2
- package/lib/chevre/repo/reservation.js +29 -1
- package/lib/chevre/repo/transaction.js +20 -5
- package/lib/chevre/repository.d.ts +6 -3
- package/lib/chevre/repository.js +10 -5
- package/lib/chevre/service/account.d.ts +0 -4
- package/lib/chevre/service/account.js +24 -22
- package/lib/chevre/service/accountTransaction/deposit.d.ts +0 -2
- package/lib/chevre/service/accountTransaction/deposit.js +3 -3
- package/lib/chevre/service/accountTransaction/transfer.d.ts +0 -2
- package/lib/chevre/service/accountTransaction/transfer.js +3 -3
- package/lib/chevre/service/accountTransaction/withdraw.d.ts +0 -2
- package/lib/chevre/service/accountTransaction/withdraw.js +3 -3
- package/lib/chevre/service/assetTransaction/pay/potentialActions.js +9 -19
- package/lib/chevre/service/assetTransaction/reserve/factory.js +119 -115
- package/lib/chevre/service/assetTransaction/reserve.js +99 -89
- package/lib/chevre/service/delivery/factory.js +2 -1
- package/lib/chevre/service/event.js +20 -6
- package/lib/chevre/service/offer/event/authorize.d.ts +4 -0
- package/lib/chevre/service/offer/event/authorize.js +65 -27
- package/lib/chevre/service/offer/event/factory.d.ts +1 -1
- package/lib/chevre/service/offer/event/factory.js +17 -12
- package/lib/chevre/service/offer/eventServiceByCOA/factory.js +19 -9
- package/lib/chevre/service/offer/factory.js +7 -20
- package/lib/chevre/service/offer.js +6 -6
- package/lib/chevre/service/order/onOrderStatusChanged/factory.js +4 -2
- package/lib/chevre/service/order/onOrderStatusChanged.js +3 -2
- package/lib/chevre/service/order/placeOrder.js +13 -5
- package/lib/chevre/service/order/returnOrder.js +2 -1
- package/lib/chevre/service/order/sendOrder.js +2 -1
- package/lib/chevre/service/reserve/cancelReservation.js +135 -84
- package/lib/chevre/service/reserve/confirmReservation.js +65 -33
- package/lib/chevre/service/reserve/potentialActions/onReservationConfirmed.d.ts +1 -1
- package/lib/chevre/service/reserve/potentialActions/onReservationConfirmed.js +67 -30
- package/lib/chevre/service/task/confirmReserveTransaction.js +1 -1
- package/lib/chevre/service/transaction/orderProgramMembership.js +6 -8
- package/lib/chevre/service/transaction/placeOrder/exportTasks/factory.js +6 -3
- package/lib/chevre/service/transaction/placeOrderInProgress/factory.js +9 -4
- package/lib/chevre/service/transaction/placeOrderInProgress/potentialActions/givePointAward.js +2 -1
- package/lib/chevre/service/transaction/placeOrderInProgress/potentialActions/moneyTransfer.js +2 -1
- package/lib/chevre/service/transaction/placeOrderInProgress/potentialActions/registerService.js +2 -1
- package/lib/chevre/service/transaction/placeOrderInProgress/potentialActions/sendEmailMessage.js +4 -3
- package/lib/chevre/service/transaction/placeOrderInProgress/potentialActions.js +2 -1
- package/lib/chevre/service/transaction/placeOrderInProgress/result/acceptedOffers.js +10 -6
- package/lib/chevre/service/transaction/placeOrderInProgress/result.js +2 -4
- package/lib/chevre/service/transaction/placeOrderInProgress/validation/validateSeller.d.ts +3 -1
- package/lib/chevre/service/transaction/placeOrderInProgress/validation/validateSeller.js +3 -2
- package/lib/chevre/service/transaction/placeOrderInProgress.js +16 -2
- package/lib/chevre/service/transaction/returnOrder/potentialActions/returnMoneyTransfer.js +4 -5
- package/lib/chevre/service/transaction/returnOrder/potentialActions/returnPaymentMethod.js +6 -3
- package/lib/chevre/service/transaction/returnOrder/potentialActions/returnPointAward.js +4 -6
- package/lib/chevre/service/transaction/returnOrder/potentialActions/sendEmailMessage.js +2 -1
- package/lib/chevre/service/transaction/returnOrder.js +10 -1
- package/lib/chevre/service/transaction.js +1 -14
- package/package.json +4 -4
- package/example/src/chevre/accountBlanceTest.ts +0 -24
- package/example/src/chevre/checkOffersAppliesToMovieTicket.ts +0 -56
- package/example/src/chevre/createSeats.ts +0 -59
- package/example/src/chevre/manageOwnedByOfOwnershipInfo.ts +0 -35
- package/example/src/chevre/migrateEventOffersItemOfferedName.ts +0 -82
- package/example/src/chevre/migrateMovieTicketChargePriceSpecs.ts +0 -92
- package/example/src/chevre/migrateSellerMakesOffers.ts +0 -84
- package/example/src/chevre/migrateTTTSOldEventId.ts +0 -68
- package/example/src/chevre/publishConfirmationNumber.ts +0 -30
- package/example/src/chevre/publishServiceOutputIdentifier.ts +0 -28
- package/example/src/chevre/publishTransactionNumber.ts +0 -28
- package/example/src/chevre/renameTransaction.ts +0 -22
- package/lib/chevre/service/task/accountMoneyTransfer.d.ts +0 -3
- package/lib/chevre/service/task/accountMoneyTransfer.js +0 -31
- package/lib/chevre/service/task/cancelAccountMoneyTransfer.d.ts +0 -3
- package/lib/chevre/service/task/cancelAccountMoneyTransfer.js +0 -33
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.schema = exports.modelName = void 0;
|
|
4
|
+
const mongoose = require("mongoose");
|
|
5
|
+
const modelName = 'AdditionalProperty';
|
|
6
|
+
exports.modelName = modelName;
|
|
7
|
+
const writeConcern = { j: true, w: 'majority', wtimeout: 10000 };
|
|
8
|
+
/**
|
|
9
|
+
* 追加特性スキーマ
|
|
10
|
+
*/
|
|
11
|
+
const schema = new mongoose.Schema({
|
|
12
|
+
project: mongoose.SchemaTypes.Mixed,
|
|
13
|
+
typeOf: {
|
|
14
|
+
type: String,
|
|
15
|
+
required: true
|
|
16
|
+
},
|
|
17
|
+
codeValue: {
|
|
18
|
+
type: String,
|
|
19
|
+
required: true
|
|
20
|
+
},
|
|
21
|
+
inCodeSet: mongoose.SchemaTypes.Mixed,
|
|
22
|
+
name: mongoose.SchemaTypes.Mixed
|
|
23
|
+
}, {
|
|
24
|
+
collection: 'additionalProperties',
|
|
25
|
+
id: true,
|
|
26
|
+
read: 'primaryPreferred',
|
|
27
|
+
writeConcern: writeConcern,
|
|
28
|
+
strict: true,
|
|
29
|
+
useNestedStrict: true,
|
|
30
|
+
timestamps: {
|
|
31
|
+
createdAt: 'createdAt',
|
|
32
|
+
updatedAt: 'updatedAt'
|
|
33
|
+
},
|
|
34
|
+
toJSON: {
|
|
35
|
+
getters: false,
|
|
36
|
+
virtuals: false,
|
|
37
|
+
minimize: false,
|
|
38
|
+
versionKey: false
|
|
39
|
+
},
|
|
40
|
+
toObject: {
|
|
41
|
+
getters: false,
|
|
42
|
+
virtuals: true,
|
|
43
|
+
minimize: false,
|
|
44
|
+
versionKey: false
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
exports.schema = schema;
|
|
48
|
+
schema.index({ createdAt: 1 }, { name: 'searchByCreatedAt' });
|
|
49
|
+
schema.index({ updatedAt: 1 }, { name: 'searchByUpdatedAt' });
|
|
50
|
+
schema.index({ codeValue: 1 }, { name: 'searchByCodeValue' });
|
|
51
|
+
schema.index({ 'project.id': 1, codeValue: 1 }, {
|
|
52
|
+
name: 'searchByProjectId'
|
|
53
|
+
});
|
|
54
|
+
schema.index({ 'inCodeSet.identifier': 1, codeValue: 1 }, {
|
|
55
|
+
name: 'searchByInCodeSetIdentifier',
|
|
56
|
+
partialFilterExpression: {
|
|
57
|
+
'inCodeSet.identifier': { $exists: true }
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
schema.index({ 'name.ja': 1, codeValue: 1 }, {
|
|
61
|
+
name: 'searchByNameJa',
|
|
62
|
+
partialFilterExpression: {
|
|
63
|
+
'name.ja': { $exists: true }
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
schema.index({ 'name.en': 1, codeValue: 1 }, {
|
|
67
|
+
name: 'searchByNameEn',
|
|
68
|
+
partialFilterExpression: {
|
|
69
|
+
'name.en': { $exists: true }
|
|
70
|
+
}
|
|
71
|
+
});
|
|
72
|
+
mongoose.model(modelName, schema)
|
|
73
|
+
.on('index',
|
|
74
|
+
// tslint:disable-next-line:no-single-line-block-comment
|
|
75
|
+
/* istanbul ignore next */
|
|
76
|
+
(error) => {
|
|
77
|
+
if (error !== undefined) {
|
|
78
|
+
// tslint:disable-next-line:no-console
|
|
79
|
+
console.error(error);
|
|
80
|
+
}
|
|
81
|
+
});
|
|
@@ -13,13 +13,23 @@ const schema = new mongoose.Schema({
|
|
|
13
13
|
typeOf: {
|
|
14
14
|
type: String,
|
|
15
15
|
required: true
|
|
16
|
-
}
|
|
16
|
+
},
|
|
17
|
+
additionalProperty: [mongoose.SchemaTypes.Mixed],
|
|
18
|
+
color: String,
|
|
19
|
+
image: String,
|
|
20
|
+
codeValue: {
|
|
21
|
+
type: String,
|
|
22
|
+
required: true
|
|
23
|
+
},
|
|
24
|
+
inCodeSet: mongoose.SchemaTypes.Mixed,
|
|
25
|
+
name: mongoose.SchemaTypes.Mixed,
|
|
26
|
+
paymentMethod: mongoose.SchemaTypes.Mixed
|
|
17
27
|
}, {
|
|
18
28
|
collection: 'categoryCodes',
|
|
19
29
|
id: true,
|
|
20
30
|
read: 'primaryPreferred',
|
|
21
31
|
writeConcern: writeConcern,
|
|
22
|
-
strict:
|
|
32
|
+
strict: true,
|
|
23
33
|
useNestedStrict: true,
|
|
24
34
|
timestamps: {
|
|
25
35
|
createdAt: 'createdAt',
|
|
@@ -71,6 +81,12 @@ schema.index({ 'paymentMethod.typeOf': 1, codeValue: 1 }, {
|
|
|
71
81
|
schema.index({ 'project.id': 1, codeValue: 1 }, {
|
|
72
82
|
name: 'searchByProjectId-v20220721'
|
|
73
83
|
});
|
|
84
|
+
schema.index({ additionalProperty: 1, codeValue: 1 }, {
|
|
85
|
+
name: 'searchByAdditionalProperty',
|
|
86
|
+
partialFilterExpression: {
|
|
87
|
+
additionalProperty: { $exists: true }
|
|
88
|
+
}
|
|
89
|
+
});
|
|
74
90
|
mongoose.model(modelName, schema)
|
|
75
91
|
.on('index',
|
|
76
92
|
// tslint:disable-next-line:no-single-line-block-comment
|
|
@@ -111,6 +111,12 @@ schema.index({ 'distributor.codeValue': 1, identifier: 1 }, {
|
|
|
111
111
|
'distributor.codeValue': { $exists: true }
|
|
112
112
|
}
|
|
113
113
|
});
|
|
114
|
+
schema.index({ additionalProperty: 1, identifier: 1 }, {
|
|
115
|
+
name: 'searchByAdditionalProperty',
|
|
116
|
+
partialFilterExpression: {
|
|
117
|
+
additionalProperty: { $exists: true }
|
|
118
|
+
}
|
|
119
|
+
});
|
|
114
120
|
mongoose.model(modelName, schema)
|
|
115
121
|
.on('index',
|
|
116
122
|
// tslint:disable-next-line:no-single-line-block-comment
|
|
@@ -185,6 +185,59 @@ schema.index({
|
|
|
185
185
|
},
|
|
186
186
|
name: 'searchByOffersItemOfferedId'
|
|
187
187
|
});
|
|
188
|
+
// tslint:disable-next-line:no-suspicious-comment
|
|
189
|
+
// TODO add index
|
|
190
|
+
schema.index({ 'offers.seller.makesOffer': 1, startDate: 1 }, {
|
|
191
|
+
name: 'searchBySellerMakesOffer',
|
|
192
|
+
partialFilterExpression: {
|
|
193
|
+
'offers.seller.makesOffer': { $exists: true }
|
|
194
|
+
}
|
|
195
|
+
});
|
|
196
|
+
// schema.index(
|
|
197
|
+
// { 'offers.seller.makesOffer.availableAtOrFrom.id': 1, startDate: 1 },
|
|
198
|
+
// {
|
|
199
|
+
// name: 'searchBySellerMakesOfferAvailableAtOrFromId',
|
|
200
|
+
// partialFilterExpression: {
|
|
201
|
+
// 'offers.seller.makesOffer.availableAtOrFrom.id': { $exists: true }
|
|
202
|
+
// }
|
|
203
|
+
// }
|
|
204
|
+
// );
|
|
205
|
+
// schema.index(
|
|
206
|
+
// { 'offers.seller.makesOffer.availabilityEnds': 1, startDate: 1 },
|
|
207
|
+
// {
|
|
208
|
+
// name: 'searchBySellerMakesOfferAvailabilityEnds',
|
|
209
|
+
// partialFilterExpression: {
|
|
210
|
+
// 'offers.seller.makesOffer.availabilityEnds': { $exists: true }
|
|
211
|
+
// }
|
|
212
|
+
// }
|
|
213
|
+
// );
|
|
214
|
+
// schema.index(
|
|
215
|
+
// { 'offers.seller.makesOffer.availabilityStarts': 1, startDate: 1 },
|
|
216
|
+
// {
|
|
217
|
+
// name: 'searchBySellerMakesOfferAvailabilityStarts',
|
|
218
|
+
// partialFilterExpression: {
|
|
219
|
+
// 'offers.seller.makesOffer.availabilityStarts': { $exists: true }
|
|
220
|
+
// }
|
|
221
|
+
// }
|
|
222
|
+
// );
|
|
223
|
+
// schema.index(
|
|
224
|
+
// { 'offers.seller.makesOffer.validThrough': 1, startDate: 1 },
|
|
225
|
+
// {
|
|
226
|
+
// name: 'searchBySellerMakesOfferValidThrough',
|
|
227
|
+
// partialFilterExpression: {
|
|
228
|
+
// 'offers.seller.makesOffer.validThrough': { $exists: true }
|
|
229
|
+
// }
|
|
230
|
+
// }
|
|
231
|
+
// );
|
|
232
|
+
// schema.index(
|
|
233
|
+
// { 'offers.seller.makesOffer.validFrom': 1, startDate: 1 },
|
|
234
|
+
// {
|
|
235
|
+
// name: 'searchBySellerMakesOfferValidFrom',
|
|
236
|
+
// partialFilterExpression: {
|
|
237
|
+
// 'offers.seller.makesOffer.validFrom': { $exists: true }
|
|
238
|
+
// }
|
|
239
|
+
// }
|
|
240
|
+
// );
|
|
188
241
|
schema.index({ 'videoFormat.typeOf': 1, startDate: 1 }, {
|
|
189
242
|
name: 'searchByVideoFormatTypeOf',
|
|
190
243
|
partialFilterExpression: {
|
|
@@ -19,7 +19,7 @@ const schema = new mongoose.Schema({
|
|
|
19
19
|
description: mongoose.SchemaTypes.Mixed,
|
|
20
20
|
category: mongoose.SchemaTypes.Mixed,
|
|
21
21
|
color: mongoose.SchemaTypes.Mixed,
|
|
22
|
-
additionalProperty: mongoose.SchemaTypes.Mixed,
|
|
22
|
+
additionalProperty: [mongoose.SchemaTypes.Mixed],
|
|
23
23
|
alternateName: mongoose.SchemaTypes.Mixed,
|
|
24
24
|
acceptedPaymentMethod: mongoose.SchemaTypes.Mixed,
|
|
25
25
|
addOn: mongoose.SchemaTypes.Mixed,
|
|
@@ -189,6 +189,12 @@ schema.index({ 'hasMerchantReturnPolicy.id': 1, 'priceSpecification.price': 1 },
|
|
|
189
189
|
'hasMerchantReturnPolicy.id': { $exists: true }
|
|
190
190
|
}
|
|
191
191
|
});
|
|
192
|
+
schema.index({ additionalProperty: 1, 'priceSpecification.price': 1 }, {
|
|
193
|
+
name: 'searchByAdditionalProperty',
|
|
194
|
+
partialFilterExpression: {
|
|
195
|
+
additionalProperty: { $exists: true }
|
|
196
|
+
}
|
|
197
|
+
});
|
|
192
198
|
mongoose.model(modelName, schema)
|
|
193
199
|
.on('index',
|
|
194
200
|
// tslint:disable-next-line:no-single-line-block-comment
|
|
@@ -11,13 +11,26 @@ const writeConcern = { j: true, w: 'majority', wtimeout: 10000 };
|
|
|
11
11
|
const schema = new mongoose.Schema({
|
|
12
12
|
project: mongoose.SchemaTypes.Mixed,
|
|
13
13
|
_id: String,
|
|
14
|
-
identifier:
|
|
14
|
+
identifier: {
|
|
15
|
+
type: String,
|
|
16
|
+
required: true
|
|
17
|
+
},
|
|
18
|
+
name: mongoose.SchemaTypes.Mixed,
|
|
19
|
+
description: mongoose.SchemaTypes.Mixed,
|
|
20
|
+
alternateName: mongoose.SchemaTypes.Mixed,
|
|
21
|
+
typeOf: {
|
|
22
|
+
type: String,
|
|
23
|
+
required: true
|
|
24
|
+
},
|
|
25
|
+
itemListElement: [mongoose.SchemaTypes.Mixed],
|
|
26
|
+
itemOffered: mongoose.SchemaTypes.Mixed,
|
|
27
|
+
additionalProperty: [mongoose.SchemaTypes.Mixed]
|
|
15
28
|
}, {
|
|
16
29
|
collection: 'offerCatalogs',
|
|
17
30
|
id: true,
|
|
18
31
|
read: 'primaryPreferred',
|
|
19
32
|
writeConcern: writeConcern,
|
|
20
|
-
strict:
|
|
33
|
+
strict: true,
|
|
21
34
|
timestamps: {
|
|
22
35
|
createdAt: 'createdAt',
|
|
23
36
|
updatedAt: 'updatedAt'
|
|
@@ -62,6 +75,12 @@ schema.index({ 'itemOffered.serviceType.codeValue': 1, identifier: 1 }, {
|
|
|
62
75
|
'itemOffered.serviceType.codeValue': { $exists: true }
|
|
63
76
|
}
|
|
64
77
|
});
|
|
78
|
+
schema.index({ additionalProperty: 1, identifier: 1 }, {
|
|
79
|
+
name: 'searchByAdditionalProperty',
|
|
80
|
+
partialFilterExpression: {
|
|
81
|
+
additionalProperty: { $exists: true }
|
|
82
|
+
}
|
|
83
|
+
});
|
|
65
84
|
mongoose.model(modelName, schema)
|
|
66
85
|
.on('index',
|
|
67
86
|
// tslint:disable-next-line:no-single-line-block-comment
|
|
@@ -5,18 +5,6 @@ const mongoose = require("mongoose");
|
|
|
5
5
|
const modelName = 'OwnershipInfo';
|
|
6
6
|
exports.modelName = modelName;
|
|
7
7
|
const writeConcern = { j: true, w: 'majority', wtimeout: 10000 };
|
|
8
|
-
// Arrayにも対応するためにMixedに変更(2022-07-26~)
|
|
9
|
-
const ownedBySchema = mongoose.SchemaTypes.Mixed;
|
|
10
|
-
const acquiredFromSchema = new mongoose.Schema({}, {
|
|
11
|
-
id: false,
|
|
12
|
-
_id: false,
|
|
13
|
-
strict: false
|
|
14
|
-
});
|
|
15
|
-
const typeOfGoodSchema = new mongoose.Schema({}, {
|
|
16
|
-
id: false,
|
|
17
|
-
_id: false,
|
|
18
|
-
strict: false
|
|
19
|
-
});
|
|
20
8
|
/**
|
|
21
9
|
* 所有権スキーマ
|
|
22
10
|
*/
|
|
@@ -28,11 +16,11 @@ const schema = new mongoose.Schema({
|
|
|
28
16
|
required: true
|
|
29
17
|
},
|
|
30
18
|
identifier: mongoose.SchemaTypes.Mixed,
|
|
31
|
-
ownedBy:
|
|
32
|
-
acquiredFrom:
|
|
19
|
+
ownedBy: mongoose.SchemaTypes.Mixed,
|
|
20
|
+
acquiredFrom: mongoose.SchemaTypes.Mixed,
|
|
33
21
|
ownedFrom: Date,
|
|
34
22
|
ownedThrough: Date,
|
|
35
|
-
typeOfGood:
|
|
23
|
+
typeOfGood: mongoose.SchemaTypes.Mixed
|
|
36
24
|
}, {
|
|
37
25
|
collection: 'ownershipInfos',
|
|
38
26
|
id: true,
|
|
@@ -89,6 +89,48 @@ schema.index({ 'parentOrganization.id': 1, branchCode: 1 }, {
|
|
|
89
89
|
'parentOrganization.id': { $exists: true }
|
|
90
90
|
}
|
|
91
91
|
});
|
|
92
|
+
schema.index({ 'containsPlace.branchCode': 1, branchCode: 1 }, {
|
|
93
|
+
name: 'searchByContainsPlaceBranchCode',
|
|
94
|
+
partialFilterExpression: {
|
|
95
|
+
'containsPlace.branchCode': { $exists: true }
|
|
96
|
+
}
|
|
97
|
+
});
|
|
98
|
+
schema.index({ 'containsPlace.containsPlace.branchCode': 1, branchCode: 1 }, {
|
|
99
|
+
name: 'searchByContainsPlaceContainsPlaceBranchCode',
|
|
100
|
+
partialFilterExpression: {
|
|
101
|
+
'containsPlace.containsPlace.branchCode': { $exists: true }
|
|
102
|
+
}
|
|
103
|
+
});
|
|
104
|
+
schema.index({ 'containsPlace.containsPlace.containsPlace.branchCode': 1, branchCode: 1 }, {
|
|
105
|
+
name: 'searchByContainsPlaceContainsPlaceContainsPlaceBranchCode',
|
|
106
|
+
partialFilterExpression: {
|
|
107
|
+
'containsPlace.containsPlace.containsPlace.branchCode': { $exists: true }
|
|
108
|
+
}
|
|
109
|
+
});
|
|
110
|
+
schema.index({ additionalProperty: 1, branchCode: 1 }, {
|
|
111
|
+
name: 'searchByAdditionalProperty',
|
|
112
|
+
partialFilterExpression: {
|
|
113
|
+
additionalProperty: { $exists: true }
|
|
114
|
+
}
|
|
115
|
+
});
|
|
116
|
+
schema.index({ 'containsPlace.additionalProperty': 1, branchCode: 1 }, {
|
|
117
|
+
name: 'searchByContainsPlaceAdditionalProperty',
|
|
118
|
+
partialFilterExpression: {
|
|
119
|
+
'containsPlace.additionalProperty': { $exists: true }
|
|
120
|
+
}
|
|
121
|
+
});
|
|
122
|
+
schema.index({ 'containsPlace.containsPlace.additionalProperty': 1, branchCode: 1 }, {
|
|
123
|
+
name: 'searchByContainsPlaceContainsPlaceAdditionalProperty',
|
|
124
|
+
partialFilterExpression: {
|
|
125
|
+
'containsPlace.containsPlace.additionalProperty': { $exists: true }
|
|
126
|
+
}
|
|
127
|
+
});
|
|
128
|
+
schema.index({ 'containsPlace.containsPlace.containsPlace.additionalProperty': 1, branchCode: 1 }, {
|
|
129
|
+
name: 'searchByContainsPlaceContainsPlaceContainsPlaceAdditionalProperty',
|
|
130
|
+
partialFilterExpression: {
|
|
131
|
+
'containsPlace.containsPlace.containsPlace.additionalProperty': { $exists: true }
|
|
132
|
+
}
|
|
133
|
+
});
|
|
92
134
|
mongoose.model(modelName, schema)
|
|
93
135
|
.on('index',
|
|
94
136
|
// tslint:disable-next-line:no-single-line-block-comment
|
package/lib/chevre/repo/offer.js
CHANGED
|
@@ -35,7 +35,7 @@ class MongoRepository {
|
|
|
35
35
|
}
|
|
36
36
|
// tslint:disable-next-line:cyclomatic-complexity max-func-body-length
|
|
37
37
|
static CREATE_OFFER_MONGO_CONDITIONS(params) {
|
|
38
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23;
|
|
38
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24;
|
|
39
39
|
// MongoDB検索条件
|
|
40
40
|
const andConditions = [];
|
|
41
41
|
const projectIdEq = (_b = (_a = params.project) === null || _a === void 0 ? void 0 : _a.id) === null || _b === void 0 ? void 0 : _b.$eq;
|
|
@@ -285,6 +285,15 @@ class MongoRepository {
|
|
|
285
285
|
}
|
|
286
286
|
});
|
|
287
287
|
}
|
|
288
|
+
const additionalPropertyElemMatch = (_24 = params.additionalProperty) === null || _24 === void 0 ? void 0 : _24.$elemMatch;
|
|
289
|
+
if (additionalPropertyElemMatch !== undefined && additionalPropertyElemMatch !== null) {
|
|
290
|
+
andConditions.push({
|
|
291
|
+
additionalProperty: {
|
|
292
|
+
$exists: true,
|
|
293
|
+
$elemMatch: additionalPropertyElemMatch
|
|
294
|
+
}
|
|
295
|
+
});
|
|
296
|
+
}
|
|
288
297
|
return andConditions;
|
|
289
298
|
}
|
|
290
299
|
/**
|
|
@@ -32,7 +32,7 @@ class MongoRepository {
|
|
|
32
32
|
this.offerCatalogModel = connection.model(offerCatalog_1.modelName);
|
|
33
33
|
}
|
|
34
34
|
static CREATE_MONGO_CONDITIONS(params) {
|
|
35
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
35
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
|
|
36
36
|
// MongoDB検索条件
|
|
37
37
|
const andConditions = [];
|
|
38
38
|
const projectIdEq = (_b = (_a = params.project) === null || _a === void 0 ? void 0 : _a.id) === null || _b === void 0 ? void 0 : _b.$eq;
|
|
@@ -107,15 +107,15 @@ class MongoRepository {
|
|
|
107
107
|
}
|
|
108
108
|
});
|
|
109
109
|
}
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
110
|
+
const additionalPropertyElemMatch = (_l = params.additionalProperty) === null || _l === void 0 ? void 0 : _l.$elemMatch;
|
|
111
|
+
if (additionalPropertyElemMatch !== undefined && additionalPropertyElemMatch !== null) {
|
|
112
|
+
andConditions.push({
|
|
113
|
+
additionalProperty: {
|
|
114
|
+
$exists: true,
|
|
115
|
+
$elemMatch: additionalPropertyElemMatch
|
|
116
|
+
}
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
119
|
return andConditions;
|
|
120
120
|
}
|
|
121
121
|
save(params) {
|
package/lib/chevre/repo/place.js
CHANGED
|
@@ -33,7 +33,7 @@ class MongoRepository {
|
|
|
33
33
|
}
|
|
34
34
|
// tslint:disable-next-line:max-func-body-length
|
|
35
35
|
static CREATE_MOVIE_THEATER_MONGO_CONDITIONS(params) {
|
|
36
|
-
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
36
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
|
37
37
|
// MongoDB検索条件
|
|
38
38
|
const andConditions = [];
|
|
39
39
|
const projectIdEq = (_b = (_a = params.project) === null || _a === void 0 ? void 0 : _a.id) === null || _b === void 0 ? void 0 : _b.$eq;
|
|
@@ -123,6 +123,15 @@ class MongoRepository {
|
|
|
123
123
|
}
|
|
124
124
|
});
|
|
125
125
|
}
|
|
126
|
+
const additionalPropertyElemMatch = (_j = params.additionalProperty) === null || _j === void 0 ? void 0 : _j.$elemMatch;
|
|
127
|
+
if (additionalPropertyElemMatch !== undefined && additionalPropertyElemMatch !== null) {
|
|
128
|
+
andConditions.push({
|
|
129
|
+
additionalProperty: {
|
|
130
|
+
$exists: true,
|
|
131
|
+
$elemMatch: additionalPropertyElemMatch
|
|
132
|
+
}
|
|
133
|
+
});
|
|
134
|
+
}
|
|
126
135
|
return andConditions;
|
|
127
136
|
}
|
|
128
137
|
/**
|
|
@@ -426,7 +435,7 @@ class MongoRepository {
|
|
|
426
435
|
}
|
|
427
436
|
// tslint:disable-next-line:max-func-body-length
|
|
428
437
|
searchScreeningRoomSections(searchConditions) {
|
|
429
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
|
438
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
430
439
|
return __awaiter(this, void 0, void 0, function* () {
|
|
431
440
|
const matchStages = [];
|
|
432
441
|
if (searchConditions.project !== undefined) {
|
|
@@ -508,6 +517,17 @@ class MongoRepository {
|
|
|
508
517
|
}
|
|
509
518
|
});
|
|
510
519
|
}
|
|
520
|
+
const additionalPropertyElemMatch = (_j = searchConditions.additionalProperty) === null || _j === void 0 ? void 0 : _j.$elemMatch;
|
|
521
|
+
if (additionalPropertyElemMatch !== undefined && additionalPropertyElemMatch !== null) {
|
|
522
|
+
matchStages.push({
|
|
523
|
+
$match: {
|
|
524
|
+
'containsPlace.containsPlace.additionalProperty': {
|
|
525
|
+
$exists: true,
|
|
526
|
+
$elemMatch: additionalPropertyElemMatch
|
|
527
|
+
}
|
|
528
|
+
}
|
|
529
|
+
});
|
|
530
|
+
}
|
|
511
531
|
const aggregate = this.placeModel.aggregate([
|
|
512
532
|
{ $unwind: '$containsPlace' },
|
|
513
533
|
{ $unwind: '$containsPlace.containsPlace' },
|
|
@@ -523,7 +543,7 @@ class MongoRepository {
|
|
|
523
543
|
branchCode: '$branchCode',
|
|
524
544
|
name: '$name'
|
|
525
545
|
}
|
|
526
|
-
}, additionalProperty: '$containsPlace.containsPlace.additionalProperty' }, (((
|
|
546
|
+
}, additionalProperty: '$containsPlace.containsPlace.additionalProperty' }, (((_k = searchConditions.$projection) === null || _k === void 0 ? void 0 : _k.seatCount) === 1)
|
|
527
547
|
? {
|
|
528
548
|
seatCount: {
|
|
529
549
|
$cond: {
|
|
@@ -573,7 +593,7 @@ class MongoRepository {
|
|
|
573
593
|
}
|
|
574
594
|
// tslint:disable-next-line:max-func-body-length
|
|
575
595
|
searchScreeningRooms(searchConditions) {
|
|
576
|
-
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
596
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
|
577
597
|
return __awaiter(this, void 0, void 0, function* () {
|
|
578
598
|
const matchStages = [];
|
|
579
599
|
const projectIdEq = (_b = (_a = searchConditions.project) === null || _a === void 0 ? void 0 : _a.id) === null || _b === void 0 ? void 0 : _b.$eq;
|
|
@@ -662,6 +682,17 @@ class MongoRepository {
|
|
|
662
682
|
}
|
|
663
683
|
});
|
|
664
684
|
}
|
|
685
|
+
const additionalPropertyElemMatch = (_g = searchConditions.additionalProperty) === null || _g === void 0 ? void 0 : _g.$elemMatch;
|
|
686
|
+
if (additionalPropertyElemMatch !== undefined && additionalPropertyElemMatch !== null) {
|
|
687
|
+
matchStages.push({
|
|
688
|
+
$match: {
|
|
689
|
+
'containsPlace.additionalProperty': {
|
|
690
|
+
$exists: true,
|
|
691
|
+
$elemMatch: additionalPropertyElemMatch
|
|
692
|
+
}
|
|
693
|
+
}
|
|
694
|
+
});
|
|
695
|
+
}
|
|
665
696
|
const aggregate = this.placeModel.aggregate([
|
|
666
697
|
{ $unwind: '$containsPlace' },
|
|
667
698
|
...matchStages,
|
|
@@ -671,7 +702,7 @@ class MongoRepository {
|
|
|
671
702
|
typeOf: '$typeOf',
|
|
672
703
|
branchCode: '$branchCode',
|
|
673
704
|
name: '$name'
|
|
674
|
-
}, openSeatingAllowed: '$containsPlace.openSeatingAllowed', additionalProperty: '$containsPlace.additionalProperty' }, (((
|
|
705
|
+
}, openSeatingAllowed: '$containsPlace.openSeatingAllowed', additionalProperty: '$containsPlace.additionalProperty' }, (((_h = searchConditions.$projection) === null || _h === void 0 ? void 0 : _h.sectionCount) === 1)
|
|
675
706
|
? {
|
|
676
707
|
sectionCount: {
|
|
677
708
|
$cond: {
|
|
@@ -681,7 +712,7 @@ class MongoRepository {
|
|
|
681
712
|
}
|
|
682
713
|
}
|
|
683
714
|
}
|
|
684
|
-
: undefined), (((
|
|
715
|
+
: undefined), (((_j = searchConditions.$projection) === null || _j === void 0 ? void 0 : _j.seatCount) === 1)
|
|
685
716
|
? {
|
|
686
717
|
seatCount: {
|
|
687
718
|
$sum: {
|
|
@@ -824,7 +855,7 @@ class MongoRepository {
|
|
|
824
855
|
}
|
|
825
856
|
// tslint:disable-next-line:cyclomatic-complexity max-func-body-length
|
|
826
857
|
searchSeats(params) {
|
|
827
|
-
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
858
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
|
828
859
|
return __awaiter(this, void 0, void 0, function* () {
|
|
829
860
|
const matchStages = [];
|
|
830
861
|
if (params.project !== undefined) {
|
|
@@ -962,6 +993,17 @@ class MongoRepository {
|
|
|
962
993
|
&& params.$projection['containedInPlace.containedInPlace'] === 0) {
|
|
963
994
|
includeScreeningRooms = false;
|
|
964
995
|
}
|
|
996
|
+
const additionalPropertyElemMatch = (_j = params.additionalProperty) === null || _j === void 0 ? void 0 : _j.$elemMatch;
|
|
997
|
+
if (additionalPropertyElemMatch !== undefined && additionalPropertyElemMatch !== null) {
|
|
998
|
+
matchStages.push({
|
|
999
|
+
$match: {
|
|
1000
|
+
'containsPlace.containsPlace.containsPlace.additionalProperty': {
|
|
1001
|
+
$exists: true,
|
|
1002
|
+
$elemMatch: additionalPropertyElemMatch
|
|
1003
|
+
}
|
|
1004
|
+
}
|
|
1005
|
+
});
|
|
1006
|
+
}
|
|
965
1007
|
const aggregate = this.placeModel.aggregate([
|
|
966
1008
|
{ $unwind: '$containsPlace' },
|
|
967
1009
|
{ $unwind: '$containsPlace.containsPlace' },
|
|
@@ -1036,5 +1078,10 @@ class MongoRepository {
|
|
|
1036
1078
|
.exec();
|
|
1037
1079
|
});
|
|
1038
1080
|
}
|
|
1081
|
+
getCursor(conditions, projection) {
|
|
1082
|
+
return this.placeModel.find(conditions, projection)
|
|
1083
|
+
.sort({ branchCode: factory.sortType.Ascending })
|
|
1084
|
+
.cursor();
|
|
1085
|
+
}
|
|
1039
1086
|
}
|
|
1040
1087
|
exports.MongoRepository = MongoRepository;
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import { Connection } from 'mongoose';
|
|
1
|
+
import { Connection, UpdateWriteOpResult } from 'mongoose';
|
|
2
2
|
import * as factory from '../factory';
|
|
3
3
|
export interface IUpdatePartiallyParams {
|
|
4
4
|
additionalTicketText?: string;
|
|
5
5
|
'reservedTicket.dateUsed'?: Date;
|
|
6
6
|
}
|
|
7
|
+
export declare type ICancelResult = UpdateWriteOpResult;
|
|
7
8
|
/**
|
|
8
9
|
* 予約リポジトリ
|
|
9
10
|
*/
|
|
@@ -35,14 +36,27 @@ export declare class MongoRepository {
|
|
|
35
36
|
underName?: factory.reservation.IUnderName<T>;
|
|
36
37
|
reservedTicket?: factory.reservation.ITicket;
|
|
37
38
|
}): Promise<factory.reservation.IReservation<T>>;
|
|
39
|
+
confirmByReservationNumber(params: {
|
|
40
|
+
reservationNumber: string;
|
|
41
|
+
previousReservationStatus: factory.reservationStatusType;
|
|
42
|
+
underName?: factory.reservation.IUnderName<factory.reservationType.EventReservation>;
|
|
43
|
+
}): Promise<void>;
|
|
38
44
|
/**
|
|
39
45
|
* 予約取消
|
|
40
46
|
*/
|
|
41
47
|
cancel<T extends factory.reservationType>(params: {
|
|
42
48
|
id: string;
|
|
43
49
|
previousReservationStatus?: factory.reservationStatusType;
|
|
44
|
-
|
|
50
|
+
modifiedTime: Date;
|
|
45
51
|
}): Promise<factory.reservation.IReservation<T>>;
|
|
52
|
+
/**
|
|
53
|
+
* 予約取消
|
|
54
|
+
*/
|
|
55
|
+
cancelByReservationNumber(params: {
|
|
56
|
+
reservationNumber: string;
|
|
57
|
+
previousReservationStatus?: factory.reservationStatusType;
|
|
58
|
+
modifiedTime: Date;
|
|
59
|
+
}): Promise<ICancelResult>;
|
|
46
60
|
/**
|
|
47
61
|
* 発券する
|
|
48
62
|
*/
|
|
@@ -911,6 +911,19 @@ class MongoRepository {
|
|
|
911
911
|
return doc.toObject();
|
|
912
912
|
});
|
|
913
913
|
}
|
|
914
|
+
confirmByReservationNumber(params) {
|
|
915
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
916
|
+
const conditions = {
|
|
917
|
+
reservationNumber: { $eq: String(params.reservationNumber) },
|
|
918
|
+
reservationStatus: { $eq: params.previousReservationStatus }
|
|
919
|
+
};
|
|
920
|
+
const update = Object.assign({ reservationStatus: factory.reservationStatusType.ReservationConfirmed, modifiedTime: new Date() }, (params.underName !== undefined) ? { underName: params.underName } : undefined
|
|
921
|
+
// ...(params.reservedTicket !== undefined) ? { reservedTicket: params.reservedTicket } : undefined
|
|
922
|
+
);
|
|
923
|
+
yield this.reservationModel.updateMany(conditions, update)
|
|
924
|
+
.exec();
|
|
925
|
+
});
|
|
926
|
+
}
|
|
914
927
|
/**
|
|
915
928
|
* 予約取消
|
|
916
929
|
*/
|
|
@@ -921,7 +934,7 @@ class MongoRepository {
|
|
|
921
934
|
: undefined);
|
|
922
935
|
const update = Object.assign(Object.assign({}, (typeof params.previousReservationStatus === 'string')
|
|
923
936
|
? { previousReservationStatus: params.previousReservationStatus }
|
|
924
|
-
: undefined), { reservationStatus: factory.reservationStatusType.ReservationCancelled, modifiedTime: params.
|
|
937
|
+
: undefined), { reservationStatus: factory.reservationStatusType.ReservationCancelled, modifiedTime: params.modifiedTime });
|
|
925
938
|
const doc = yield this.reservationModel.findOneAndUpdate(conditions, update, { new: true })
|
|
926
939
|
.select({ __v: 0, createdAt: 0, updatedAt: 0 })
|
|
927
940
|
.exec();
|
|
@@ -939,6 +952,21 @@ class MongoRepository {
|
|
|
939
952
|
return doc.toObject();
|
|
940
953
|
});
|
|
941
954
|
}
|
|
955
|
+
/**
|
|
956
|
+
* 予約取消
|
|
957
|
+
*/
|
|
958
|
+
cancelByReservationNumber(params) {
|
|
959
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
960
|
+
const conditions = Object.assign({ reservationNumber: { $eq: String(params.reservationNumber) } }, (typeof params.previousReservationStatus === 'string')
|
|
961
|
+
? { reservationStatus: params.previousReservationStatus }
|
|
962
|
+
: undefined);
|
|
963
|
+
const update = Object.assign(Object.assign({}, (typeof params.previousReservationStatus === 'string')
|
|
964
|
+
? { previousReservationStatus: params.previousReservationStatus }
|
|
965
|
+
: undefined), { reservationStatus: factory.reservationStatusType.ReservationCancelled, modifiedTime: params.modifiedTime });
|
|
966
|
+
return this.reservationModel.updateMany(conditions, update)
|
|
967
|
+
.exec();
|
|
968
|
+
});
|
|
969
|
+
}
|
|
942
970
|
/**
|
|
943
971
|
* 発券する
|
|
944
972
|
*/
|