@chevre/domain 20.1.0-alpha.4 → 20.1.0-alpha.40
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 +13 -0
- package/lib/chevre/repo/reservation.js +28 -0
- 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 -87
- 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
|
@@ -419,7 +419,8 @@ function createScreeningEventFromCOA(params) {
|
|
|
419
419
|
.toDate();
|
|
420
420
|
}
|
|
421
421
|
const offers = {
|
|
422
|
-
|
|
422
|
+
// 不要なので廃止(2022-12-19~)
|
|
423
|
+
// project: { typeOf: params.project.typeOf, id: params.project.id },
|
|
423
424
|
typeOf: factory.offerType.Offer,
|
|
424
425
|
offeredThrough: {
|
|
425
426
|
typeOf: 'WebAPI',
|
|
@@ -437,7 +438,8 @@ function createScreeningEventFromCOA(params) {
|
|
|
437
438
|
eventStatus: factory.eventStatusType.EventScheduled,
|
|
438
439
|
workPerformed: params.superEvent.workPerformed,
|
|
439
440
|
location: {
|
|
440
|
-
|
|
441
|
+
// 不要なので廃止(2022-12-19~)
|
|
442
|
+
// project: { typeOf: params.project.typeOf, id: params.project.id },
|
|
441
443
|
typeOf: params.screenRoom.typeOf,
|
|
442
444
|
branchCode: params.screenRoom.branchCode,
|
|
443
445
|
name: params.screenRoom.name
|
|
@@ -475,7 +477,7 @@ function createScreeningEventAdditionalPropertyFromCOA(params) {
|
|
|
475
477
|
return {
|
|
476
478
|
coaInfo,
|
|
477
479
|
additionalProperty: [
|
|
478
|
-
{ name: 'COA_ENDPOINT', value:
|
|
480
|
+
// { name: 'COA_ENDPOINT', value: credentials.coa.endpoint },
|
|
479
481
|
{ name: 'coaInfo', value: JSON.stringify(coaInfo) }
|
|
480
482
|
]
|
|
481
483
|
};
|
|
@@ -529,7 +531,8 @@ function createScreeningEventSeriesFromCOA(params) {
|
|
|
529
531
|
kanaName: params.filmFromCOA.titleNameKana,
|
|
530
532
|
alternativeHeadline: params.filmFromCOA.titleNameShort,
|
|
531
533
|
location: {
|
|
532
|
-
|
|
534
|
+
// 不要なので廃止(2022-12-19~)
|
|
535
|
+
// project: { typeOf: params.project.typeOf, id: params.project.id },
|
|
533
536
|
id: (params.movieTheater.id !== undefined) ? params.movieTheater.id : '',
|
|
534
537
|
branchCode: params.movieTheater.branchCode,
|
|
535
538
|
name: params.movieTheater.name,
|
|
@@ -544,7 +547,8 @@ function createScreeningEventSeriesFromCOA(params) {
|
|
|
544
547
|
videoFormat: params.eizouKubuns.filter((kubun) => kubun.kubunCode === params.filmFromCOA.kbnEizou)[0],
|
|
545
548
|
soundFormat: [],
|
|
546
549
|
workPerformed: {
|
|
547
|
-
|
|
550
|
+
// 不要なので廃止(2022-12-19~)
|
|
551
|
+
// project: { typeOf: params.project.typeOf, id: params.project.id },
|
|
548
552
|
id: `${params.movieTheater.branchCode}-${params.filmFromCOA.titleCode}`,
|
|
549
553
|
identifier: params.filmFromCOA.titleCode,
|
|
550
554
|
// 多言語化(2022-07-26~)
|
|
@@ -579,7 +583,7 @@ function createScreeningEventSeriesAdditionalPropertyFromCOA(params) {
|
|
|
579
583
|
return {
|
|
580
584
|
coaInfo,
|
|
581
585
|
additionalProperty: [
|
|
582
|
-
{ name: 'COA_ENDPOINT', value:
|
|
586
|
+
// { name: 'COA_ENDPOINT', value: credentials.coa.endpoint },
|
|
583
587
|
{ name: 'coaInfo', value: JSON.stringify(coaInfo) }
|
|
584
588
|
]
|
|
585
589
|
};
|
|
@@ -648,6 +652,16 @@ function createMovieTheaterFromCOA(project, theaterFromCOA, screensFromCOA) {
|
|
|
648
652
|
typeOf: 'QuantitativeValue',
|
|
649
653
|
value: 1200,
|
|
650
654
|
unitCode: factory.unitCode.Sec
|
|
655
|
+
},
|
|
656
|
+
availabilityStartsGraceTimeOnPOS: {
|
|
657
|
+
typeOf: 'QuantitativeValue',
|
|
658
|
+
value: -93,
|
|
659
|
+
unitCode: factory.unitCode.Day
|
|
660
|
+
},
|
|
661
|
+
availabilityEndsGraceTimeOnPOS: {
|
|
662
|
+
typeOf: 'QuantitativeValue',
|
|
663
|
+
value: 2678400,
|
|
664
|
+
unitCode: factory.unitCode.Sec
|
|
651
665
|
}
|
|
652
666
|
}
|
|
653
667
|
};
|
|
@@ -49,11 +49,15 @@ export declare function authorize(params: {
|
|
|
49
49
|
transaction: {
|
|
50
50
|
id: string;
|
|
51
51
|
};
|
|
52
|
+
validateEventOfferPeriod?: boolean;
|
|
52
53
|
validateEvent?: boolean;
|
|
53
54
|
/**
|
|
54
55
|
* どの店舗に対して
|
|
55
56
|
*/
|
|
56
57
|
store: {
|
|
58
|
+
/**
|
|
59
|
+
* 販売アプリケーションID
|
|
60
|
+
*/
|
|
57
61
|
id: string;
|
|
58
62
|
};
|
|
59
63
|
}): IAuthorizeOperation<IAuthorizeOfferAction>;
|
|
@@ -23,7 +23,7 @@ function authorize(params) {
|
|
|
23
23
|
// tslint:disable-next-line:max-func-body-length
|
|
24
24
|
return (repos) => __awaiter(this, void 0, void 0, function* () {
|
|
25
25
|
const now = new Date();
|
|
26
|
-
const { transaction, event, bookingServiceIdentifire } = yield validateCreateRequest(Object.assign(Object.assign({}, params), { now }))({ event: repos.event, transaction: repos.transaction });
|
|
26
|
+
const { transaction, event, bookingServiceIdentifire } = yield validateCreateRequest(Object.assign(Object.assign({}, params), { now, store: params.store }))({ event: repos.event, transaction: repos.transaction });
|
|
27
27
|
const acceptedOffers = yield validateAcceptedOffers({
|
|
28
28
|
object: params.object,
|
|
29
29
|
event,
|
|
@@ -31,8 +31,8 @@ function authorize(params) {
|
|
|
31
31
|
transaction,
|
|
32
32
|
store: params.store
|
|
33
33
|
})(repos);
|
|
34
|
-
let requestBody;
|
|
35
|
-
let responseBody;
|
|
34
|
+
// let requestBody: factory.assetTransaction.reserve.IStartParamsWithoutDetail;
|
|
35
|
+
// let responseBody: factory.assetTransaction.reserve.ITransaction;
|
|
36
36
|
let acceptedOffers4result = [];
|
|
37
37
|
let transactionNumber;
|
|
38
38
|
switch (bookingServiceIdentifire) {
|
|
@@ -65,8 +65,8 @@ function authorize(params) {
|
|
|
65
65
|
transactionNumber,
|
|
66
66
|
transaction
|
|
67
67
|
})(repos);
|
|
68
|
-
requestBody = processStartReserveResult.requestBody;
|
|
69
|
-
responseBody = processStartReserveResult.responseBody;
|
|
68
|
+
// requestBody = processStartReserveResult.requestBody;
|
|
69
|
+
// responseBody = processStartReserveResult.responseBody;
|
|
70
70
|
acceptedOffers4result = processStartReserveResult.acceptedOffers4result;
|
|
71
71
|
break;
|
|
72
72
|
default:
|
|
@@ -95,7 +95,17 @@ function authorize(params) {
|
|
|
95
95
|
// 金額計算
|
|
96
96
|
const amount = (0, factory_1.acceptedOffers2amount)({ acceptedOffers: acceptedOffers4result });
|
|
97
97
|
// アクションを完了
|
|
98
|
-
const result =
|
|
98
|
+
const result = {
|
|
99
|
+
price: amount,
|
|
100
|
+
priceCurrency: acceptedOffers[0].priceCurrency,
|
|
101
|
+
amount: [],
|
|
102
|
+
// 不要なので廃止(2022-12-14~)
|
|
103
|
+
// requestBody: requestBody,
|
|
104
|
+
// responseBody: responseBody,
|
|
105
|
+
requestBody: {},
|
|
106
|
+
responseBody: {},
|
|
107
|
+
acceptedOffers: acceptedOffers4result
|
|
108
|
+
};
|
|
99
109
|
return yield repos.action.complete({ typeOf: action.typeOf, id: action.id, result: result });
|
|
100
110
|
});
|
|
101
111
|
}
|
|
@@ -121,12 +131,11 @@ function validateCreateRequest(params) {
|
|
|
121
131
|
}
|
|
122
132
|
const bookingServiceIdentifire = offeredThrough.identifier;
|
|
123
133
|
if (bookingServiceIdentifire === factory.service.webAPI.Identifier.Chevre) {
|
|
134
|
+
if (params.validateEventOfferPeriod === true) {
|
|
135
|
+
validateEventOfferPeriod({ event, now, availableAt: { id: params.store.id } });
|
|
136
|
+
}
|
|
124
137
|
if (params.validateEvent === true) {
|
|
125
|
-
validateEvent({
|
|
126
|
-
event,
|
|
127
|
-
now,
|
|
128
|
-
object: params.object
|
|
129
|
-
});
|
|
138
|
+
validateEvent({ event, object: params.object });
|
|
130
139
|
}
|
|
131
140
|
}
|
|
132
141
|
return { transaction, event, bookingServiceIdentifire };
|
|
@@ -138,7 +147,7 @@ function processStartReserve4chevre(params) {
|
|
|
138
147
|
const event = params.event;
|
|
139
148
|
const transactionNumber = params.transactionNumber;
|
|
140
149
|
const transaction = params.transaction;
|
|
141
|
-
let requestBody;
|
|
150
|
+
// let requestBody: factory.assetTransaction.reserve.IStartParamsWithoutDetail;
|
|
142
151
|
let responseBody;
|
|
143
152
|
let acceptedOffers4result = [];
|
|
144
153
|
if (typeof transactionNumber !== 'string') {
|
|
@@ -152,10 +161,9 @@ function processStartReserve4chevre(params) {
|
|
|
152
161
|
transaction,
|
|
153
162
|
transactionNumber
|
|
154
163
|
});
|
|
155
|
-
requestBody = startParams;
|
|
164
|
+
// requestBody = startParams;
|
|
156
165
|
const startParamObject = yield validateObjectWithoutDetail(startParams)(repos);
|
|
157
|
-
//
|
|
158
|
-
// responseBody = await repos.reserveTransaction.start(startParams);
|
|
166
|
+
// 予約取引開始
|
|
159
167
|
responseBody = yield ReserveTransactionService.start(Object.assign(Object.assign({}, startParams), { object: startParamObject, validateAppliesToMovieTicket: true }))(repos);
|
|
160
168
|
// 予約取引からオファー情報を生成する
|
|
161
169
|
acceptedOffers4result = (0, factory_1.responseBody2acceptedOffers4result)({
|
|
@@ -164,19 +172,12 @@ function processStartReserve4chevre(params) {
|
|
|
164
172
|
project: transaction.project,
|
|
165
173
|
seller: transaction.seller
|
|
166
174
|
});
|
|
167
|
-
return {
|
|
175
|
+
return { acceptedOffers4result };
|
|
168
176
|
});
|
|
169
177
|
}
|
|
170
178
|
function validateObjectWithoutDetail(params) {
|
|
171
179
|
return (repos) => __awaiter(this, void 0, void 0, function* () {
|
|
172
180
|
var _a, _b, _c, _d;
|
|
173
|
-
// const objectWithoutDetail: factory.assetTransaction.reserve.IObjectWithoutDetail = {
|
|
174
|
-
// ...params.object,
|
|
175
|
-
// // 互換性維持対応として、event.idをreservationFor.idに置換
|
|
176
|
-
// ...(typeof params.object?.event?.id === 'string')
|
|
177
|
-
// ? { reservationFor: { id: <string>params.object.event.id } }
|
|
178
|
-
// : undefined
|
|
179
|
-
// };
|
|
180
181
|
const objectWithoutDetail = params.object;
|
|
181
182
|
if (Array.isArray(objectWithoutDetail.acceptedOffer)) {
|
|
182
183
|
for (let acceptedOffer of objectWithoutDetail.acceptedOffer) {
|
|
@@ -204,12 +205,23 @@ function validateObjectWithoutDetail(params) {
|
|
|
204
205
|
return objectWithoutDetail;
|
|
205
206
|
});
|
|
206
207
|
}
|
|
207
|
-
|
|
208
|
-
|
|
208
|
+
/**
|
|
209
|
+
* イベントのオファー有効期間を検証する
|
|
210
|
+
*/
|
|
211
|
+
function validateEventOfferPeriod(params) {
|
|
209
212
|
const acceptedDate = moment(params.now);
|
|
210
213
|
const eventOffers = params.event.offers;
|
|
211
|
-
|
|
212
|
-
const
|
|
214
|
+
// アプリケーションごとの設定を参照する(2022-11-19~)
|
|
215
|
+
const makesOfferOnApplication = eventOffers === null || eventOffers === void 0 ? void 0 : eventOffers.seller.makesOffer.find((offer) => {
|
|
216
|
+
return Array.isArray(offer.availableAtOrFrom) && offer.availableAtOrFrom[0].id === params.availableAt.id;
|
|
217
|
+
});
|
|
218
|
+
if (makesOfferOnApplication === undefined) {
|
|
219
|
+
throw new factory.errors.Argument('reservationFor.id', `seller makes no available offer at ${params.availableAt.id}`);
|
|
220
|
+
}
|
|
221
|
+
const validFrom = makesOfferOnApplication.validFrom;
|
|
222
|
+
const validThrough = makesOfferOnApplication.validThrough;
|
|
223
|
+
// const validFrom = eventOffers?.validFrom;
|
|
224
|
+
// const validThrough = eventOffers?.validThrough;
|
|
213
225
|
if (validFrom !== undefined && validFrom !== null) {
|
|
214
226
|
if (acceptedDate.isBefore(moment(validFrom))) {
|
|
215
227
|
throw new factory.errors.Argument('reservationFor.id', `Offer of ${params.event.id} is valid from ${validFrom}`);
|
|
@@ -220,6 +232,32 @@ function validateEvent(params) {
|
|
|
220
232
|
throw new factory.errors.Argument('reservationFor.id', `Offer of ${params.event.id} is valid through ${validThrough}`);
|
|
221
233
|
}
|
|
222
234
|
}
|
|
235
|
+
}
|
|
236
|
+
/**
|
|
237
|
+
* イベントの上限座席数を検証する
|
|
238
|
+
*/
|
|
239
|
+
function validateEvent(params) {
|
|
240
|
+
var _a, _b;
|
|
241
|
+
// const acceptedDate = moment(params.now);
|
|
242
|
+
const eventOffers = params.event.offers;
|
|
243
|
+
// const validFrom = eventOffers?.validFrom;
|
|
244
|
+
// const validThrough = eventOffers?.validThrough;
|
|
245
|
+
// if (validFrom !== undefined && validFrom !== null) {
|
|
246
|
+
// if (acceptedDate.isBefore(moment(validFrom))) {
|
|
247
|
+
// throw new factory.errors.Argument(
|
|
248
|
+
// 'reservationFor.id',
|
|
249
|
+
// `Offer of ${params.event.id} is valid from ${validFrom}`
|
|
250
|
+
// );
|
|
251
|
+
// }
|
|
252
|
+
// }
|
|
253
|
+
// if (validThrough !== undefined && validThrough !== null) {
|
|
254
|
+
// if (acceptedDate.isAfter(moment(validThrough))) {
|
|
255
|
+
// throw new factory.errors.Argument(
|
|
256
|
+
// 'reservationFor.id',
|
|
257
|
+
// `Offer of ${params.event.id} is valid through ${validThrough}`
|
|
258
|
+
// );
|
|
259
|
+
// }
|
|
260
|
+
// }
|
|
223
261
|
// イベントのmaxValueを検証
|
|
224
262
|
const maxValue = (_a = eventOffers === null || eventOffers === void 0 ? void 0 : eventOffers.eligibleQuantity) === null || _a === void 0 ? void 0 : _a.maxValue;
|
|
225
263
|
if (typeof maxValue === 'number') {
|
|
@@ -24,7 +24,7 @@ export declare function acceptedOffers2amount(params: {
|
|
|
24
24
|
}): number;
|
|
25
25
|
declare type IResultAcceptedOffer = factory.action.authorize.offer.seatReservation.IResultAcceptedOffer;
|
|
26
26
|
export declare function responseBody2acceptedOffers4result(params: {
|
|
27
|
-
responseBody: factory.
|
|
27
|
+
responseBody: factory.assetTransaction.reserve.ITransaction;
|
|
28
28
|
event: factory.event.IEvent<factory.eventType.ScreeningEvent>;
|
|
29
29
|
project: {
|
|
30
30
|
id: string;
|
|
@@ -159,7 +159,6 @@ function responseBody2acceptedOffers4result(params) {
|
|
|
159
159
|
var _a;
|
|
160
160
|
const reservation = createReservation({ project: params.project, itemOffered, event: params.event });
|
|
161
161
|
// appliesToMovieTicketがArrayでないケースは廃止(2022-09-12~)
|
|
162
|
-
// const priceSpecification = <IReservationPriceSpecification>itemOffered.price;
|
|
163
162
|
const priceSpecification = itemOffered.price;
|
|
164
163
|
const priceComponent = priceSpecification.priceComponent.map((c) => {
|
|
165
164
|
var _a;
|
|
@@ -181,7 +180,6 @@ function responseBody2acceptedOffers4result(params) {
|
|
|
181
180
|
: undefined);
|
|
182
181
|
});
|
|
183
182
|
return {
|
|
184
|
-
// project: { typeOf: params.project.typeOf, id: params.project.id },
|
|
185
183
|
typeOf: factory.offerType.Offer,
|
|
186
184
|
id: itemOffered.reservedTicket.ticketType.id,
|
|
187
185
|
name: itemOffered.reservedTicket.ticketType.name,
|
|
@@ -190,8 +188,6 @@ function responseBody2acceptedOffers4result(params) {
|
|
|
190
188
|
priceSpecification: {
|
|
191
189
|
priceComponent: priceComponent,
|
|
192
190
|
priceCurrency: priceSpecification.priceCurrency,
|
|
193
|
-
// 不要な属性を除外(2022-11-02~)
|
|
194
|
-
// project: priceSpecification.project,
|
|
195
191
|
typeOf: priceSpecification.typeOf,
|
|
196
192
|
valueAddedTaxIncluded: priceSpecification.valueAddedTaxIncluded
|
|
197
193
|
},
|
|
@@ -199,7 +195,6 @@ function responseBody2acceptedOffers4result(params) {
|
|
|
199
195
|
? itemOffered.priceCurrency
|
|
200
196
|
: factory.priceCurrency.JPY,
|
|
201
197
|
seller: {
|
|
202
|
-
// project: { typeOf: params.project.typeOf, id: params.project.id },
|
|
203
198
|
typeOf: params.seller.typeOf,
|
|
204
199
|
name: (typeof params.seller.name === 'string')
|
|
205
200
|
? params.seller.name
|
|
@@ -218,15 +213,20 @@ function createReservation(params) {
|
|
|
218
213
|
var _a;
|
|
219
214
|
const itemOffered = params.itemOffered;
|
|
220
215
|
const event = params.event;
|
|
221
|
-
const workPerformed = Object.assign({
|
|
216
|
+
const workPerformed = Object.assign({
|
|
217
|
+
// 不要なので廃止(2022-12-19~)
|
|
218
|
+
// project: event.superEvent.workPerformed.project,
|
|
219
|
+
typeOf: event.superEvent.workPerformed.typeOf, id: event.superEvent.workPerformed.id, identifier: event.superEvent.workPerformed.identifier, name: event.superEvent.workPerformed.name }, (typeof event.superEvent.workPerformed.duration === 'string')
|
|
222
220
|
? { duration: event.superEvent.workPerformed.duration }
|
|
223
221
|
: undefined);
|
|
224
222
|
const reservationFor = {
|
|
225
|
-
|
|
223
|
+
// 不要なので廃止(2022-12-19~)
|
|
224
|
+
// project: event.project,
|
|
226
225
|
typeOf: event.typeOf,
|
|
227
226
|
// 予約のreservationForは最適化されているので、additionalPropertyは存在しない
|
|
228
227
|
// additionalProperty: itemOffered.reservationFor.additionalProperty,
|
|
229
|
-
|
|
228
|
+
// 不要なので廃止(2022-12-19~)
|
|
229
|
+
// eventStatus: event.eventStatus,
|
|
230
230
|
id: event.id,
|
|
231
231
|
location: event.location,
|
|
232
232
|
name: event.name,
|
|
@@ -237,19 +237,24 @@ function createReservation(params) {
|
|
|
237
237
|
startDate: moment(event.startDate)
|
|
238
238
|
.toDate(),
|
|
239
239
|
// 最適化(2022-05-31~)
|
|
240
|
-
superEvent: Object.assign(Object.assign({
|
|
240
|
+
superEvent: Object.assign(Object.assign({
|
|
241
|
+
// 不要なので廃止(2022-12-19~)
|
|
242
|
+
// project: event.superEvent.project,
|
|
243
|
+
typeOf: event.superEvent.typeOf, id: event.superEvent.id, kanaName: event.superEvent.kanaName, location: event.superEvent.location, name: event.superEvent.name, soundFormat: event.superEvent.soundFormat, videoFormat: event.superEvent.videoFormat, workPerformed }, (typeof event.superEvent.duration === 'string') ? { duration: event.superEvent.duration } : undefined), (event.superEvent.headline !== undefined) ? { headline: event.superEvent.headline } : undefined)
|
|
241
244
|
// 廃止(superEvent.workPerformedへ完全移行)
|
|
242
245
|
// workPerformed: {},
|
|
243
246
|
};
|
|
244
247
|
const reservedTicket = Object.assign({ typeOf: itemOffered.reservedTicket.typeOf, ticketType: {
|
|
245
|
-
|
|
248
|
+
// 不要なので廃止(2022-12-17~)
|
|
249
|
+
// project: { typeOf: params.project.typeOf, id: params.project.id },
|
|
246
250
|
typeOf: itemOffered.reservedTicket.ticketType.typeOf,
|
|
247
251
|
id: itemOffered.reservedTicket.ticketType.id,
|
|
248
252
|
identifier: itemOffered.reservedTicket.ticketType.identifier,
|
|
249
253
|
name: itemOffered.reservedTicket.ticketType.name,
|
|
250
254
|
description: itemOffered.reservedTicket.ticketType.description,
|
|
251
|
-
additionalProperty: itemOffered.reservedTicket.ticketType.additionalProperty
|
|
252
|
-
|
|
255
|
+
additionalProperty: itemOffered.reservedTicket.ticketType.additionalProperty
|
|
256
|
+
// 不要なので廃止(2022-12-17~)
|
|
257
|
+
// priceCurrency: itemOffered.reservedTicket.ticketType.priceCurrency
|
|
253
258
|
} }, (itemOffered.reservedTicket.ticketedSeat !== undefined)
|
|
254
259
|
? { ticketedSeat: itemOffered.reservedTicket.ticketedSeat }
|
|
255
260
|
: undefined);
|
|
@@ -82,7 +82,6 @@ function responseBody2acceptedOffers4result(params) {
|
|
|
82
82
|
coaInfo = event.coaInfo;
|
|
83
83
|
}
|
|
84
84
|
else {
|
|
85
|
-
// const coaEndpointProperty = event.additionalProperty.find((p) => p.name === 'COA_ENDPOINT');
|
|
86
85
|
const coaInfoProperty = (_a = event.additionalProperty) === null || _a === void 0 ? void 0 : _a.find((p) => p.name === 'coaInfo');
|
|
87
86
|
coaInfo = (coaInfoProperty !== undefined) ? JSON.parse(coaInfoProperty.value) : undefined;
|
|
88
87
|
}
|
|
@@ -101,7 +100,8 @@ function responseBody2acceptedOffers4result(params) {
|
|
|
101
100
|
const reservationNumber = String(updTmpReserveSeatResult.tmpReserveNum);
|
|
102
101
|
const reservationId = `${reservationNumber}-${index.toString()}`;
|
|
103
102
|
const workPerformed = {
|
|
104
|
-
|
|
103
|
+
// 不要なので廃止(2022-12-19~)
|
|
104
|
+
// project: event.superEvent.workPerformed.project,
|
|
105
105
|
id: event.superEvent.workPerformed.id,
|
|
106
106
|
identifier: event.superEvent.workPerformed.identifier,
|
|
107
107
|
name: event.superEvent.workPerformed.name,
|
|
@@ -114,16 +114,24 @@ function responseBody2acceptedOffers4result(params) {
|
|
|
114
114
|
.toDate()
|
|
115
115
|
}
|
|
116
116
|
: undefined), { endDate: moment(event.endDate)
|
|
117
|
-
.toDate(),
|
|
118
|
-
|
|
117
|
+
.toDate(),
|
|
118
|
+
// 不要なので廃止(2022-12-19~)
|
|
119
|
+
// eventStatus: event.eventStatus,
|
|
120
|
+
identifier: event.identifier, location: {
|
|
121
|
+
// 不要なので廃止(2022-12-19~)
|
|
122
|
+
// project: event.location.project,
|
|
119
123
|
typeOf: event.location.typeOf,
|
|
120
124
|
branchCode: event.location.branchCode,
|
|
121
125
|
name: event.location.name
|
|
122
|
-
}, name: event.name,
|
|
126
|
+
}, name: event.name,
|
|
127
|
+
// 不要なので廃止(2022-12-19~)
|
|
128
|
+
// project: event.project,
|
|
129
|
+
startDate: moment(event.startDate)
|
|
123
130
|
.toDate(),
|
|
124
131
|
// 最適化(2022-05-31~)
|
|
125
132
|
superEvent: {
|
|
126
|
-
|
|
133
|
+
// 不要なので廃止(2022-12-19~)
|
|
134
|
+
// project: event.superEvent.project,
|
|
127
135
|
typeOf: event.superEvent.typeOf,
|
|
128
136
|
id: event.superEvent.id,
|
|
129
137
|
identifier: event.superEvent.identifier,
|
|
@@ -152,12 +160,14 @@ function responseBody2acceptedOffers4result(params) {
|
|
|
152
160
|
ticketNumber: ticketToken,
|
|
153
161
|
ticketToken: ticketToken,
|
|
154
162
|
ticketType: {
|
|
155
|
-
|
|
163
|
+
// 不要なので廃止(2022-12-17~)
|
|
164
|
+
// project: { typeOf: event.project.typeOf, id: event.project.id },
|
|
156
165
|
typeOf: factory.offerType.Offer,
|
|
157
166
|
id: requestedOffer.id,
|
|
158
167
|
identifier: String(requestedOffer.identifier),
|
|
159
|
-
name: requestedOffer.name
|
|
160
|
-
|
|
168
|
+
name: requestedOffer.name
|
|
169
|
+
// 不要なので廃止(2022-12-17~)
|
|
170
|
+
// priceCurrency: factory.priceCurrency.JPY
|
|
161
171
|
}
|
|
162
172
|
};
|
|
163
173
|
const additionalProperty = (_c = (_b = requestedOffer.itemOffered) === null || _b === void 0 ? void 0 : _b.serviceOutput) === null || _c === void 0 ? void 0 : _c.additionalProperty;
|
|
@@ -13,7 +13,6 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
13
13
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
14
|
exports.createCompoundPriceSpec4event = void 0;
|
|
15
15
|
const factory = require("../../factory");
|
|
16
|
-
const USE_MULTIPLE_MOVIE_TICKET_CHARGE = process.env.USE_MULTIPLE_MOVIE_TICKET_CHARGE === '1';
|
|
17
16
|
function categoryCodeChargePriceSpec2component(params) {
|
|
18
17
|
var _a;
|
|
19
18
|
return Object.assign({ id: params.id, typeOf: params.typeOf, name: params.name, price: params.price, priceCurrency: params.priceCurrency, valueAddedTaxIncluded: params.valueAddedTaxIncluded, appliesToCategoryCode: params.appliesToCategoryCode }, (typeof ((_a = params.accounting) === null || _a === void 0 ? void 0 : _a.typeOf) === 'string') ? { accounting: params.accounting } : undefined);
|
|
@@ -35,25 +34,13 @@ function createCompoundPriceSpec4event(params) {
|
|
|
35
34
|
if (Array.isArray(unitPriceSpec.appliesToMovieTicket)) {
|
|
36
35
|
unitPriceSpec.appliesToMovieTicket.forEach((appliesToMovieTicket) => {
|
|
37
36
|
// すべての上映方式に該当する加算料金を追加(2022-10-29~)
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
mvtkPriceComponents.push(...mvtkSpecs4appliesToMovieTicket.map(mvtkChargePriceSpec2component));
|
|
46
|
-
}
|
|
47
|
-
else {
|
|
48
|
-
const mvtkSpec4appliesToMovieTicket = params.movieTicketTypeChargeSpecs.find((s) => {
|
|
49
|
-
var _a;
|
|
50
|
-
return ((_a = s.appliesToMovieTicket.serviceOutput) === null || _a === void 0 ? void 0 : _a.typeOf) === appliesToMovieTicket.serviceOutput.typeOf
|
|
51
|
-
&& s.appliesToMovieTicket.serviceType === appliesToMovieTicket.serviceType;
|
|
52
|
-
});
|
|
53
|
-
if (mvtkSpec4appliesToMovieTicket !== undefined) {
|
|
54
|
-
mvtkPriceComponents.push(mvtkChargePriceSpec2component(mvtkSpec4appliesToMovieTicket));
|
|
55
|
-
}
|
|
56
|
-
}
|
|
37
|
+
const mvtkSpecs4appliesToMovieTicket = params.movieTicketTypeChargeSpecs.filter((s) => {
|
|
38
|
+
var _a;
|
|
39
|
+
return ((_a = s.appliesToMovieTicket.serviceOutput) === null || _a === void 0 ? void 0 : _a.typeOf) === appliesToMovieTicket.serviceOutput.typeOf
|
|
40
|
+
&& s.appliesToMovieTicket.serviceType === appliesToMovieTicket.serviceType
|
|
41
|
+
&& params.videoFormatTypes.includes(s.appliesToVideoFormat);
|
|
42
|
+
});
|
|
43
|
+
mvtkPriceComponents.push(...mvtkSpecs4appliesToMovieTicket.map(mvtkChargePriceSpec2component));
|
|
57
44
|
});
|
|
58
45
|
}
|
|
59
46
|
else {
|
|
@@ -40,12 +40,11 @@ function addOffers2Seat(params) {
|
|
|
40
40
|
&& categoryCode.inCodeSet.identifier === factory.categoryCode.CategorySetIdentifier.SeatingType;
|
|
41
41
|
});
|
|
42
42
|
}));
|
|
43
|
+
// 最適化(2022-11-15~)
|
|
43
44
|
const priceSpecification = {
|
|
44
|
-
// 不要な属性を除外(2022-11-02~)
|
|
45
|
-
// project: params.project,
|
|
46
45
|
typeOf: factory.priceSpecificationType.CompoundPriceSpecification,
|
|
47
|
-
priceCurrency: factory.priceCurrency.JPY,
|
|
48
|
-
valueAddedTaxIncluded: true,
|
|
46
|
+
// priceCurrency: factory.priceCurrency.JPY,
|
|
47
|
+
// valueAddedTaxIncluded: true,
|
|
49
48
|
priceComponent: priceComponent
|
|
50
49
|
};
|
|
51
50
|
let availability = (unavailableOffer !== undefined)
|
|
@@ -55,9 +54,10 @@ function addOffers2Seat(params) {
|
|
|
55
54
|
availability = params.availability;
|
|
56
55
|
}
|
|
57
56
|
return Object.assign(Object.assign({}, params.seat), { offers: [{
|
|
58
|
-
|
|
57
|
+
// 最適化(2022-11-15~)
|
|
58
|
+
// project: params.project,
|
|
59
59
|
typeOf: factory.offerType.Offer,
|
|
60
|
-
priceCurrency: factory.priceCurrency.JPY,
|
|
60
|
+
// priceCurrency: factory.priceCurrency.JPY,
|
|
61
61
|
availability: availability,
|
|
62
62
|
priceSpecification: priceSpecification
|
|
63
63
|
}] });
|
|
@@ -42,7 +42,8 @@ function getOrderWithToken(params) {
|
|
|
42
42
|
};
|
|
43
43
|
const seller4orderToken = {
|
|
44
44
|
id: params.order.seller.id,
|
|
45
|
-
|
|
45
|
+
// 最適化(2022-11-15~)
|
|
46
|
+
// project: params.order.seller.project,
|
|
46
47
|
typeOf: params.order.seller.typeOf
|
|
47
48
|
};
|
|
48
49
|
const order4token = {
|
|
@@ -50,7 +51,8 @@ function getOrderWithToken(params) {
|
|
|
50
51
|
typeOf: params.order.typeOf,
|
|
51
52
|
seller: seller4orderToken,
|
|
52
53
|
customer: customer4orderToken,
|
|
53
|
-
|
|
54
|
+
// IOrderへ移行(2022-11-17~)
|
|
55
|
+
// confirmationNumber: params.order.confirmationNumber,
|
|
54
56
|
orderNumber: params.order.orderNumber,
|
|
55
57
|
price: params.order.price,
|
|
56
58
|
priceCurrency: params.order.priceCurrency,
|
|
@@ -29,7 +29,8 @@ function onOrderStatusChanged(params) {
|
|
|
29
29
|
typeOf: params.order.typeOf,
|
|
30
30
|
seller: params.order.seller,
|
|
31
31
|
customer: { typeOf: maskedCustomer.typeOf, id: maskedCustomer.id, name: maskedCustomer.name },
|
|
32
|
-
|
|
32
|
+
// IOrderへ移行(2022-11-17~)
|
|
33
|
+
// confirmationNumber: params.order.confirmationNumber,
|
|
33
34
|
orderNumber: params.order.orderNumber,
|
|
34
35
|
price: params.order.price,
|
|
35
36
|
priceCurrency: params.order.priceCurrency,
|
|
@@ -118,7 +119,7 @@ function createConfirmPayTransactionTasks(order, simpleOrder) {
|
|
|
118
119
|
typeOf: factory.actionType.ConfirmAction,
|
|
119
120
|
object: [{ typeOf: factory.assetTransactionType.Pay, transactionNumber: paymentMethod.paymentMethodId }],
|
|
120
121
|
agent: order.project,
|
|
121
|
-
purpose: simpleOrder,
|
|
122
|
+
purpose: Object.assign(Object.assign({}, simpleOrder), { confirmationNumber: order.confirmationNumber }),
|
|
122
123
|
instrument: {
|
|
123
124
|
typeOf: 'WebAPI',
|
|
124
125
|
identifier: factory.action.authorize.paymentMethod.any.ServiceIdentifier.Chevre
|
|
@@ -95,7 +95,8 @@ function placeOrderWithoutTransaction(params) {
|
|
|
95
95
|
typeOf: order.typeOf,
|
|
96
96
|
seller: order.seller,
|
|
97
97
|
customer: { typeOf: maskedCustomer.typeOf, id: maskedCustomer.id, name: maskedCustomer.name },
|
|
98
|
-
|
|
98
|
+
// IOrderへ移行(2022-11-17~)
|
|
99
|
+
// confirmationNumber: order.confirmationNumber,
|
|
99
100
|
orderNumber: order.orderNumber,
|
|
100
101
|
price: order.price,
|
|
101
102
|
priceCurrency: order.priceCurrency,
|
|
@@ -132,7 +133,10 @@ function placeOrderWithoutTransaction(params) {
|
|
|
132
133
|
task: repos.task
|
|
133
134
|
});
|
|
134
135
|
// 潜在アクション
|
|
135
|
-
yield onPlaceOrder(
|
|
136
|
+
yield onPlaceOrder({
|
|
137
|
+
object: order,
|
|
138
|
+
potentialActions: params.potentialActions
|
|
139
|
+
})(repos);
|
|
136
140
|
});
|
|
137
141
|
}
|
|
138
142
|
exports.placeOrderWithoutTransaction = placeOrderWithoutTransaction;
|
|
@@ -155,7 +159,8 @@ function placeOrder(params) {
|
|
|
155
159
|
typeOf: order.typeOf,
|
|
156
160
|
seller: order.seller,
|
|
157
161
|
customer: { typeOf: maskedCustomer.typeOf, id: maskedCustomer.id, name: maskedCustomer.name },
|
|
158
|
-
|
|
162
|
+
// IOrderへ移行(2022-11-17~)
|
|
163
|
+
// confirmationNumber: order.confirmationNumber,
|
|
159
164
|
orderNumber: order.orderNumber,
|
|
160
165
|
price: order.price,
|
|
161
166
|
priceCurrency: order.priceCurrency,
|
|
@@ -192,7 +197,10 @@ function placeOrder(params) {
|
|
|
192
197
|
task: repos.task
|
|
193
198
|
});
|
|
194
199
|
// 潜在アクション
|
|
195
|
-
yield onPlaceOrder(
|
|
200
|
+
yield onPlaceOrder({
|
|
201
|
+
object: order,
|
|
202
|
+
potentialActions: params.potentialActions
|
|
203
|
+
})(repos);
|
|
196
204
|
});
|
|
197
205
|
}
|
|
198
206
|
exports.placeOrder = placeOrder;
|
|
@@ -220,7 +228,7 @@ function onPlaceOrder(params) {
|
|
|
220
228
|
numberOfTried: 0,
|
|
221
229
|
executionResults: [],
|
|
222
230
|
// data: potentialActions.sendOrder
|
|
223
|
-
data: Object.assign({ project: potentialActions.sendOrder.project, object: potentialActions.sendOrder.object }, (potentialActions.sendOrder.potentialActions !== undefined)
|
|
231
|
+
data: Object.assign({ project: potentialActions.sendOrder.project, object: Object.assign(Object.assign({}, potentialActions.sendOrder.object), { confirmationNumber: params.object.confirmationNumber }) }, (potentialActions.sendOrder.potentialActions !== undefined)
|
|
224
232
|
? { potentialActions: potentialActions.sendOrder.potentialActions }
|
|
225
233
|
: undefined)
|
|
226
234
|
};
|
|
@@ -44,7 +44,8 @@ function returnOrder(params) {
|
|
|
44
44
|
typeOf: order.typeOf,
|
|
45
45
|
seller: order.seller,
|
|
46
46
|
customer: (0, order_1.createMaskedCustomer)(order),
|
|
47
|
-
|
|
47
|
+
// IOrderへ移行(2022-11-17~)
|
|
48
|
+
// confirmationNumber: order.confirmationNumber,
|
|
48
49
|
orderNumber: order.orderNumber,
|
|
49
50
|
price: order.price,
|
|
50
51
|
priceCurrency: order.priceCurrency,
|
|
@@ -48,7 +48,8 @@ function sendOrder(params) {
|
|
|
48
48
|
typeOf: order.typeOf,
|
|
49
49
|
seller: order.seller,
|
|
50
50
|
customer: { typeOf: maskedCustomer.typeOf, id: maskedCustomer.id, name: maskedCustomer.name },
|
|
51
|
-
|
|
51
|
+
// IOrderへ移行(2022-11-17~)
|
|
52
|
+
// confirmationNumber: order.confirmationNumber,
|
|
52
53
|
orderNumber: order.orderNumber,
|
|
53
54
|
price: order.price,
|
|
54
55
|
priceCurrency: order.priceCurrency,
|