@chevre/domain 25.2.0-alpha.4 → 25.2.0-alpha.41

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 (177) hide show
  1. package/lib/chevre/factory/customerTelephone2COATelNum.d.ts +3 -0
  2. package/lib/chevre/factory/customerTelephone2COATelNum.js +22 -0
  3. package/lib/chevre/repo/action/acceptPay.d.ts +15 -0
  4. package/lib/chevre/repo/action/acceptPay.js +47 -19
  5. package/lib/chevre/repo/action/actionProcess.js +57 -57
  6. package/lib/chevre/repo/action.d.ts +16 -9
  7. package/lib/chevre/repo/action.js +99 -180
  8. package/lib/chevre/repo/aggregateOffer.d.ts +2 -3
  9. package/lib/chevre/repo/creativeWork.d.ts +2 -3
  10. package/lib/chevre/repo/customerType.d.ts +2 -3
  11. package/lib/chevre/repo/event.d.ts +10 -11
  12. package/lib/chevre/repo/eventOffer.d.ts +4 -5
  13. package/lib/chevre/repo/eventSellerMakesOffer.d.ts +2 -3
  14. package/lib/chevre/repo/eventSeries.d.ts +4 -5
  15. package/lib/chevre/repo/message.d.ts +1 -1
  16. package/lib/chevre/repo/message.js +1 -1
  17. package/lib/chevre/repo/mongoose/schemas/action.js +67 -66
  18. package/lib/chevre/repo/mongoose/schemas/order.d.ts +4 -0
  19. package/lib/chevre/repo/mongoose/schemas/order.js +10 -0
  20. package/lib/chevre/repo/mongoose/schemas/setting.d.ts +4 -0
  21. package/lib/chevre/repo/mongoose/schemas/task.js +12 -12
  22. package/lib/chevre/repo/note.d.ts +3 -4
  23. package/lib/chevre/repo/noteAboutOrder.d.ts +2 -3
  24. package/lib/chevre/repo/offer/unitPriceInCatalog.d.ts +4 -0
  25. package/lib/chevre/repo/offer/unitPriceInCatalog.js +40 -0
  26. package/lib/chevre/repo/offerCatalog.d.ts +2 -3
  27. package/lib/chevre/repo/offerCatalogItem.d.ts +2 -3
  28. package/lib/chevre/repo/order.d.ts +2 -0
  29. package/lib/chevre/repo/order.js +14 -14
  30. package/lib/chevre/repo/orderInTransaction.d.ts +68 -1
  31. package/lib/chevre/repo/orderInTransaction.js +181 -3
  32. package/lib/chevre/repo/person.d.ts +0 -15
  33. package/lib/chevre/repo/person.js +122 -108
  34. package/lib/chevre/repo/place/entranceGate.d.ts +4 -5
  35. package/lib/chevre/repo/place/movieTheater.d.ts +3 -4
  36. package/lib/chevre/repo/place/screeningRoom.d.ts +4 -5
  37. package/lib/chevre/repo/place/seat.d.ts +4 -5
  38. package/lib/chevre/repo/place/section.d.ts +3 -4
  39. package/lib/chevre/repo/product.d.ts +3 -4
  40. package/lib/chevre/repo/rateLimit/offer.js +0 -12
  41. package/lib/chevre/repo/reservation.d.ts +2 -3
  42. package/lib/chevre/repo/sellerMakesOffer.d.ts +3 -4
  43. package/lib/chevre/repo/stockHolder.d.ts +1 -1
  44. package/lib/chevre/repo/stockHolder.js +0 -146
  45. package/lib/chevre/repo/transaction/placeOrder.d.ts +2 -45
  46. package/lib/chevre/repo/transaction/placeOrder.js +43 -83
  47. package/lib/chevre/repo/transaction.d.ts +2 -2
  48. package/lib/chevre/repo/transactionNumberCounter.js +0 -34
  49. package/lib/chevre/repo/transactionProcess.js +0 -13
  50. package/lib/chevre/service/assetTransaction/pay/publishPaymentUrl.js +1 -1
  51. package/lib/chevre/service/assetTransaction/pay/start/factory.d.ts +1 -1
  52. package/lib/chevre/service/assetTransaction/pay/start/factory.js +3 -4
  53. package/lib/chevre/service/assetTransaction/pay/start.d.ts +1 -1
  54. package/lib/chevre/service/notification/factory.d.ts +2 -4
  55. package/lib/chevre/service/notification/factory.js +26 -24
  56. package/lib/chevre/service/notification/notifyAbortedTasksByEmail.d.ts +11 -5
  57. package/lib/chevre/service/notification/notifyAbortedTasksByEmail.js +11 -3
  58. package/lib/chevre/service/offer/event/authorize/factory.d.ts +3 -5
  59. package/lib/chevre/service/offer/event/authorize/factory.js +93 -75
  60. package/lib/chevre/service/offer/event/authorize.d.ts +0 -4
  61. package/lib/chevre/service/offer/event/authorize.js +2 -2
  62. package/lib/chevre/service/offer/eventServiceByCOA/authorize/factory.d.ts +6 -7
  63. package/lib/chevre/service/offer/eventServiceByCOA/authorize/factory.js +10 -10
  64. package/lib/chevre/service/offer/eventServiceByCOA/authorize/validateAcceptedOffers.js +2 -1
  65. package/lib/chevre/service/offer/eventServiceByCOA/authorize.d.ts +0 -5
  66. package/lib/chevre/service/offer/eventServiceByCOA/authorize.js +17 -14
  67. package/lib/chevre/service/offer/eventServiceByCOA/authorizeByAcceptAction.d.ts +0 -5
  68. package/lib/chevre/service/offer/eventServiceByCOA/authorizeByAcceptAction.js +2 -2
  69. package/lib/chevre/service/offer/eventServiceByCOA/changeOffers.js +1 -1
  70. package/lib/chevre/service/order/deleteOrder.d.ts +5 -1
  71. package/lib/chevre/service/order/deleteOrder.js +8 -1
  72. package/lib/chevre/service/order/onAssetTransactionStatusChanged/onPayTransactionCanceled.js +19 -11
  73. package/lib/chevre/service/order/onAssetTransactionStatusChanged/onPayTransactionConfirmed.d.ts +2 -0
  74. package/lib/chevre/service/order/onAssetTransactionStatusChanged/paymentDue2Processing.d.ts +2 -2
  75. package/lib/chevre/service/order/onAssetTransactionStatusChanged/paymentDue2Processing.js +1 -7
  76. package/lib/chevre/service/order/onAssetTransactionStatusChanged.d.ts +2 -0
  77. package/lib/chevre/service/order/onAssetTransactionStatusChanged.js +2 -0
  78. package/lib/chevre/service/order/onOrderStatusChanged/onOrderProcessing/createSendEmailMessageTaskIfNotExist.d.ts +5 -1
  79. package/lib/chevre/service/order/onOrderStatusChanged/onOrderProcessing/createSendEmailMessageTaskIfNotExist.js +95 -33
  80. package/lib/chevre/service/order/onOrderStatusChanged/onOrderProcessing.d.ts +2 -2
  81. package/lib/chevre/service/order/onOrderStatusChanged/onOrderProcessing.js +4 -2
  82. package/lib/chevre/service/order/onOrderStatusChanged/onOrderReturned.js +2 -6
  83. package/lib/chevre/service/order/payOrder.d.ts +2 -0
  84. package/lib/chevre/service/order/placeOrder/createPlacingOrderFromExistingTransaction.d.ts +2 -1
  85. package/lib/chevre/service/order/placeOrder/createPlacingOrderFromExistingTransaction.js +13 -58
  86. package/lib/chevre/service/order/placeOrder/factory.js +3 -21
  87. package/lib/chevre/service/order/placeOrder.d.ts +4 -5
  88. package/lib/chevre/service/order/placeOrder.js +20 -31
  89. package/lib/chevre/service/payment/any/authorize/fixOrderAsNeeded.js +1 -2
  90. package/lib/chevre/service/payment/any/authorize/fixTransactionNumber.d.ts +3 -2
  91. package/lib/chevre/service/payment/any/authorize/handlePrePublishedPaymentMethodIdOnAuthorizing.d.ts +4 -3
  92. package/lib/chevre/service/payment/any/authorize/handlePrePublishedPaymentMethodIdOnAuthorizing.js +3 -31
  93. package/lib/chevre/service/payment/any/authorize.js +13 -37
  94. package/lib/chevre/service/payment/any/factory.d.ts +7 -7
  95. package/lib/chevre/service/payment/any/factory.js +19 -22
  96. package/lib/chevre/service/payment/any/findAcceptAction.d.ts +3 -1
  97. package/lib/chevre/service/payment/any/findAcceptAction.js +14 -6
  98. package/lib/chevre/service/payment/any/invalidatePaymentUrl.d.ts +2 -0
  99. package/lib/chevre/service/payment/any/invalidatePaymentUrl.js +4 -66
  100. package/lib/chevre/service/payment/any/publishPaymentUrl.d.ts +4 -0
  101. package/lib/chevre/service/payment/any/publishPaymentUrl.js +4 -18
  102. package/lib/chevre/service/payment/any/voidPayTransaction.d.ts +2 -0
  103. package/lib/chevre/service/payment/any/voidPayTransaction.js +1 -23
  104. package/lib/chevre/service/payment/creditCard/authorize/processAuthorizeCreditCard.d.ts +1 -1
  105. package/lib/chevre/service/payment/creditCard/authorize/processAuthorizeCreditCard.js +5 -9
  106. package/lib/chevre/service/reserve/adminFindReservations.d.ts +15 -0
  107. package/lib/chevre/service/reserve/adminFindReservations.js +35 -0
  108. package/lib/chevre/service/reserve/potentialActions/onReservationConfirmed.js +17 -8
  109. package/lib/chevre/service/reserve/searchByOrder.js +2 -6
  110. package/lib/chevre/service/reserve.d.ts +2 -2
  111. package/lib/chevre/service/reserve.js +3 -3
  112. package/lib/chevre/service/task/aggregateOffers.d.ts +2 -2
  113. package/lib/chevre/service/task/aggregateOffers.js +2 -1
  114. package/lib/chevre/service/task/aggregateScreeningEvent.d.ts +2 -2
  115. package/lib/chevre/service/task/aggregateScreeningEvent.js +2 -1
  116. package/lib/chevre/service/task/authorizePayment.js +3 -1
  117. package/lib/chevre/service/task/cancelReservation.d.ts +2 -2
  118. package/lib/chevre/service/task/cancelReservation.js +2 -1
  119. package/lib/chevre/service/task/confirmPayTransaction.js +0 -1
  120. package/lib/chevre/service/task/confirmReserveTransaction.js +2 -7
  121. package/lib/chevre/service/task/deleteTransaction.d.ts +2 -2
  122. package/lib/chevre/service/task/deleteTransaction.js +2 -1
  123. package/lib/chevre/service/task/onAssetTransactionStatusChanged.d.ts +2 -2
  124. package/lib/chevre/service/task/onAssetTransactionStatusChanged.js +4 -3
  125. package/lib/chevre/service/task/onEventChanged.d.ts +2 -2
  126. package/lib/chevre/service/task/onEventChanged.js +2 -1
  127. package/lib/chevre/service/task/onOrderPaymentCompleted.d.ts +2 -2
  128. package/lib/chevre/service/task/onOrderPaymentCompleted.js +4 -1
  129. package/lib/chevre/service/task/onResourceUpdated/onAggregateOfferUpdated.js +1 -1
  130. package/lib/chevre/service/task/onResourceUpdated.d.ts +2 -2
  131. package/lib/chevre/service/task/onResourceUpdated.js +2 -1
  132. package/lib/chevre/service/task/placeOrder.d.ts +2 -2
  133. package/lib/chevre/service/task/placeOrder.js +6 -3
  134. package/lib/chevre/service/task/publishPaymentUrl.js +7 -3
  135. package/lib/chevre/service/task/refund.d.ts +2 -2
  136. package/lib/chevre/service/task/refund.js +4 -10
  137. package/lib/chevre/service/task/reserve.d.ts +2 -2
  138. package/lib/chevre/service/task/reserve.js +2 -1
  139. package/lib/chevre/service/task/returnOrder.d.ts +2 -2
  140. package/lib/chevre/service/task/returnOrder.js +2 -1
  141. package/lib/chevre/service/task/sendOrder.d.ts +2 -2
  142. package/lib/chevre/service/task/sendOrder.js +2 -1
  143. package/lib/chevre/service/task/voidPayTransaction.js +3 -7
  144. package/lib/chevre/service/task/voidPayment.d.ts +2 -2
  145. package/lib/chevre/service/task/voidPayment.js +2 -1
  146. package/lib/chevre/service/taskHandler.d.ts +2 -2
  147. package/lib/chevre/service/taskHandler.js +36 -37
  148. package/lib/chevre/service/transaction/deleteTransaction/deletePayTransactionsByPlaceOrder.d.ts +15 -0
  149. package/lib/chevre/service/transaction/deleteTransaction/deletePayTransactionsByPlaceOrder.js +51 -0
  150. package/lib/chevre/service/transaction/deleteTransaction/deleteReservationsByPlaceOrder.d.ts +23 -0
  151. package/lib/chevre/service/transaction/deleteTransaction/deleteReservationsByPlaceOrder.js +64 -0
  152. package/lib/chevre/service/transaction/deleteTransaction.js +15 -152
  153. package/lib/chevre/service/transaction/placeOrder/confirm/potentialActions/sendEmailMessage.d.ts +28 -2
  154. package/lib/chevre/service/transaction/placeOrder/confirm/potentialActions/sendEmailMessage.js +11 -12
  155. package/lib/chevre/service/transaction/placeOrder/confirm/potentialActions.d.ts +4 -2
  156. package/lib/chevre/service/transaction/placeOrder/confirm/potentialActions.js +6 -7
  157. package/lib/chevre/service/transaction/placeOrder/confirm/prepareUnitPriceOfferConditions.d.ts +35 -2
  158. package/lib/chevre/service/transaction/placeOrder/confirm/prepareUnitPriceOfferConditions.js +17 -13
  159. package/lib/chevre/service/transaction/placeOrder/confirm/validation/factory.d.ts +5 -1
  160. package/lib/chevre/service/transaction/placeOrder/confirm/validation.d.ts +11 -2
  161. package/lib/chevre/service/transaction/placeOrder/confirm/validation.js +112 -91
  162. package/lib/chevre/service/transaction/placeOrder/confirm.d.ts +6 -5
  163. package/lib/chevre/service/transaction/placeOrder/confirm.js +33 -78
  164. package/lib/chevre/service/transaction/placeOrder/publishConfirmationNumberIfNotExist.d.ts +4 -7
  165. package/lib/chevre/service/transaction/placeOrder/publishConfirmationNumberIfNotExist.js +33 -15
  166. package/lib/chevre/service/transaction/placeOrder/start.d.ts +1 -1
  167. package/lib/chevre/service/transaction/placeOrder/updateAgent/fixCustomer.d.ts +20 -0
  168. package/lib/chevre/service/transaction/placeOrder/updateAgent/fixCustomer.js +63 -0
  169. package/lib/chevre/service/transaction/placeOrder/updateAgent.d.ts +0 -1
  170. package/lib/chevre/service/transaction/placeOrder/updateAgent.js +17 -86
  171. package/lib/chevre/service/transaction/returnOrder/preStart.js +1 -1
  172. package/lib/chevre/taskSettings.d.ts +1 -3
  173. package/package.json +8 -11
  174. package/lib/chevre/service/order/findConfirmedPlaceOrder.d.ts +0 -13
  175. package/lib/chevre/service/order/findConfirmedPlaceOrder.js +0 -32
  176. package/lib/chevre/service/reserve/findReservations.d.ts +0 -33
  177. package/lib/chevre/service/reserve/findReservations.js +0 -61
