@chevre/domain 21.29.0-alpha.12 → 21.29.0-alpha.14
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/lib/chevre/repo/account.js +1 -1
- package/lib/chevre/repo/aggregateOffer.js +1 -1
- package/lib/chevre/repo/creativeWork.js +1 -1
- package/lib/chevre/repo/event.js +1 -1
- package/lib/chevre/repo/mongoose/schemas/order.js +3 -3
- package/lib/chevre/repo/paymentServiceProvider.js +1 -1
- package/lib/chevre/repo/product.js +1 -1
- package/lib/chevre/repo/seller.js +1 -1
- package/lib/chevre/repo/serviceOutput.js +1 -1
- package/lib/chevre/repo/transaction.js +1 -1
- package/lib/chevre/service/report/telemetry.js +1 -1
- package/lib/chevre/service/transaction/placeOrderInProgress/validation/validateMovieTicket.d.ts +1 -5
- package/lib/chevre/service/transaction/placeOrderInProgress/validation/validateMovieTicket.js +49 -45
- package/package.json +2 -2
|
@@ -427,7 +427,7 @@ class MongoRepository {
|
|
|
427
427
|
}
|
|
428
428
|
unsetUnnecessaryFields(params) {
|
|
429
429
|
return __awaiter(this, void 0, void 0, function* () {
|
|
430
|
-
return this.accountModel.updateMany(params.filter, { $unset: params.$unset })
|
|
430
|
+
return this.accountModel.updateMany(params.filter, { $unset: params.$unset }, { timestamps: false })
|
|
431
431
|
.exec();
|
|
432
432
|
});
|
|
433
433
|
}
|
|
@@ -590,7 +590,7 @@ class MongoRepository {
|
|
|
590
590
|
}
|
|
591
591
|
unsetUnnecessaryFields(params) {
|
|
592
592
|
return __awaiter(this, void 0, void 0, function* () {
|
|
593
|
-
return this.aggregateOfferModel.updateMany(params.filter, { $unset: params.$unset })
|
|
593
|
+
return this.aggregateOfferModel.updateMany(params.filter, { $unset: params.$unset }, { timestamps: false })
|
|
594
594
|
.exec();
|
|
595
595
|
});
|
|
596
596
|
}
|
|
@@ -271,7 +271,7 @@ class MongoRepository {
|
|
|
271
271
|
}
|
|
272
272
|
unsetUnnecessaryFields(params) {
|
|
273
273
|
return __awaiter(this, void 0, void 0, function* () {
|
|
274
|
-
return this.creativeWorkModel.updateMany(params.filter, { $unset: params.$unset })
|
|
274
|
+
return this.creativeWorkModel.updateMany(params.filter, { $unset: params.$unset }, { timestamps: false })
|
|
275
275
|
.exec();
|
|
276
276
|
});
|
|
277
277
|
}
|
package/lib/chevre/repo/event.js
CHANGED
|
@@ -1136,7 +1136,7 @@ class MongoRepository {
|
|
|
1136
1136
|
}
|
|
1137
1137
|
unsetUnnecessaryFields(params) {
|
|
1138
1138
|
return __awaiter(this, void 0, void 0, function* () {
|
|
1139
|
-
return this.eventModel.updateMany(params.filter, { $unset: params.$unset })
|
|
1139
|
+
return this.eventModel.updateMany(params.filter, { $unset: params.$unset }, { timestamps: false })
|
|
1140
1140
|
.exec();
|
|
1141
1141
|
});
|
|
1142
1142
|
}
|
|
@@ -21,15 +21,15 @@ const schemaDefinition = {
|
|
|
21
21
|
priceCurrency: String,
|
|
22
22
|
acceptedOffers: [mongoose_1.SchemaTypes.Mixed],
|
|
23
23
|
paymentMethods: [mongoose_1.SchemaTypes.Mixed],
|
|
24
|
-
discounts:
|
|
24
|
+
// discounts: SchemaTypes.Mixed, // 廃止(2024-04-17~)
|
|
25
25
|
url: String,
|
|
26
26
|
orderStatus: String,
|
|
27
27
|
previousOrderStatus: String,
|
|
28
28
|
orderDate: Date,
|
|
29
29
|
isGift: Boolean,
|
|
30
30
|
dateReturned: Date,
|
|
31
|
-
orderedItem: [mongoose_1.SchemaTypes.Mixed]
|
|
32
|
-
additionalProperty:
|
|
31
|
+
orderedItem: [mongoose_1.SchemaTypes.Mixed] // 追加(2022-04-15~)
|
|
32
|
+
// additionalProperty: SchemaTypes.Mixed // 廃止(2024-04-17~)
|
|
33
33
|
};
|
|
34
34
|
const schemaOptions = {
|
|
35
35
|
autoIndex: settings_1.MONGO_AUTO_INDEX,
|
|
@@ -230,7 +230,7 @@ class MongoRepository {
|
|
|
230
230
|
}
|
|
231
231
|
unsetUnnecessaryFields(params) {
|
|
232
232
|
return __awaiter(this, void 0, void 0, function* () {
|
|
233
|
-
return this.paymentServiceModel.updateMany(params.filter, { $unset: params.$unset })
|
|
233
|
+
return this.paymentServiceModel.updateMany(params.filter, { $unset: params.$unset }, { timestamps: false })
|
|
234
234
|
.exec();
|
|
235
235
|
});
|
|
236
236
|
}
|
|
@@ -344,7 +344,7 @@ class MongoRepository {
|
|
|
344
344
|
}
|
|
345
345
|
unsetUnnecessaryFields(params) {
|
|
346
346
|
return __awaiter(this, void 0, void 0, function* () {
|
|
347
|
-
return this.productModel.updateMany(params.filter, { $unset: params.$unset })
|
|
347
|
+
return this.productModel.updateMany(params.filter, { $unset: params.$unset }, { timestamps: false })
|
|
348
348
|
.exec();
|
|
349
349
|
});
|
|
350
350
|
}
|
|
@@ -316,7 +316,7 @@ class MongoRepository {
|
|
|
316
316
|
}
|
|
317
317
|
unsetUnnecessaryFields(params) {
|
|
318
318
|
return __awaiter(this, void 0, void 0, function* () {
|
|
319
|
-
return this.organizationModel.updateMany(params.filter, { $unset: params.$unset })
|
|
319
|
+
return this.organizationModel.updateMany(params.filter, { $unset: params.$unset }, { timestamps: false })
|
|
320
320
|
.exec();
|
|
321
321
|
});
|
|
322
322
|
}
|
|
@@ -172,7 +172,7 @@ class MongoRepository {
|
|
|
172
172
|
}
|
|
173
173
|
unsetUnnecessaryFields(params) {
|
|
174
174
|
return __awaiter(this, void 0, void 0, function* () {
|
|
175
|
-
return this.serviceOutputModel.updateMany(params.filter, { $unset: params.$unset })
|
|
175
|
+
return this.serviceOutputModel.updateMany(params.filter, { $unset: params.$unset }, { timestamps: false })
|
|
176
176
|
.exec();
|
|
177
177
|
});
|
|
178
178
|
}
|
|
@@ -755,7 +755,7 @@ class MongoRepository {
|
|
|
755
755
|
}
|
|
756
756
|
unsetUnnecessaryFields(params) {
|
|
757
757
|
return __awaiter(this, void 0, void 0, function* () {
|
|
758
|
-
return this.transactionModel.updateMany(params.filter, { $unset: params.$unset })
|
|
758
|
+
return this.transactionModel.updateMany(params.filter, { $unset: params.$unset }, { timestamps: false })
|
|
759
759
|
.exec();
|
|
760
760
|
});
|
|
761
761
|
}
|
|
@@ -184,7 +184,7 @@ function createSellerFlow(measuredFrom, measuredThrough, sellerId) {
|
|
|
184
184
|
}, [], []);
|
|
185
185
|
debug(actionsOnExpiredTransactions.length, 'actionsOnExpiredTransactions found.');
|
|
186
186
|
const numbersOfActionsOnExpired = expiredTransactionIds.map((transactionId) => {
|
|
187
|
-
return actionsOnExpiredTransactions.filter((action) => action.purpose.id === transactionId).length;
|
|
187
|
+
return actionsOnExpiredTransactions.filter((action) => { var _a; return ((_a = action.purpose) === null || _a === void 0 ? void 0 : _a.id) === transactionId; }).length;
|
|
188
188
|
});
|
|
189
189
|
const totalNumberOfActionsOnExpired = numbersOfActionsOnExpired.reduce((a, b) => a + b, 0);
|
|
190
190
|
const maxNumberOfActionsOnExpired = numbersOfActionsOnExpired.reduce((a, b) => Math.max(a, b), 0);
|
package/lib/chevre/service/transaction/placeOrderInProgress/validation/validateMovieTicket.d.ts
CHANGED
|
@@ -1,9 +1,5 @@
|
|
|
1
1
|
import * as factory from '../../../../factory';
|
|
2
|
-
export type IMovieTicket4validate = Pick<factory.paymentMethod.paymentCard.movieTicket.IMovieTicketPaymentCard, 'identifier' | 'serviceOutput' | 'serviceType' | 'typeOf'
|
|
3
|
-
serviceOutput: factory.paymentMethod.paymentCard.movieTicket.IMovieTicketServiceOutput & {
|
|
4
|
-
reservationFor: factory.paymentMethod.paymentCard.movieTicket.IMovieTicketReservationFor;
|
|
5
|
-
};
|
|
6
|
-
};
|
|
2
|
+
export type IMovieTicket4validate = Pick<factory.paymentMethod.paymentCard.movieTicket.IMovieTicketPaymentCard, 'identifier' | 'serviceOutput' | 'serviceType' | 'typeOf'>;
|
|
7
3
|
/**
|
|
8
4
|
* 興行オファー承認に対して決済承認条件が整っているかどうか検証する
|
|
9
5
|
* 決済方法区分ごとに検証
|
package/lib/chevre/service/transaction/placeOrderInProgress/validation/validateMovieTicket.js
CHANGED
|
@@ -175,67 +175,71 @@ function validateAppliesToMovieTicketIdentifiers(params) {
|
|
|
175
175
|
*/
|
|
176
176
|
function authorizeSeatReservationActions2requiredMovieTickets(params) {
|
|
177
177
|
const paymentMethodType = params.paymentMethodType;
|
|
178
|
-
//
|
|
179
|
-
// ムビチケオファーを受け付けた座席予約を検索する
|
|
178
|
+
// 決済カードオファーを受け付けた座席予約を検索する
|
|
180
179
|
const requiredMovieTickets = [];
|
|
181
|
-
// tslint:disable-next-line:max-func-body-length
|
|
182
|
-
// seatReservationAuthorizeActions.forEach((action) => {
|
|
183
|
-
// const acceptedOffers = action.result?.acceptedOffers;
|
|
184
|
-
// });
|
|
185
180
|
if (Array.isArray(params.acceptedOffers)) {
|
|
186
181
|
params.acceptedOffers.forEach((offer) => {
|
|
187
182
|
var _a, _b, _c;
|
|
188
|
-
|
|
189
|
-
const
|
|
190
|
-
if (typeof (acceptedTicketedSeatByItemOffered === null || acceptedTicketedSeatByItemOffered === void 0 ? void 0 : acceptedTicketedSeatByItemOffered.typeOf) === 'string') {
|
|
191
|
-
offeredTicketedSeat = acceptedTicketedSeatByItemOffered;
|
|
192
|
-
}
|
|
193
|
-
// シンプルに単価仕様のappliesToMovieTicketを参照してrequiredMovieTicketsを作成する(2022-07-28~)
|
|
194
|
-
const unitPriceSpec = (_c = offer.priceSpecification) === null || _c === void 0 ? void 0 : _c.priceComponent.find((component) => {
|
|
183
|
+
// 単価仕様のappliesToMovieTicketを参照してrequiredMovieTicketsを作成する(2022-07-28~)
|
|
184
|
+
const unitPriceSpec = (_a = offer.priceSpecification) === null || _a === void 0 ? void 0 : _a.priceComponent.find((component) => {
|
|
195
185
|
return component.typeOf === factory.priceSpecificationType.UnitPriceSpecification
|
|
196
186
|
&& (!Array.isArray(component.appliesToAddOn));
|
|
197
187
|
});
|
|
198
|
-
// tslint:disable-next-line:no-single-line-block-comment
|
|
199
|
-
/* istanbul ignore if */
|
|
200
188
|
if (unitPriceSpec === undefined) {
|
|
201
189
|
throw new factory.errors.NotFound('UnitPriceSpecification of acceptedOffer');
|
|
202
190
|
}
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
// tslint:disable-next-line:no-single-line-block-comment
|
|
206
|
-
/* istanbul ignore if */
|
|
207
|
-
if (offer.itemOffered.reservationFor.typeOf !== factory.eventType.ScreeningEvent) {
|
|
208
|
-
throw new factory.errors.NotImplemented(`offer.itemOffered.reservationFor.typeOf not imelemented [${offer.itemOffered.reservationFor.typeOf}]`);
|
|
209
|
-
}
|
|
191
|
+
// 現状、ScreeningEventのみ対応で十分(2024-04-16~)
|
|
192
|
+
if (offer.itemOffered.reservationFor.typeOf === factory.eventType.ScreeningEvent) {
|
|
210
193
|
const reservationFor4movieTicket = {
|
|
211
194
|
typeOf: offer.itemOffered.reservationFor.typeOf,
|
|
212
195
|
id: offer.itemOffered.reservationFor.id
|
|
213
196
|
};
|
|
214
|
-
//
|
|
215
|
-
let
|
|
216
|
-
|
|
217
|
-
if (
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
197
|
+
// 座席無に対応(2024-04-16~)
|
|
198
|
+
let ticketedSeat4MovieTicket;
|
|
199
|
+
// USE_VALIDATE_MOVIE_TICKET_BY_TICKET_IDENTIFIERのみ座席無に対応(2024-04-16~)
|
|
200
|
+
if (settings_1.USE_VALIDATE_MOVIE_TICKET_BY_TICKET_IDENTIFIER) {
|
|
201
|
+
ticketedSeat4MovieTicket = {
|
|
202
|
+
typeOf: factory.placeType.Seat,
|
|
203
|
+
seatNumber: '',
|
|
204
|
+
seatRow: '',
|
|
205
|
+
seatSection: ''
|
|
206
|
+
};
|
|
207
|
+
}
|
|
208
|
+
const offeredTicketedSeat = (_c = (_b = offer.itemOffered) === null || _b === void 0 ? void 0 : _b.reservedTicket) === null || _c === void 0 ? void 0 : _c.ticketedSeat;
|
|
209
|
+
const ticketedSeatExists = (offeredTicketedSeat === null || offeredTicketedSeat === void 0 ? void 0 : offeredTicketedSeat.typeOf) === factory.placeType.Seat;
|
|
210
|
+
if (ticketedSeatExists) {
|
|
211
|
+
ticketedSeat4MovieTicket = offeredTicketedSeat;
|
|
221
212
|
}
|
|
222
|
-
if (
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
213
|
+
if (ticketedSeat4MovieTicket !== undefined) {
|
|
214
|
+
// チケット識別子(決済カード承認との照合に必要)
|
|
215
|
+
const reservedTicketIdentifier = (typeof offer.itemOffered.reservedTicket.identifier === 'string')
|
|
216
|
+
? offer.itemOffered.reservedTicket.identifier
|
|
217
|
+
: `${reservationFor4movieTicket.id}:${offer.itemOffered.id}`;
|
|
218
|
+
const movieTicketServiceOutput4validate = {
|
|
219
|
+
reservationFor: reservationFor4movieTicket,
|
|
220
|
+
reservedTicket: {
|
|
221
|
+
identifier: reservedTicketIdentifier,
|
|
222
|
+
ticketedSeat: ticketedSeat4MovieTicket
|
|
223
|
+
}
|
|
224
|
+
};
|
|
225
|
+
// 指定された決済方法の適用決済カードリスト
|
|
226
|
+
let appliesToMovieTickets4paymentMethod = [];
|
|
227
|
+
const appliesToMovieTickets4reservation = unitPriceSpec.appliesToMovieTicket;
|
|
228
|
+
if (Array.isArray(appliesToMovieTickets4reservation)) {
|
|
229
|
+
appliesToMovieTickets4paymentMethod = appliesToMovieTickets4reservation.filter((a) => {
|
|
230
|
+
return a.serviceOutput.typeOf === paymentMethodType;
|
|
231
|
+
});
|
|
232
|
+
}
|
|
233
|
+
if (Array.isArray(appliesToMovieTickets4paymentMethod) && appliesToMovieTickets4paymentMethod.length > 0) {
|
|
234
|
+
appliesToMovieTickets4paymentMethod.forEach((appliesToMovieTicket) => {
|
|
235
|
+
requiredMovieTickets.push({
|
|
236
|
+
typeOf: paymentMethodType,
|
|
237
|
+
identifier: String(appliesToMovieTicket.identifier),
|
|
238
|
+
serviceType: appliesToMovieTicket.serviceType,
|
|
239
|
+
serviceOutput: movieTicketServiceOutput4validate
|
|
240
|
+
});
|
|
237
241
|
});
|
|
238
|
-
}
|
|
242
|
+
}
|
|
239
243
|
}
|
|
240
244
|
}
|
|
241
245
|
});
|
package/package.json
CHANGED
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
],
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"@aws-sdk/credential-providers": "3.433.0",
|
|
13
|
-
"@chevre/factory": "4.367.0-alpha.
|
|
13
|
+
"@chevre/factory": "4.367.0-alpha.7",
|
|
14
14
|
"@cinerino/sdk": "5.17.1",
|
|
15
15
|
"@motionpicture/coa-service": "9.4.0",
|
|
16
16
|
"@motionpicture/gmo-service": "5.3.0",
|
|
@@ -110,5 +110,5 @@
|
|
|
110
110
|
"postversion": "git push origin --tags",
|
|
111
111
|
"prepublishOnly": "npm run clean && npm run build && npm test && npm run doc"
|
|
112
112
|
},
|
|
113
|
-
"version": "21.29.0-alpha.
|
|
113
|
+
"version": "21.29.0-alpha.14"
|
|
114
114
|
}
|