@chevre/domain 20.1.0-alpha.5 → 20.1.0-alpha.50

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.
Files changed (119) hide show
  1. package/example/src/chevre/deleteReservationTicketUnderNames.ts +20 -0
  2. package/example/src/chevre/migrateAccountTitleAdditionalProperties.ts +157 -0
  3. package/example/src/chevre/migrateCreativeWorkAdditionalProperties.ts +116 -0
  4. package/example/src/chevre/migrateEventOffersSellerMakesOffer.ts +139 -0
  5. package/example/src/chevre/migrateEventProjectAttributes.ts +57 -0
  6. package/example/src/chevre/migratePlaceAdditionalProperties.ts +162 -0
  7. package/example/src/chevre/migrateSSKTEventCOAEndpoint.ts +64 -0
  8. package/example/src/chevre/searchEvents.ts +36 -16
  9. package/example/src/chevre/transaction/callOrderMembershipServiceTask.ts +0 -4
  10. package/example/src/chevre/transaction/orderMembershipService.ts +0 -4
  11. package/lib/chevre/factory/reservedAgentIdentifireNames.d.ts +1 -0
  12. package/lib/chevre/factory/reservedAgentIdentifireNames.js +12 -0
  13. package/lib/chevre/repo/accountAction.d.ts +0 -18
  14. package/lib/chevre/repo/accountAction.js +402 -355
  15. package/lib/chevre/repo/accountTitle.d.ts +1 -0
  16. package/lib/chevre/repo/accountTitle.js +6 -1
  17. package/lib/chevre/repo/additionalProperty.d.ts +35 -0
  18. package/lib/chevre/repo/additionalProperty.js +205 -0
  19. package/lib/chevre/repo/categoryCode.d.ts +1 -0
  20. package/lib/chevre/repo/categoryCode.js +15 -1
  21. package/lib/chevre/repo/creativeWork.js +10 -1
  22. package/lib/chevre/repo/customer.d.ts +1 -0
  23. package/lib/chevre/repo/customer.js +5 -0
  24. package/lib/chevre/repo/event.d.ts +12 -4
  25. package/lib/chevre/repo/event.js +84 -48
  26. package/lib/chevre/repo/merchantReturnPolicy.d.ts +1 -0
  27. package/lib/chevre/repo/merchantReturnPolicy.js +5 -0
  28. package/lib/chevre/repo/mongoose/model/additionalProperty.d.ts +7 -0
  29. package/lib/chevre/repo/mongoose/model/additionalProperty.js +81 -0
  30. package/lib/chevre/repo/mongoose/model/categoryCode.js +18 -2
  31. package/lib/chevre/repo/mongoose/model/creativeWork.js +6 -0
  32. package/lib/chevre/repo/mongoose/model/event.js +53 -0
  33. package/lib/chevre/repo/mongoose/model/offer.js +7 -1
  34. package/lib/chevre/repo/mongoose/model/offerCatalog.js +21 -2
  35. package/lib/chevre/repo/mongoose/model/ownershipInfo.js +3 -15
  36. package/lib/chevre/repo/mongoose/model/place.js +42 -0
  37. package/lib/chevre/repo/offer.js +10 -1
  38. package/lib/chevre/repo/offerCatalog.js +10 -10
  39. package/lib/chevre/repo/person.js +4 -1
  40. package/lib/chevre/repo/place.d.ts +1 -0
  41. package/lib/chevre/repo/place.js +54 -7
  42. package/lib/chevre/repo/reservation.d.ts +17 -2
  43. package/lib/chevre/repo/reservation.js +41 -1
  44. package/lib/chevre/repo/transaction.js +20 -5
  45. package/lib/chevre/repository.d.ts +6 -3
  46. package/lib/chevre/repository.js +10 -5
  47. package/lib/chevre/service/account.d.ts +0 -4
  48. package/lib/chevre/service/account.js +24 -22
  49. package/lib/chevre/service/accountTransaction/deposit.d.ts +0 -2
  50. package/lib/chevre/service/accountTransaction/deposit.js +3 -3
  51. package/lib/chevre/service/accountTransaction/transfer.d.ts +0 -2
  52. package/lib/chevre/service/accountTransaction/transfer.js +3 -3
  53. package/lib/chevre/service/accountTransaction/withdraw.d.ts +0 -2
  54. package/lib/chevre/service/accountTransaction/withdraw.js +3 -3
  55. package/lib/chevre/service/assetTransaction/cancelReservation/factory.js +86 -42
  56. package/lib/chevre/service/assetTransaction/pay/potentialActions.js +9 -19
  57. package/lib/chevre/service/assetTransaction/reserve/factory.js +119 -115
  58. package/lib/chevre/service/assetTransaction/reserve.js +41 -95
  59. package/lib/chevre/service/delivery/factory.js +2 -1
  60. package/lib/chevre/service/event.js +20 -6
  61. package/lib/chevre/service/offer/event/authorize.d.ts +4 -0
  62. package/lib/chevre/service/offer/event/authorize.js +65 -27
  63. package/lib/chevre/service/offer/event/factory.d.ts +1 -1
  64. package/lib/chevre/service/offer/event/factory.js +17 -12
  65. package/lib/chevre/service/offer/eventServiceByCOA/factory.js +19 -9
  66. package/lib/chevre/service/offer/factory.js +7 -20
  67. package/lib/chevre/service/order/onOrderStatusChanged/factory.js +11 -3
  68. package/lib/chevre/service/order/onOrderStatusChanged.js +3 -2
  69. package/lib/chevre/service/order/placeOrder.js +13 -5
  70. package/lib/chevre/service/order/returnOrder.js +2 -1
  71. package/lib/chevre/service/order/sendOrder.js +2 -1
  72. package/lib/chevre/service/reserve/cancelReservation.d.ts +5 -5
  73. package/lib/chevre/service/reserve/cancelReservation.js +260 -107
  74. package/lib/chevre/service/reserve/confirmReservation.js +65 -33
  75. package/lib/chevre/service/reserve/factory.d.ts +14 -2
  76. package/lib/chevre/service/reserve/factory.js +13 -6
  77. package/lib/chevre/service/reserve/potentialActions/onReservationConfirmed.d.ts +1 -1
  78. package/lib/chevre/service/reserve/potentialActions/onReservationConfirmed.js +85 -30
  79. package/lib/chevre/service/task/confirmReserveTransaction.js +1 -1
  80. package/lib/chevre/service/transaction/orderProgramMembership.js +15 -31
  81. package/lib/chevre/service/transaction/placeOrder/exportTasks/factory.d.ts +1 -0
  82. package/lib/chevre/service/transaction/placeOrder/exportTasks/factory.js +20 -4
  83. package/lib/chevre/service/transaction/placeOrderInProgress/factory.js +9 -4
  84. package/lib/chevre/service/transaction/placeOrderInProgress/potentialActions/givePointAward.js +2 -1
  85. package/lib/chevre/service/transaction/placeOrderInProgress/potentialActions/moneyTransfer.js +2 -1
  86. package/lib/chevre/service/transaction/placeOrderInProgress/potentialActions/registerService.js +2 -1
  87. package/lib/chevre/service/transaction/placeOrderInProgress/potentialActions/sendEmailMessage.js +2 -1
  88. package/lib/chevre/service/transaction/placeOrderInProgress/potentialActions.js +2 -1
  89. package/lib/chevre/service/transaction/placeOrderInProgress/result/acceptedOffers.js +10 -6
  90. package/lib/chevre/service/transaction/placeOrderInProgress/result.js +2 -4
  91. package/lib/chevre/service/transaction/placeOrderInProgress/validation/validateSeller.d.ts +3 -1
  92. package/lib/chevre/service/transaction/placeOrderInProgress/validation/validateSeller.js +3 -2
  93. package/lib/chevre/service/transaction/placeOrderInProgress.js +16 -2
  94. package/lib/chevre/service/transaction/returnOrder/potentialActions/returnMoneyTransfer.js +2 -1
  95. package/lib/chevre/service/transaction/returnOrder/potentialActions/returnPaymentMethod.js +6 -3
  96. package/lib/chevre/service/transaction/returnOrder/potentialActions/returnPointAward.js +2 -1
  97. package/lib/chevre/service/transaction/returnOrder/potentialActions/sendEmailMessage.js +2 -1
  98. package/lib/chevre/service/transaction/returnOrder.js +10 -1
  99. package/lib/chevre/service/transaction.js +1 -14
  100. package/lib/chevre/service.d.ts +2 -0
  101. package/lib/chevre/service.js +2 -0
  102. package/package.json +4 -4
  103. package/example/src/chevre/accountBlanceTest.ts +0 -24
  104. package/example/src/chevre/checkOffersAppliesToMovieTicket.ts +0 -56
  105. package/example/src/chevre/createSeats.ts +0 -59
  106. package/example/src/chevre/deleteEvents.ts +0 -50
  107. package/example/src/chevre/manageOwnedByOfOwnershipInfo.ts +0 -35
  108. package/example/src/chevre/migrateEventOffersItemOfferedName.ts +0 -82
  109. package/example/src/chevre/migrateMovieTicketChargePriceSpecs.ts +0 -92
  110. package/example/src/chevre/migrateSellerMakesOffers.ts +0 -84
  111. package/example/src/chevre/migrateTTTSOldEventId.ts +0 -68
  112. package/example/src/chevre/publishConfirmationNumber.ts +0 -30
  113. package/example/src/chevre/publishServiceOutputIdentifier.ts +0 -28
  114. package/example/src/chevre/publishTransactionNumber.ts +0 -28
  115. package/example/src/chevre/renameTransaction.ts +0 -22
  116. package/lib/chevre/service/task/accountMoneyTransfer.d.ts +0 -3
  117. package/lib/chevre/service/task/accountMoneyTransfer.js +0 -31
  118. package/lib/chevre/service/task/cancelAccountMoneyTransfer.d.ts +0 -3
  119. package/lib/chevre/service/task/cancelAccountMoneyTransfer.js +0 -33