@@ -80,16 +80,16 @@ function createReserveTransactionStartParams(params) {
80
80
  .toDate() // 余裕を持って
81
81
  };
82
82
  }
83
- function createAuthorizeSeatReservationActionAttributes(params, options) {
84
- const { useLegacyAuthorizeOfferObject } = options;
85
- const { event, transaction } = params;
86
- const authorizeObjectEvent = {
87
- id: event.id,
88
- typeOf: factory_1.factory.eventType.ScreeningEvent // fix(2024-07-17~)
89
- };
83
+ function createAuthorizeSeatReservationActionAttributes(params) {
84
+ // const { useLegacyAuthorizeOfferObject } = options;
85
+ const { transaction } = params;
86
+ // const authorizeObjectEvent: factory.action.authorize.offer.eventService.IEventInObject = {
87
+ // id: event.id,
88
+ // typeOf: factory.eventType.ScreeningEvent // fix(2024-07-17~)
89
+ // };
90
90
  const object = {
91
91
  typeOf: factory_1.factory.action.authorize.offer.eventService.ObjectType.SeatReservation,
92
- ...((useLegacyAuthorizeOfferObject) && { event: authorizeObjectEvent })
92
+ // ...((useLegacyAuthorizeOfferObject) && { event: authorizeObjectEvent })
93
93
  };
94
94
  const instrument = {
95
95
  typeOf: factory_1.factory.assetTransactionType.Reserve, // 変更(2024-03-08~)
@@ -144,82 +144,100 @@ function acceptedOffers2amount(params) {
144
144
  });
145
145
  return amount;
146
146
  }
147
- function acceptedOffers2programMembershipUsed(params) {
148
- const programMembershipUsed = [];
149
- const permitIdentifiers = [];
150
- params.acceptedOffers.forEach(({ itemOffered }) => {
151
- if (itemOffered.programMembershipUsed?.typeOf === factory_1.factory.programMembership.ProgramMembershipType.ProgramMembership) {
152
- // メンバーシップコードに対してユニークに集計
153
- if (!permitIdentifiers.includes(itemOffered.programMembershipUsed.identifier)) {
154
- permitIdentifiers.push(itemOffered.programMembershipUsed.identifier);
155
- const issuedThroughTypeOf = itemOffered.programMembershipUsed.issuedThrough.typeOf;
156
- if (issuedThroughTypeOf === factory_1.factory.service.paymentService.PaymentServiceType.FaceToFace) {
157
- programMembershipUsed.push({
158
- typeOf: factory_1.factory.permit.PermitType.Permit,
159
- identifier: itemOffered.programMembershipUsed.identifier,
160
- issuedThrough: { typeOf: issuedThroughTypeOf }
161
- });
162
- }
163
- else {
164
- programMembershipUsed.push({
165
- typeOf: factory_1.factory.permit.PermitType.Permit,
166
- identifier: itemOffered.programMembershipUsed.identifier,
167
- issuedThrough: { typeOf: issuedThroughTypeOf, id: itemOffered.programMembershipUsed.issuedThrough.id }
168
- });
169
- }
170
- }
171
- }
172
- });
173
- return programMembershipUsed;
174
- }
147
+ // function acceptedOffers2programMembershipUsed(params: {
148
+ // acceptedOffers: IResultAcceptedOffer[];
149
+ // }): factory.action.authorize.offer.eventService.IAggregateProgramMembershipUsed {
150
+ // const programMembershipUsed: factory.action.authorize.offer.eventService.IAggregateProgramMembershipUsed = [];
151
+ // const permitIdentifiers: string[] = [];
152
+ // params.acceptedOffers.forEach(
153
+ // ({ itemOffered }) => {
154
+ // if (itemOffered.programMembershipUsed?.typeOf === factory.programMembership.ProgramMembershipType.ProgramMembership) {
155
+ // // メンバーシップコードに対してユニークに集計
156
+ // if (!permitIdentifiers.includes(itemOffered.programMembershipUsed.identifier)) {
157
+ // permitIdentifiers.push(itemOffered.programMembershipUsed.identifier);
158
+ // const issuedThroughTypeOf = itemOffered.programMembershipUsed.issuedThrough.typeOf;
159
+ // if (issuedThroughTypeOf === factory.service.paymentService.PaymentServiceType.FaceToFace) {
160
+ // programMembershipUsed.push({
161
+ // typeOf: factory.permit.PermitType.Permit,
162
+ // identifier: itemOffered.programMembershipUsed.identifier,
163
+ // issuedThrough: { typeOf: issuedThroughTypeOf }
164
+ // });
165
+ // } else {
166
+ // programMembershipUsed.push({
167
+ // typeOf: factory.permit.PermitType.Permit,
168
+ // identifier: itemOffered.programMembershipUsed.identifier,
169
+ // issuedThrough: { typeOf: issuedThroughTypeOf, id: itemOffered.programMembershipUsed.issuedThrough.id }
170
+ // });
171
+ // }
172
+ // }
173
+ // }
174
+ // }
175
+ // );
176
+ // return programMembershipUsed;
177
+ // }
175
178
  function acceptedOffers2authorizeResult(params) {
176
- const { acceptedOffers4result, noOfferSpecified, ticketOffers } = params;
177
- const priceCurrency = factory_1.factory.priceCurrency.JPY; // fix(2024-07-03~)
178
- let offers;
179
+ const { acceptedOffers4result, noOfferSpecified,
180
+ // ticketOffers
181
+ } = params;
182
+ // let offers: factory.action.authorize.offer.eventService.IAcceptedOfferInResult[] | undefined;
179
183
  let price;
180
- let programMembershipUsed = [];
184
+ // let programMembershipUsed: factory.action.authorize.offer.eventService.IAggregateProgramMembershipUsed = [];
181
185
  if (!noOfferSpecified) {
182
186
  price = acceptedOffers2amount({ acceptedOffers: acceptedOffers4result }); // オファー指定の場合のみ金額計算(2023-11-27~)
183
- programMembershipUsed = acceptedOffers2programMembershipUsed({ acceptedOffers: acceptedOffers4result });
187
+ // programMembershipUsed = acceptedOffers2programMembershipUsed({ acceptedOffers: acceptedOffers4result });
184
188
  // オファーIDごとに集計
185
- const offerIds = [...new Set(acceptedOffers4result.map((o) => String(o.id)))];
186
- // const offerIds = [...new Set(acceptedOffers.map((o) => o.id))];
187
- offers = offerIds.map((offerId) => {
188
- const acceptedOffer = ticketOffers.find(({ id }) => id === offerId);
189
- if (acceptedOffer === undefined) {
190
- throw new factory_1.factory.errors.Internal(`acceptedOffer not found [id:${offerId}]`);
191
- }
192
- const amountOfThisGood = acceptedOffers4result.filter(({ id }) => id === offerId).length;
193
- // const amountOfThisGood: number = acceptedOffers.filter(({ id }) => id === offerId).length;
194
- const { acceptedPaymentMethod, priceSpecification } = acceptedOffer;
195
- const unitPriceSpec = priceSpecification.priceComponent.find((spec) => spec.typeOf === factory_1.factory.priceSpecificationType.UnitPriceSpecification
196
- && (!Array.isArray(spec.appliesToAddOn)) // アドオン単価ではない
197
- );
198
- if (unitPriceSpec === undefined) {
199
- throw new factory_1.factory.errors.Internal(`unitPriceSpec not found [id:${offerId}]`);
200
- }
201
- const { eligibleQuantity } = unitPriceSpec;
202
- return {
203
- id: offerId,
204
- includesObject: { amountOfThisGood },
205
- typeOf: factory_1.factory.offerType.Offer,
206
- priceSpecification: {
207
- ...(eligibleQuantity !== undefined) ? { eligibleQuantity } : undefined,
208
- // ...(eligibleTransactionVolume !== undefined) ? { eligibleTransactionVolume } : undefined // discontinue(2026-07-05~)
209
- },
210
- ...(acceptedPaymentMethod !== undefined) ? { acceptedPaymentMethod } : undefined
211
- };
212
- });
189
+ // const offerIds = [...new Set(acceptedOffers4result.map((o) => String(o.id)))];
190
+ // offers = offerIds.map<factory.action.authorize.offer.eventService.IAcceptedOfferInResult>((offerId) => {
191
+ // const acceptedOffer = ticketOffers.find(({ id }) => id === offerId);
192
+ // if (acceptedOffer === undefined) {
193
+ // throw new factory.errors.Internal(`acceptedOffer not found [id:${offerId}]`);
194
+ // }
195
+ // const amountOfThisGood: number = acceptedOffers4result.filter(({ id }) => id === offerId).length;
196
+ // // const amountOfThisGood: number = acceptedOffers.filter(({ id }) => id === offerId).length;
197
+ // const { acceptedPaymentMethod, priceSpecification } = acceptedOffer;
198
+ // const unitPriceSpec = priceSpecification.priceComponent.find(
199
+ // (spec) => spec.typeOf === factory.priceSpecificationType.UnitPriceSpecification
200
+ // && (!Array.isArray(spec.appliesToAddOn)) // アドオン単価ではない
201
+ // ) as IUnitPriceSpecification | undefined;
202
+ // if (unitPriceSpec === undefined) {
203
+ // throw new factory.errors.Internal(`unitPriceSpec not found [id:${offerId}]`);
204
+ // }
205
+ // const { eligibleQuantity } = unitPriceSpec;
206
+ // return {
207
+ // id: offerId,
208
+ // includesObject: { amountOfThisGood },
209
+ // typeOf: factory.offerType.Offer,
210
+ // priceSpecification: {
211
+ // ...(eligibleQuantity !== undefined) ? { eligibleQuantity } : undefined,
212
+ // // ...(eligibleTransactionVolume !== undefined) ? { eligibleTransactionVolume } : undefined // discontinue(2026-07-05~)
213
+ // },
214
+ // ...(acceptedPaymentMethod !== undefined) ? { acceptedPaymentMethod } : undefined
215
+ // };
216
+ // });
213
217
  }
218
+ // discontinue useLegacyAuthorizeOfferResult(2026-07-18~)
219
+ // if (useLegacyAuthorizeOfferResult) {
220
+ // return {
221
+ // typeOf: factory.offerType.AggregateOffer,
222
+ // // priceCurrency, // discontinue(2026-07-06~)
223
+ // // amount: [], // discontinue(2026-07-06~)
224
+ // itemOffered: {
225
+ // serviceOutput: { programMembershipUsed } // add programMembershipUsed required(2024-08-15~)
226
+ // },
227
+ // ...(typeof price === 'number') ? { price } : undefined,
228
+ // ...(Array.isArray(offers)) ? { offers } : undefined
229
+ // };
230
+ // } else {
231
+ // return {
232
+ // typeOf: factory.offerType.AggregateOffer,
233
+ // onlyPrice: true,
234
+ // ...(typeof price === 'number') ? { price } : undefined,
235
+ // };
236
+ // }
214
237
  return {
215
238
  typeOf: factory_1.factory.offerType.AggregateOffer,
216
- priceCurrency,
217
- amount: [],
218
- itemOffered: {
219
- serviceOutput: { programMembershipUsed } // add programMembershipUsed required(2024-08-15~)
220
- },
239
+ onlyPrice: true,
221
240
  ...(typeof price === 'number') ? { price } : undefined,
222
- ...(Array.isArray(offers)) ? { offers } : undefined
223
241
  };
224
242
  }
225
243
  function responseBody2acceptedOffers4result(params) {
@@ -63,10 +63,6 @@ interface IAuthorizeOptions {
63
63
  * 最大n日前から予約可能
64
64
  */
65
65
  maxReservationGracePeriodInDays: number;
66
- /**
67
- * 2026-07-04~
68
- */
69
- useLegacyAuthorizeOfferObject: boolean;
70
66
  }
71
67
  /**
72
68
  * 興行オファー承認
@@ -32,9 +32,9 @@ function authorize(params, options) {
32
32
  // まず取引番号発行
33
33
  const { transactionNumber } = await repos.transactionNumber.publishByTimestamp({ startDate: now });
34
34
  const actionAttributes = (0, factory_2.createAuthorizeSeatReservationActionAttributes)({
35
- event, transaction,
35
+ transaction,
36
36
  instrument: { transactionNumber }
37
- }, options);
37
+ });
38
38
  const action = await repos.authorizeOfferAction.start(actionAttributes);
39
39
  try {
40
40
  const processStartReserveResult = await (0, processStartReserve4chevre_1.processStartReserve4chevre)({
@@ -8,14 +8,13 @@ export declare function createAuthorizeSeatReservationActionAttributes(params: {
8
8
  acceptAction: {
9
9
  id: string;
10
10
  };
11
- event: {
12
- id: string;
13
- typeOf: factory.eventType.ScreeningEvent;
14
- };
15
11
  transaction: Pick<factory.transaction.ITransaction<factory.transactionType.PlaceOrder>, 'agent' | 'id' | 'project' | 'seller' | 'typeOf'>;
16
- pendingTransaction: factory.action.authorize.offer.eventService.ICOAPendingTransaction;
17
- }, options: {
18
- useLegacyAuthorizeOfferObject: boolean;
12
+ /**
13
+ * 仮予約済のCOA予約取引
14
+ */
15
+ pendingTransaction: {
16
+ transactionNumber: string;
17
+ };
19
18
  }): factory.action.authorize.offer.eventService.IAttributes;
