@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
@@ -98,25 +98,8 @@ function handlePrePublishedPaymentMethodIdOnAuthorizing(params) {
98
98
  let existingCompletedAuthorizeAction;
99
99
  let acceptPayAction;
100
100
  // transaction.objectへのアクセス回避(2024-05-30~)
101
- // const paymentMethodByTransaction = transaction.object.paymentMethods;
102
- const paymentMethodByTransaction = await repos.placeOrder.findInProgressPaymentMethodId({ id: params.transaction.id });
103
- if (params.prePublishedPaymentMethodId === paymentMethodByTransaction?.paymentMethodId) {
104
- // check existence of acceptAction when authorizing payment(2024-06-01~)
105
- // acceptPayAction = (<Pick<IAcceptPayAction, 'object' | 'result' | 'id' | 'instrument'>[]>await repos.action.search<factory.actionType.AcceptAction>(
106
- // {
107
- // limit: 1,
108
- // page: 1,
109
- // project: { id: { $eq: params.transaction.project.id } },
110
- // typeOf: { $eq: factory.actionType.AcceptAction },
111
- // actionStatus: { $in: [factory.actionStatusType.CompletedActionStatus] },
112
- // purpose: { id: { $in: [params.transaction.id] } },
113
- // object: {
114
- // transactionNumber: { $eq: params.prePublishedPaymentMethodId },
115
- // typeOf: { $eq: factory.assetTransactionType.Pay }
116
- // }
117
- // },
118
- // ['object', 'result', 'instrument']
119
- // )).shift();
101
+ const paymentMethodIdByTransaction = await repos.orderInTransaction.findInProgressPaymentMethodId({ id: params.transaction.id });
102
+ if (params.prePublishedPaymentMethodId === paymentMethodIdByTransaction) {
120
103
  acceptPayAction = (await repos.acceptPayAction.findCompletedAcceptActionsByTransactionNumber({
121
104
  project: { id: params.transaction.project.id },
122
105
  purpose: { id: params.transaction.id },
@@ -154,17 +137,6 @@ function handlePrePublishedPaymentMethodIdOnAuthorizing(params) {
154
137
  throw new factory_1.factory.errors.Argument('paymentMethodId', 'pendingPaymentAgencyTransaction not found');
155
138
  }
156
139
  // 既に承認済であれば何もしない(2023-05-15~)
157
- // const existingCompletedAuthorizeActions = <IAuthorizePaymentAction[]>
158
- // await repos.action.searchByPurpose<factory.actionType.AuthorizeAction>({
159
- // typeOf: factory.actionType.AuthorizeAction,
160
- // purpose: { id: params.transaction.id, typeOf: params.transaction.typeOf },
161
- // actionStatus: { $eq: factory.actionStatusType.CompletedActionStatus },
162
- // object: {
163
- // paymentMethodId: { $eq: params.prePublishedPaymentMethodId },
164
- // typeOf: { $eq: factory.action.authorize.paymentMethod.any.ResultType.Payment }
165
- // },
166
- // sort: { startDate: factory.sortType.Ascending }
167
- // });
168
140
  const existingCompletedAuthorizeActions = await repos.authorizePaymentMethodAction.findAuthorizePaymentMethodActionsByPurpose({
169
141
  purpose: { id: params.transaction.id, typeOf: params.transaction.typeOf },
170
142
  actionStatus: { $eq: factory_1.factory.actionStatusType.CompletedActionStatus },
@@ -185,7 +157,7 @@ function handlePrePublishedPaymentMethodIdOnAuthorizing(params) {
185
157
  acceptPayAction
186
158
  })(repos);
187
159
  return {
188
- authorizeParams: { creditCard, pendingPaymentAgencyTransaction, paymentMethodByTransaction, acceptAction2ticketResult }
160
+ authorizeParams: { creditCard, pendingPaymentAgencyTransaction, acceptAction2ticketResult }
189
161
  };
190
162
  }
191
163
  else {
@@ -78,13 +78,15 @@ function authorize(params) {
78
78
  authorizePaymentMethodAction: repos.authorizePaymentMethodAction,
79
79
  authorization: repos.authorization,
80
80
  ticket: repos.ticket,
81
- placeOrder: repos.placeOrder,
81
+ orderInTransaction: repos.orderInTransaction,
82
82
  transactionNumber: repos.transactionNumber
83
83
  });
84
84
  if (typeof fixTransactionNumberResult.id === 'string') {
85
85
  return { id: fixTransactionNumberResult.id };
86
86
  }
87
- const { transactionNumber, pendingPaymentAgencyTransaction, creditCard, invoiceByTicketToken, ticketToken } = fixTransactionNumberResult;
87
+ const { transactionNumber, pendingPaymentAgencyTransaction, creditCard,
88
+ // invoiceByTicketToken,
89
+ ticketToken } = fixTransactionNumberResult;
88
90
  const movieTickets = (Array.isArray(params.object.movieTickets)) ? params.object.movieTickets.map(factory_2.createMovieTicket) : undefined;
89
91
  const { accountId } = await fixAccountIdIfPossible({
90
92
  object: params.object, project: { id: transaction.project.id }
@@ -196,10 +198,10 @@ function authorize(params) {
196
198
  throw error;
197
199
  }
198
200
  }
199
- const result = (0, factory_2.createAuthorizeResult)({
201
+ const result = (0, factory_2.payTransaction2actionResult)({
200
202
  payTransaction,
201
- object: authorizeObjectIncludingPaymentMethodDetails,
202
- invoiceByTicketToken
203
+ // object: authorizeObjectIncludingPaymentMethodDetails,
204
+ // invoiceByTicketToken
203
205
  });
204
206
  await repos.authorizePaymentMethodAction.completeWithVoid({ typeOf: action.typeOf, id: action.id, result: result });
205
207
  return { id: action.id };
@@ -209,40 +211,14 @@ function authorize(params) {
209
211
  * 承認しようとしているobjectからaccountIdを決定する
210
212
  */
211
213
  function fixAccountIdIfPossible(params) {
212
- return async (
213
- // repos: {
214
- // action: ActionRepo;
215
- // authorization: AuthorizationRepo;
216
- // ticket: TicketRepo;
217
- // }
218
- // credentials: {
219
- // jwt: JWTCredentials;
220
- // }
221
- ) => {
214
+ return async () => {
222
215
  let accountId = '';
223
- const fromLocation = params.object?.fromLocation;
216
+ // const fromLocation = params.object?.fromLocation;
224
217
  const movieTickets = params.object?.movieTickets;
225
- // discontinue token as fromLocation(ticketTokenへ移行するべき)(2024-12-18~)
226
- if (typeof fromLocation === 'string') {
227
- throw new factory_1.factory.errors.NotImplemented('object.fromLocation as string not implemented');
228
- // トークン化されたペイメントカード情報でリクエストされた場合、実ペイメントカード情報へ変換する
229
- // const { authorizedObject } = await verifyToken({
230
- // project: { id: params.project.id },
231
- // agent: { id: params.project.id, typeOf: factory.organizationType.Project },
232
- // token: fromLocation
233
- // })(repos);
234
- // const paymentCardOwnershipInfo = authorizedObject;
235
- // if (Array.isArray(paymentCardOwnershipInfo)) {
236
- // throw new factory.errors.NotImplemented('fromLocation as an array not implemented');
237
- // }
238
- // if (paymentCardOwnershipInfo.typeOf !== 'OwnershipInfo') {
239
- // throw new factory.errors.Argument('fromLocation', 'must be OwnershipInfo');
240
- // }
241
- // if (paymentCardOwnershipInfo.typeOfGood.typeOf !== factory.permit.PermitType.Permit) {
242
- // throw new factory.errors.Argument('fromLocation', 'must be Permit');
243
- // }
244
- // accountId = paymentCardOwnershipInfo.typeOfGood.identifier;
245
- }
218
+ // // discontinue token as fromLocation(ticketTokenへ移行するべき)(2024-12-18~)
219
+ // if (typeof fromLocation === 'string') {
220
+ // throw new factory.errors.NotImplemented('object.fromLocation as string not implemented');
221
+ // }
246
222
  // 購入番号管理番号をaccountIdにセット(2024-03-24~)
247
223
  if (Array.isArray(movieTickets) && movieTickets.length > 0) {
248
224
  accountId = movieTickets[0].identifier; // 決済カードidentifierは1つのみ許可の前提
@@ -46,16 +46,16 @@ export declare function creatPayTransactionStartParams(params: {
46
46
  */
47
47
  instrument: factory.action.trade.pay.IAcceptedPaymentMethodOfferAsInstrument[];
48
48
  }): factory.assetTransaction.pay.IStartParamsWithoutDetail & {
49
- instrument: factory.action.trade.pay.IPlaceOrderRelatedInstrument[];
49
+ instrument: factory.action.trade.pay.IPayTransactionInstrument[];
50
50
  };
51
51
  export declare function createMovieTicket(params: factory.action.trade.pay.IMovieTicket): factory.action.trade.pay.IMovieTicket;
52
- export declare function createAuthorizeResult(params: {
53
- object: factory.action.authorize.paymentMethod.any.IObjectIncludingPaymentMethodDetails;
52
+ /**
53
+ * 決済取引から決済承認アクション結果を生成する
54
+ */
55
+ export declare function payTransaction2actionResult(params: {
54
56
  payTransaction: Pick<factory.assetTransaction.pay.ITransaction, 'object'>;
55
- /**
56
- * 決済方法チケットの承認対象
57
- */
58
- invoiceByTicketToken?: IInvoiceByTicketToken;
57
+ object?: never;
58
+ invoiceByTicketToken?: never;
59
59
  }): factory.action.authorize.paymentMethod.any.IResult;
60
60
  /**
61
61
  * 通知対象としてのアクションを最適化
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.creatPublishPaymentUrlParams = creatPublishPaymentUrlParams;
7
7
  exports.creatPayTransactionStartParams = creatPayTransactionStartParams;
8
8
  exports.createMovieTicket = createMovieTicket;
9
- exports.createAuthorizeResult = createAuthorizeResult;
9
+ exports.payTransaction2actionResult = payTransaction2actionResult;
10
10
  exports.optimizeAction4inform = optimizeAction4inform;
11
11
  const moment_1 = __importDefault(require("moment"));
12
12
  const util_1 = require("util");
@@ -140,7 +140,7 @@ function creatPayTransactionStartParams(params) {
140
140
  ...(typeof params.object.name === 'string') ? { name: params.object.name } : undefined,
141
141
  ...(typeof accountId === 'string') ? { accountId } : undefined,
142
142
  ...(typeof params.object.description === 'string') ? { description: params.object.description } : undefined,
143
- ...(typeof params.object.fromLocation === 'string') ? { fromLocation: params.object.fromLocation } : undefined,
143
+ // ...(typeof params.object.fromLocation === 'string') ? { fromLocation: params.object.fromLocation } : undefined, // discontinue(2026-07-08~)
144
144
  ...(params.object.creditCard !== undefined) ? { creditCard: params.object.creditCard } : undefined,
145
145
  ...(Array.isArray(movieTickets)) ? { movieTickets } : undefined
146
146
  },
@@ -193,8 +193,14 @@ function createMovieTicket(params) {
193
193
  serviceOutput
194
194
  };
195
195
  }
196
- function createAuthorizeResult(params) {
197
- const payTransactionObject = params.payTransaction.object;
196
+ /**
197
+ * 決済取引から決済承認アクション結果を生成する
198
+ */
199
+ function payTransaction2actionResult(params) {
200
+ const {
201
+ // object,
202
+ payTransaction } = params;
203
+ const payTransactionObject = payTransaction.object;
198
204
  const totalPaymentDue = payTransactionObject.paymentMethod?.totalPaymentDue;
199
205
  if (typeof totalPaymentDue?.typeOf !== 'string') {
200
206
  throw new factory_1.factory.errors.Internal('payTransaction.object.paymentMethod.totalPaymentDue undefined');
@@ -208,7 +214,8 @@ function createAuthorizeResult(params) {
208
214
  ? payTransactionObject.paymentMethod?.amount?.currency
209
215
  : undefined;
210
216
  const paymentMethodAsObject = {
211
- typeOf: params.object.paymentMethod,
217
+ // typeOf: object.paymentMethod,
218
+ typeOf: payTransactionObject.paymentMethod.identifier,
212
219
  // CreditCardIFのカード通貨区分を追加(2023-08-15~)
213
220
  ...(payTransactionObject.typeOf === factory_1.factory.service.paymentService.PaymentServiceType.CreditCard
214
221
  && typeof paymentMethodAmountCurrencyByPayTransaction === 'string')
@@ -223,9 +230,11 @@ function createAuthorizeResult(params) {
223
230
  }
224
231
  }
225
232
  let invoiceOrderItems;
226
- if (params.object.referencesOrder.typeOf === factory_1.factory.order.OrderType.Order) {
227
- if (Array.isArray(params.object.referencesOrder.orderedItem)) {
228
- invoiceOrderItems = params.object.referencesOrder.orderedItem;
233
+ // const referencesOrderByObject = object.referencesOrder;
234
+ const referencesOrderByObject = payTransactionObject.serviceOutput?.referencesOrder;
235
+ if (referencesOrderByObject?.typeOf === factory_1.factory.order.OrderType.Order) {
236
+ if (Array.isArray(referencesOrderByObject.orderedItem)) {
237
+ invoiceOrderItems = referencesOrderByObject.orderedItem;
229
238
  }
230
239
  }
231
240
  const referencesOrder = {
@@ -239,8 +248,6 @@ function createAuthorizeResult(params) {
239
248
  ? payTransactionObject.paymentMethod.accountId
240
249
  : '',
241
250
  issuedThrough,
242
- // 完全廃止(paymentMethodAsObjectへ完全移行)(2023-08-16~)
243
- // paymentMethod: params.object.paymentMethod,
244
251
  paymentMethodAsObject,
245
252
  paymentStatus,
246
253
  paymentMethodId: (typeof payTransactionObject.paymentMethodId === 'string')
@@ -248,22 +255,12 @@ function createAuthorizeResult(params) {
248
255
  : '',
249
256
  name: (typeof payTransactionObject.paymentMethod?.name === 'string')
250
257
  ? payTransactionObject.paymentMethod.name
251
- : params.object.paymentMethod,
258
+ : payTransactionObject.paymentMethod.identifier,
252
259
  totalPaymentDue: totalPaymentDue,
253
- additionalProperty: (Array.isArray(params.object.additionalProperty)) ? params.object.additionalProperty : [],
260
+ additionalProperty: (Array.isArray(payTransactionObject.paymentMethod.additionalProperty)) ? payTransactionObject.paymentMethod.additionalProperty : [],
254
261
  typeOf: factory_1.factory.action.authorize.paymentMethod.any.ResultType.Payment,
255
262
  referencesOrder // add(2025-11-23~)
256
263
  };
257
- // eslint-disable-next-line no-warning-comments
258
- // TODO 保留 resultにメンバーシップを追加(2024-08-13~)
259
- // let resultAsPermit: factory.action.authorize.paymentMethod.any.IResultAsPermit | undefined;
260
- // if (typeof params.permit?.identifier === 'string') {
261
- // resultAsPermit = {
262
- // typeOf: factory.permit.PermitType.Permit,
263
- // identifier: params.permit.identifier,
264
- // issuedThrough: { serviceType: params.permit.issuedThrough?.serviceType }
265
- // };
266
- // }
267
264
  // Arrayに統一(2023-09-04~)
268
265
  // if (resultAsPermit !== undefined) {
269
266
  // return [resultAsInvoice, resultAsPermit];
@@ -18,7 +18,9 @@ interface IFindAcceptActionResult {
18
18
  name?: string;
19
19
  message?: string;
20
20
  };
21
- result?: factory.action.accept.pay.IResult;
21
+ result?: Pick<factory.action.accept.pay.IResult, 'paymentMethodId'> & {
22
+ paymentUrl: string;
23
+ };
22
24
  }
23
25
  declare function findAcceptAction(params: {
24
26
  project: {
@@ -42,12 +42,20 @@ function findAcceptAction(params) {
42
42
  if (acceptAction.purpose?.id !== params.purpose.id) {
43
43
  throw new factory_1.factory.errors.NotFound('Action');
44
44
  }
45
- const acceptActionWithResult = await repos.acceptPayAction.findById({ id: acceptAction.id, typeOf: factory_1.factory.actionType.AcceptAction }, ['result', 'object'], []);
45
+ // result.paymentUrl廃止につき、paymentUrlはrecipeを参照する(2026-07-14~)
46
+ // const acceptActionWithResult = await repos.acceptPayAction.findById(
47
+ // { id: acceptAction.id, typeOf: factory.actionType.AcceptAction },
48
+ // ['result', 'object'],
49
+ // []
50
+ // ) as Pick<factory.action.accept.pay.IAction, 'result' | 'object'>;
51
+ const acceptPayResult = await repos.acceptPayAction.findPaymentUrlById({
52
+ project: { id: params.project.id },
53
+ id: acceptAction.id
54
+ });
46
55
  action = {
47
56
  id: acceptAction.id,
48
57
  actionStatus: acceptAction.actionStatus,
49
- // add object.transactionNumber(2025-08-26~)
50
- object: { transactionNumber: acceptActionWithResult.object.transactionNumber },
58
+ object: { transactionNumber: acceptPayResult.paymentMethodId }, // add object.transactionNumber(2025-08-26~)
51
59
  ...(acceptAction.error !== undefined)
52
60
  ? {
53
61
  error: (Array.isArray(acceptAction.error))
@@ -55,11 +63,11 @@ function findAcceptAction(params) {
55
63
  : acceptAction.error
56
64
  }
57
65
  : undefined,
58
- ...(acceptActionWithResult?.result !== undefined)
66
+ ...(typeof acceptPayResult.paymentUrl === 'string')
59
67
  ? {
60
68
  result: {
61
- paymentMethodId: acceptActionWithResult.result.paymentMethodId,
62
- paymentUrl: acceptActionWithResult.result.paymentUrl
69
+ paymentMethodId: acceptPayResult.paymentMethodId,
70
+ paymentUrl: acceptPayResult.paymentUrl
63
71
  }
64
72
  }
65
73
  : undefined
@@ -6,6 +6,7 @@ import type { PaymentServiceRepo } from '../../../repo/paymentService';
6
6
  import type { PaymentServiceProviderRepo } from '../../../repo/paymentServiceProvider';
7
7
  import type { SellerPaymentAcceptedRepo } from '../../../repo/sellerPaymentAccepted';
8
8
  import type { TaskRepo } from '../../../repo/task';
9
+ import type { OrderInTransactionRepo } from '../../../repo/orderInTransaction';
9
10
  import type { PlaceOrderRepo } from '../../../repo/transaction/placeOrder';
10
11
  interface IInvalidatePaymentUrlRepos {
11
12
  accountingReport: AccountingReportRepo;
@@ -16,6 +17,7 @@ interface IInvalidatePaymentUrlRepos {
16
17
  paymentService: PaymentServiceRepo;
17
18
  paymentServiceProvider: PaymentServiceProviderRepo;
18
19
  task: TaskRepo;
20
+ orderInTransaction: OrderInTransactionRepo;
19
21
  placeOrder: PlaceOrderRepo;
20
22
  }
21
23
  /**
@@ -25,14 +25,6 @@ function invalidatePaymentUrl(params) {
25
25
  // }
26
26
  // support multiple accept actions(2025-02-25~)
27
27
  let acceptPayActions = await repos.acceptPayAction.findAcceptActionsByPurpose({
28
- // project: { id: { $eq: transaction.project.id } },
29
- // typeOf: { $eq: factory.actionType.AcceptAction },
30
- // // actionStatus: { $in: [factory.actionStatusType.CompletedActionStatus] }, // all statuses(2025-02-26~)
31
- // purpose: { id: { $in: [transaction.id] } },
32
- // object: {
33
- // // transactionNumber: { $eq: paymentMethodIdByPaymentUrl },
34
- // typeOf: { $eq: factory.assetTransactionType.Pay }
35
- // }
36
28
  project: { id: transaction.project.id },
37
29
  purpose: { id: transaction.id },
38
30
  }, ['object']);
@@ -43,9 +35,10 @@ function invalidatePaymentUrl(params) {
43
35
  // support OrderCanceled(2025-02-25~)
44
36
  const orderCancelled = params.purpose.result?.order?.orderStatus === factory_1.factory.orderStatus.OrderCancelled;
45
37
  if (!orderCancelled) {
46
- const paymentMethodIdByPaymentUrl = transaction.object.paymentMethods?.paymentMethodId;
47
- if (typeof paymentMethodIdByPaymentUrl === 'string') {
48
- acceptPayActions = acceptPayActions.filter(({ object }) => object.transactionNumber !== paymentMethodIdByPaymentUrl);
38
+ // 確定取引の場合、注文に紐づいた決済方法IDは除外しなければいけない
39
+ const paymentMethodIdByTransaction = await repos.orderInTransaction.findPaymentMethodId({ id: transaction.id });
40
+ if (typeof paymentMethodIdByTransaction === 'string') {
41
+ acceptPayActions = acceptPayActions.filter(({ object }) => object.transactionNumber !== paymentMethodIdByTransaction);
49
42
  }
50
43
  }
51
44
  break;
@@ -106,60 +99,5 @@ function invalidatePaymentUrl(params) {
106
99
  if (invalidatePaymentUrlTasks.length > 0) {
107
100
  await repos.task.saveMany(invalidatePaymentUrlTasks, { emitImmediately: true });
108
101
  }
109
- // const paymentMethodIdByPaymentUrl = transaction.object.paymentMethods?.paymentMethodId;
110
- // if (typeof paymentMethodIdByPaymentUrl === 'string' && paymentMethodIdByPaymentUrl.length > 0) {
111
- // const acceptPayAction = (<Pick<IAcceptPayAction, 'object'>[]>await repos.action.search(
112
- // {
113
- // limit: 1,
114
- // page: 1,
115
- // project: { id: { $eq: transaction.project.id } },
116
- // typeOf: { $eq: factory.actionType.AcceptAction },
117
- // actionStatus: { $in: [factory.actionStatusType.CompletedActionStatus] },
118
- // purpose: { id: { $in: [transaction.id] } },
119
- // object: {
120
- // transactionNumber: { $eq: paymentMethodIdByPaymentUrl },
121
- // typeOf: { $eq: factory.assetTransactionType.Pay }
122
- // }
123
- // },
124
- // ['object']
125
- // )).shift();
126
- // if (acceptPayAction !== undefined) {
127
- // // const paymentMethodType = transaction.object.paymentMethods?.typeOf;
128
- // const paymentMethodType = acceptPayAction.object.object.paymentMethod.identifier;
129
- // if (typeof paymentMethodType === 'string' && paymentMethodType.length > 0) {
130
- // // chevreで決済URL無効化
131
- // await PayTransactionService.invalidatePaymentUrl({
132
- // project: transaction.project,
133
- // typeOf: factory.actionType.RefundAction,
134
- // agent: {
135
- // typeOf: transaction.seller.typeOf,
136
- // name: (typeof transaction.seller.name === 'string')
137
- // ? transaction.seller.name
138
- // : String(transaction.seller.name?.ja),
139
- // id: transaction.seller.id
140
- // },
141
- // recipient: {
142
- // typeOf: transaction.agent.typeOf,
143
- // id: transaction.agent.id,
144
- // name: transaction.agent.name
145
- // },
146
- // object: [{
147
- // typeOf: factory.service.paymentService.PaymentServiceType.CreditCard,
148
- // id: acceptPayAction.object.object.id,
149
- // paymentMethod: {
150
- // additionalProperty: [],
151
- // name: paymentMethodType,
152
- // typeOf: paymentMethodType,
153
- // paymentMethodId: paymentMethodIdByPaymentUrl
154
- // },
155
- // refundFee: 0
156
- // }],
157
- // purpose: { typeOf: transaction.typeOf, id: transaction.id },
158
- // instrument: [],
159
- // ...(typeof params.sameAs?.id === 'string') ? { sameAs: params.sameAs } : undefined
160
- // })(repos, settings);
161
- // }
162
- // }
163
- // }
164
102
  };
165
103
  }
@@ -7,6 +7,7 @@ import type { AuthorizationRepo } from '../../../repo/authorization';
7
7
  import type { EventRepo } from '../../../repo/event';
8
8
  import type { EventSeriesRepo } from '../../../repo/eventSeries';
9
9
  import type { IssuerRepo } from '../../../repo/issuer';
10
+ import type { OrderInTransactionRepo } from '../../../repo/orderInTransaction';
10
11
  import type { PaymentServiceRepo } from '../../../repo/paymentService';
11
12
  import type { PaymentServiceProviderRepo } from '../../../repo/paymentServiceProvider';
12
13
  import type { SellerPaymentAcceptedRepo } from '../../../repo/sellerPaymentAccepted';
@@ -22,6 +23,7 @@ interface IPublishPaymentUrlRepos {
22
23
  event: EventRepo;
23
24
  eventSeries: EventSeriesRepo;
24
25
  issuer: IssuerRepo;
26
+ orderInTransaction: OrderInTransactionRepo;
25
27
  paymentAccepted: SellerPaymentAcceptedRepo;
26
28
  paymentService: PaymentServiceRepo;
27
29
  paymentServiceProvider: PaymentServiceProviderRepo;
@@ -58,5 +60,7 @@ declare function publishPaymentUrl(params: {
58
60
  */
59
61
  identifier?: string;
60
62
  instrument: factory.action.trade.pay.IAcceptedPaymentMethodOfferAsInstrument[];
63
+ }, options: {
64
+ savePaymentMethodIdInTransaction: boolean;
61
65
  }): IPublishPaymentUrlOperation<Pick<PayTransactionService.IPublishPaymentUrlResult, 'paymentMethodId' | 'paymentUrl'>>;
62
66
  export { IPublishPaymentUrlRepos, publishPaymentUrl };
@@ -41,7 +41,7 @@ const factory_2 = require("./factory");
41
41
  /**
42
42
  * 外部決済ロケーションを発行する
43
43
  */
44
- function publishPaymentUrl(params) {
44
+ function publishPaymentUrl(params, options) {
45
45
  return async (repos, settings) => {
46
46
  const { paymentServiceType, purpose, project } = params;
47
47
  if (purpose.typeOf !== factory_1.factory.transactionType.PlaceOrder) {
@@ -104,24 +104,10 @@ function publishPaymentUrl(params) {
104
104
  executor: (typeof taskId === 'string') ? { id: taskId } : {} // タスク関連付け(2024-05-22~)
105
105
  })(repos, settings);
106
106
  // 取引に保管
107
- const paymentMethodByPaymentUrl = {
108
- // typeOf: params.object.paymentMethod, // discontinue(2024-06-05~)
109
- paymentMethodId: result.paymentMethodId
110
- // paymentUrl: result.paymentUrl, // migrate to recipe(2024-06-05~)
111
- // issuedThrough: {
112
- // id: (typeof startParams.object.id === 'string') ? startParams.object.id : ''
113
- // } // migrate to acceptAction(2024-06-05~)
114
- // GMO IFを保管(2024-01-01~)
115
- // entryTranArgs: result.entryTranArgs, // migrate to recipe(2024-06-05~)
116
- // entryTranResult: result.entryTranResult, // migrate to recipe(2024-06-05~)
117
- // execTranArgs: result.execTranArgs, // migrate to recipe(2024-06-05~)
118
- // execTranResult: result.execTranResult, // migrate to recipe(2024-06-05~)
119
- // paymentMethod: startParams.object.paymentMethod // 拡張(2024-01-04~) // migrate to acceptAction(2024-06-05~)
120
- };
121
- await repos.placeOrder.findByIdAndUpdateInProgress({
107
+ await repos.orderInTransaction.savePaymentMethodId({
122
108
  id: transaction.id,
123
- update: { $set: { 'object.paymentMethods': paymentMethodByPaymentUrl } }
124
- });
109
+ paymentMethod: { paymentMethodId: result.paymentMethodId }
110
+ }, options);
125
111
  return {
126
112
  paymentMethodId: result.paymentMethodId,
127
113
  paymentUrl: result.paymentUrl
@@ -7,6 +7,7 @@ import type { PaymentServiceRepo } from '../../../repo/paymentService';
7
7
  import type { PaymentServiceProviderRepo } from '../../../repo/paymentServiceProvider';
8
8
  import type { SellerPaymentAcceptedRepo } from '../../../repo/sellerPaymentAccepted';
9
9
  import type { TaskRepo } from '../../../repo/task';
10
+ import type { OrderInTransactionRepo } from '../../../repo/orderInTransaction';
10
11
  import type { PlaceOrderRepo } from '../../../repo/transaction/placeOrder';
11
12
  /**
12
13
  * 決済承認中止
@@ -29,6 +30,7 @@ declare function voidPayTransaction(params: factory.task.IData<factory.taskName.
29
30
  paymentService: PaymentServiceRepo;
30
31
  paymentServiceProvider: PaymentServiceProviderRepo;
31
32
  task: TaskRepo;
33
+ orderInTransaction: OrderInTransactionRepo;
32
34
  placeOrder: PlaceOrderRepo;
33
35
  }) => Promise<void>;
34
36
  export { voidPayTransaction, };
@@ -8,29 +8,7 @@ const processVoidPayTransaction_1 = require("./processVoidPayTransaction");
8
8
  * タスクから決済承認を取り消す
9
9
  */
10
10
  function voidPayTransaction(params) {
11
- return async (repos
12
- // settings: Settings
13
- ) => {
14
- // 決済承認アクション確認不要(2024-03-12~)
15
- // 決済承認アクションを検索
16
- // let authorizeActions = <factory.action.authorize.paymentMethod.any.IAction[]>
17
- // await repos.action.searchByPurpose({
18
- // typeOf: factory.actionType.AuthorizeAction,
19
- // purpose: {
20
- // typeOf: params.purpose.typeOf,
21
- // id: params.purpose.id
22
- // }
23
- // });
24
- // authorizeActions = authorizeActions.filter(
25
- // (a) => a.object.typeOf === factory.action.authorize.paymentMethod.any.ResultType.Payment
26
- // );
27
- // // Chevreを使用した承認を取り消し
28
- // const authorizeActionsWithChevre = authorizeActions.filter((a) => {
29
- // return a.instrument?.identifier === factory.action.authorize.paymentMethod.any.ServiceIdentifier.Chevre;
30
- // });
31
- // if (authorizeActionsWithChevre.length > 0) {
32
- // await processVoidPayTransaction(params)(repos);
33
- // }
11
+ return async (repos) => {
34
12
  await (0, processVoidPayTransaction_1.processVoidPayTransaction)(params)(repos);
35
13
  // 決済URL無効化もここで処理
36
14
  await (0, invalidatePaymentUrl_1.invalidatePaymentUrl)(params)(repos);
@@ -26,7 +26,7 @@ declare function processAuthorizeCreditCard(params: {
26
26
  callbackType3ds?: factory.service.paymentService.ICallbackType3ds;
27
27
  orderId: string;
28
28
  availableChannel: Pick<factory.serviceChannel.IServiceChannelCreditCard, 'credentials' | 'serviceUrl'>;
29
- object: factory.assetTransaction.pay.IPaymentMethod;
29
+ object: factory.assetTransaction.pay.IPaymentMethodWithoutDetail;
30
30
  /**
31
31
  * 決済URL発行処理かどうか
32
32
  */
@@ -15,6 +15,9 @@ function processAuthorizeCreditCard(params) {
15
15
  // const { cardSeq, memberId } = creditCard as IUnauthorizedCardOfMember; // 会員カード廃止(2026-04-07~)
16
16
  const { cardNo, cardPass, expire } = creditCard;
17
17
  const { token } = creditCard;
18
+ if (typeof params.object.amount !== 'number') {
19
+ throw new factory_1.factory.errors.Argument('object.amount', 'must be number');
20
+ }
18
21
  const retUrl = creditCard?.retUrl;
19
22
  // 3DS拡張(2024-01-02~)
20
23
  if (params.processPublishPaymentUrl === true && typeof retUrl === 'string' && retUrl.length > 0) {
@@ -32,13 +35,8 @@ function processAuthorizeCreditCard(params) {
32
35
  entryTranArgs = {
33
36
  shopId, shopPass, orderId,
34
37
  jobCd: gmo_service_1.GMO.factory.util.JobCd.Auth,
35
- amount: (typeof params.object.amount === 'number')
36
- ? params.object.amount
37
- : params.object.amount.value,
38
- // siteId: params.availableChannel.credentials?.siteId,
39
- // sitePass: params.availableChannel.credentials?.sitePass,
38
+ amount: params.object.amount,
40
39
  tdFlag: gmo_service_1.GMO.factory.util.TdFlag.Version2,
41
- // tdTenantName: '',
42
40
  tds2Type: gmo_service_1.GMO.factory.util.Tds2Type.Error
43
41
  };
44
42
  entryTranResult = await repos.creditCardService.entryTran(entryTranArgs);
@@ -65,9 +63,7 @@ function processAuthorizeCreditCard(params) {
65
63
  entryTranArgs = {
66
64
  shopId, shopPass, orderId,
67
65
  jobCd: gmo_service_1.GMO.factory.util.JobCd.Auth,
68
- amount: (typeof params.object.amount === 'number')
69
- ? params.object.amount
70
- : params.object.amount.value,
66
+ amount: params.object.amount,
71
67
  siteId: params.availableChannel.credentials?.siteId,
72
68
  sitePass: params.availableChannel.credentials?.sitePass
73
69
  };
@@ -0,0 +1,15 @@
1
+ import { factory } from '../../factory';
2
+ import type { IKeyOfProjection, ReservationRepo } from '../../repo/reservation';
3
+ /**
4
+ * 予約検索レスポンスとしての予約
5
+ */
6
+ type IReservationAsFindResult = Pick<factory.reservation.eventReservation.IReservation, 'additionalTicketText' | 'attended' | 'bookingTime' | 'checkedIn' | 'id' | 'reservationFor' | 'reservationNumber' | 'reservationStatus' | 'reservedTicket'>;
7
+ /**
8
+ * 管理者による予約検索
9
+ */
10
+ export declare function adminFindReservations(params: factory.reservation.eventReservation.ISearchConditions, options: {
11
+ inclusion: Partial<Record<IKeyOfProjection, 1>>;
12
+ }): (repos: {
13
+ reservation: ReservationRepo;
14
+ }) => Promise<IReservationAsFindResult[]>;
15
+ export {};
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.adminFindReservations = adminFindReservations;
4
+ /**
5
+ * 管理者による予約検索
6
+ */
7
+ function adminFindReservations(params, options) {
8
+ return async (repos) => {
9
+ const { inclusion } = options;
10
+ const rawReservations = await repos.reservation.findReservations(params, inclusion);
11
+ if (rawReservations.length === 0) {
12
+ return [];
13
+ }
14
+ else {
15
+ // const requireUnderName = Object.keys(inclusion).includes('underName');
16
+ // const requireReservedTicket = Object.keys(inclusion).includes('reservedTicket');
17
+ // const requireReservationFor = Object.keys(inclusion).includes('reservationFor');
18
+ // const reservationIds = rawReservations.map(({ id }) => id);
19
+ // const subReservations = await repos.assetTransaction.reserve.findSubReservationsById({
20
+ // ids: reservationIds
21
+ // });
22
+ return rawReservations.map((reservation) => {
23
+ // const subReservationByTransaction = subReservations.find((s) => s.id === reservation.id);
24
+ // const underNameByTransaction = subReservationByTransaction?.underName;
25
+ const { reservationFor, issuedThrough: _issuedThrough, priceCurrency: _priceCurrency, numSeats: _numSeats, reservedTicket, ...rawReservation4result } = reservation;
26
+ return {
27
+ ...rawReservation4result, // 予約ドキュメントはそのまま返す
28
+ reservedTicket, // 予約検索レスポンスからticketTypeは廃止(2026-06-01~)
29
+ reservationFor // 予約検索レスポンスのreservationForはそのまま返す(2026-06-01~)
30
+ // ...(requireUnderName && underNameByTransaction !== undefined) ? { underName: underNameByTransaction } : undefined, // underNameがあれば上書き
31
+ };
32
+ });
33
+ }
34
+ };
35
+ }