@chevre/domain 22.6.0-alpha.9 → 22.6.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 (210) hide show
  1. package/example/src/chevre/aggregateAllEvents2.ts +0 -19
  2. package/example/src/chevre/createEventBySchedule.ts +53 -0
  3. package/example/src/chevre/findSchedule.ts +4 -0
  4. package/example/src/chevre/findSetting.ts +75 -0
  5. package/example/src/chevre/projectEventFieldsById.ts +23 -0
  6. package/example/src/chevre/reIndex.ts +20 -0
  7. package/example/src/chevre/retryTasks.ts +6 -4
  8. package/example/src/chevre/searchAuthorizations.ts +35 -0
  9. package/example/src/chevre/unsetUnnecessaryFields.ts +34 -16
  10. package/lib/chevre/credentials.js +0 -13
  11. package/lib/chevre/emailMessageBuilder.d.ts +5 -5
  12. package/lib/chevre/emailMessageBuilder.js +20 -8
  13. package/lib/chevre/repo/action.d.ts +7 -1
  14. package/lib/chevre/repo/authorization.js +5 -1
  15. package/lib/chevre/repo/credentials.d.ts +19 -0
  16. package/lib/chevre/repo/credentials.js +70 -0
  17. package/lib/chevre/repo/event.d.ts +0 -5
  18. package/lib/chevre/repo/event.js +0 -26
  19. package/lib/chevre/repo/interface.d.ts +25 -0
  20. package/lib/chevre/repo/interface.js +62 -0
  21. package/lib/chevre/repo/mongoose/schemas/aggregateOffer.js +5 -21
  22. package/lib/chevre/repo/mongoose/schemas/authorization.js +9 -0
  23. package/lib/chevre/repo/mongoose/schemas/categoryCode.js +36 -11
  24. package/lib/chevre/repo/mongoose/schemas/civicStructure.js +9 -1
  25. package/lib/chevre/repo/mongoose/schemas/creativeWork.js +9 -1
  26. package/lib/chevre/repo/mongoose/schemas/interface.d.ts +11 -0
  27. package/lib/chevre/repo/mongoose/schemas/interface.js +55 -0
  28. package/lib/chevre/repo/mongoose/schemas/offerCatalog.d.ts +1 -1
  29. package/lib/chevre/repo/mongoose/schemas/offerCatalog.js +29 -25
  30. package/lib/chevre/repo/mongoose/schemas/offerCatalogItem.d.ts +1 -1
  31. package/lib/chevre/repo/mongoose/schemas/offerCatalogItem.js +21 -15
  32. package/lib/chevre/repo/mongoose/schemas/place.js +1 -1
  33. package/lib/chevre/repo/mongoose/schemas/reservation.d.ts +1 -1
  34. package/lib/chevre/repo/mongoose/schemas/reservation.js +25 -19
  35. package/lib/chevre/repo/mongoose/schemas/schedule.d.ts +1 -1
  36. package/lib/chevre/repo/mongoose/schemas/setting.d.ts +41 -0
  37. package/lib/chevre/repo/mongoose/schemas/setting.js +61 -0
  38. package/lib/chevre/repo/offerCatalog.d.ts +5 -1
  39. package/lib/chevre/repo/offerCatalog.js +6 -0
  40. package/lib/chevre/repo/offerCatalogItem.d.ts +5 -1
  41. package/lib/chevre/repo/offerCatalogItem.js +6 -0
  42. package/lib/chevre/repo/place/movieTheater.d.ts +0 -6
  43. package/lib/chevre/repo/place/movieTheater.js +0 -14
  44. package/lib/chevre/repo/reservation.d.ts +2 -1
  45. package/lib/chevre/repo/reservation.js +13 -3
  46. package/lib/chevre/repo/schedule.d.ts +9 -2
  47. package/lib/chevre/repo/schedule.js +19 -6
  48. package/lib/chevre/repo/setting.d.ts +50 -0
  49. package/lib/chevre/repo/setting.js +60 -0
  50. package/lib/chevre/repository.d.ts +15 -0
  51. package/lib/chevre/repository.js +41 -2
  52. package/lib/chevre/service/aggregation/event/aggregateOffers.js +44 -29
  53. package/lib/chevre/service/aggregation/event/aggregateScreeningEvent.js +10 -4
  54. package/lib/chevre/service/aggregation/event/aggregateUseActionsOnEvent.js +17 -9
  55. package/lib/chevre/service/assetTransaction/pay.d.ts +6 -1
  56. package/lib/chevre/service/assetTransaction/pay.js +9 -4
  57. package/lib/chevre/service/assetTransaction/reserve/cancel.d.ts +2 -0
  58. package/lib/chevre/service/assetTransaction/reserve/cancel.js +4 -2
  59. package/lib/chevre/service/assetTransaction/reserve/confirm.d.ts +2 -0
  60. package/lib/chevre/service/assetTransaction/reserve/confirm.js +11 -11
  61. package/lib/chevre/service/assetTransaction/reserve/exportTasksById.js +31 -39
  62. package/lib/chevre/service/assetTransaction/reserve/start/factory/createReservation.d.ts +7 -3
  63. package/lib/chevre/service/assetTransaction/reserve/start/factory/createReservation.js +3 -1
  64. package/lib/chevre/service/assetTransaction/reserve/start.d.ts +2 -0
  65. package/lib/chevre/service/assetTransaction/reserve/start.js +6 -4
  66. package/lib/chevre/service/event.d.ts +3 -2
  67. package/lib/chevre/service/event.js +7 -7
  68. package/lib/chevre/service/offer/event/authorize/processStartReserve4chevre.d.ts +2 -0
  69. package/lib/chevre/service/offer/event/authorize.d.ts +2 -0
  70. package/lib/chevre/service/offer/event/voidTransaction/processVoidTransaction4chevre.d.ts +2 -0
  71. package/lib/chevre/service/offer/event/voidTransaction.d.ts +2 -0
  72. package/lib/chevre/service/offer/event/voidTransactionByActionId.d.ts +2 -0
  73. package/lib/chevre/service/offer/onEventChanged.d.ts +3 -2
  74. package/lib/chevre/service/offer/onEventChanged.js +22 -11
  75. package/lib/chevre/service/order/onAssetTransactionStatusChanged.d.ts +3 -0
  76. package/lib/chevre/service/order/onAssetTransactionStatusChanged.js +1 -1
  77. package/lib/chevre/service/order/onOrderStatusChanged/onOrderDelivered/factory.d.ts +2 -2
  78. package/lib/chevre/service/order/onOrderStatusChanged/onOrderDelivered/factory.js +5 -2
  79. package/lib/chevre/service/order/onOrderStatusChanged/onOrderDelivered.d.ts +3 -2
  80. package/lib/chevre/service/order/onOrderStatusChanged/onOrderDelivered.js +6 -2
  81. package/lib/chevre/service/order/onOrderStatusChanged/onOrderDeliveredPartially/factory.d.ts +2 -2
  82. package/lib/chevre/service/order/onOrderStatusChanged/onOrderDeliveredPartially/factory.js +5 -2
  83. package/lib/chevre/service/order/onOrderStatusChanged/onOrderDeliveredPartially.d.ts +3 -2
  84. package/lib/chevre/service/order/onOrderStatusChanged/onOrderDeliveredPartially.js +6 -2
  85. package/lib/chevre/service/order/onOrderStatusChanged/onOrderProcessing/factory.d.ts +2 -2
  86. package/lib/chevre/service/order/onOrderStatusChanged/onOrderProcessing/factory.js +5 -2
  87. package/lib/chevre/service/order/onOrderStatusChanged/onOrderProcessing.d.ts +2 -0
  88. package/lib/chevre/service/order/onOrderStatusChanged/onOrderProcessing.js +2 -1
  89. package/lib/chevre/service/order/onOrderStatusChanged/onOrderReturned/factory.d.ts +2 -2
  90. package/lib/chevre/service/order/onOrderStatusChanged/onOrderReturned/factory.js +5 -2
  91. package/lib/chevre/service/order/onOrderStatusChanged/onOrderReturned.d.ts +3 -2
  92. package/lib/chevre/service/order/onOrderStatusChanged/onOrderReturned.js +6 -2
  93. package/lib/chevre/service/order/onOrderUpdated/factory.d.ts +2 -2
  94. package/lib/chevre/service/order/onOrderUpdated/factory.js +5 -2
  95. package/lib/chevre/service/order/onOrderUpdated.d.ts +3 -2
  96. package/lib/chevre/service/order/onOrderUpdated.js +8 -2
  97. package/lib/chevre/service/order/payOrder.d.ts +2 -0
  98. package/lib/chevre/service/order/placeOrder.d.ts +2 -0
  99. package/lib/chevre/service/order/returnOrder.d.ts +3 -2
  100. package/lib/chevre/service/order/returnOrder.js +7 -5
  101. package/lib/chevre/service/order/sendOrder.d.ts +2 -0
  102. package/lib/chevre/service/order/sendOrder.js +5 -3
  103. package/lib/chevre/service/payment/any/onRefund.js +30 -17
  104. package/lib/chevre/service/payment/any/person2username.d.ts +2 -2
  105. package/lib/chevre/service/payment/any/person2username.js +10 -2
  106. package/lib/chevre/service/payment/any/verifyTicketTokenAsNeeded.d.ts +2 -1
  107. package/lib/chevre/service/payment/any/verifyTicketTokenAsNeeded.js +26 -17
  108. package/lib/chevre/service/payment/any.d.ts +5 -1
  109. package/lib/chevre/service/payment/any.js +31 -12
  110. package/lib/chevre/service/payment/movieTicket/authorize.d.ts +6 -1
  111. package/lib/chevre/service/payment/movieTicket/authorize.js +4 -2
  112. package/lib/chevre/service/payment/movieTicket/checkMovieTicket.d.ts +2 -0
  113. package/lib/chevre/service/payment/movieTicket/checkMovieTicket.js +9 -12
  114. package/lib/chevre/service/payment/movieTicket/factory.js +12 -16
  115. package/lib/chevre/service/payment/movieTicket/payMovieTicket.d.ts +2 -0
  116. package/lib/chevre/service/payment/movieTicket/payMovieTicket.js +2 -1
  117. package/lib/chevre/service/payment/movieTicket/processPurchaseNumberAuth.d.ts +2 -0
  118. package/lib/chevre/service/payment/movieTicket/processPurchaseNumberAuth.js +2 -1
  119. package/lib/chevre/service/payment/movieTicket/refundMovieTicket.d.ts +2 -0
  120. package/lib/chevre/service/payment/movieTicket/refundMovieTicket.js +2 -1
  121. package/lib/chevre/service/payment/movieTicket/validation.d.ts +5 -1
  122. package/lib/chevre/service/payment/movieTicket/validation.js +47 -40
  123. package/lib/chevre/service/payment/movieTicket/voidTransaction.d.ts +2 -0
  124. package/lib/chevre/service/payment.d.ts +13 -4
  125. package/lib/chevre/service/payment.js +15 -11
  126. package/lib/chevre/service/reserve/cancelReservation.d.ts +5 -3
  127. package/lib/chevre/service/reserve/cancelReservation.js +8 -4
  128. package/lib/chevre/service/reserve/checkInReservation.d.ts +3 -2
  129. package/lib/chevre/service/reserve/checkInReservation.js +18 -21
  130. package/lib/chevre/service/reserve/confirmReservation.d.ts +3 -2
  131. package/lib/chevre/service/reserve/confirmReservation.js +4 -2
  132. package/lib/chevre/service/reserve/potentialActions/onPendingReservationCanceled.d.ts +3 -2
  133. package/lib/chevre/service/reserve/potentialActions/onPendingReservationCanceled.js +8 -2
  134. package/lib/chevre/service/reserve/potentialActions/onReservationCanceled.d.ts +3 -2
  135. package/lib/chevre/service/reserve/potentialActions/onReservationCanceled.js +8 -2
  136. package/lib/chevre/service/reserve/potentialActions/onReservationCheckedIn.d.ts +6 -3
  137. package/lib/chevre/service/reserve/potentialActions/onReservationCheckedIn.js +10 -9
  138. package/lib/chevre/service/reserve/potentialActions/onReservationConfirmed.d.ts +3 -2
  139. package/lib/chevre/service/reserve/potentialActions/onReservationConfirmed.js +8 -2
  140. package/lib/chevre/service/reserve/potentialActions/onReservationUsed.d.ts +7 -3
  141. package/lib/chevre/service/reserve/potentialActions/onReservationUsed.js +28 -13
  142. package/lib/chevre/service/reserve/potentialActions/onReservationsCreated.d.ts +3 -2
  143. package/lib/chevre/service/reserve/potentialActions/onReservationsCreated.js +8 -2
  144. package/lib/chevre/service/reserve/useReservation.d.ts +3 -2
  145. package/lib/chevre/service/reserve/useReservation.js +11 -7
  146. package/lib/chevre/service/task/acceptCOAOffer.d.ts +1 -1
  147. package/lib/chevre/service/task/acceptCOAOffer.js +27 -4
  148. package/lib/chevre/service/task/authorizePayment.js +9 -0
  149. package/lib/chevre/service/task/cancelPendingReservation.js +12 -14
  150. package/lib/chevre/service/task/cancelReservation.js +12 -14
  151. package/lib/chevre/service/task/checkMovieTicket.js +12 -3
  152. package/lib/chevre/service/task/confirmReserveTransaction.d.ts +3 -1
  153. package/lib/chevre/service/task/confirmReserveTransaction.js +22 -6
  154. package/lib/chevre/service/task/createEvent/createEvent.d.ts +3 -2
  155. package/lib/chevre/service/task/createEvent/createEvent.js +5 -2
  156. package/lib/chevre/service/task/createEvent/createEventBySchedule.d.ts +3 -2
  157. package/lib/chevre/service/task/createEvent/createEventBySchedule.js +185 -94
  158. package/lib/chevre/service/task/createEvent.js +6 -2
  159. package/lib/chevre/service/task/deletePerson.js +28 -10
  160. package/lib/chevre/service/task/importEventCapacitiesFromCOA.d.ts +2 -2
  161. package/lib/chevre/service/task/importEventCapacitiesFromCOA.js +14 -5
  162. package/lib/chevre/service/task/importEventsFromCOA.d.ts +2 -2
  163. package/lib/chevre/service/task/importEventsFromCOA.js +14 -5
  164. package/lib/chevre/service/task/importOffersFromCOA.d.ts +2 -2
  165. package/lib/chevre/service/task/importOffersFromCOA.js +15 -6
  166. package/lib/chevre/service/task/onAssetTransactionStatusChanged.js +2 -0
  167. package/lib/chevre/service/task/onAuthorizationCreated.js +13 -12
  168. package/lib/chevre/service/task/onEventChanged.js +6 -2
  169. package/lib/chevre/service/task/onOrderPaymentCompleted.js +2 -0
  170. package/lib/chevre/service/task/onResourceUpdated/onAggregateOfferUpdated.d.ts +3 -3
  171. package/lib/chevre/service/task/onResourceUpdated/onAggregateOfferUpdated.js +7 -3
  172. package/lib/chevre/service/task/onResourceUpdated/onHasPOSUpdated.d.ts +3 -2
  173. package/lib/chevre/service/task/onResourceUpdated/onHasPOSUpdated.js +8 -3
  174. package/lib/chevre/service/task/onResourceUpdated/onOfferCatalogUpdated.d.ts +4 -3
  175. package/lib/chevre/service/task/onResourceUpdated/onOfferCatalogUpdated.js +7 -3
  176. package/lib/chevre/service/task/onResourceUpdated/onResourceDeleted.d.ts +3 -2
  177. package/lib/chevre/service/task/onResourceUpdated/onResourceDeleted.js +7 -3
  178. package/lib/chevre/service/task/onResourceUpdated.js +61 -33
  179. package/lib/chevre/service/task/pay.js +27 -2
  180. package/lib/chevre/service/task/placeOrder.js +2 -0
  181. package/lib/chevre/service/task/refund.js +10 -0
  182. package/lib/chevre/service/task/reserve.js +6 -2
  183. package/lib/chevre/service/task/returnOrder.js +6 -2
  184. package/lib/chevre/service/task/returnReserveTransaction.d.ts +1 -1
  185. package/lib/chevre/service/task/returnReserveTransaction.js +21 -7
  186. package/lib/chevre/service/task/sendOrder.js +2 -0
  187. package/lib/chevre/service/task/useReservation.js +6 -2
  188. package/lib/chevre/service/task/voidPayment.js +14 -1
  189. package/lib/chevre/service/task/voidReserveTransaction.d.ts +1 -1
  190. package/lib/chevre/service/task/voidReserveTransaction.js +21 -6
  191. package/lib/chevre/service/task.d.ts +0 -5
  192. package/lib/chevre/service/task.js +6 -0
  193. package/lib/chevre/service/transaction/placeOrder/confirm/potentialActions/sendEmailMessage.d.ts +2 -2
  194. package/lib/chevre/service/transaction/placeOrder/confirm/potentialActions/sendEmailMessage.js +5 -2
  195. package/lib/chevre/service/transaction/placeOrder/confirm/potentialActions.d.ts +2 -2
  196. package/lib/chevre/service/transaction/placeOrder/confirm/potentialActions.js +5 -2
  197. package/lib/chevre/service/transaction/placeOrder/confirm.d.ts +3 -2
  198. package/lib/chevre/service/transaction/placeOrder/confirm.js +11 -2
  199. package/lib/chevre/service/transaction/returnOrder/potentialActions/returnPaymentMethod.d.ts +2 -2
  200. package/lib/chevre/service/transaction/returnOrder/potentialActions/returnPaymentMethod.js +14 -7
  201. package/lib/chevre/service/transaction/returnOrder/potentialActions/sendEmailMessage.d.ts +2 -2
  202. package/lib/chevre/service/transaction/returnOrder/potentialActions/sendEmailMessage.js +4 -2
  203. package/lib/chevre/service/transaction/returnOrder/potentialActions.d.ts +2 -2
  204. package/lib/chevre/service/transaction/returnOrder/potentialActions.js +6 -3
  205. package/lib/chevre/service/transaction/returnOrder.d.ts +3 -1
  206. package/lib/chevre/service/transaction/returnOrder.js +10 -2
  207. package/lib/chevre/settings.d.ts +20 -66
  208. package/lib/chevre/settings.js +21 -10
  209. package/package.json +5 -5
  210. package/example/src/chevre/searchAssetTransactions.ts +0 -38