20
19
  /**
21
20
  * 供給情報から承認アクションの価格を導き出す
@@ -9,20 +9,20 @@ exports.responseBody2acceptedOffers4result = responseBody2acceptedOffers4result;
9
9
  const moment_1 = __importDefault(require("moment"));
10
10
  const util_1 = require("util");
11
11
  const factory_1 = require("../../../../factory");
12
- function createAuthorizeSeatReservationActionAttributes(params, options) {
13
- const { useLegacyAuthorizeOfferObject } = options;
12
+ function createAuthorizeSeatReservationActionAttributes(params) {
13
+ // const { useLegacyAuthorizeOfferObject } = options;
14
14
  const transaction = params.transaction;
15
- const authorizeObjectEvent = {
16
- id: params.event.id,
17
- typeOf: params.event.typeOf
18
- };
15
+ // const authorizeObjectEvent: factory.action.authorize.offer.eventService.IEventInObject = {
16
+ // id: params.event.id,
17
+ // typeOf: params.event.typeOf
18
+ // };
19
19
  const authorizeObject = {
20
20
  typeOf: factory_1.factory.action.authorize.offer.eventService.ObjectType.SeatReservation,
21
21
  id: params.acceptAction.id,
22
- ...((useLegacyAuthorizeOfferObject) && {
23
- event: authorizeObjectEvent,
24
- pendingTransaction: params.pendingTransaction
25
- })
22
+ // ...((useLegacyAuthorizeOfferObject) && {
23
+ // event: authorizeObjectEvent,
24
+ // pendingTransaction: params.pendingTransaction
25
+ // })
26
26
  };
27
27
  const instrument = {
28
28
  typeOf: factory_1.factory.assetTransactionType.COAReserveTransaction, // 変更(2024-03-08~)
@@ -310,7 +310,8 @@ function validateAcceptedOffers(params) {
310
310
  // 指定された単価オファーを検索
311
311
  // ticketCodeで検索(2023-03-22~)
312
312
  if (offerIdentifiers.length > 0) {
313
- availableUnitPriceOffers = await repos.offer.search({
313
+ // availableUnitPriceOffers = await repos.offer.search({
314
+ availableUnitPriceOffers = await repos.offer.findUnitPriceOffers({
314
315
  identifier: { $in: offerIdentifiers },
315
316
  project: { id: { $eq: params.project.id } }
316
317
  });
@@ -53,11 +53,6 @@ export declare function authorize(params: {
53
53
  requestBody: IRequestBody;
54
54
  responseBody: IResponseBody;
55
55
  };
56
- }, options: {
57
- /**
58
- * 2026-07-04~
59
- */
60
- useLegacyAuthorizeOfferObject: boolean;
61
56
  }): IAuthorizeOperation<Pick<IAuthorizeOfferAction, 'id' | 'instrument'> & {
62
57
  result: IAuthorizeOfferAction['result'];
63
58
  }>;
