@chevre/domain 24.1.0-alpha.8 → 25.0.0-alpha.0

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 (223) hide show
  1. package/lib/chevre/emailMessageBuilder.d.ts +1 -1
  2. package/lib/chevre/emailMessageBuilder.js +4 -12
  3. package/lib/chevre/factory/transaction/placeOrder.d.ts +2 -10
  4. package/lib/chevre/factory/transaction/placeOrder.js +1 -0
  5. package/lib/chevre/index.d.ts +1 -2
  6. package/lib/chevre/index.js +1 -3
  7. package/lib/chevre/repo/acceptedOffer.d.ts +25 -27
  8. package/lib/chevre/repo/acceptedOffer.js +102 -67
  9. package/lib/chevre/repo/acceptedOfferInReserve.d.ts +34 -0
  10. package/lib/chevre/repo/acceptedOfferInReserve.js +86 -0
  11. package/lib/chevre/repo/accountingReport.js +2 -30
  12. package/lib/chevre/repo/action/actionProcess.d.ts +1 -1
  13. package/lib/chevre/repo/assetTransaction/reserve.d.ts +1 -2
  14. package/lib/chevre/repo/assetTransaction/reserve.js +4 -50
  15. package/lib/chevre/repo/event.js +12 -8
  16. package/lib/chevre/repo/factory/acceptedOffer/reserveTransaction2itemOffered.d.ts +9 -0
  17. package/lib/chevre/repo/factory/acceptedOffer/reserveTransaction2itemOffered.js +76 -0
  18. package/lib/chevre/repo/factory/reservation/createMongoConditions.d.ts +1 -1
  19. package/lib/chevre/repo/factory/reservation/createMongoConditions.js +171 -363
  20. package/lib/chevre/repo/mongoose/schemas/accountingReport.js +42 -42
  21. package/lib/chevre/repo/mongoose/schemas/order.js +134 -131
  22. package/lib/chevre/repo/mongoose/schemas/reservation.d.ts +3 -2
  23. package/lib/chevre/repo/mongoose/schemas/reservation.js +6 -57
  24. package/lib/chevre/repo/mongoose/schemas/setting.d.ts +84 -0
  25. package/lib/chevre/repo/mongoose/schemas/setting.js +2 -1
  26. package/lib/chevre/repo/order.d.ts +1 -82
  27. package/lib/chevre/repo/order.js +11 -372
  28. package/lib/chevre/repo/orderInTransaction.d.ts +58 -7
  29. package/lib/chevre/repo/orderInTransaction.js +58 -4
  30. package/lib/chevre/repo/place/hasPOS.js +2 -1
  31. package/lib/chevre/repo/reservation.d.ts +20 -9
  32. package/lib/chevre/repo/reservation.js +16 -12
  33. package/lib/chevre/repo/role.d.ts +1 -15
  34. package/lib/chevre/repo/role.js +7 -14
  35. package/lib/chevre/repo/setting/integration.d.ts +27 -0
  36. package/lib/chevre/repo/setting/integration.js +102 -0
  37. package/lib/chevre/repo/transaction/placeOrder.d.ts +8 -3
  38. package/lib/chevre/repo/transaction/placeOrder.js +5 -1
  39. package/lib/chevre/repo/transaction.d.ts +6 -6
  40. package/lib/chevre/repo/transaction.js +0 -776
  41. package/lib/chevre/repository.d.ts +5 -0
  42. package/lib/chevre/repository.js +11 -0
  43. package/lib/chevre/service/aggregation/event/aggregateOffers.js +6 -1
  44. package/lib/chevre/service/aggregation/event/aggregateScreeningEvent.js +0 -1
  45. package/lib/chevre/service/assetTransaction/cancelReservation/factory.js +14 -11
  46. package/lib/chevre/service/assetTransaction/cancelReservation/start.d.ts +1 -1
  47. package/lib/chevre/service/assetTransaction/cancelReservation/start.js +1 -1
  48. package/lib/chevre/service/assetTransaction/pay/check.d.ts +1 -1
  49. package/lib/chevre/service/assetTransaction/pay/publishPaymentUrl.d.ts +1 -1
  50. package/lib/chevre/service/assetTransaction/pay/searchGMOTrade.d.ts +1 -1
  51. package/lib/chevre/service/assetTransaction/pay/start/processAuthorize.d.ts +1 -1
  52. package/lib/chevre/service/assetTransaction/pay/start/processAuthorizeCreditCard.d.ts +1 -1
  53. package/lib/chevre/service/assetTransaction/pay/start/processAuthorizeMovieTicket.d.ts +1 -1
  54. package/lib/chevre/service/assetTransaction/pay/start.d.ts +1 -1
  55. package/lib/chevre/service/assetTransaction/reserve/cancel.d.ts +1 -1
  56. package/lib/chevre/service/assetTransaction/reserve/confirm.d.ts +1 -1
  57. package/lib/chevre/service/assetTransaction/reserve/start/createSubReservations.js +2 -2
  58. package/lib/chevre/service/assetTransaction/reserve/start/factory/createReservation.d.ts +1 -8
  59. package/lib/chevre/service/assetTransaction/reserve/start/factory/createReservation.js +20 -32
  60. package/lib/chevre/service/assetTransaction/reserve/start/factory/price.d.ts +1 -1
  61. package/lib/chevre/service/assetTransaction/reserve/start.d.ts +1 -1
  62. package/lib/chevre/service/delivery/factory.d.ts +6 -1
  63. package/lib/chevre/service/delivery/factory.js +1 -1
  64. package/lib/chevre/service/delivery/reservation/factory.d.ts +1 -3
  65. package/lib/chevre/service/delivery/reservation/factory.js +0 -17
  66. package/lib/chevre/service/notification/notifyAbortedTasksByEmail.d.ts +2 -4
  67. package/lib/chevre/service/notification/notifyAbortedTasksByEmail.js +3 -3
  68. package/lib/chevre/service/notification/notifyByEmail.d.ts +3 -3
  69. package/lib/chevre/service/notification/notifyByEmail.js +7 -12
  70. package/lib/chevre/service/notification/sendEmailMessage.d.ts +2 -3
  71. package/lib/chevre/service/notification/sendEmailMessage.js +5 -4
  72. package/lib/chevre/service/offer/any.d.ts +7 -2
  73. package/lib/chevre/service/offer/event/authorize/factory.d.ts +6 -3
  74. package/lib/chevre/service/offer/event/authorize/factory.js +17 -18
  75. package/lib/chevre/service/offer/event/authorize/processStartReserve4chevre.d.ts +1 -1
  76. package/lib/chevre/service/offer/event/authorize.d.ts +2 -2
  77. package/lib/chevre/service/offer/event/authorize.js +55 -107
  78. package/lib/chevre/service/offer/event/voidTransaction/processVoidTransaction4chevre.d.ts +1 -1
  79. package/lib/chevre/service/offer/event/voidTransaction.d.ts +1 -1
  80. package/lib/chevre/service/offer/event/voidTransactionByActionId.d.ts +1 -1
  81. package/lib/chevre/service/offer/eventServiceByCOA/authorize/factory.d.ts +1 -3
  82. package/lib/chevre/service/order/deleteOrder.d.ts +1 -1
  83. package/lib/chevre/service/order/deleteOrder.js +19 -46
  84. package/lib/chevre/service/order/{findPlaceOrderTransaction.d.ts → findConfirmedPlaceOrder.d.ts} +1 -1
  85. package/lib/chevre/service/order/{findPlaceOrderTransaction.js → findConfirmedPlaceOrder.js} +12 -7
  86. package/lib/chevre/service/order/onAssetTransactionStatusChanged/onPayTransactionCanceled.js +2 -2
  87. package/lib/chevre/service/order/onAssetTransactionStatusChanged/onPayTransactionConfirmed.d.ts +1 -1
  88. package/lib/chevre/service/order/onAssetTransactionStatusChanged/onReserveTransactionConfirmed.d.ts +1 -1
  89. package/lib/chevre/service/order/onAssetTransactionStatusChanged/paymentDue2Processing.d.ts +1 -1
  90. package/lib/chevre/service/order/onAssetTransactionStatusChanged/paymentDue2Processing.js +11 -18
  91. package/lib/chevre/service/order/onAssetTransactionStatusChanged/processing2inTransit.d.ts +1 -1
  92. package/lib/chevre/service/order/onAssetTransactionStatusChanged.d.ts +1 -1
  93. package/lib/chevre/service/order/onOrderStatusChanged/onOrderDelivered.js +0 -1
  94. package/lib/chevre/service/order/onOrderStatusChanged/onOrderDeliveredPartially/factory.d.ts +6 -1
  95. package/lib/chevre/service/order/onOrderStatusChanged/onOrderDeliveredPartially.js +0 -1
  96. package/lib/chevre/service/order/onOrderStatusChanged/onOrderInTransit.d.ts +1 -1
  97. package/lib/chevre/service/order/onOrderStatusChanged/onOrderInTransit.js +1 -1
  98. package/lib/chevre/service/order/onOrderStatusChanged/onOrderProcessing.d.ts +1 -1
  99. package/lib/chevre/service/order/onOrderStatusChanged/onOrderProcessing.js +2 -1
  100. package/lib/chevre/service/order/onOrderStatusChanged/onOrderReturned.js +0 -1
  101. package/lib/chevre/service/order/onOrderUpdated.js +0 -1
  102. package/lib/chevre/service/order/payOrder.d.ts +1 -1
  103. package/lib/chevre/service/order/placeOrder/createPlacingOrderFromExistingTransaction.d.ts +1 -1
  104. package/lib/chevre/service/order/placeOrder/createPlacingOrderFromExistingTransaction.js +19 -7
  105. package/lib/chevre/service/order/placeOrder/factory/orderedItem.d.ts +1 -1
  106. package/lib/chevre/service/order/placeOrder/factory/orderedItem.js +0 -5
  107. package/lib/chevre/service/order/placeOrder/factory.d.ts +1 -1
  108. package/lib/chevre/service/order/placeOrder/factory.js +33 -22
  109. package/lib/chevre/service/order/placeOrder.d.ts +3 -2
  110. package/lib/chevre/service/order/placeOrder.js +0 -9
  111. package/lib/chevre/service/order/returnOrder.js +0 -1
  112. package/lib/chevre/service/order/sendOrder.js +1 -7
  113. package/lib/chevre/service/payment/any/authorize.d.ts +1 -1
  114. package/lib/chevre/service/payment/any/factory.js +7 -6
  115. package/lib/chevre/service/payment/any/person2username.js +0 -1
  116. package/lib/chevre/service/payment/any/publishPaymentUrl.d.ts +1 -1
  117. package/lib/chevre/service/payment/creditCard/authorize.d.ts +1 -1
  118. package/lib/chevre/service/payment/creditCard/authorize.js +4 -3
  119. package/lib/chevre/service/payment/creditCard/payCreditCard.d.ts +1 -1
  120. package/lib/chevre/service/payment/creditCard/payCreditCard.js +1 -1
  121. package/lib/chevre/service/payment/creditCard/refundCreditCard.d.ts +1 -1
  122. package/lib/chevre/service/payment/creditCard/refundCreditCard.js +1 -1
  123. package/lib/chevre/service/payment/creditCard/searchGMOTrade.d.ts +1 -1
  124. package/lib/chevre/service/payment/creditCard/searchGMOTrade.js +1 -1
  125. package/lib/chevre/service/payment/creditCard/voidTransaction.d.ts +1 -1
  126. package/lib/chevre/service/payment/creditCard/voidTransaction.js +1 -1
  127. package/lib/chevre/service/payment/factory/createPayObjectServiceOutput.d.ts +8 -1
  128. package/lib/chevre/service/payment/factory/createPayObjectServiceOutput.js +1 -1
  129. package/lib/chevre/service/payment/movieTicket/authorize.d.ts +1 -1
  130. package/lib/chevre/service/payment/movieTicket/checkMovieTicket.d.ts +1 -1
  131. package/lib/chevre/service/payment/movieTicket/payMovieTicket.d.ts +1 -1
  132. package/lib/chevre/service/payment/movieTicket/payMovieTicket.js +1 -1
  133. package/lib/chevre/service/payment/movieTicket/processPurchaseNumberAuth.d.ts +1 -1
  134. package/lib/chevre/service/payment/movieTicket/processPurchaseNumberAuth.js +1 -1
  135. package/lib/chevre/service/payment/movieTicket/refundMovieTicket.d.ts +1 -1
  136. package/lib/chevre/service/payment/movieTicket/refundMovieTicket.js +2 -2
  137. package/lib/chevre/service/payment/movieTicket/voidTransaction.d.ts +1 -1
  138. package/lib/chevre/service/reserve/confirmReservation.js +7 -7
  139. package/lib/chevre/service/reserve/factory.js +2 -1
  140. package/lib/chevre/service/reserve/findByCode.d.ts +1 -1
  141. package/lib/chevre/service/reserve/findByCode.js +1 -1
  142. package/lib/chevre/service/reserve/findReservations.d.ts +14 -6
  143. package/lib/chevre/service/reserve/findReservations.js +26 -36
  144. package/lib/chevre/service/reserve/potentialActions/onPendingReservationCanceled.js +0 -1
  145. package/lib/chevre/service/reserve/potentialActions/onReservationCanceled.js +0 -1
  146. package/lib/chevre/service/reserve/potentialActions/onReservationConfirmed.d.ts +4 -3
  147. package/lib/chevre/service/reserve/potentialActions/onReservationConfirmed.js +1 -10
  148. package/lib/chevre/service/reserve/potentialActions/onReservationUsed.js +0 -1
  149. package/lib/chevre/service/reserve/potentialActions/onReservationsCreated.js +0 -1
  150. package/lib/chevre/service/reserve/searchByOrder.js +7 -3
  151. package/lib/chevre/service/task/acceptCOAOffer.js +6 -3
  152. package/lib/chevre/service/task/authorizePayment.js +4 -2
  153. package/lib/chevre/service/task/cancelPendingReservation.js +4 -2
  154. package/lib/chevre/service/task/checkMovieTicket.js +4 -2
  155. package/lib/chevre/service/task/confirmReserveTransaction.d.ts +1 -1
  156. package/lib/chevre/service/task/confirmReserveTransaction.js +5 -3
  157. package/lib/chevre/service/task/createAccountingReport.js +0 -4
  158. package/lib/chevre/service/task/importEventCapacitiesFromCOA.js +4 -2
  159. package/lib/chevre/service/task/importEventsFromCOA.js +4 -2
  160. package/lib/chevre/service/task/importOffersFromCOA.js +4 -2
  161. package/lib/chevre/service/task/invalidatePaymentUrl.js +3 -1
  162. package/lib/chevre/service/task/onAssetTransactionStatusChanged.js +3 -1
  163. package/lib/chevre/service/task/onOrderPaymentCompleted.js +3 -1
  164. package/lib/chevre/service/task/onResourceUpdated/onHasPOSUpdated.js +0 -1
  165. package/lib/chevre/service/task/pay.js +4 -2
  166. package/lib/chevre/service/task/payment/invalidatePaymentUrlByTask.d.ts +1 -1
  167. package/lib/chevre/service/task/payment/payByTask.d.ts +1 -1
  168. package/lib/chevre/service/task/payment/payByTask.js +6 -7
  169. package/lib/chevre/service/task/payment/refundByTask.d.ts +1 -1
  170. package/lib/chevre/service/task/payment/voidPaymentByTask.d.ts +1 -1
  171. package/lib/chevre/service/task/placeOrder.js +3 -1
  172. package/lib/chevre/service/task/publishPaymentUrl.js +3 -1
  173. package/lib/chevre/service/task/refund.js +4 -2
  174. package/lib/chevre/service/task/returnReserveTransaction.js +4 -2
  175. package/lib/chevre/service/task/sendEmailMessage.js +5 -3
  176. package/lib/chevre/service/task/syncResourcesFromCOA.js +4 -2
  177. package/lib/chevre/service/task/voidPayment.js +4 -2
  178. package/lib/chevre/service/task/voidReserveTransaction.js +4 -2
  179. package/lib/chevre/service/task.d.ts +0 -7
  180. package/lib/chevre/service/transaction/deleteTransaction.js +13 -7
  181. package/lib/chevre/service/transaction/placeOrder/confirm/factory/result.d.ts +0 -1
  182. package/lib/chevre/service/transaction/placeOrder/confirm/factory/result.js +7 -17
  183. package/lib/chevre/service/transaction/placeOrder/confirm/potentialActions/sendEmailMessage.d.ts +7 -1
  184. package/lib/chevre/service/transaction/placeOrder/confirm/potentialActions/sendEmailMessage.js +0 -1
  185. package/lib/chevre/service/transaction/placeOrder/confirm/potentialActions.d.ts +7 -1
  186. package/lib/chevre/service/transaction/placeOrder/confirm/potentialActions.js +0 -1
  187. package/lib/chevre/service/transaction/placeOrder/confirm/validation/validateInvoiceReferencesOrder.d.ts +1 -1
  188. package/lib/chevre/service/transaction/placeOrder/confirm/validation/validateMovieTicket.d.ts +1 -1
  189. package/lib/chevre/service/transaction/placeOrder/confirm/validation.d.ts +5 -4
  190. package/lib/chevre/service/transaction/placeOrder/confirm.d.ts +5 -4
  191. package/lib/chevre/service/transaction/placeOrder/confirm.js +55 -58
  192. package/lib/chevre/service/transaction/placeOrder/exportTasksById.js +0 -1
  193. package/lib/chevre/service/transaction/placeOrder/start/factory.d.ts +11 -2
  194. package/lib/chevre/service/transaction/placeOrder/start/factory.js +12 -10
  195. package/lib/chevre/service/transaction/placeOrder/start/validateStartRequest.d.ts +1 -2
  196. package/lib/chevre/service/transaction/placeOrder/start/validateStartRequest.js +5 -16
  197. package/lib/chevre/service/transaction/placeOrder/start.d.ts +3 -4
  198. package/lib/chevre/service/transaction/placeOrder/start.js +2 -2
  199. package/lib/chevre/service/transaction/placeOrder/updateAgent.js +0 -1
  200. package/lib/chevre/service/transaction/placeOrder.d.ts +2 -2
  201. package/lib/chevre/service/transaction/returnOrder/exportTasks/factory.js +0 -1
  202. package/lib/chevre/service/transaction/returnOrder/potentialActions/returnPaymentMethod.d.ts +1 -1
  203. package/lib/chevre/service/transaction/returnOrder/potentialActions/returnPaymentMethod.js +0 -1
  204. package/lib/chevre/service/transaction/returnOrder/potentialActions/sendEmailMessage.d.ts +1 -1
  205. package/lib/chevre/service/transaction/returnOrder/potentialActions.d.ts +1 -1
  206. package/lib/chevre/service/transaction/returnOrder/potentialActions.js +0 -1
  207. package/lib/chevre/service/transaction/returnOrder/preStart.js +1 -4
  208. package/lib/chevre/service/transaction/returnOrder.js +1 -1
  209. package/lib/chevre/service/transaction.js +3 -5
  210. package/lib/chevre/service/validation/validateOrder.js +4 -79
  211. package/lib/chevre/settings.d.ts +0 -55
  212. package/lib/chevre/settings.js +1 -29
  213. package/lib/chevre/taskSettings.d.ts +0 -22
  214. package/lib/chevre/taskSettings.js +1 -7
  215. package/package.json +2 -2
  216. package/lib/chevre/credentials/customSearch.d.ts +0 -13
  217. package/lib/chevre/credentials/customSearch.js +0 -16
  218. package/lib/chevre/credentials/lineNotify.d.ts +0 -17
  219. package/lib/chevre/credentials/lineNotify.js +0 -20
  220. package/lib/chevre/credentials/sendGrid.d.ts +0 -24
  221. package/lib/chevre/credentials/sendGrid.js +0 -18
  222. package/lib/chevre/credentials.d.ts +0 -20
  223. package/lib/chevre/credentials.js +0 -42
