@chevre/domain 22.8.0-alpha.2 → 22.8.0-alpha.3
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/service/event.js +3 -1
- package/lib/chevre/service/offer/event/importFromCOA/factory.js +12 -4
- package/lib/chevre/service/offer/eventServiceByCOA/authorize/factory.d.ts +2 -3
- package/lib/chevre/service/offer/eventServiceByCOA/authorize/factory.js +19 -22
- package/lib/chevre/service/offer/eventServiceByCOA/authorize/validateAcceptedOffers.js +6 -8
- package/lib/chevre/service/offer/eventServiceByCOA/authorize.js +2 -2
- package/package.json +2 -2
|
@@ -646,7 +646,9 @@ function createScreeningEventSeriesFromCOA(params) {
|
|
|
646
646
|
});
|
|
647
647
|
const { additionalProperty, coaInfo } = createScreeningEventSeriesAdditionalPropertyFromCOA(params);
|
|
648
648
|
const { unacceptedPaymentMethod } = createScreeningEventSeriesUnacceptedPaymentMethodFromCOA(params);
|
|
649
|
-
const workPerformed = Object.assign({
|
|
649
|
+
const workPerformed = Object.assign({
|
|
650
|
+
// id: `${params.movieTheater.branchCode}-${params.filmFromCOA.titleCode}`, // discontinue(2025-01-03~)
|
|
651
|
+
identifier: params.filmFromCOA.titleCode, name: {
|
|
650
652
|
ja: params.filmFromCOA.titleNameOrig
|
|
651
653
|
}, duration: moment.duration(params.filmFromCOA.showTime, 'm')
|
|
652
654
|
.toISOString(), contentRating: params.eirinKubuns.filter((kubun) => kubun.kubunCode === params.filmFromCOA.kbnEirin)[0], typeOf: factory.creativeWorkType.Movie }, (typeof params.filmFromCOA.titleBranchNum === 'string' && params.filmFromCOA.titleBranchNum.length > 0)
|
|
@@ -58,10 +58,18 @@ function coaTicket2offer(params) {
|
|
|
58
58
|
typeOf: factory.product.ProductType.EventService
|
|
59
59
|
}, priceSpecification: unitPriceSpec }, (Array.isArray(eligibleMembershipType)) ? { eligibleMembershipType } : undefined), (Array.isArray(eligibleMonetaryAmount)) ? { eligibleMonetaryAmount } : undefined), { additionalProperty: [
|
|
60
60
|
{ name: 'theaterCode', value: params.theaterCode },
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
}
|
|
61
|
+
{ name: 'ticketCode', value: String(params.ticketResult.ticketCode) },
|
|
62
|
+
{ name: 'ticketName', value: String(params.ticketResult.ticketName) },
|
|
63
|
+
{ name: 'ticketNameEng', value: String(params.ticketResult.ticketNameEng) },
|
|
64
|
+
{ name: 'ticketNameKana', value: String(params.ticketResult.ticketNameKana) },
|
|
65
|
+
{ name: 'usePoint', value: String(params.ticketResult.usePoint) },
|
|
66
|
+
...(params.ticketResult.flgMember !== undefined)
|
|
67
|
+
? [{ name: 'flgMember', value: String(params.ticketResult.flgMember) }]
|
|
68
|
+
: []
|
|
69
|
+
// ...Object.keys(params.ticketResult)
|
|
70
|
+
// .map((key) => {
|
|
71
|
+
// return { name: String(key), value: String((<any>params.ticketResult)[key]) };
|
|
72
|
+
// })
|
|
65
73
|
] });
|
|
66
74
|
}
|
|
67
75
|
exports.coaTicket2offer = coaTicket2offer;
|
|
@@ -8,7 +8,6 @@ export declare function createAuthorizeSeatReservationActionAttributes(params: {
|
|
|
8
8
|
acceptAction: {
|
|
9
9
|
id: string;
|
|
10
10
|
};
|
|
11
|
-
acceptedOffers: factory.action.accept.coaOffer.IAcceptedOffer4COA[];
|
|
12
11
|
event: {
|
|
13
12
|
id: string;
|
|
14
13
|
typeOf: factory.eventType.ScreeningEvent;
|
|
@@ -23,7 +22,7 @@ export declare function offers2resultPrice(offers: IAcceptedOffer4COA[]): {
|
|
|
23
22
|
price: number;
|
|
24
23
|
eligibleMonetaryAmount: factory.offer.IEligibleMonetaryAmount[];
|
|
25
24
|
};
|
|
26
|
-
type IResultAcceptedOffer = factory.order.IAcceptedOffer<factory.order.
|
|
25
|
+
type IResultAcceptedOffer = factory.order.IAcceptedOffer<factory.order.IEventReservation>;
|
|
27
26
|
/**
|
|
28
27
|
* COA仮予約結果から注文アイテムを生成する
|
|
29
28
|
*/
|
|
@@ -32,7 +31,7 @@ export declare function responseBody2acceptedOffers4result(params: {
|
|
|
32
31
|
id: string;
|
|
33
32
|
};
|
|
34
33
|
responseBody: IResponseBody;
|
|
35
|
-
acceptedOffer:
|
|
34
|
+
acceptedOffer: IAcceptedOffer4COA[];
|
|
36
35
|
event: Pick<IMinimizedIndividualEvent<factory.eventType.ScreeningEvent>, 'coaInfo' | 'doorTime' | 'endDate' | 'id' | 'location' | 'startDate' | 'superEvent' | 'typeOf' | 'identifier' | 'name'>;
|
|
37
36
|
seller: Pick<factory.transaction.placeOrder.ISeller, 'typeOf' | 'name'>;
|
|
38
37
|
bookingTime: Date;
|
|
@@ -104,13 +104,10 @@ function responseBody2acceptedOffers4result(params) {
|
|
|
104
104
|
// reimplement id(2024-12-31~)
|
|
105
105
|
// const reservationId = `${reservationNumber}-${index.toString()}`;
|
|
106
106
|
const reservationId = `${params.project.id}:${ticketToken}`;
|
|
107
|
-
const workPerformed = {
|
|
108
|
-
id: event.superEvent.workPerformed.id
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
duration: event.superEvent.workPerformed.duration,
|
|
112
|
-
typeOf: event.superEvent.workPerformed.typeOf
|
|
113
|
-
};
|
|
107
|
+
const workPerformed = Object.assign({ identifier: event.superEvent.workPerformed.identifier, name: event.superEvent.workPerformed.name, duration: event.superEvent.workPerformed.duration, typeOf: event.superEvent.workPerformed.typeOf }, (typeof event.superEvent.workPerformed.id === 'string')
|
|
108
|
+
? { id: event.superEvent.workPerformed.id }
|
|
109
|
+
: undefined // redefine(2025-01-03~)
|
|
110
|
+
);
|
|
114
111
|
const reservationFor = Object.assign(Object.assign({ typeOf: event.typeOf, coaInfo: event.coaInfo }, (event.doorTime !== undefined)
|
|
115
112
|
? {
|
|
116
113
|
doorTime: moment(event.doorTime)
|
|
@@ -136,28 +133,30 @@ function responseBody2acceptedOffers4result(params) {
|
|
|
136
133
|
coaInfo: event.superEvent.coaInfo
|
|
137
134
|
}, id: event.id });
|
|
138
135
|
const ticketNumber = util.format('%s:%s:%s', reservationFor.id, tmpReserve.seatSection, tmpReserve.seatNum);
|
|
136
|
+
const ticketedSeat = {
|
|
137
|
+
typeOf: factory.placeType.Seat,
|
|
138
|
+
seatNumber: tmpReserve.seatNum,
|
|
139
|
+
seatRow: '',
|
|
140
|
+
seatSection: tmpReserve.seatSection
|
|
141
|
+
};
|
|
142
|
+
const ticketType = {
|
|
143
|
+
typeOf: factory.offerType.Offer,
|
|
144
|
+
id: requestedOffer.id,
|
|
145
|
+
identifier: requestedOffer.identifier,
|
|
146
|
+
name: requestedOffer.name
|
|
147
|
+
};
|
|
139
148
|
const reservedTicket = {
|
|
140
149
|
typeOf: 'Ticket',
|
|
141
150
|
coaTicketInfo: requestedOffer.ticketInfo,
|
|
142
151
|
// 予約取引確定パラメータ生成のためcoaReserveAmountを追加(2022-05-24~)
|
|
143
152
|
coaReserveAmount: params.totalPrice,
|
|
144
153
|
dateIssued: params.bookingTime,
|
|
145
|
-
ticketedSeat
|
|
146
|
-
typeOf: factory.placeType.Seat,
|
|
147
|
-
seatNumber: tmpReserve.seatNum,
|
|
148
|
-
seatRow: '',
|
|
149
|
-
seatSection: tmpReserve.seatSection
|
|
150
|
-
},
|
|
154
|
+
ticketedSeat,
|
|
151
155
|
identifier: ticketNumber,
|
|
152
156
|
// ticketNumber: ticketToken,
|
|
153
157
|
ticketNumber,
|
|
154
158
|
ticketToken: ticketToken,
|
|
155
|
-
ticketType
|
|
156
|
-
typeOf: factory.offerType.Offer,
|
|
157
|
-
id: requestedOffer.id,
|
|
158
|
-
identifier: String(requestedOffer.identifier),
|
|
159
|
-
name: requestedOffer.name
|
|
160
|
-
}
|
|
159
|
+
ticketType
|
|
161
160
|
};
|
|
162
161
|
const additionalProperty = (_b = (_a = requestedOffer.itemOffered) === null || _a === void 0 ? void 0 : _a.serviceOutput) === null || _b === void 0 ? void 0 : _b.additionalProperty;
|
|
163
162
|
const additionalTicketText = (_d = (_c = requestedOffer.itemOffered) === null || _c === void 0 ? void 0 : _c.serviceOutput) === null || _d === void 0 ? void 0 : _d.additionalTicketText;
|
|
@@ -179,9 +178,7 @@ function responseBody2acceptedOffers4result(params) {
|
|
|
179
178
|
}
|
|
180
179
|
}
|
|
181
180
|
};
|
|
182
|
-
const reservation = Object.assign(Object.assign(Object.assign({ typeOf: factory.reservationType.EventReservation, id: reservationId, issuedThrough }, (Array.isArray(additionalProperty)) ? { additionalProperty } : undefined), (typeof additionalTicketText === 'string') ? { additionalTicketText } : undefined), {
|
|
183
|
-
// numSeats: 1, // 廃止(2022-08-18~)
|
|
184
|
-
reservationFor: reservationFor, reservationNumber: reservationNumber, reservedTicket: reservedTicket });
|
|
181
|
+
const reservation = Object.assign(Object.assign(Object.assign({ typeOf: factory.reservationType.EventReservation, id: reservationId, issuedThrough }, (Array.isArray(additionalProperty)) ? { additionalProperty } : undefined), (typeof additionalTicketText === 'string') ? { additionalTicketText } : undefined), { reservationFor: reservationFor, reservationNumber: reservationNumber, reservedTicket: reservedTicket });
|
|
185
182
|
if (requestedOffer.priceSpecification === undefined) {
|
|
186
183
|
throw new factory.errors.NotFound('acceptedOffer.priceSpecification');
|
|
187
184
|
}
|
|
@@ -316,7 +316,7 @@ function validateAcceptedOffers(params) {
|
|
|
316
316
|
});
|
|
317
317
|
}
|
|
318
318
|
const acceptedOffers = params.object.acceptedOffer.map((acceptedOffer) => {
|
|
319
|
-
var _a, _b
|
|
319
|
+
var _a, _b;
|
|
320
320
|
const availableUnitPriceOffer = availableUnitPriceOffers.find((unitPriceOffer) => {
|
|
321
321
|
var _a, _b;
|
|
322
322
|
const ticketCodeByUnitPriceOffer = (_b = (_a = unitPriceOffer.additionalProperty) === null || _a === void 0 ? void 0 : _a.find((p) => p.name === 'ticketCode')) === null || _b === void 0 ? void 0 : _b.value;
|
|
@@ -365,13 +365,11 @@ function validateAcceptedOffers(params) {
|
|
|
365
365
|
usePoint: (typeof usePointValue === 'string') ? Number(usePointValue) : 0, salePrice // COAに渡す販売金額を上書き(2023-03-20~)
|
|
366
366
|
}),
|
|
367
367
|
// 以下属性については単価オファーから読む(2023-03-09~)
|
|
368
|
-
priceCurrency: availableUnitPriceOffer.priceCurrency, id:
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
// TODO itemOfferedに完全置き換え
|
|
374
|
-
seatSection: (_h = (_g = (_f = itemOffered.serviceOutput) === null || _f === void 0 ? void 0 : _f.reservedTicket) === null || _g === void 0 ? void 0 : _g.ticketedSeat) === null || _h === void 0 ? void 0 : _h.seatSection
|
|
368
|
+
priceCurrency: availableUnitPriceOffer.priceCurrency, id: availableUnitPriceOffer.id, identifier: availableUnitPriceOffer.identifier, typeOf: availableUnitPriceOffer.typeOf }, (Array.isArray(eligibleMonetaryAmount)) ? { eligibleMonetaryAmount } : undefined), {
|
|
369
|
+
// discontinue(2025-01-03~)
|
|
370
|
+
// seatNumber: itemOffered.serviceOutput?.reservedTicket?.ticketedSeat?.seatNumber,
|
|
371
|
+
// discontinue(2025-01-03~)
|
|
372
|
+
// seatSection: itemOffered.serviceOutput?.reservedTicket?.ticketedSeat?.seatSection
|
|
375
373
|
});
|
|
376
374
|
});
|
|
377
375
|
return { acceptedOffers };
|
|
@@ -79,7 +79,7 @@ function authorize(params) {
|
|
|
79
79
|
// アクション開始前に例外がthrowされてもCOA仮予約を取り消す機会をつくるためにFailedアクションを作成する(2023-09-12~)
|
|
80
80
|
const failedActionAttributes = (0, factory_1.createAuthorizeSeatReservationActionAttributes)({
|
|
81
81
|
acceptAction: params.object.acceptAction,
|
|
82
|
-
acceptedOffers: [],
|
|
82
|
+
// acceptedOffers: [],
|
|
83
83
|
event: { id: params.object.event.id, typeOf: factory.eventType.ScreeningEvent },
|
|
84
84
|
transaction,
|
|
85
85
|
pendingTransaction
|
|
@@ -92,7 +92,7 @@ function authorize(params) {
|
|
|
92
92
|
// 承認アクションを開始
|
|
93
93
|
const actionAttributes = (0, factory_1.createAuthorizeSeatReservationActionAttributes)({
|
|
94
94
|
acceptAction: params.object.acceptAction,
|
|
95
|
-
acceptedOffers,
|
|
95
|
+
// acceptedOffers,
|
|
96
96
|
event: { id: screeningEvent.id, typeOf: screeningEvent.typeOf },
|
|
97
97
|
transaction,
|
|
98
98
|
pendingTransaction
|
package/package.json
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"@aws-sdk/client-cognito-identity-provider": "3.600.0",
|
|
13
13
|
"@aws-sdk/credential-providers": "3.600.0",
|
|
14
|
-
"@chevre/factory": "4.392.0-alpha.
|
|
14
|
+
"@chevre/factory": "4.392.0-alpha.3",
|
|
15
15
|
"@cinerino/sdk": "10.19.0-alpha.3",
|
|
16
16
|
"@motionpicture/coa-service": "9.6.0",
|
|
17
17
|
"@motionpicture/gmo-service": "5.3.0",
|
|
@@ -112,5 +112,5 @@
|
|
|
112
112
|
"postversion": "git push origin --tags",
|
|
113
113
|
"prepublishOnly": "npm run clean && npm run build && npm test && npm run doc"
|
|
114
114
|
},
|
|
115
|
-
"version": "22.8.0-alpha.
|
|
115
|
+
"version": "22.8.0-alpha.3"
|
|
116
116
|
}
|