@@ -12,7 +12,7 @@ const factory_2 = require("../../../factory");
12
12
  /**
13
13
  * COA興行オファー承認
14
14
  */
15
- function authorize(params, options) {
15
+ function authorize(params) {
16
16
  return async (repos) => {
17
17
  const transaction = await repos.placeOrder.findPlaceOrderInProgressById({
18
18
  typeOf: factory_2.factory.transactionType.PlaceOrder,
@@ -28,15 +28,18 @@ function authorize(params, options) {
28
28
  }
29
29
  let screeningEvent;
30
30
  let acceptedOffers;
31
+ // const pendingTransaction: factory.action.authorize.offer.eventService.ICOAPendingTransaction = {
32
+ // theaterCode: params.result.requestBody.theaterCode,
33
+ // dateJouei: params.result.requestBody.dateJouei,
34
+ // titleCode: params.result.requestBody.titleCode,
35
+ // titleBranchNum: params.result.requestBody.titleBranchNum,
36
+ // timeBegin: params.result.requestBody.timeBegin,
37
+ // tmpReserveNum: params.result.responseBody.tmpReserveNum,
38
+ // transactionNumber: params.result.responseBody.tmpReserveNum,
39
+ // typeOf: factory.assetTransactionType.COAReserveTransaction
40
+ // };
31
41
  const pendingTransaction = {
32
- theaterCode: params.result.requestBody.theaterCode,
33
- dateJouei: params.result.requestBody.dateJouei,
34
- titleCode: params.result.requestBody.titleCode,
35
- titleBranchNum: params.result.requestBody.titleBranchNum,
36
- timeBegin: params.result.requestBody.timeBegin,
37
- tmpReserveNum: params.result.responseBody.tmpReserveNum,
38
42
  transactionNumber: params.result.responseBody.tmpReserveNum,
39
- typeOf: factory_2.factory.assetTransactionType.COAReserveTransaction
40
43
  };
41
44
  try {
42
45
  screeningEvent = await repos.event.projectEventFieldsById({ id: params.object.event.id }, [
@@ -71,10 +74,10 @@ function authorize(params, options) {
71
74
  // アクション開始前に例外がthrowされてもCOA仮予約を取り消す機会をつくるためにFailedアクションを作成する(2023-09-12~)
72
75
  const failedActionAttributes = (0, factory_1.createAuthorizeSeatReservationActionAttributes)({
73
76
  acceptAction: params.object.acceptAction,
74
- event: { id: params.object.event.id, typeOf: factory_2.factory.eventType.ScreeningEvent },
77
+ // event: { id: params.object.event.id, typeOf: factory.eventType.ScreeningEvent },
75
78
  transaction,
76
79
  pendingTransaction
77
- }, options);
80
+ });
78
81
  const failedAction = await repos.action.start(failedActionAttributes);
79
82
  await repos.action.giveUp({ typeOf: failedAction.typeOf, id: failedAction.id, error });
80
83
  throw error;
@@ -88,10 +91,10 @@ function authorize(params, options) {
88
91
  // 承認アクションを開始
89
92
  const actionAttributes = (0, factory_1.createAuthorizeSeatReservationActionAttributes)({
90
93
  acceptAction: params.object.acceptAction,
91
- event: { id: screeningEvent.id, typeOf: screeningEvent.typeOf },
94
+ // event: { id: screeningEvent.id, typeOf: screeningEvent.typeOf },
92
95
  transaction,
93
96
  pendingTransaction
94
- }, options);
97
+ });
95
98
  const action = await repos.action.start(actionAttributes);
96
99
  try {
97
100
  // 座席仮予約からオファー情報を生成する
@@ -109,8 +112,8 @@ function authorize(params, options) {
109
112
  result = {
110
113
  typeOf: factory_2.factory.offerType.AggregateOffer, // add(2024-06-18~)
111
114
  price: price,
112
- priceCurrency: factory_2.factory.priceCurrency.JPY,
113
- amount: []
115
+ // priceCurrency: factory.priceCurrency.JPY, // discontinue(2026-07-06~)
116
+ // amount: [] // discontinue(2026-07-06~)
114
117
  };
115
118
  await (0, any_1.acceptOffer)({
116
119
  project: transaction.project,
@@ -26,11 +26,6 @@ export declare function authorizeByAcceptAction(params: {
26
26
  */
27
27
  id: string;
28
28
  };
29
- }, options: {
30
- /**
31
- * 2026-07-04~
32
- */
33
- useLegacyAuthorizeOfferObject: boolean;
34
29
  }): IAuthorizeOperation<Pick<IAuthorizeOfferAction, 'id' | 'instrument'> & {
35
30
  result: IAuthorizeOfferAction['result'];
36
31
  }>;
@@ -7,7 +7,7 @@ const factory_1 = require("../../../factory");
7
7
  /**
8
8
  * 採用アクションからCOA興行オファー承認
9
9
  */
10
- function authorizeByAcceptAction(params, options) {
10
+ function authorizeByAcceptAction(params) {
11
11
  return async (repos) => {
12
12
  const acceptAction = await repos.accpetCOAOfferAction.findCompletedById({
13
13
  project: { id: params.project.id },
@@ -57,7 +57,7 @@ function authorizeByAcceptAction(params, options) {
57
57
  store: { id: params.store.id },
58
58
  result: { requestBody, responseBody }
59
59
  };
60
- action = await (0, authorize_1.authorize)(authorizeParams, options)(repos);
60
+ action = await (0, authorize_1.authorize)(authorizeParams)(repos);
61
61
  }
62
62
  return action;
63
63
  };
@@ -133,7 +133,7 @@ function changeOffers(params) {
133
133
  const actionResult = {
134
134
  ...authorizeAction.result,
135
135
  price: price,
136
- amount: []
136
+ // amount: [] // discontinue(2026-07-06~)
137
137
  };
138
138
  // ActiveActionStatus->CompletedActionStatusで再実装(2024-01-15~)
139
139
  await repos.action.reStart({ id: authorizeAction.id, typeOf: authorizeAction.typeOf });
@@ -1,5 +1,6 @@
1
1
  import type { AcceptedOfferRepo } from '../../repo/acceptedOffer';
2
2
  import type { AccountingReportRepo } from '../../repo/accountingReport';
3
+ import type { IDeleteActionResult, ActionRepo } from '../../repo/action';
3
4
  import type { NoteRepo } from '../../repo/note';
4
5
  import type { OrderRepo } from '../../repo/order';
5
6
  import type { ReservationRepo } from '../../repo/reservation';
@@ -17,8 +18,11 @@ declare function deleteOrder(params: {
17
18
  }): (repos: {
18
19
  acceptedOffer: AcceptedOfferRepo;
19
20
  accountingReport: AccountingReportRepo;
21
+ action: ActionRepo;
20
22
  note: NoteRepo;
21
23
  order: OrderRepo;
22
24
  reservation: ReservationRepo;
23
- }) => Promise<void>;
25
+ }) => Promise<{
26
+ deleteActionsResult: IDeleteActionResult[];
27
+ }>;
24
28
  export { deleteOrder };
@@ -12,6 +12,7 @@ function deleteOrder(params) {
12
12
  if (typeof params.object.identifier !== 'string' || params.object.identifier === '') {
13
13
  throw new factory_1.factory.errors.ArgumentNull('object.identifier');
14
14
  }
15
+ let deleteActionsResult = [];
15
16
  const orders = await repos.order.projectFields({
16
17
  limit: 1,
17
18
  page: 1,
@@ -21,7 +22,7 @@ function deleteOrder(params) {
21
22
  const order = orders.shift();
22
23
  if (order === undefined) {
23
24
  // すでに削除済
24
- return;
25
+ return { deleteActionsResult: [] };
25
26
  }
26
27
  if (typeof order.id !== 'string') {
27
28
  throw new factory_1.factory.errors.Internal(`order.id undefined. orderNumber: ${order.orderNumber}`);
@@ -43,8 +44,14 @@ function deleteOrder(params) {
43
44
  typeOf: factory_1.factory.order.OrderType.Order
44
45
  }
45
46
  });
47
+ // アクション削除(2026-07-10~)
48
+ deleteActionsResult = await repos.action.deleteActionsByOrderNumber({
49
+ orderNumber: order.orderNumber,
50
+ project: { id: order.project.id },
51
+ });
46
52
  // 注文削除
47
53
  await repos.order.deleteByOrderNumber({ orderNumber: order.orderNumber });
54
+ return { deleteActionsResult };
48
55
  };
49
56
  }
50
57
  function deleteReservationsByOrder(order) {
@@ -1,17 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.onPayTransactionCanceled = onPayTransactionCanceled;
4
- const findConfirmedPlaceOrder_1 = require("../findConfirmedPlaceOrder");
5
4
  const onOrderStatusChanged_1 = require("../onOrderStatusChanged");
6
5
  const factory_1 = require("../../../factory");
7
6
  function onPayTransactionCanceled(params) {
8
- return async (repos
9
- // settings: Settings
10
- ) => {
7
+ return async (repos) => {
11
8
  if (typeof params.useOnOrderStatusChanged !== 'boolean') {
12
9
  throw new factory_1.factory.errors.Argument('useOnOrderStatusChanged', 'must be boolean');
13
10
  }
14
- // 注文が存在すればキャンセル(2023-08-30~)
11
+ // 中止された決済取引に依存した注文ドキュメントがもし存在すればキャンセル(2023-08-30~)
15
12
  await cancelOrderIfExist({
16
13
  project: { id: params.project.id },
17
14
  paymentMethodId: params.object.transactionNumber,
@@ -32,14 +29,25 @@ function cancelOrderIfExist(params) {
32
29
  paymentMethodIds: [params.paymentMethodId]
33
30
  },
34
31
  project: { id: { $eq: params.project.id } }
35
- }, { inclusion: ['confirmationNumber', 'orderNumber'] });
32
+ }, { inclusion: ['orderNumber'] });
36
33
  const orderByPaymentMethodId = ordersByPaymentMethodId.shift();
37
34
  if (orderByPaymentMethodId !== undefined) {
38
- const placeOrderTransaction = await (0, findConfirmedPlaceOrder_1.findConfirmedPlaceOrder)({
39
- project: { id: params.project.id },
40
- confirmationNumber: orderByPaymentMethodId.confirmationNumber,
41
- orderNumber: orderByPaymentMethodId.orderNumber
42
- })(repos);
35
+ const placeOrderTransactions = await repos.placeOrder.findPlaceOrderTransactions({
36
+ limit: 1,
37
+ page: 1,
38
+ project: { id: { $eq: params.project.id } },
39
+ typeOf: factory_1.factory.transactionType.PlaceOrder,
40
+ statuses: [factory_1.factory.transactionStatusType.Confirmed],
41
+ // resultではなくobjectで参照するように変更(2026-06-16~)
42
+ object: {
43
+ orderNumber: { $eq: orderByPaymentMethodId.orderNumber },
44
+ },
45
+ inclusion: ['project', 'typeOf']
46
+ });
47
+ const placeOrderTransaction = placeOrderTransactions.shift();
48
+ if (placeOrderTransaction === undefined) {
49
+ throw new factory_1.factory.errors.NotFound(factory_1.factory.transactionType.PlaceOrder);
50
+ }
43
51
  const order = await repos.order.changeStatus({
44
52
  project: { id: params.project.id },
45
53
  orderNumber: orderByPaymentMethodId.orderNumber,
@@ -1,5 +1,6 @@
1
1
  import type { AcceptedOfferRepo } from '../../../repo/acceptedOffer';
2
2
  import type { AssetTransactionRepo } from '../../../repo/assetTransaction';
3
+ import type { MessageRepo } from '../../../repo/message';
3
4
  import type { OrderRepo } from '../../../repo/order';
4
5
  import type { SettingRepo } from '../../../repo/setting';
5
6
  import type { TaskRepo } from '../../../repo/task';
@@ -9,6 +10,7 @@ import type { IntegrationSettingRepo as Settings } from '../../../repo/setting/i
9
10
  interface IOnPayTransactionConfirmedRepos {
10
11
  acceptedOffer: AcceptedOfferRepo;
11
12
  assetTransaction: AssetTransactionRepo;
13
+ message: MessageRepo;
12
14
  order: OrderRepo;
13
15
  setting: SettingRepo;
14
16
  task: TaskRepo;
@@ -1,15 +1,15 @@
1
1
  import type { AcceptedOfferRepo } from '../../../repo/acceptedOffer';
2
+ import type { MessageRepo } from '../../../repo/message';
2
3
  import type { OrderRepo } from '../../../repo/order';
3
4
  import type { SettingRepo } from '../../../repo/setting';
4
5
  import type { TaskRepo } from '../../../repo/task';
5
- import type { PlaceOrderRepo } from '../../../repo/transaction/placeOrder';
6
6
  import type { IntegrationSettingRepo as Settings } from '../../../repo/setting/integration';
7
7
  interface IPaymentDue2ProcessingRepos {
8
8
  acceptedOffer: AcceptedOfferRepo;
9
+ message: MessageRepo;
9
10
  order: OrderRepo;
10
11
  setting: SettingRepo;
11
12
  task: TaskRepo;
12
- placeOrder: PlaceOrderRepo;
13
13
  }
14
14
  /**
15
15
  * 全決済取引確定を完了した注文に関して、アイテムを処理する
@@ -5,7 +5,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.paymentDue2Processing = paymentDue2Processing;
7
7
  const debug_1 = __importDefault(require("debug"));
8
- const findConfirmedPlaceOrder_1 = require("../findConfirmedPlaceOrder");
9
8
  const onOrderStatusChanged_1 = require("../onOrderStatusChanged");
10
9
  const factory_1 = require("../../../factory");
11
10
  const debug = (0, debug_1.default)('chevre-domain:service:order');
@@ -14,11 +13,6 @@ const debug = (0, debug_1.default)('chevre-domain:service:order');
14
13
  */
15
14
  function paymentDue2Processing(params) {
16
15
  return async (repos, settings) => {
17
- const placeOrderTransaction = await (0, findConfirmedPlaceOrder_1.findConfirmedPlaceOrder)({
18
- project: { id: params.project.id },
19
- confirmationNumber: params.confirmationNumber,
20
- orderNumber: params.orderNumber
21
- })(repos);
22
16
  let order;
23
17
  try {
24
18
  order = await repos.order.changeStatus({
@@ -74,7 +68,7 @@ function paymentDue2Processing(params) {
74
68
  offeredThroughIdentifier,
75
69
  orderStatus: factory_1.factory.orderStatus.OrderProcessing // 強制的にOrderProcessingとして処理する
76
70
  },
77
- placeOrderTransaction
71
+ // placeOrderTransaction
78
72
  })(repos, settings);
79
73
  }
80
74
  };
@@ -1,5 +1,6 @@
1
1
  import type { AcceptedOfferRepo } from '../../repo/acceptedOffer';
2
2
  import type { AssetTransactionRepo } from '../../repo/assetTransaction';
3
+ import type { MessageRepo } from '../../repo/message';
3
4
  import type { OrderRepo } from '../../repo/order';
4
5
  import type { SettingRepo } from '../../repo/setting';
5
6
  import type { TaskRepo } from '../../repo/task';
@@ -11,6 +12,7 @@ import type { IntegrationSettingRepo as Settings } from '../../repo/setting/inte
11
12
  interface IOnAssetTransactionStatusChangedRepos {
12
13
  acceptedOffer: AcceptedOfferRepo;
13
14
  assetTransaction: AssetTransactionRepo;
15
+ message: MessageRepo;
14
16
  order: OrderRepo;
15
17
  setting: SettingRepo;
16
18
  task: TaskRepo;
@@ -12,7 +12,9 @@ Object.defineProperty(exports, "processing2inTransit", { enumerable: true, get:
12
12
  const factory_1 = require("../../factory");
13
13
  function onAssetTransactionStatusChanged(params) {
14
14
  return async (repos, settings) => {
15
+ /* istanbul ignore else -- @preserve */
15
16
  if (typeof params.useOnOrderStatusChanged !== 'boolean') {
17
+ /* istanbul ignore next -- @preserve */
16
18
  throw new factory_1.factory.errors.Argument('useOnOrderStatusChanged', 'must be boolean');
17
19
  }
18
20
  switch (params.object.status) {
@@ -1,9 +1,13 @@
1
+ import type { MessageRepo } from '../../../../repo/message';
1
2
  import type { TaskRepo } from '../../../../repo/task';
2
3
  import { factory } from '../../../../factory';
3
4
  declare function createSendEmailMessageTaskIfNotExist(params: {
4
- sendEmailMessage?: Pick<factory.action.transfer.send.message.email.IAttributes, 'object'>[];
5
+ sendEmailMessage?: {
6
+ object: factory.action.transfer.send.message.email.IOptimizedObject;
7
+ }[];
5
8
  order: Pick<factory.order.IOrder, 'customer' | 'orderDate' | 'orderNumber' | 'price' | 'priceCurrency' | 'project' | 'typeOf'>;
6
9
  }): (repos: {
10
+ message: MessageRepo;
7
11
  task: TaskRepo;
8
12
  }) => Promise<void>;
9
13
  export { createSendEmailMessageTaskIfNotExist };