@@ -15,7 +15,9 @@ const factory = require("../../../factory");
15
15
  const taskIdentifier_1 = require("../../../factory/taskIdentifier");
16
16
  const processPurchaseNumberAuth_1 = require("./processPurchaseNumberAuth");
17
17
  const debug = createDebug('chevre-domain:service:payment');
18
- function validateMovieTicket(params, paymentServiceId, useCheckByIdentifierIfNotYet, purpose) {
18
+ function validateMovieTicket(params, paymentServiceId,
19
+ // useCheckByIdentifierIfNotYet: boolean,
20
+ checkedAction, purpose) {
19
21
  // tslint:disable-next-line:max-func-body-length
20
22
  return (repos, settings) => __awaiter(this, void 0, void 0, function* () {
21
23
  var _a, _b, _c;
@@ -81,7 +83,8 @@ function validateMovieTicket(params, paymentServiceId, useCheckByIdentifierIfNot
81
83
  seller: { id: sellerId },
82
84
  screeningEvent: screeningEvent,
83
85
  paymentServiceId,
84
- useCheckByIdentifierIfNotYet,
86
+ // useCheckByIdentifierIfNotYet,
87
+ checkedAction,
85
88
  purpose
86
89
  })(repos, settings);
87
90
  const accountsReceivablesByServiceType = [];
@@ -113,34 +116,40 @@ function validateMovieTicket(params, paymentServiceId, useCheckByIdentifierIfNot
113
116
  exports.validateMovieTicket = validateMovieTicket;
114
117
  function checkByIdentifierIfNotYet(params) {
115
118
  return (repos, settings) => __awaiter(this, void 0, void 0, function* () {
116
- var _a, _b;
119
+ var _a, _b, _c;
117
120
  let checkResult;
118
- if (params.useCheckByIdentifierIfNotYet === true) {
119
- // すでにCheckActionが存在すれば認証しない(2023-06-06~)
120
- let alreadyCheckedAction;
121
- // search from checkMovieTicketTask(2024-06-26~)
122
- const placeOrderId = params.purpose.id;
123
- if (typeof placeOrderId === 'string') {
124
- if (settings.useExperimentalFeature) {
125
- const taskIdentifier = (0, taskIdentifier_1.createCheckMovieTicketTaskIdentifier)({
126
- project: { id: params.screeningEvent.project.id },
127
- purpose: { id: placeOrderId },
128
- object: {
129
- id: params.paymentServiceId,
130
- movieTicket: {
131
- identifier: params.movieTicketIdentifier,
132
- serviceOutput: { reservationFor: { id: params.screeningEvent.id } }
133
- }
121
+ let alreadyCheckedAction; // すでにCheckActionが存在すれば認証しない(2023-06-06~)
122
+ // search from checkMovieTicketTask(2024-06-26~)
123
+ const placeOrderId = params.purpose.id;
124
+ if (typeof placeOrderId === 'string') {
125
+ if (settings.useExperimentalFeature) {
126
+ const taskIdentifier = (0, taskIdentifier_1.createCheckMovieTicketTaskIdentifier)({
127
+ project: { id: params.screeningEvent.project.id },
128
+ purpose: { id: placeOrderId },
129
+ object: {
130
+ id: params.paymentServiceId,
131
+ movieTicket: {
132
+ identifier: params.movieTicketIdentifier,
133
+ serviceOutput: { reservationFor: { id: params.screeningEvent.id } }
134
134
  }
135
- });
136
- const existingCheckMovieTicketTask = yield repos.task.findByIdentifier({
137
- project: { id: params.screeningEvent.project.id },
138
- name: factory.taskName.CheckMovieTicket,
139
- identifier: taskIdentifier
140
- });
141
- debug('existingCheckMovieTicketTask:', JSON.stringify(existingCheckMovieTicketTask), 'placeOrderId:', placeOrderId);
142
- }
135
+ }
136
+ });
137
+ const existingCheckMovieTicketTask = yield repos.task.findByIdentifier({
138
+ project: { id: params.screeningEvent.project.id },
139
+ name: factory.taskName.CheckMovieTicket,
140
+ identifier: taskIdentifier
141
+ });
142
+ debug('existingCheckMovieTicketTask:', JSON.stringify(existingCheckMovieTicketTask), 'placeOrderId:', placeOrderId);
143
143
  }
144
+ }
145
+ const specifiedCheckedActionId = (_a = params.checkedAction) === null || _a === void 0 ? void 0 : _a.id;
146
+ if (typeof specifiedCheckedActionId === 'string' && specifiedCheckedActionId !== '') {
147
+ alreadyCheckedAction = (yield repos.action.search(Object.assign({ limit: 1, page: 1, id: { $in: [specifiedCheckedActionId] }, actionStatus: { $in: [factory.actionStatusType.CompletedActionStatus] } }, (typeof placeOrderId === 'string') ? { purpose: { id: { $in: [placeOrderId] } } } : undefined), ['id'])).shift();
148
+ if (alreadyCheckedAction === undefined) {
149
+ throw new factory.errors.NotFound(factory.actionType.CheckAction);
150
+ }
151
+ }
152
+ else {
144
153
  alreadyCheckedAction = (yield repos.action.search(Object.assign({ limit: 1, page: 1, sort: { startDate: factory.sortType.Descending }, typeOf: { $eq: factory.actionType.CheckAction }, actionStatus: { $in: [factory.actionStatusType.CompletedActionStatus] }, object: {
145
154
  typeOf: { $eq: factory.service.paymentService.PaymentServiceType.MovieTicket },
146
155
  id: { $eq: params.paymentServiceId },
@@ -152,20 +161,18 @@ function checkByIdentifierIfNotYet(params) {
152
161
  }
153
162
  } }, (typeof placeOrderId === 'string') ? { purpose: { id: { $in: [placeOrderId] } } } : undefined), ['id'])).shift();
154
163
  debug('alreadyCheckedAction:', JSON.stringify(alreadyCheckedAction), 'placeOrderId:', placeOrderId);
155
- if (alreadyCheckedAction !== undefined) {
156
- const recipe = yield repos.action.findRecipeByAction({
157
- project: { id: params.screeningEvent.project.id },
158
- recipeFor: { id: alreadyCheckedAction.id }
159
- });
160
- const directionPurchaseNumberAuth = (_b = (_a = recipe === null || recipe === void 0 ? void 0 : recipe.step[0]) === null || _a === void 0 ? void 0 : _a.itemListElement[0]) === null || _b === void 0 ? void 0 : _b.itemListElement[0];
161
- if (directionPurchaseNumberAuth !== undefined) {
162
- debug('alreadyCheckedAction.directionPurchaseNumberAuth found', directionPurchaseNumberAuth.typeOf, 'movieTicketIdentifier:', params.movieTicketIdentifier, 'screeningEvent.id:', params.screeningEvent.id);
163
- const { beforeMedia, afterMedia } = directionPurchaseNumberAuth;
164
- if (beforeMedia !== undefined && afterMedia !== undefined) {
165
- checkResult = { purchaseNumberAuthIn: beforeMedia, purchaseNumberAuthResult: afterMedia };
166
- }
164
+ }
165
+ if (alreadyCheckedAction !== undefined) {
166
+ const recipe = yield repos.action.findRecipeByAction({
167
+ project: { id: params.screeningEvent.project.id },
168
+ recipeFor: { id: alreadyCheckedAction.id }
169
+ });
170
+ const directionPurchaseNumberAuth = (_c = (_b = recipe === null || recipe === void 0 ? void 0 : recipe.step[0]) === null || _b === void 0 ? void 0 : _b.itemListElement[0]) === null || _c === void 0 ? void 0 : _c.itemListElement[0];
171
+ if (directionPurchaseNumberAuth !== undefined) {
172
+ const { beforeMedia, afterMedia } = directionPurchaseNumberAuth;
173
+ if (beforeMedia !== undefined && afterMedia !== undefined) {
174
+ checkResult = { purchaseNumberAuthIn: beforeMedia, purchaseNumberAuthResult: afterMedia };
167
175
  }
168
- // checkResult = alreadyCheckedAction.shift()?.result;
169
176
  }
170
177
  }
171
178
  if (checkResult === undefined) {
@@ -1,5 +1,6 @@
1
1
  import type { AccountingReportRepo } from '../../../repo/accountingReport';
2
2
  import type { ActionRepo } from '../../../repo/action';
3
+ import type { CredentialsRepo } from '../../../repo/credentials';
3
4
  import type { PaymentServiceRepo } from '../../../repo/paymentService';
4
5
  import type { TaskRepo } from '../../../repo/task';
5
6
  import * as factory from '../../../factory';
@@ -7,6 +8,7 @@ import { Settings } from '../../../settings';
7
8
  declare function voidTransaction(params: factory.task.voidPayment.IData): (repos: {
8
9
  action: ActionRepo;
9
10
  accountingReport: AccountingReportRepo;
11
+ credentials: CredentialsRepo;
10
12
  paymentService: PaymentServiceRepo;
11
13
  task: TaskRepo;
12
14
  }, settings: Settings) => Promise<void>;
@@ -5,6 +5,7 @@ import type { AcceptedOfferRepo } from '../repo/acceptedOffer';
5
5
  import type { AccountingReportRepo } from '../repo/accountingReport';
6
6
  import type { ActionRepo } from '../repo/action';
7
7
  import type { AssetTransactionRepo } from '../repo/assetTransaction';
8
+ import type { CredentialsRepo } from '../repo/credentials';
8
9
  import type { EventRepo } from '../repo/event';
9
10
  import type { OrderRepo } from '../repo/order';
10
11
  import type { PaymentServiceRepo } from '../repo/paymentService';
@@ -32,10 +33,7 @@ export declare function fixOrderAsPurpose(params: {
32
33
  }) => Promise<Pick<factory.order.IOrder, "typeOf" | "orderNumber" | "confirmationNumber"> & {
33
34
  acceptedOffersMovieTicketUsed: IAcceptedOfferMovieTicketUsed[];
34
35
  }>;
35
- /**
36
- * 決済確定
37
- */
38
- export declare function pay(params: factory.task.pay.IData & {
36
+ export declare function payTask2payActionAttributes(params: factory.task.pay.IData & {
39
37
  sameAs?: {
40
38
  /**
41
39
  * 実行元タスクID
@@ -44,10 +42,19 @@ export declare function pay(params: factory.task.pay.IData & {
44
42
  typeOf: 'Task';
45
43
  };
46
44
  }): (repos: {
45
+ acceptedOffer: AcceptedOfferRepo;
46
+ assetTransaction: AssetTransactionRepo;
47
+ order: OrderRepo;
48
+ }) => Promise<factory.action.trade.pay.IAttributes>;
49
+ /**
50
+ * 決済確定
51
+ */
52
+ export declare function pay(payActionAttributes: factory.action.trade.pay.IAttributes): (repos: {
47
53
  acceptedOffer: AcceptedOfferRepo;
48
54
  action: ActionRepo;
49
55
  accountingReport: AccountingReportRepo;
50
56
  assetTransaction: AssetTransactionRepo;
57
+ credentials: CredentialsRepo;
51
58
  event: EventRepo;
52
59
  order: OrderRepo;
53
60
  paymentAccepted: SellerPaymentAcceptedRepo;
@@ -60,6 +67,7 @@ export declare function pay(params: factory.task.pay.IData & {
60
67
  export declare function voidPayment(params: factory.task.voidPayment.IData): (repos: {
61
68
  action: ActionRepo;
62
69
  accountingReport: AccountingReportRepo;
70
+ credentials: CredentialsRepo;
63
71
  paymentAccepted: SellerPaymentAcceptedRepo;
64
72
  paymentService: PaymentServiceRepo;
65
73
  paymentServiceProvider: PaymentServiceProviderRepo;
@@ -77,6 +85,7 @@ export declare function refund(params: factory.task.refund.IData & {
77
85
  }): (repos: {
78
86
  action: ActionRepo;
79
87
  accountingReport: AccountingReportRepo;
88
+ credentials: CredentialsRepo;
80
89
  paymentAccepted: SellerPaymentAcceptedRepo;
81
90
  paymentService: PaymentServiceRepo;
82
91
  paymentServiceProvider: PaymentServiceProviderRepo;
@@ -9,7 +9,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  });
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.refund = exports.voidPayment = exports.pay = exports.fixOrderAsPurpose = void 0;
12
+ exports.refund = exports.voidPayment = exports.pay = exports.payTask2payActionAttributes = exports.fixOrderAsPurpose = void 0;
13
13
  const factory = require("../factory");
14
14
  const CreditCardPaymentService = require("./payment/creditCard");
15
15
  const FaceToFacePaymentService = require("./payment/faceToFace");
@@ -96,21 +96,25 @@ function payTask2payActionAttributes(params) {
96
96
  }
97
97
  });
98
98
  }
99
+ exports.payTask2payActionAttributes = payTask2payActionAttributes;
99
100
  /**
100
101
  * 決済確定
101
102
  */
102
- function pay(params) {
103
+ function pay(
104
+ // params: factory.task.pay.IData & {
105
+ // sameAs?: {
106
+ // /**
107
+ // * 実行元タスクID
108
+ // */
109
+ // id: string;
110
+ // typeOf: 'Task';
111
+ // };
112
+ // }
113
+ payActionAttributes) {
103
114
  return (repos, settings) => __awaiter(this, void 0, void 0, function* () {
115
+ // let payActionAttributes: factory.action.trade.pay.IAttributes;
116
+ // payActionAttributes = await payTask2payActionAttributes(params)(repos);
104
117
  var _a;
105
- let payActionAttributes;
106
- // if (params.purpose.typeOf === factory.actionType.ReturnAction) {
107
- // // タスクにPayActionそのものが指定されていればそのまま処理
108
- // payActionAttributes = params;
109
- // } else {
110
- // // 最適化されたタスクに対応(2024-01-19~)
111
- // payActionAttributes = await payTask2payActionAttributes(params)(repos);
112
- // }
113
- payActionAttributes = yield payTask2payActionAttributes(params)(repos);
114
118
  const paymentServiceType = (_a = payActionAttributes.object[0]) === null || _a === void 0 ? void 0 : _a.typeOf;
115
119
  switch (paymentServiceType) {
116
120
  case factory.service.paymentService.PaymentServiceType.FaceToFace:
@@ -1,9 +1,9 @@
1
1
  import * as factory from '../../factory';
2
- import { Settings } from '../../settings';
3
2
  import type { ActionRepo } from '../../repo/action';
4
3
  import type { AssetTransactionRepo } from '../../repo/assetTransaction';
5
4
  import { OfferRateLimitRepo } from '../../repo/rateLimit/offer';
6
5
  import { ReservationRepo } from '../../repo/reservation';
6
+ import type { SettingRepo } from '../../repo/setting';
7
7
  import { StockHolderRepo } from '../../repo/stockHolder';
8
8
  import type { TaskRepo } from '../../repo/task';
9
9
  /**
@@ -15,8 +15,9 @@ declare function cancelPendingReservation(actionAttributes: factory.task.cancelP
15
15
  stockHolder: StockHolderRepo;
16
16
  offerRateLimit: OfferRateLimitRepo;
17
17
  reservation: ReservationRepo;
18
+ setting: SettingRepo;
18
19
  task: TaskRepo;
19
- }, settings: Settings) => Promise<void>;
20
+ }) => Promise<void>;
20
21
  /**
21
22
  * 予約をキャンセルする
22
23
  */
@@ -25,9 +26,10 @@ declare function cancelReservation(actionAttributesList: factory.action.cancel.r
25
26
  stockHolder: StockHolderRepo;
26
27
  offerRateLimit: OfferRateLimitRepo;
27
28
  reservation: ReservationRepo;
29
+ setting: SettingRepo;
28
30
  task: TaskRepo;
29
31
  assetTransaction: AssetTransactionRepo;
30
- }, settings: Settings) => Promise<void>;
32
+ }) => Promise<void>;
31
33
  declare function processUnlockOfferRateLimit(params: {
32
34
  reservation: {
33
35
  reservationNumber: string;
@@ -22,7 +22,9 @@ const onReservationCanceled_1 = require("./potentialActions/onReservationCancele
22
22
  * 保留予約取消
23
23
  */
24
24
  function cancelPendingReservation(actionAttributes) {
25
- return (repos, settings) => __awaiter(this, void 0, void 0, function* () {
25
+ return (repos
26
+ // settings: Settings
27
+ ) => __awaiter(this, void 0, void 0, function* () {
26
28
  var _a;
27
29
  const { reserveTransaction } = yield cancelPengindIfNotYet(actionAttributes)(repos);
28
30
  yield (0, onPendingReservationCanceled_1.onPendingReservationCanceled)(
@@ -34,7 +36,7 @@ function cancelPendingReservation(actionAttributes) {
34
36
  id: String((_a = reserveTransaction.object.reservationFor) === null || _a === void 0 ? void 0 : _a.id)
35
37
  },
36
38
  reservationNumber: reserveTransaction.object.reservationNumber
37
- })({ task: repos.task }, settings);
39
+ })(repos);
38
40
  });
39
41
  }
40
42
  exports.cancelPendingReservation = cancelPendingReservation;
@@ -157,7 +159,9 @@ function cancelPengindIfNotYet(params) {
157
159
  */
158
160
  function cancelReservation(actionAttributesList) {
159
161
  // tslint:disable-next-line:max-func-body-length
160
- return (repos, settings) => __awaiter(this, void 0, void 0, function* () {
162
+ return (repos
163
+ // settings: Settings
164
+ ) => __awaiter(this, void 0, void 0, function* () {
161
165
  const now = new Date();
162
166
  if (actionAttributesList.length > 0) {
163
167
  // tslint:disable-next-line:max-func-body-length
@@ -317,7 +321,7 @@ function cancelReservation(actionAttributesList) {
317
321
  {
318
322
  project: { id: actionAttributes.project.id },
319
323
  id: canceledReservationForId
320
- })({ task: repos.task }, settings);
324
+ })(repos);
321
325
  })));
322
326
  }
323
327
  });
@@ -1,7 +1,7 @@
1
- import { Settings } from '../../settings';
2
1
  import type { ActionRepo } from '../../repo/action';
3
2
  import type { AssetTransactionRepo } from '../../repo/assetTransaction';
4
3
  import type { ReservationRepo } from '../../repo/reservation';
4
+ import type { SettingRepo } from '../../repo/setting';
5
5
  import type { TaskRepo } from '../../repo/task';
6
6
  interface ICheckInReservationParams {
7
7
  project: {
@@ -28,6 +28,7 @@ export declare function checkInReservation(params: ICheckInReservationParams): (
28
28
  action: ActionRepo;
29
29
  assetTransaction: AssetTransactionRepo;
30
30
  reservation: ReservationRepo;
31
+ setting: SettingRepo;
31
32
  task: TaskRepo;
32
- }, settings: Settings) => Promise<void>;
33
+ }) => Promise<void>;
33
34
  export {};
@@ -16,12 +16,13 @@ const confirmReservation_1 = require("./confirmReservation");
16
16
  const onReservationCheckedIn_1 = require("./potentialActions/onReservationCheckedIn");
17
17
  const debug = createDebug('chevre-domain:service:reserve:checkInReservation');
18
18
  function checkInReservation(params) {
19
- return (repos, settings) => __awaiter(this, void 0, void 0, function* () {
19
+ return (repos) => __awaiter(this, void 0, void 0, function* () {
20
20
  const now = new Date();
21
21
  // confirmReservationが間に合わない可能性を考慮する(2023-06-01~)
22
- yield reserveIfNotYet(params)(repos, settings);
22
+ yield reserveIfNotYet(params)(repos);
23
23
  // 発券処理(Array対応)
24
24
  let checkedInReservationIds;
25
+ let checkedInResult;
25
26
  if (Array.isArray(params.object.ids) && params.object.ids.length > 0) {
26
27
  const existingReservationCount = yield repos.reservation.count({
27
28
  id: { $in: params.object.ids },
@@ -30,7 +31,7 @@ function checkInReservation(params) {
30
31
  if (existingReservationCount !== params.object.ids.length) {
31
32
  throw new factory.errors.NotFound(factory.reservationType.EventReservation, `Some reservations dot not exist. ${params.object.ids.join(',')}`);
32
33
  }
33
- yield repos.reservation.checkInIfNot({ id: { $in: params.object.ids }, now });
34
+ checkedInResult = yield repos.reservation.checkInIfNot({ id: { $in: params.object.ids }, now });
34
35
  checkedInReservationIds = params.object.ids;
35
36
  }
36
37
  if (Array.isArray(params.object.reservationNumbers) && params.object.reservationNumbers.length > 0) {
@@ -43,42 +44,38 @@ function checkInReservation(params) {
43
44
  throw new factory.errors.NotFound(factory.reservationType.EventReservation, `Some reservations dot not exist. ${params.object.reservationNumbers.join(',')}`);
44
45
  }
45
46
  }
46
- yield repos.reservation.checkInIfNot({ reservationNumber: { $in: params.object.reservationNumbers }, now });
47
- // support useNotificationCheckedInAsPackage(2024-11-06~)
48
- if (!settings.useNotificationCheckedInAsPackage) {
49
- // 予約番号リストを予約IDリストに変換
50
- checkedInReservationIds = yield repos.reservation.searchIdsByReservationNumber({
51
- reservationNumber: { $in: params.object.reservationNumbers }
52
- });
53
- }
47
+ checkedInResult = yield repos.reservation.checkInIfNot({ reservationNumber: { $in: params.object.reservationNumbers }, now });
54
48
  }
49
+ const checkedInForTheFirstTime = typeof (checkedInResult === null || checkedInResult === void 0 ? void 0 : checkedInResult.modifiedCount) === 'number' && checkedInResult.modifiedCount > 0;
55
50
  if (Array.isArray(checkedInReservationIds)) {
56
51
  yield (0, onReservationCheckedIn_1.onReservationCheckedIn)({
57
52
  project: params.project,
58
53
  object: {
59
- ids: checkedInReservationIds
60
- // reservationFor: params.object.reservationFor
54
+ ids: checkedInReservationIds,
55
+ reservedTicket: Object.assign({}, (checkedInForTheFirstTime) ? { dateIssued: now } : undefined)
61
56
  },
62
- now,
57
+ // now,
63
58
  purpose: params.purpose
64
- })(repos, settings);
59
+ })(repos);
65
60
  }
66
61
  else if (Array.isArray(params.object.reservationNumbers) && params.object.reservationNumbers.length > 0) {
67
62
  yield (0, onReservationCheckedIn_1.onReservationCheckedIn)({
68
63
  project: params.project,
69
64
  object: {
70
- reservationNumbers: params.object.reservationNumbers
71
- // reservationFor: params.object.reservationFor
65
+ reservationNumbers: params.object.reservationNumbers,
66
+ reservedTicket: Object.assign({}, (checkedInForTheFirstTime) ? { dateIssued: now } : undefined)
72
67
  },
73
- now,
68
+ // now,
74
69
  purpose: params.purpose
75
- })(repos, settings);
70
+ })(repos);
76
71
  }
77
72
  });
78
73
  }
79
74
  exports.checkInReservation = checkInReservation;
80
75
  function reserveIfNotYet(params) {
81
- return (repos, settings) => __awaiter(this, void 0, void 0, function* () {
76
+ return (repos
77
+ // settings: Settings
78
+ ) => __awaiter(this, void 0, void 0, function* () {
82
79
  let reserveTransactions = [];
83
80
  if (Array.isArray(params.object.ids) && params.object.ids.length > 0) {
84
81
  reserveTransactions = yield repos.assetTransaction.search({
@@ -106,7 +103,7 @@ function reserveIfNotYet(params) {
106
103
  potentialReserveAction: { object: { reservationNumber: reserveTransaction.transactionNumber } },
107
104
  useOnReservationConfirmed: false,
108
105
  byTask: false
109
- })(repos, settings);
106
+ })(repos);
110
107
  debug('confirmReservation processed in reserveIfNotYet. reservationNumber:', reserveTransaction.transactionNumber);
111
108
  })));
112
109
  });
@@ -1,8 +1,8 @@
1
1
  import * as factory from '../../factory';
2
- import { Settings } from '../../settings';
3
2
  import type { ActionRepo } from '../../repo/action';
4
3
  import type { AssetTransactionRepo } from '../../repo/assetTransaction';
5
4
  import type { ReservationRepo } from '../../repo/reservation';
5
+ import type { SettingRepo } from '../../repo/setting';
6
6
  import type { TaskRepo } from '../../repo/task';
7
7
  /**
8
8
  * 予約を確定する
@@ -15,8 +15,9 @@ export declare function confirmReservation(params: {
15
15
  action: ActionRepo;
16
16
  assetTransaction: AssetTransactionRepo;
17
17
  reservation: ReservationRepo;
18
+ setting: SettingRepo;
18
19
  task: TaskRepo;
19
- }, settings: Settings) => Promise<void>;
20
+ }) => Promise<void>;
20
21
  type IReserveActionAttributes = Pick<factory.action.reserve.IAttributes, 'agent' | 'object' | 'potentialActions' | 'project' | 'purpose' | 'typeOf'>;
21
22
  export declare function reserveTransaction2action(params: {
22
23
  transaction: factory.assetTransaction.ITransaction<factory.assetTransactionType.Reserve>;
@@ -19,7 +19,9 @@ const debug = createDebug('chevre-domain:service:reserve:confirmReservation');
19
19
  * 予約を確定する
20
20
  */
21
21
  function confirmReservation(params) {
22
- return (repos, settings) => __awaiter(this, void 0, void 0, function* () {
22
+ return (repos
23
+ // settings: Settings
24
+ ) => __awaiter(this, void 0, void 0, function* () {
23
25
  // await Promise.all(params.actionAttributesList.map(async (potentialReserveAction) => {
24
26
  // const actionAttributes = await reserveIfNotYet(potentialReserveAction, { byTask: params.byTask })(repos);
25
27
  // if (params.useOnReservationConfirmed) {
@@ -49,7 +51,7 @@ function confirmReservation(params) {
49
51
  return r;
50
52
  });
51
53
  }
52
- yield (0, onReservationConfirmed_1.onReservationConfirmed)(confirmedReservations)({ task: repos.task }, settings);
54
+ yield (0, onReservationConfirmed_1.onReservationConfirmed)(confirmedReservations)(repos);
53
55
  }
54
56
  });
55
57
  }
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * 保留予約取消時アクション
3
3
  */
4
+ import type { SettingRepo } from '../../../repo/setting';
4
5
  import type { TaskRepo } from '../../../repo/task';
5
- import { Settings } from '../../../settings';
6
6
  export declare function onPendingReservationCanceled(params: {
7
7
  project: {
8
8
  id: string;
@@ -15,5 +15,6 @@ export declare function onPendingReservationCanceled(params: {
15
15
  };
16
16
  reservationNumber: string;
17
17
  }): (repos: {
18
+ setting: SettingRepo;
18
19
  task: TaskRepo;
19
- }, settings: Settings) => Promise<void>;
20
+ }) => Promise<void>;
@@ -11,13 +11,19 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.onPendingReservationCanceled = void 0;
13
13
  const factory = require("../../../factory");
14
+ // import { Settings } from '../../../settings';
14
15
  const factory_1 = require("../factory");
15
16
  function onPendingReservationCanceled(params) {
16
- return (repos, settings) => __awaiter(this, void 0, void 0, function* () {
17
+ return (repos
18
+ // settings: Settings
19
+ ) => __awaiter(this, void 0, void 0, function* () {
20
+ var _a;
17
21
  const { reservationFor, reservationNumber } = params;
18
22
  // create AggregateScreeningEvent task -> migrate to agg(2024-10-29~)
23
+ const setting = yield repos.setting.findOne({ project: { id: { $eq: '*' } } }, ['onReservationStatusChanged']);
19
24
  // inform(2024-10-25~)
20
- const informReservations = settings.onReservationStatusChanged.informReservation;
25
+ // const informReservations = settings.onReservationStatusChanged.informReservation;
26
+ const informReservations = (_a = setting === null || setting === void 0 ? void 0 : setting.onReservationStatusChanged) === null || _a === void 0 ? void 0 : _a.informReservation;
21
27
  const now = new Date();
22
28
  const taskAttributes = [];
23
29
  const informObject = {
@@ -2,8 +2,8 @@
2
2
  * 予約取消時アクション
3
3
  */
4
4
  import * as factory from '../../../factory';
5
+ import type { SettingRepo } from '../../../repo/setting';
5
6
  import type { TaskRepo } from '../../../repo/task';
6
- import { Settings } from '../../../settings';
7
7
  export type ICanceledEventReservation = Pick<factory.reservation.IReservation<factory.reservationType.EventReservation>, 'project' | 'id' | 'typeOf' | 'modifiedTime' | 'reservationNumber'>;
8
8
  export type ICanceledBusReservation = Pick<factory.reservation.IReservation<factory.reservationType.BusReservation>, 'project' | 'id' | 'typeOf' | 'modifiedTime' | 'reservationNumber'>;
9
9
  export declare function onReservationCanceled(
@@ -20,5 +20,6 @@ reservationFor: {
20
20
  };
21
21
  id: string;
22
22
  }): (repos: {
23
+ setting: SettingRepo;
23
24
  task: TaskRepo;
24
- }, settings: Settings) => Promise<void>;
25
+ }) => Promise<void>;
@@ -14,6 +14,7 @@ exports.onReservationCanceled = void 0;
14
14
  * 予約取消時アクション
15
15
  */
16
16
  const factory = require("../../../factory");
17
+ // import { Settings } from '../../../settings';
17
18
  const factory_1 = require("../factory");
18
19
  // tslint:disable-next-line:max-func-body-length
19
20
  function onReservationCanceled(
@@ -26,8 +27,13 @@ canceledReservations,
26
27
  * 集計対象イベント
27
28
  */
28
29
  reservationFor) {
29
- return (repos, settings) => __awaiter(this, void 0, void 0, function* () {
30
- const informReservations = settings.onReservationStatusChanged.informReservation;
30
+ return (repos
31
+ // settings: Settings
32
+ ) => __awaiter(this, void 0, void 0, function* () {
33
+ var _a;
34
+ const setting = yield repos.setting.findOne({ project: { id: { $eq: '*' } } }, ['onReservationStatusChanged']);
35
+ // const informReservations = settings.onReservationStatusChanged.informReservation;
36
+ const informReservations = (_a = setting === null || setting === void 0 ? void 0 : setting.onReservationStatusChanged) === null || _a === void 0 ? void 0 : _a.informReservation;
31
37
  if (Array.isArray(canceledReservations) && canceledReservations.length > 0) {
32
38
  const now = new Date();
33
39
  const project = canceledReservations[0].project;
@@ -1,6 +1,6 @@
1
1
  import type { ReservationRepo } from '../../../repo/reservation';
2
+ import type { SettingRepo } from '../../../repo/setting';
2
3
  import type { TaskRepo } from '../../../repo/task';
3
- import { Settings } from '../../../settings';
4
4
  export declare function onReservationCheckedIn(params: {
5
5
  project: {
6
6
  id: string;
@@ -14,8 +14,10 @@ export declare function onReservationCheckedIn(params: {
14
14
  * 予約番号で発券
15
15
  */
16
16
  reservationNumbers?: string[];
17
+ reservedTicket: {
18
+ dateIssued?: Date;
19
+ };
17
20
  };
18
- now: Date;
19
21
  purpose: {
20
22
  /**
21
23
  * 承認コード
@@ -24,5 +26,6 @@ export declare function onReservationCheckedIn(params: {
24
26
  };
25
27
  }): (repos: {
26
28
  reservation: ReservationRepo;
29
+ setting: SettingRepo;
27
30
  task: TaskRepo;
28
- }, settings: Settings) => Promise<void>;
31
+ }) => Promise<void>;
@@ -15,19 +15,20 @@ exports.onReservationCheckedIn = void 0;
15
15
  */
16
16
  const factory = require("../../../factory");
17
17
  const factory_1 = require("../factory");
18
- // tslint:disable-next-line:max-func-body-length
19
18
  function onReservationCheckedIn(params) {
20
19
  // tslint:disable-next-line:max-func-body-length
21
- return (repos, settings) => __awaiter(this, void 0, void 0, function* () {
22
- var _a;
20
+ return (repos) => __awaiter(this, void 0, void 0, function* () {
21
+ var _a, _b;
22
+ const { dateIssued } = params.object.reservedTicket;
23
+ const setting = yield repos.setting.findOne({ project: { id: { $eq: '*' } } }, ['onReservationStatusChanged']);
23
24
  const tasks = [];
24
25
  const project = { id: params.project.id, typeOf: factory.organizationType.Project };
25
- const informReservations = settings.onReservationStatusChanged.informReservation;
26
+ const informReservations = (_a = setting === null || setting === void 0 ? void 0 : setting.onReservationStatusChanged) === null || _a === void 0 ? void 0 : _a.informReservation;
26
27
  let reservations4inform = [];
27
- const ticketToken = (_a = params.purpose) === null || _a === void 0 ? void 0 : _a.code;
28
+ const ticketToken = (_b = params.purpose) === null || _b === void 0 ? void 0 : _b.code;
28
29
  if (Array.isArray(params.object.ids) && params.object.ids.length > 0) {
29
30
  reservations4inform = params.object.ids.map((reservationId, index) => {
30
- return Object.assign({ typeOf: factory.reservationType.EventReservation, project, id: reservationId, checkedIn: true, modifiedTime: params.now }, (index === 0 && typeof ticketToken === 'string') ? { reservedTicket: { ticketToken } } : undefined);
31
+ return Object.assign(Object.assign({ typeOf: factory.reservationType.EventReservation, project, id: reservationId, checkedIn: true }, (dateIssued instanceof Date) ? { modifiedTime: dateIssued } : undefined), (index === 0 && typeof ticketToken === 'string') ? { reservedTicket: { ticketToken } } : undefined);
31
32
  });
32
33
  }
33
34
  if (Array.isArray(params.object.reservationNumbers) && params.object.reservationNumbers.length > 0) {
@@ -36,12 +37,12 @@ function onReservationCheckedIn(params) {
36
37
  const subReservationIds = yield repos.reservation.searchIdsByReservationNumber({
37
38
  reservationNumber: { $in: [reservationNumber] }
38
39
  });
39
- return Object.assign({ typeOf: factory.reservationType.ReservationPackage, project,
40
- reservationNumber, checkedIn: true, modifiedTime: params.now, subReservation: subReservationIds.map((id) => ({ id })) }, (index === 0 && typeof ticketToken === 'string') ? { reservedTicket: { ticketToken } } : undefined);
40
+ return Object.assign(Object.assign({ typeOf: factory.reservationType.ReservationPackage, project,
41
+ reservationNumber, checkedIn: true, subReservation: subReservationIds.map((id) => ({ id })) }, (dateIssued instanceof Date) ? { modifiedTime: dateIssued } : undefined), (index === 0 && typeof ticketToken === 'string') ? { reservedTicket: { ticketToken } } : undefined);
41
42
  })));
42
43
  }
43
44
  if (reservations4inform.length > 0) {
44
- const informTaskRunsAt = params.now;
45
+ const informTaskRunsAt = new Date();
45
46
  // inform galobally
46
47
  if (Array.isArray(informReservations)) {
47
48
  informReservations.forEach((informReservation) => {
@@ -2,8 +2,8 @@
2
2
  * 予約確定時アクション
3
3
  */
4
4
  import * as factory from '../../../factory';
5
+ import type { SettingRepo } from '../../../repo/setting';
5
6
  import type { TaskRepo } from '../../../repo/task';
6
- import { Settings } from '../../../settings';
7
7
  type IEventReservation = factory.reservation.IReservation<factory.reservationType.EventReservation>;
8
8
  /**
9
9
  * 予約確定後のアクション
@@ -12,6 +12,7 @@ export declare function onReservationConfirmedByAction(actionAttributes: Pick<fa
12
12
  task: TaskRepo;
13
13
  }) => Promise<void>;
14
14
  export declare function onReservationConfirmed(confirmedReservations: IEventReservation[]): (repos: {
15
+ setting: SettingRepo;
15
16
  task: TaskRepo;
16
- }, settings: Settings) => Promise<void>;
17
+ }) => Promise<void>;
17
18
  export {};