@@ -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 = Object.assign({ price: amount, priceCurrency: acceptedOffers[0].priceCurrency, amount: [], requestBody: requestBody, responseBody: responseBody }, (acceptedOffers4result !== undefined) ? { acceptedOffers: acceptedOffers4result } : undefined);
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 { requestBody, responseBody, acceptedOffers4result };
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
- function validateEvent(params) {
208
- var _a, _b;
208
+ /**
209
+ * イベントのオファー有効期間を検証する
210
+ */
211
+ function validateEventOfferPeriod(params) {
209
212
  const acceptedDate = moment(params.now);
210
213
  const eventOffers = params.event.offers;
211
- const validFrom = eventOffers === null || eventOffers === void 0 ? void 0 : eventOffers.validFrom;
212
- const validThrough = eventOffers === null || eventOffers === void 0 ? void 0 : eventOffers.validThrough;
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.action.authorize.offer.seatReservation.IResponseBody<factory.service.webAPI.Identifier.Chevre>;
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({ project: event.superEvent.workPerformed.project, 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')
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
- project: event.project,
223
+ // 不要なので廃止(2022-12-19~)
224
+ // project: event.project,
226
225
  typeOf: event.typeOf,
227
226
  // 予約のreservationForは最適化されているので、additionalPropertyは存在しない
228
227
  // additionalProperty: itemOffered.reservationFor.additionalProperty,
229
- eventStatus: event.eventStatus,
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({ project: event.superEvent.project, 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)
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
- project: { typeOf: params.project.typeOf, id: params.project.id },
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
- priceCurrency: itemOffered.reservedTicket.ticketType.priceCurrency
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
- project: event.superEvent.workPerformed.project,
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(), eventStatus: event.eventStatus, identifier: event.identifier, location: {
118
- project: event.location.project,
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, project: event.project, startDate: moment(event.startDate)
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
- project: event.superEvent.project,
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
- project: { typeOf: event.project.typeOf, id: event.project.id },
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
- priceCurrency: factory.priceCurrency.JPY
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
- if (USE_MULTIPLE_MOVIE_TICKET_CHARGE) {
39
- const mvtkSpecs4appliesToMovieTicket = params.movieTicketTypeChargeSpecs.filter((s) => {
40
- var _a;
41
- return ((_a = s.appliesToMovieTicket.serviceOutput) === null || _a === void 0 ? void 0 : _a.typeOf) === appliesToMovieTicket.serviceOutput.typeOf
42
- && s.appliesToMovieTicket.serviceType === appliesToMovieTicket.serviceType
43
- && params.videoFormatTypes.includes(s.appliesToVideoFormat);
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 {
@@ -21,6 +21,7 @@ const util_1 = require("util");
21
21
  const credentials_1 = require("../../../credentials");
22
22
  const factory = require("../../../factory");
23
23
  const order_1 = require("../../../factory/order");
24
+ const reservedAgentIdentifireNames_1 = require("../../../factory/reservedAgentIdentifireNames");
24
25
  const settings_1 = require("../../../settings");
25
26
  const informOrder = (_a = settings_1.settings.onOrderStatusChanged) === null || _a === void 0 ? void 0 : _a.informOrder;
26
27
  function getOrderWithToken(params) {
@@ -42,7 +43,8 @@ function getOrderWithToken(params) {
42
43
  };
43
44
  const seller4orderToken = {
44
45
  id: params.order.seller.id,
45
- project: params.order.seller.project,
46
+ // 最適化(2022-11-15~)
47
+ // project: params.order.seller.project,
46
48
  typeOf: params.order.seller.typeOf
47
49
  };
48
50
  const order4token = {
@@ -50,7 +52,8 @@ function getOrderWithToken(params) {
50
52
  typeOf: params.order.typeOf,
51
53
  seller: seller4orderToken,
52
54
  customer: customer4orderToken,
53
- confirmationNumber: params.order.confirmationNumber,
55
+ // IOrderへ移行(2022-11-17~)
56
+ // confirmationNumber: params.order.confirmationNumber,
54
57
  orderNumber: params.order.orderNumber,
55
58
  price: params.order.price,
56
59
  priceCurrency: params.order.priceCurrency,
@@ -130,7 +133,12 @@ function creteOrder4inform(order) {
130
133
  // mask
131
134
  customer: Object.assign(Object.assign({}, (0, order_1.createMaskedCustomer)(order)), { additionalProperty: (Array.isArray(order.customer.additionalProperty)) ? order.customer.additionalProperty : [],
132
135
  // identifierは必要
133
- identifier: (Array.isArray(order.customer.identifier)) ? order.customer.identifier : [] }),
136
+ // 予約後を隠蔽(2022-12-24~)
137
+ identifier: (Array.isArray(order.customer.identifier))
138
+ ? order.customer.identifier.filter((p) => {
139
+ return !reservedAgentIdentifireNames_1.RESERVED_AGENT_IDENTIFIER_NAMES.includes(p.name);
140
+ })
141
+ : [] }),
134
142
  // paymentMethodsに関してもmask(2022-05-30~)
135
143
  paymentMethods: order.paymentMethods.map((p) => {
136
144
  return Object.assign(Object.assign({}, p), (typeof p.accountId === 'string' && p.accountId.length > 0)
@@ -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
- confirmationNumber: params.order.confirmationNumber,
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
- confirmationNumber: order.confirmationNumber,
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(params)(repos);
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
- confirmationNumber: order.confirmationNumber,
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(params)(repos);
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
- confirmationNumber: order.confirmationNumber,
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
- confirmationNumber: order.confirmationNumber,
51
+ // IOrderへ移行(2022-11-17~)
52
+ // confirmationNumber: order.confirmationNumber,
52
53
  orderNumber: order.orderNumber,
53
54
  price: order.price,
54
55
  priceCurrency: order.priceCurrency,
@@ -9,7 +9,7 @@ declare type IObjectSubReservation = factory.assetTransaction.reserve.IObjectSub
9
9
  /**
10
10
  * 進行中の予約をキャンセルする
11
11
  */
12
- export declare function cancelPendingReservation(actionAttributesList: factory.action.cancel.reservation.IAttributes[]): (repos: {
12
+ declare function cancelPendingReservation(actionAttributesList: factory.action.cancel.reservation.IAttributes[]): (repos: {
13
13
  action: ActionRepo;
14
14
  assetTransaction: AssetTransactionRepo;
15
15
  eventAvailability: ScreeningEventAvailabilityRepo;
@@ -20,7 +20,7 @@ export declare function cancelPendingReservation(actionAttributesList: factory.a
20
20
  /**
21
21
  * 予約をキャンセルする
22
22
  */
23
- export declare function cancelReservation(actionAttributesList: factory.action.cancel.reservation.IAttributes[]): (repos: {
23
+ declare function cancelReservation(actionAttributesList: factory.action.cancel.reservation.IAttributes[]): (repos: {
24
24
  action: ActionRepo;
25
25
  eventAvailability: ScreeningEventAvailabilityRepo;
26
26
  offerRateLimit: OfferRateLimitRepo;
@@ -28,10 +28,10 @@ export declare function cancelReservation(actionAttributesList: factory.action.c
28
28
  task: TaskRepo;
29
29
  assetTransaction: AssetTransactionRepo;
30
30
  }) => Promise<void>;
31
- export declare function processUnlockOfferRateLimit(params: {
32
- reservation: IObjectSubReservation;
31
+ declare function processUnlockOfferRateLimit(params: {
32
+ reservation: Pick<IObjectSubReservation, 'reservationNumber' | 'reservedTicket'>;
33
33
  reservationFor: factory.assetTransaction.reserve.IReservationFor;
34
34
  }): (repos: {
35
35
  offerRateLimit: OfferRateLimitRepo;
36
36
  }) => Promise<void>;
37
- export {};
37
+ export { cancelPendingReservation, cancelReservation, processUnlockOfferRateLimit };