@chevre/domain 20.1.0-alpha.31 → 20.1.0-alpha.33
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/{migrateEventSeriesAdditionalProperties.ts → migrateEventAdditionalProperties.ts} +13 -13
- package/lib/chevre/service/assetTransaction/reserve/factory.js +16 -37
- package/lib/chevre/service/offer/event/authorize.js +19 -17
- package/lib/chevre/service/offer/event/factory.d.ts +1 -1
- package/lib/chevre/service/offer/event/factory.js +0 -5
- package/lib/chevre/service/task/confirmReserveTransaction.js +1 -1
- package/package.json +3 -3
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// tslint:disable:no-console
|
|
2
|
-
|
|
2
|
+
import * as moment from 'moment';
|
|
3
3
|
import * as mongoose from 'mongoose';
|
|
4
4
|
|
|
5
5
|
import { chevre } from '../../../lib/index';
|
|
@@ -18,13 +18,12 @@ async function main() {
|
|
|
18
18
|
{
|
|
19
19
|
// 'project.id': { $eq: project.id },
|
|
20
20
|
'project.id': { $ne: EXCLUDED_PROJECT_ID },
|
|
21
|
-
typeOf: { $eq: chevre.factory.eventType.
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
// }
|
|
21
|
+
typeOf: { $eq: chevre.factory.eventType.ScreeningEvent },
|
|
22
|
+
startDate: {
|
|
23
|
+
$gte: moment()
|
|
24
|
+
.add(-1, 'month')
|
|
25
|
+
.toDate()
|
|
26
|
+
}
|
|
28
27
|
// _id: { $eq: 'al6aff83w' }
|
|
29
28
|
},
|
|
30
29
|
{
|
|
@@ -40,11 +39,11 @@ async function main() {
|
|
|
40
39
|
let updateCount = 0;
|
|
41
40
|
await cursor.eachAsync(async (doc) => {
|
|
42
41
|
i += 1;
|
|
43
|
-
const event: chevre.factory.event.
|
|
42
|
+
const event: chevre.factory.event.screeningEvent.IEvent = doc.toObject();
|
|
44
43
|
|
|
45
44
|
const additionalPropertyNamesOnEvent = event.additionalProperty?.map((p) => p.name);
|
|
46
45
|
if (Array.isArray(additionalPropertyNamesOnEvent) && additionalPropertyNamesOnEvent.length > 0) {
|
|
47
|
-
console.log(additionalPropertyNamesOnEvent.length, 'additionalPropertyNamesOnEvent found', event.project.id);
|
|
46
|
+
console.log(additionalPropertyNamesOnEvent.length, 'additionalPropertyNamesOnEvent found', event.startDate, event.project.id);
|
|
48
47
|
additionalPropertyNames.push(...additionalPropertyNamesOnEvent);
|
|
49
48
|
projectIds.push(event.project.id);
|
|
50
49
|
additionalPropertyNamesOnEvent.forEach((name) => {
|
|
@@ -62,10 +61,11 @@ async function main() {
|
|
|
62
61
|
project: { id: { $eq: event.project.id } },
|
|
63
62
|
limit: 1,
|
|
64
63
|
page: 1,
|
|
65
|
-
name: { $regex: `^${additionalPropertyNameOnEvent}$` }
|
|
64
|
+
name: { $regex: `^${additionalPropertyNameOnEvent}$` },
|
|
65
|
+
inCodeSet: { identifier: { $eq: event.typeOf } }
|
|
66
66
|
});
|
|
67
67
|
if (existings.length > 0) {
|
|
68
|
-
console.log('already existed', additionalPropertyNameOnEvent, event.id, event.project.id);
|
|
68
|
+
console.log('already existed', additionalPropertyNameOnEvent, event.id, event.startDate, event.project.id);
|
|
69
69
|
} else {
|
|
70
70
|
updateCount += 1;
|
|
71
71
|
await additionalPropertyRepo.save({
|
|
@@ -80,7 +80,7 @@ async function main() {
|
|
|
80
80
|
name: { ja: additionalPropertyNameOnEvent }
|
|
81
81
|
}
|
|
82
82
|
});
|
|
83
|
-
console.log('created', additionalPropertyNameOnEvent, event.id, event.project.id);
|
|
83
|
+
console.log('created', additionalPropertyNameOnEvent, event.id, event.startDate, event.project.id);
|
|
84
84
|
}
|
|
85
85
|
}
|
|
86
86
|
}
|
|
@@ -408,41 +408,22 @@ function createPotentialActions(params) {
|
|
|
408
408
|
const reserveActionAttributes = pendingReservations.map((reservation) => {
|
|
409
409
|
var _a, _b;
|
|
410
410
|
const eventReservation = Object.assign(Object.assign({}, reservation), { reservationFor });
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
if (confirmingReservation.underName !== undefined) {
|
|
428
|
-
eventReservation.underName = confirmingReservation.underName;
|
|
429
|
-
eventReservation.reservedTicket.underName = confirmingReservation.underName;
|
|
430
|
-
}
|
|
431
|
-
if (confirmingReservation.reservedTicket !== undefined) {
|
|
432
|
-
// ticketToken指定を廃止(2022-05-23~)
|
|
433
|
-
// if (typeof confirmingReservation.reservedTicket.ticketToken === 'string') {
|
|
434
|
-
// eventReservation.reservedTicket.ticketToken = confirmingReservation.reservedTicket.ticketToken;
|
|
435
|
-
// }
|
|
436
|
-
if (confirmingReservation.reservedTicket.issuedBy !== undefined) {
|
|
437
|
-
eventReservation.reservedTicket.issuedBy = confirmingReservation.reservedTicket.issuedBy;
|
|
438
|
-
}
|
|
439
|
-
// reservedTicket.underName指定を廃止(2022-05-23~)
|
|
440
|
-
// if (confirmingReservation.reservedTicket.underName !== undefined) {
|
|
441
|
-
// eventReservation.reservedTicket.underName = confirmingReservation.reservedTicket.underName;
|
|
442
|
-
// }
|
|
443
|
-
}
|
|
444
|
-
}
|
|
445
|
-
}
|
|
411
|
+
// 不要なので廃止(2022-12-14~)
|
|
412
|
+
// if (params.object !== undefined) {
|
|
413
|
+
// // 予約属性の指定があれば上書き
|
|
414
|
+
// const confirmingReservation = params.object.reservations.find((r) => r.id === eventReservation.id);
|
|
415
|
+
// if (confirmingReservation !== undefined) {
|
|
416
|
+
// if (confirmingReservation.underName !== undefined) {
|
|
417
|
+
// eventReservation.underName = confirmingReservation.underName;
|
|
418
|
+
// eventReservation.reservedTicket.underName = confirmingReservation.underName;
|
|
419
|
+
// }
|
|
420
|
+
// if (confirmingReservation.reservedTicket !== undefined) {
|
|
421
|
+
// if (confirmingReservation.reservedTicket.issuedBy !== undefined) {
|
|
422
|
+
// eventReservation.reservedTicket.issuedBy = confirmingReservation.reservedTicket.issuedBy;
|
|
423
|
+
// }
|
|
424
|
+
// }
|
|
425
|
+
// }
|
|
426
|
+
// }
|
|
446
427
|
// purpose:Orderの指定があれば、underName,issuedByを調整(2022-05-23~)
|
|
447
428
|
if (typeof ((_a = params.order) === null || _a === void 0 ? void 0 : _a.typeOf) === 'string') {
|
|
448
429
|
const ordre2reservationUnderNameResult = ordre2reservationUnderName({ order: params.order });
|
|
@@ -450,7 +431,6 @@ function createPotentialActions(params) {
|
|
|
450
431
|
eventReservation.reservedTicket.underName = ordre2reservationUnderNameResult.underName;
|
|
451
432
|
eventReservation.reservedTicket.issuedBy = ordre2reservationUnderNameResult.issuedBy;
|
|
452
433
|
}
|
|
453
|
-
// const informReservationActions: factory.action.reserve.IInformReservation[] = [];
|
|
454
434
|
const acceptedOffer4reservation = (_b = transaction.object.acceptedOffer) === null || _b === void 0 ? void 0 : _b.find((o) => { var _a, _b; return ((_b = (_a = o.itemOffered) === null || _a === void 0 ? void 0 : _a.serviceOutput) === null || _b === void 0 ? void 0 : _b.id) === reservation.id; });
|
|
455
435
|
const moneyTransfer = createMoneyTransferActions({
|
|
456
436
|
acceptedOffer: acceptedOffer4reservation,
|
|
@@ -466,7 +446,6 @@ function createPotentialActions(params) {
|
|
|
466
446
|
agent: transaction.project,
|
|
467
447
|
potentialActions: {
|
|
468
448
|
moneyTransfer: moneyTransfer
|
|
469
|
-
// informReservation: informReservationActions
|
|
470
449
|
},
|
|
471
450
|
purpose: {
|
|
472
451
|
typeOf: transaction.typeOf,
|
|
@@ -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
|
}
|
|
@@ -137,7 +147,7 @@ function processStartReserve4chevre(params) {
|
|
|
137
147
|
const event = params.event;
|
|
138
148
|
const transactionNumber = params.transactionNumber;
|
|
139
149
|
const transaction = params.transaction;
|
|
140
|
-
let requestBody;
|
|
150
|
+
// let requestBody: factory.assetTransaction.reserve.IStartParamsWithoutDetail;
|
|
141
151
|
let responseBody;
|
|
142
152
|
let acceptedOffers4result = [];
|
|
143
153
|
if (typeof transactionNumber !== 'string') {
|
|
@@ -151,10 +161,9 @@ function processStartReserve4chevre(params) {
|
|
|
151
161
|
transaction,
|
|
152
162
|
transactionNumber
|
|
153
163
|
});
|
|
154
|
-
requestBody = startParams;
|
|
164
|
+
// requestBody = startParams;
|
|
155
165
|
const startParamObject = yield validateObjectWithoutDetail(startParams)(repos);
|
|
156
|
-
//
|
|
157
|
-
// responseBody = await repos.reserveTransaction.start(startParams);
|
|
166
|
+
// 予約取引開始
|
|
158
167
|
responseBody = yield ReserveTransactionService.start(Object.assign(Object.assign({}, startParams), { object: startParamObject, validateAppliesToMovieTicket: true }))(repos);
|
|
159
168
|
// 予約取引からオファー情報を生成する
|
|
160
169
|
acceptedOffers4result = (0, factory_1.responseBody2acceptedOffers4result)({
|
|
@@ -163,19 +172,12 @@ function processStartReserve4chevre(params) {
|
|
|
163
172
|
project: transaction.project,
|
|
164
173
|
seller: transaction.seller
|
|
165
174
|
});
|
|
166
|
-
return {
|
|
175
|
+
return { acceptedOffers4result };
|
|
167
176
|
});
|
|
168
177
|
}
|
|
169
178
|
function validateObjectWithoutDetail(params) {
|
|
170
179
|
return (repos) => __awaiter(this, void 0, void 0, function* () {
|
|
171
180
|
var _a, _b, _c, _d;
|
|
172
|
-
// const objectWithoutDetail: factory.assetTransaction.reserve.IObjectWithoutDetail = {
|
|
173
|
-
// ...params.object,
|
|
174
|
-
// // 互換性維持対応として、event.idをreservationFor.idに置換
|
|
175
|
-
// ...(typeof params.object?.event?.id === 'string')
|
|
176
|
-
// ? { reservationFor: { id: <string>params.object.event.id } }
|
|
177
|
-
// : undefined
|
|
178
|
-
// };
|
|
179
181
|
const objectWithoutDetail = params.object;
|
|
180
182
|
if (Array.isArray(objectWithoutDetail.acceptedOffer)) {
|
|
181
183
|
for (let acceptedOffer of objectWithoutDetail.acceptedOffer) {
|
|
@@ -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
|
|
@@ -72,7 +72,7 @@ function confirmReserveTransaction(params) {
|
|
|
72
72
|
object = object;
|
|
73
73
|
yield ReserveTransactionService.confirm({
|
|
74
74
|
transactionNumber: object.transactionNumber,
|
|
75
|
-
object: object.object,
|
|
75
|
+
// object: object.object,
|
|
76
76
|
potentialActions: object.potentialActions
|
|
77
77
|
})(repos);
|
|
78
78
|
}
|
package/package.json
CHANGED
|
@@ -9,8 +9,8 @@
|
|
|
9
9
|
}
|
|
10
10
|
],
|
|
11
11
|
"dependencies": {
|
|
12
|
-
"@chevre/factory": "4.280.0-alpha.
|
|
13
|
-
"@cinerino/sdk": "3.135.0-alpha.
|
|
12
|
+
"@chevre/factory": "4.280.0-alpha.5",
|
|
13
|
+
"@cinerino/sdk": "3.135.0-alpha.1",
|
|
14
14
|
"@motionpicture/coa-service": "9.2.0",
|
|
15
15
|
"@motionpicture/gmo-service": "5.2.0",
|
|
16
16
|
"@sendgrid/mail": "6.4.0",
|
|
@@ -120,5 +120,5 @@
|
|
|
120
120
|
"postversion": "git push origin --tags",
|
|
121
121
|
"prepublishOnly": "npm run clean && npm run build && npm test && npm run doc"
|
|
122
122
|
},
|
|
123
|
-
"version": "20.1.0-alpha.
|
|
123
|
+
"version": "20.1.0-alpha.33"
|
|
124
124
|
}
|