@@ -4,7 +4,7 @@ type ISendableEmailMessage = factory.action.transfer.send.message.email.IObjectA
4
4
  identifier: string;
5
5
  name: string;
6
6
  };
7
- export type IOrderAsCreateEmailParams = Pick<factory.order.IOrder, 'confirmationNumber' | 'identifier' | 'customer' | 'orderDate' | 'orderNumber' | 'orderStatus' | 'orderedItem' | 'paymentMethods' | 'price' | 'priceCurrency' | 'seller' | 'typeOf'>;
7
+ export type IOrderAsCreateEmailParams = Pick<factory.order.IOrder, 'confirmationNumber' | 'customer' | 'orderDate' | 'orderNumber' | 'orderStatus' | 'orderedItem' | 'paymentMethods' | 'price' | 'priceCurrency' | 'seller' | 'typeOf'>;
8
8
  /**
9
9
  * 注文配送メッセージを作成する
10
10
  */
@@ -93,9 +93,7 @@ async function createEmailMessageAbout(params) {
93
93
  }
94
94
  return about;
95
95
  }
96
- function createEmailMessageSender(params,
97
- // settings: Settings
98
- setting) {
96
+ function createEmailMessageSender(params, setting) {
99
97
  if (typeof setting.defaultSenderEmail !== 'string') {
100
98
  throw new factory_1.factory.errors.NotFound('setting.defaultSenderEmail');
101
99
  }
@@ -113,9 +111,7 @@ setting) {
113
111
  /**
114
112
  * 注文配送メッセージを作成する
115
113
  */
116
- async function createSendOrderMessage(params,
117
- // settings: Settings
118
- setting) {
114
+ async function createSendOrderMessage(params, setting) {
119
115
  const emailMessageText = await createEmailMessageText({
120
116
  order: params.order,
121
117
  email: params.email,
@@ -169,9 +165,7 @@ setting) {
169
165
  /**
170
166
  * 注文返品メッセージを作成する
171
167
  */
172
- async function createReturnOrderMessage(params,
173
- // settings: Settings
174
- setting) {
168
+ async function createReturnOrderMessage(params, setting) {
175
169
  const emailMessageText = await createEmailMessageText({
176
170
  order: params.order,
177
171
  email: params.email,
@@ -225,9 +219,7 @@ setting) {
225
219
  /**
226
220
  * 返金メッセージを作成する
227
221
  */
228
- async function createRefundMessage(params,
229
- // settings: Settings
230
- setting) {
222
+ async function createRefundMessage(params, setting) {
231
223
  const emailMessageText = await createEmailMessageText({
232
224
  order: params.order,
233
225
  email: params.email
@@ -1,17 +1,9 @@
1
1
  import { factory } from '../../factory';
2
- export type IStartParams = factory.transaction.placeOrder.IStartParamsWithoutDetail & {
3
- broker?: factory.order.IBroker;
4
- };
5
- export type IOrderURLGenerator = (order: factory.transaction.placeOrder.IOrderAsResult) => string;
6
- export type IResultOrderParams = factory.transaction.placeOrder.IResultOrderParams & {
2
+ export interface IResultOrderParams {
7
3
  /**
8
4
  * 注文日時
9
5
  */
10
6
  orderDate: Date;
11
- /**
12
- * 注文確認URLのカスタム指定
13
- */
14
- url?: string | IOrderURLGenerator;
15
7
  /**
16
8
  * オファー制約
17
9
  */
@@ -29,7 +21,7 @@ export type IResultOrderParams = factory.transaction.placeOrder.IResultOrderPara
29
21
  orderedItem: {
30
22
  maxValue: number;
31
23
  };
32
- };
24
+ }
33
25
  export type IConfirmParams = factory.transaction.placeOrder.IConfirmParams & {
34
26
  project: {
35
27
  id: string;
@@ -1,2 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ ;
@@ -1,4 +1,3 @@
1
- import { credentials } from './credentials';
2
1
  import * as errorHandler from './errorHandler';
3
2
  import * as eventEmitter from './eventEmitter';
4
3
  import { factory } from './factory';
@@ -6,4 +5,4 @@ import * as repository from './repository';
6
5
  import * as service from './service';
7
6
  import * as settings from './settings';
8
7
  import * as taskSettings from './taskSettings';
9
- export { credentials, errorHandler, eventEmitter, factory, repository, service, settings, taskSettings };
8
+ export { errorHandler, eventEmitter, factory, repository, service, settings, taskSettings };
@@ -33,9 +33,7 @@ var __importStar = (this && this.__importStar) || (function () {
33
33
  };
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.taskSettings = exports.settings = exports.service = exports.repository = exports.factory = exports.eventEmitter = exports.errorHandler = exports.credentials = void 0;
37
- const credentials_1 = require("./credentials");
38
- Object.defineProperty(exports, "credentials", { enumerable: true, get: function () { return credentials_1.credentials; } });
36
+ exports.taskSettings = exports.settings = exports.service = exports.repository = exports.factory = exports.eventEmitter = exports.errorHandler = void 0;
39
37
  const errorHandler = __importStar(require("./errorHandler"));
40
38
  exports.errorHandler = errorHandler;
41
39
  const eventEmitter = __importStar(require("./eventEmitter"));
@@ -1,28 +1,34 @@
1
1
  import type { Connection } from 'mongoose';
2
2
  import { factory } from '../factory';
3
+ import { AcceptedOfferInReserveRepo, IAcceptedOffer } from './acceptedOfferInReserve';
3
4
  type IProjection4searchWithUnwoundAcceptedOffers = {
4
5
  [key in keyof factory.order.IOrder]?: 1;
5
- } & {
6
- _id?: 0 | 1;
7
- };
8
- type IDistinctField = 'acceptedOffers.id' | 'acceptedOffers.itemOffered.reservationNumber' | 'acceptedOffers.itemOffered.reservationFor.id' | 'acceptedOffers.itemOffered.issuedThrough.id' | 'acceptedOffers.itemOffered.typeOf' | 'acceptedOffers.serialNumber' | 'acceptedOffers.offeredThrough.identifier' | 'acceptedOffers.itemOffered.reservationFor.superEvent.location.branchCode' | 'acceptedOffers.itemOffered.object.pendingTransaction.transactionNumber';
9
- type IAcceptedOffer = factory.order.IAcceptedOffer;
6
+ } & {};
7
+ type IDistinctField = 'acceptedOffers.id' | 'acceptedOffers.itemOffered.reservationNumber' | 'acceptedOffers.itemOffered.reservationFor.id' | 'acceptedOffers.serialNumber' | 'acceptedOffers.offeredThrough.identifier' | 'acceptedOffers.itemOffered.reservationFor.superEvent.location.branchCode';
10
8
  interface ISearchSlicedAcceptedOffersResult {
11
- acceptedOffers: IAcceptedOffer[];
9
+ acceptedOffers: Pick<IAcceptedOffer, 'id' | 'itemOffered' | 'offeredThrough' | 'priceSpecification' | 'serialNumber' | 'typeOf'>[];
12
10
  numAcceptedOffers: number;
13
11
  }
14
12
  /**
15
13
  * 注文オファーリポジトリ
16
14
  */
17
- export declare class AcceptedOfferRepo {
15
+ export declare class AcceptedOfferRepo extends AcceptedOfferInReserveRepo {
18
16
  private readonly orderModel;
19
17
  constructor(connection: Connection);
20
18
  /**
21
19
  * オファー展開の注文検索
20
+ * admin API経由で呼ばれる想定
22
21
  */
23
- searchWithUnwoundAcceptedOffers(params: factory.order.ISearchConditions, projection: IProjection4searchWithUnwoundAcceptedOffers, options: {
24
- useLimitAfterSkip: boolean;
25
- }): Promise<factory.order.IOrder[]>;
22
+ findAcceptedOffers(
23
+ /**
24
+ * 索条件を最小化(2026-06-05~)
25
+ */
26
+ params: Pick<factory.order.ISearchConditions, 'limit' | 'orderNumbers' | 'page' | 'project' | 'provider' | 'sort' | 'orderDate'>, projection: IProjection4searchWithUnwoundAcceptedOffers, options: {
27
+ noName: boolean;
28
+ }): Promise<(factory.order.IOrder & {
29
+ acceptedOffers: [IAcceptedOffer];
30
+ _id?: never;
31
+ })[]>;
26
32
  aggreateOwnershipInfosByOrder(filter: {
27
33
  orderNumber: {
28
34
  $eq: string;
@@ -32,11 +38,14 @@ export declare class AcceptedOfferRepo {
32
38
  }[]>;
33
39
  /**
34
40
  * 注文オファーを展開して検索する
41
+ * 注文番号指定で1注文ドキュメントから参照する想定
35
42
  */
36
43
  searchAcceptedOffersByOrderNumber(filter: {
44
+ /**
45
+ * 未指定であれば注文内オファー全件が対象
46
+ */
37
47
  limit?: number;
38
48
  page?: number;
39
- $slice?: [number, number];
40
49
  orderNumber: {
41
50
  $eq: string;
42
51
  };
@@ -53,24 +62,13 @@ export declare class AcceptedOfferRepo {
53
62
  id?: {
54
63
  $eq?: string;
55
64
  };
56
- typeOf?: {
57
- $in?: factory.order.IItemOffered['typeOf'][];
58
- };
59
- reservationFor?: {
60
- id?: {
61
- $in?: string[];
62
- };
63
- };
64
- reservedTicket?: {
65
- ticketedSeat?: {
66
- seatNumber?: {
67
- $in?: string[];
68
- };
69
- };
70
- };
65
+ reservationFor?: never;
66
+ reservedTicket?: never;
71
67
  };
72
68
  };
73
- }, inclusion?: (keyof IAcceptedOffer)[]): Promise<IAcceptedOffer[]>;
69
+ }, options: {
70
+ noName: boolean;
71
+ }): Promise<Pick<IAcceptedOffer, 'id' | 'itemOffered' | 'offeredThrough' | 'priceSpecification' | 'serialNumber' | 'typeOf'>[]>;
74
72
  /**
75
73
  * 注文オファーをsliceして検索する(2024-01-10~)
76
74
  */
@@ -3,23 +3,35 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.AcceptedOfferRepo = void 0;
4
4
  const factory_1 = require("../factory");
5
5
  const order_1 = require("./mongoose/schemas/order");
6
+ const acceptedOfferInReserve_1 = require("./acceptedOfferInReserve");
6
7
  const order_2 = require("./order");
7
8
  const settings_1 = require("../settings");
9
+ // const debug = createDebug('chevre-domain:repo:acceptedOffer');
8
10
  /**
9
11
  * 注文オファーリポジトリ
10
12
  */
11
- class AcceptedOfferRepo {
13
+ class AcceptedOfferRepo extends acceptedOfferInReserve_1.AcceptedOfferInReserveRepo {
12
14
  orderModel;
13
15
  constructor(connection) {
16
+ super(connection);
14
17
  this.orderModel = connection.model(order_1.modelName, (0, order_1.createSchema)());
15
18
  }
16
19
  /**
17
20
  * オファー展開の注文検索
21
+ * admin API経由で呼ばれる想定
18
22
  */
19
- async searchWithUnwoundAcceptedOffers(params, projection, options) {
20
- const { useLimitAfterSkip } = options;
23
+ async findAcceptedOffers(
24
+ /**
25
+ * 索条件を最小化(2026-06-05~)
26
+ */
27
+ params, projection, options) {
21
28
  const conditions = order_2.OrderRepo.CREATE_MONGO_CONDITIONS(params);
22
29
  const aggregate = this.orderModel.aggregate();
30
+ // unwind->matchでは遅い
31
+ // match->unwind->matchにする(2026-05-08~)
32
+ conditions.forEach((c) => {
33
+ aggregate.match(c);
34
+ });
23
35
  // pipelineの順序に注意
24
36
  // @see https://docs.mongodb.com/manual/reference/operator/aggregation/sort/
25
37
  /* istanbul ignore else */
@@ -32,35 +44,77 @@ class AcceptedOfferRepo {
32
44
  });
33
45
  aggregate.project({
34
46
  ...projection,
47
+ _id: 0, // hide _id(2026-05-16~)
35
48
  acceptedOffers: ['$acceptedOffers']
36
49
  });
37
50
  if (typeof params.limit === 'number' && params.limit > 0) {
38
51
  const page = (typeof params.page === 'number' && params.page > 0) ? params.page : 1;
39
52
  // support skip -> limit(2025-07-09~)
40
- if (useLimitAfterSkip) {
41
- aggregate.skip(params.limit * (page - 1))
42
- .limit(params.limit);
43
- }
44
- else {
45
- aggregate.limit(params.limit * page)
46
- .skip(params.limit * (page - 1));
47
- }
53
+ aggregate.skip(params.limit * (page - 1))
54
+ .limit(params.limit);
48
55
  }
49
- return aggregate
50
- // .allowDiskUse(true) // false化(2023-11-30~)
56
+ const orders = await aggregate
51
57
  .option({ maxTimeMS: settings_1.MONGO_MAX_TIME_MS })
52
58
  .exec();
59
+ // 予約取引を参照(2026-05-17~)
60
+ const offeredThroughIdentifier = orders.at(0)?.acceptedOffers[0].offeredThrough?.identifier;
61
+ const useReserveTransaction = offeredThroughIdentifier !== factory_1.factory.service.webAPI.Identifier.COA; // COAでは予約取引を参照しない
62
+ if (useReserveTransaction) {
63
+ const reservationNumbers = [...new Set(orders.map((order) => String(order.acceptedOffers[0].serialNumber)))];
64
+ let acceptedOffersByReserveTransaction = [];
65
+ if (reservationNumbers.length > 0) {
66
+ acceptedOffersByReserveTransaction = await this.findAcceptedOffersByReservationNumbers({ reservationNumbers }, options);
67
+ }
68
+ return orders.map((order) => {
69
+ const acceptedOffer = order.acceptedOffers[0];
70
+ const acceptedOfferByReserveTransaction = acceptedOffersByReserveTransaction.find(((offer) => offer.itemOffered.id === acceptedOffer.itemOffered.id));
71
+ // 予約は必ず存在するはず
72
+ if (acceptedOfferByReserveTransaction === undefined) {
73
+ console.error('repo:acceptedOffer: searchWithUnwoundAcceptedOffers: acceptedOfferByReserveTransaction: undefined!!!', acceptedOffer.itemOffered.id);
74
+ }
75
+ const priceSpecByReserveTransaction = acceptedOfferByReserveTransaction?.priceSpecification;
76
+ // 予約の価格は必ず存在するはず
77
+ if (priceSpecByReserveTransaction === undefined) {
78
+ console.error('repo:acceptedOffer: searchWithUnwoundAcceptedOffers: priceSpecByReserveTransaction: undefined!!!', acceptedOffer.itemOffered.id);
79
+ }
80
+ const itemOfferedByReserve = acceptedOfferByReserveTransaction?.itemOffered;
81
+ // itemOfferedByReserveは必ず存在するはず
82
+ if (itemOfferedByReserve === undefined) {
83
+ console.error('repo:acceptedOffer: searchWithUnwoundAcceptedOffers: itemOfferedByReserve: undefined!!!', acceptedOffer.itemOffered.id);
84
+ }
85
+ const nameByReserveTransaction = acceptedOfferByReserveTransaction?.name;
86
+ const { priceSpecification: _originalPriceSpec, // 注文ドキュメントのpriceSpecificationはもう採用しない(2026-05-21~)
87
+ name: _originalName, // 注文ドキュメントのnameはもう採用しない(2026-06-09~)
88
+ itemOffered, ...acceptedOfferWithoutPrice } = acceptedOffer;
89
+ return {
90
+ ...order,
91
+ acceptedOffers: [
92
+ {
93
+ ...acceptedOfferWithoutPrice,
94
+ ...((nameByReserveTransaction !== undefined) && { name: nameByReserveTransaction }), // 予約取引参照の値で上書き(2026-06-09~)
95
+ ...((priceSpecByReserveTransaction !== undefined) && { priceSpecification: priceSpecByReserveTransaction }), // 予約取引参照の値で上書き
96
+ ...(itemOfferedByReserve !== undefined)
97
+ ? { itemOffered: itemOfferedByReserve } // 予約取引参照の値で上書き(2026-05-25~)
98
+ : { itemOffered }
99
+ }
100
+ ]
101
+ };
102
+ });
103
+ }
104
+ else {
105
+ return orders;
106
+ }
53
107
  }
54
108
  async aggreateOwnershipInfosByOrder(filter) {
55
109
  const aggregate = this.orderModel.aggregate([
110
+ { $match: { orderNumber: { $eq: filter.orderNumber.$eq } } },
111
+ { $match: { typeOf: { $eq: factory_1.factory.order.OrderType.Order } } },
56
112
  {
57
113
  $unwind: {
58
114
  path: '$acceptedOffers',
59
115
  includeArrayIndex: 'acceptedOfferIndex'
60
116
  }
61
117
  },
62
- { $match: { orderNumber: { $eq: filter.orderNumber.$eq } } },
63
- { $match: { typeOf: { $eq: factory_1.factory.order.OrderType.Order } } },
64
118
  {
65
119
  $project: {
66
120
  _id: 0,
@@ -80,43 +134,27 @@ class AcceptedOfferRepo {
80
134
  }
81
135
  /**
82
136
  * 注文オファーを展開して検索する
137
+ * 注文番号指定で1注文ドキュメントから参照する想定
83
138
  */
84
- async searchAcceptedOffersByOrderNumber(filter, inclusion) {
85
- const matchStages = [
139
+ async searchAcceptedOffersByOrderNumber(filter, options) {
140
+ /**
141
+ * unwind前に1ドキュメントを特定するためのstage
142
+ */
143
+ const matchStagesOneDocument = [
86
144
  { $match: { orderNumber: { $eq: filter.orderNumber.$eq } } },
87
145
  { $match: { 'project.id': { $eq: filter.project.id.$eq } } },
88
146
  { $match: { typeOf: { $eq: factory_1.factory.order.OrderType.Order } } }
89
147
  ];
148
+ /**
149
+ * unwind後にオファー内容で絞るstage
150
+ */
151
+ const matchStages = [];
90
152
  const itemOfferedIdEq = filter.acceptedOffers?.itemOffered?.id?.$eq;
91
153
  if (typeof itemOfferedIdEq === 'string') {
92
154
  matchStages.push({ $match: { 'acceptedOffers.itemOffered.id': { $exists: true, $eq: itemOfferedIdEq } } });
93
155
  }
94
- const itemOfferedTypeOfIn = filter.acceptedOffers?.itemOffered?.typeOf?.$in;
95
- if (Array.isArray(itemOfferedTypeOfIn)) {
96
- matchStages.push({
97
- $match: { 'acceptedOffers.itemOffered.typeOf': { $exists: true, $in: itemOfferedTypeOfIn } }
98
- });
99
- }
100
- const resevationForIdIn = filter.acceptedOffers?.itemOffered?.reservationFor?.id?.$in;
101
- if (Array.isArray(resevationForIdIn)) {
102
- matchStages.push({
103
- $match: {
104
- 'acceptedOffers.itemOffered.reservationFor.id': { $exists: true, $in: resevationForIdIn }
105
- }
106
- });
107
- }
108
- const ticketedSeatNumberIn = filter.acceptedOffers?.itemOffered?.reservedTicket?.ticketedSeat?.seatNumber?.$in;
109
- if (Array.isArray(ticketedSeatNumberIn)) {
110
- matchStages.push({
111
- $match: {
112
- 'acceptedOffers.itemOffered.reservedTicket.ticketedSeat.seatNumber': { $exists: true, $in: ticketedSeatNumberIn }
113
- }
114
- });
115
- }
116
156
  const aggregate = this.orderModel.aggregate([
117
- // if (typeof params.sort?.orderDate === 'number') {
118
- // aggregate.sort({ orderDate: params.sort.orderDate });
119
- // }
157
+ ...matchStagesOneDocument,
120
158
  {
121
159
  $unwind: {
122
160
  path: '$acceptedOffers'
@@ -125,35 +163,27 @@ class AcceptedOfferRepo {
125
163
  },
126
164
  ...matchStages
127
165
  ]);
128
- if (Array.isArray(inclusion) && inclusion.length > 0) {
129
- const specifiedProjection = {
130
- _id: 0
131
- };
132
- inclusion.forEach((key) => {
133
- specifiedProjection[key] = `$acceptedOffers.${key}`;
134
- });
135
- aggregate.project(specifiedProjection);
136
- }
137
- else {
138
- aggregate.project({
139
- _id: 0,
140
- itemOffered: '$acceptedOffers.itemOffered',
141
- priceSpecification: '$acceptedOffers.priceSpecification',
142
- typeOf: '$acceptedOffers.typeOf',
143
- id: '$acceptedOffers.id',
144
- offeredThrough: '$acceptedOffers.offeredThrough',
145
- name: '$acceptedOffers.name',
146
- serialNumber: '$acceptedOffers.serialNumber'
147
- });
148
- }
166
+ aggregate.project({
167
+ _id: 0,
168
+ itemOffered: '$acceptedOffers.itemOffered',
169
+ priceSpecification: '$acceptedOffers.priceSpecification',
170
+ typeOf: '$acceptedOffers.typeOf',
171
+ id: '$acceptedOffers.id',
172
+ offeredThrough: '$acceptedOffers.offeredThrough',
173
+ // name: '$acceptedOffers.name', // 名称はaddAcceptedOffersDetailsメソッドにて予約取引から参照される(2026-06-09~)
174
+ serialNumber: '$acceptedOffers.serialNumber'
175
+ });
149
176
  if (typeof filter.limit === 'number' && filter.limit > 0) {
150
177
  const page = (typeof filter.page === 'number' && filter.page > 0) ? filter.page : 1;
151
- aggregate.limit(filter.limit * page)
152
- .skip(filter.limit * (page - 1));
178
+ // support skip -> limit(2026-05-12~)
179
+ aggregate.skip(filter.limit * (page - 1))
180
+ .limit(filter.limit);
153
181
  }
154
- return aggregate
182
+ const acceptedOffers = await aggregate
155
183
  .option({ maxTimeMS: settings_1.MONGO_MAX_TIME_MS })
156
184
  .exec();
185
+ // 予約取引を参照(2026-05-18~)
186
+ return this.addAcceptedOffersDetails(acceptedOffers, options);
157
187
  }
158
188
  /**
159
189
  * 注文オファーをsliceして検索する(2024-01-10~)
@@ -177,7 +207,12 @@ class AcceptedOfferRepo {
177
207
  if (result === undefined) {
178
208
  throw new factory_1.factory.errors.NotFound(factory_1.factory.order.OrderType.Order);
179
209
  }
180
- return result;
210
+ const { acceptedOffers, numAcceptedOffers } = result;
211
+ // 予約取引を参照(2026-05-18~)
212
+ return {
213
+ acceptedOffers: await this.addAcceptedOffersDetails(acceptedOffers, { noName: true }),
214
+ numAcceptedOffers
215
+ };
181
216
  }
182
217
  async countByOrderNumber(filter) {
183
218
  const aggregate = this.orderModel.aggregate([
@@ -0,0 +1,34 @@
1
+ import type { Connection } from 'mongoose';
2
+ import { factory } from '../factory';
3
+ import { IModel } from './mongoose/schemas/assetTransaction';
4
+ import { IAcceptedOfferByReserveTransaction } from './factory/acceptedOffer/reserveTransaction2itemOffered';
5
+ export type IAcceptedOffer = Pick<factory.order.IAcceptedOffer, 'id' | 'itemOffered' | 'offeredThrough' | 'serialNumber' | 'typeOf' | 'name'> & {
6
+ /**
7
+ * COA以外では注文ドキュメントにpriceSpecificationが存在しないのでIFを補完
8
+ */
9
+ priceSpecification?: factory.order.ITicketPriceSpecification;
10
+ };
11
+ /**
12
+ * 予約取引に依存した注文オファーリポジトリ
13
+ */
14
+ export declare class AcceptedOfferInReserveRepo {
15
+ protected readonly reserveTransactionModel: IModel;
16
+ constructor(connection: Connection);
17
+ /**
18
+ * 予約番号指定で予約取引から注文オファーを生成する
19
+ */
20
+ protected findAcceptedOffersByReservationNumbers(params: {
21
+ /**
22
+ * 予約番号リスト
23
+ */
24
+ reservationNumbers: string[];
25
+ }, options: {
26
+ noName: boolean;
27
+ }): Promise<IAcceptedOfferByReserveTransaction[]>;
28
+ /**
29
+ * 予約取引からオファー詳細情報を付加する
30
+ */
31
+ protected addAcceptedOffersDetails(acceptedOffers: IAcceptedOffer[], options: {
32
+ noName: boolean;
33
+ }): Promise<IAcceptedOffer[]>;
34
+ }
@@ -0,0 +1,86 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.AcceptedOfferInReserveRepo = void 0;
7
+ const debug_1 = __importDefault(require("debug"));
8
+ const factory_1 = require("../factory");
9
+ const assetTransaction_1 = require("./mongoose/schemas/assetTransaction");
10
+ const reserveTransaction2itemOffered_1 = require("./factory/acceptedOffer/reserveTransaction2itemOffered");
11
+ const debug = (0, debug_1.default)('chevre-domain:repo:acceptedOffer');
12
+ /**
13
+ * 予約取引に依存した注文オファーリポジトリ
14
+ */
15
+ class AcceptedOfferInReserveRepo {
16
+ reserveTransactionModel;
17
+ constructor(connection) {
18
+ this.reserveTransactionModel = connection.model(assetTransaction_1.modelName, (0, assetTransaction_1.createSchema)());
19
+ }
20
+ /**
21
+ * 予約番号指定で予約取引から注文オファーを生成する
22
+ */
23
+ async findAcceptedOffersByReservationNumbers(params, options) {
24
+ const { reservationNumbers } = params;
25
+ if (!Array.isArray(reservationNumbers) || reservationNumbers.length === 0) {
26
+ throw new factory_1.factory.errors.ArgumentNull('reservationNumbers');
27
+ }
28
+ const reserveTransactions = await this.reserveTransactionModel.find({
29
+ transactionNumber: { $in: reservationNumbers },
30
+ typeOf: { $eq: factory_1.factory.assetTransactionType.Reserve }
31
+ }, {
32
+ object: 1
33
+ })
34
+ .lean()
35
+ .exec();
36
+ debug('findSubReservationsByReservationNumbers: reservationNumbers.length === reserveTransactions.length?', reservationNumbers.length === reserveTransactions.length);
37
+ return reserveTransactions.reduce((a, b) => {
38
+ return [...a, ...(0, reserveTransaction2itemOffered_1.reserveTransaction2itemOffered)(b, options)];
39
+ }, []);
40
+ }
41
+ /**
42
+ * 予約取引からオファー詳細情報を付加する
43
+ */
44
+ async addAcceptedOffersDetails(acceptedOffers, options) {
45
+ const offeredThroughIdentifier = acceptedOffers.at(0)?.offeredThrough?.identifier;
46
+ if (offeredThroughIdentifier === factory_1.factory.service.webAPI.Identifier.COA) {
47
+ // COAでは予約取引を参照しない
48
+ return acceptedOffers;
49
+ }
50
+ const reservationNumbers = [...new Set(acceptedOffers.map((acceptedOffer) => String(acceptedOffer.serialNumber)))];
51
+ let acceptedOffersByReserveTransaction = [];
52
+ if (reservationNumbers.length > 0) {
53
+ acceptedOffersByReserveTransaction = await this.findAcceptedOffersByReservationNumbers({ reservationNumbers }, options);
54
+ }
55
+ return acceptedOffers.map((acceptedOffer) => {
56
+ const acceptedOfferByReserveTransaction = acceptedOffersByReserveTransaction.find(((offer) => offer.itemOffered.id === acceptedOffer.itemOffered.id));
57
+ // 予約は必ず存在するはず
58
+ if (acceptedOfferByReserveTransaction === undefined) {
59
+ console.error('repo:acceptedOffer: addAcceptedOffersDetails: acceptedOfferByReserveTransaction: undefined!!!', acceptedOffer.itemOffered.id);
60
+ }
61
+ const priceSpecByReserveTransaction = acceptedOfferByReserveTransaction?.priceSpecification;
62
+ // 予約の価格は必ず存在するはず
63
+ if (priceSpecByReserveTransaction === undefined) {
64
+ console.error('repo:acceptedOffer: addAcceptedOffersDetails: priceSpecByReserveTransaction: undefined!!!', acceptedOffer.itemOffered.id);
65
+ }
66
+ const itemOfferedByReserve = acceptedOfferByReserveTransaction?.itemOffered;
67
+ // itemOfferedByReserveは必ず存在するはず
68
+ if (itemOfferedByReserve === undefined) {
69
+ console.error('repo:acceptedOffer: addAcceptedOffersDetails: itemOfferedByReserve: undefined!!!', acceptedOffer.itemOffered.id);
70
+ }
71
+ const nameByReserveTransaction = acceptedOfferByReserveTransaction?.name;
72
+ const { priceSpecification: _originalPriceSpec, // 注文ドキュメントのpriceSpecificationはもう採用しない(2026-05-21~)
73
+ name: _originalName, // 注文ドキュメントのnameはもう採用しない(2026-06-09~)
74
+ itemOffered, ...acceptedOfferWithoutPrice } = acceptedOffer;
75
+ return {
76
+ ...acceptedOfferWithoutPrice,
77
+ ...((nameByReserveTransaction !== undefined) && { name: nameByReserveTransaction }), // 予約取引参照の値で上書き(2026-06-09~)
78
+ ...((priceSpecByReserveTransaction !== undefined) && { priceSpecification: priceSpecByReserveTransaction }), // 予約取引参照の値で上書き
79
+ ...(itemOfferedByReserve !== undefined)
80
+ ? { itemOffered: itemOfferedByReserve } // 予約取引参照の値で上書き
81
+ : { itemOffered }
82
+ };
83
+ });
84
+ }
85
+ }
86
+ exports.AcceptedOfferInReserveRepo = AcceptedOfferInReserveRepo;
@@ -48,30 +48,6 @@ class AccountingReportRepo {
48
48
  $match: { 'mainEntity.orderDate': { $lte: orderDateLte } }
49
49
  });
50
50
  }
51
- // discontinue(2026-05-01~)
52
- // const reservationForStartDateGte = params.order?.acceptedOffers?.itemOffered?.reservationFor?.startDate?.$gte;
53
- // if (reservationForStartDateGte instanceof Date) {
54
- // matchStages.push({
55
- // $match: {
56
- // 'mainEntity.acceptedOffers.itemOffered.reservationFor.startDate': {
57
- // $exists: true,
58
- // $gte: reservationForStartDateGte
59
- // }
60
- // }
61
- // });
62
- // }
63
- // discontinue(2026-05-01~)
64
- // const reservationForStartDateLte = params.order?.acceptedOffers?.itemOffered?.reservationFor?.startDate?.$lte;
65
- // if (reservationForStartDateLte instanceof Date) {
66
- // matchStages.push({
67
- // $match: {
68
- // 'mainEntity.acceptedOffers.itemOffered.reservationFor.startDate': {
69
- // $exists: true,
70
- // $lte: reservationForStartDateLte
71
- // }
72
- // }
73
- // });
74
- // }
75
51
  return matchStages;
76
52
  }
77
53
  async syncMainEntity(params) {
@@ -138,15 +114,14 @@ class AccountingReportRepo {
138
114
  }
139
115
  async findAccountingReports(params) {
140
116
  const { limit, page } = params;
141
- const unwindAcceptedOffers = params.$unwindAcceptedOffers === '1';
142
117
  const matchStages = AccountingReportRepo.CREATE_MONGO_CONDITIONS(params);
143
118
  const aggregate = this.accountingReportModel.aggregate([
119
+ ...matchStages,
144
120
  // pipelineの順序に注意
145
121
  // @see https://docs.mongodb.com/manual/reference/operator/aggregation/sort/
146
122
  { $sort: { 'mainEntity.orderDate': factory_1.factory.sortType.Descending } },
147
123
  { $unwind: '$hasPart' },
148
- ...(unwindAcceptedOffers) ? [{ $unwind: '$mainEntity.acceptedOffers' }] : [],
149
- ...matchStages,
124
+ // hasPart内に対する検索条件は存在しないため、unwind後のmatchは不要
150
125
  {
151
126
  $project: {
152
127
  _id: 0,
@@ -158,11 +133,8 @@ class AccountingReportRepo {
158
133
  }
159
134
  ]);
160
135
  return aggregate
161
- // .limit(limit * page)
162
- // .skip(limit * (page - 1))
163
136
  .skip(limit * (page - 1))
164
137
  .limit(limit)
165
- // .setOptions({ maxTimeMS: 10000 })
166
138
  .exec();
167
139
  }
168
140
  async unsetUnnecessaryFields(params) {
@@ -30,7 +30,7 @@ export type IRecipeAsActionAttributes<T extends factory.recipe.RecipeCategory> =
30
30
  export type IMinimizedPurchaseNumberAuthResult = Pick<factory.action.check.paymentMethod.movieTicket.IPurchaseNumberAuthResult, 'mkknmiNumSum' | 'resultInfo' | 'ykknmiNumSum'> & {
31
31
  knyknrNoInfoOut: Omit<factory.action.check.paymentMethod.movieTicket.IPurchaseNumberInfo, 'ykknInfo' | 'mkknInfo'>[] | null;
32
32
  };
33
- export type IKeyOfProjection = keyof IAction<factory.actionType> | keyof IAction<factory.actionType.AuthorizeAction> | keyof IAction<factory.actionType.MoneyTransfer> | keyof IAction<factory.actionType.ReplaceAction> | 'identifier';
33
+ export type IKeyOfProjection = keyof IAction<factory.actionType> | keyof IAction<factory.actionType.AuthorizeAction> | keyof IAction<factory.actionType.ReplaceAction> | 'identifier';
34
34
  export declare const AVAILABLE_PROJECT_FIELDS: IKeyOfProjection[];
35
35
  /**
36
36
  * アクション状態管理リポジトリ
@@ -1,8 +1,7 @@
1
1
  import type { Connection } from 'mongoose';
2
2
  import { factory } from '../../factory';
3
3
  type ISubReservationAsFindResult = Pick<factory.reservation.eventReservation.IReservation, 'underName' | 'id'> & {
4
- price?: factory.reservation.eventReservation.IPrice;
5
- reservedTicket?: Pick<factory.reservation.eventReservation.IReservedTicket, 'ticketType'>;
4
+ reservedTicket?: Pick<factory.assetTransaction.reserve.ISubReservationReservedTicket, 'ticketType'>;
6
5
  reservationFor?: factory.assetTransaction.reserve.IReservationFor;
7
6
  };
8
7
  /**