@chevre/domain 21.2.0-alpha.9 → 21.2.0-alpha.91

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 (247) hide show
  1. package/example/src/chevre/aggregation/aggregateSystem.ts +58 -31
  2. package/example/src/chevre/createManyEventsIfNotExist.ts +4 -1
  3. package/example/src/chevre/deleteTasksByName.ts +10 -2
  4. package/example/src/chevre/importEventsFromCOA.ts +3 -4
  5. package/example/src/chevre/migrateOrderAdditionalProperties.ts +85 -0
  6. package/example/src/chevre/processReserve.ts +2 -1
  7. package/example/src/chevre/saveTasks.ts +13 -10
  8. package/example/src/chevre/searchAbortedTasks.ts +36 -0
  9. package/example/src/chevre/searchReservationNumbersByOrderNumbers.ts +37 -1
  10. package/example/src/chevre/searchSellers.ts +33 -0
  11. package/example/src/chevre/searchSendEmailActions.ts +44 -0
  12. package/example/src/chevre/task/executeTasks.ts +26 -0
  13. package/example/src/chevre/transaction/findCreditCard.ts +1 -1
  14. package/example/src/chevre/transaction/orderMembershipService.ts +1 -1
  15. package/example/src/chevre/transaction/processReturnOrder.ts +40 -0
  16. package/example/src/chevre/transaction/startExportTasks.ts +20 -0
  17. package/example/src/chevre/updateTransaction.ts +1 -1
  18. package/example/src/playOnMoment.ts +24 -0
  19. package/lib/chevre/credentials.d.ts +1 -0
  20. package/lib/chevre/credentials.js +2 -1
  21. package/lib/chevre/eventEmitter/assetTransaction.d.ts +21 -0
  22. package/lib/chevre/eventEmitter/assetTransaction.js +25 -0
  23. package/lib/chevre/eventEmitter/task.d.ts +18 -0
  24. package/lib/chevre/eventEmitter/task.js +25 -0
  25. package/lib/chevre/eventEmitter/transaction.d.ts +21 -0
  26. package/lib/chevre/eventEmitter/transaction.js +25 -0
  27. package/lib/chevre/eventEmitter.d.ts +4 -0
  28. package/lib/chevre/eventEmitter.js +9 -0
  29. package/lib/chevre/index.d.ts +3 -2
  30. package/lib/chevre/index.js +5 -3
  31. package/lib/chevre/repo/accountTransaction.d.ts +3 -11
  32. package/lib/chevre/repo/accountTransaction.js +1 -54
  33. package/lib/chevre/repo/action.d.ts +29 -1
  34. package/lib/chevre/repo/action.js +32 -25
  35. package/lib/chevre/repo/assetTransaction.d.ts +25 -9
  36. package/lib/chevre/repo/assetTransaction.js +241 -80
  37. package/lib/chevre/repo/comment.d.ts +4 -1
  38. package/lib/chevre/repo/comment.js +20 -5
  39. package/lib/chevre/repo/confirmationNumber.d.ts +0 -1
  40. package/lib/chevre/repo/confirmationNumber.js +3 -15
  41. package/lib/chevre/repo/creativeWork.d.ts +1 -3
  42. package/lib/chevre/repo/emailMessage.d.ts +1 -27
  43. package/lib/chevre/repo/event.d.ts +5 -1
  44. package/lib/chevre/repo/merchantReturnPolicy.d.ts +1 -3
  45. package/lib/chevre/repo/mongoose/schemas/account.d.ts +5 -2
  46. package/lib/chevre/repo/mongoose/schemas/account.js +1 -0
  47. package/lib/chevre/repo/mongoose/schemas/accountTitle.d.ts +30 -3
  48. package/lib/chevre/repo/mongoose/schemas/accountTitle.js +1 -0
  49. package/lib/chevre/repo/mongoose/schemas/accountTransaction.d.ts +32 -3
  50. package/lib/chevre/repo/mongoose/schemas/accountTransaction.js +2 -1
  51. package/lib/chevre/repo/mongoose/schemas/accountingReport.d.ts +14 -3
  52. package/lib/chevre/repo/mongoose/schemas/accountingReport.js +1 -0
  53. package/lib/chevre/repo/mongoose/schemas/action.d.ts +44 -3
  54. package/lib/chevre/repo/mongoose/schemas/action.js +2 -1
  55. package/lib/chevre/repo/mongoose/schemas/additionalProperty.d.ts +18 -3
  56. package/lib/chevre/repo/mongoose/schemas/additionalProperty.js +1 -0
  57. package/lib/chevre/repo/mongoose/schemas/aggregation.d.ts +5 -2
  58. package/lib/chevre/repo/mongoose/schemas/aggregation.js +1 -0
  59. package/lib/chevre/repo/mongoose/schemas/assetTransaction.d.ts +45 -3
  60. package/lib/chevre/repo/mongoose/schemas/assetTransaction.js +27 -19
  61. package/lib/chevre/repo/mongoose/schemas/authorization.d.ts +20 -3
  62. package/lib/chevre/repo/mongoose/schemas/authorization.js +2 -1
  63. package/lib/chevre/repo/mongoose/schemas/categoryCode.d.ts +26 -3
  64. package/lib/chevre/repo/mongoose/schemas/categoryCode.js +1 -0
  65. package/lib/chevre/repo/mongoose/schemas/comments.d.ts +28 -3
  66. package/lib/chevre/repo/mongoose/schemas/comments.js +2 -1
  67. package/lib/chevre/repo/mongoose/schemas/creativeWork.d.ts +44 -3
  68. package/lib/chevre/repo/mongoose/schemas/creativeWork.js +1 -0
  69. package/lib/chevre/repo/mongoose/schemas/customer.d.ts +26 -3
  70. package/lib/chevre/repo/mongoose/schemas/customer.js +1 -0
  71. package/lib/chevre/repo/mongoose/schemas/emailMessages.d.ts +22 -3
  72. package/lib/chevre/repo/mongoose/schemas/emailMessages.js +1 -0
  73. package/lib/chevre/repo/mongoose/schemas/event.d.ts +72 -3
  74. package/lib/chevre/repo/mongoose/schemas/event.js +1 -0
  75. package/lib/chevre/repo/mongoose/schemas/member.d.ts +14 -3
  76. package/lib/chevre/repo/mongoose/schemas/member.js +1 -0
  77. package/lib/chevre/repo/mongoose/schemas/merchantReturnPolicy.d.ts +22 -3
  78. package/lib/chevre/repo/mongoose/schemas/merchantReturnPolicy.js +1 -0
  79. package/lib/chevre/repo/mongoose/schemas/offer.d.ts +66 -3
  80. package/lib/chevre/repo/mongoose/schemas/offer.js +1 -0
  81. package/lib/chevre/repo/mongoose/schemas/offerCatalog.d.ts +28 -3
  82. package/lib/chevre/repo/mongoose/schemas/offerCatalog.js +1 -0
  83. package/lib/chevre/repo/mongoose/schemas/offerItemCondition.d.ts +74 -0
  84. package/lib/chevre/repo/mongoose/schemas/offerItemCondition.js +45 -0
  85. package/lib/chevre/repo/mongoose/schemas/order.d.ts +52 -3
  86. package/lib/chevre/repo/mongoose/schemas/order.js +2 -1
  87. package/lib/chevre/repo/mongoose/schemas/ownershipInfo.d.ts +26 -3
  88. package/lib/chevre/repo/mongoose/schemas/ownershipInfo.js +2 -1
  89. package/lib/chevre/repo/mongoose/schemas/place.d.ts +50 -3
  90. package/lib/chevre/repo/mongoose/schemas/place.js +1 -0
  91. package/lib/chevre/repo/mongoose/schemas/priceSpecification.d.ts +30 -3
  92. package/lib/chevre/repo/mongoose/schemas/priceSpecification.js +1 -0
  93. package/lib/chevre/repo/mongoose/schemas/product.d.ts +32 -3
  94. package/lib/chevre/repo/mongoose/schemas/product.js +1 -0
  95. package/lib/chevre/repo/mongoose/schemas/project.d.ts +24 -3
  96. package/lib/chevre/repo/mongoose/schemas/project.js +1 -0
  97. package/lib/chevre/repo/mongoose/schemas/reservation.d.ts +63 -4
  98. package/lib/chevre/repo/mongoose/schemas/reservation.js +2 -1
  99. package/lib/chevre/repo/mongoose/schemas/role.d.ts +12 -3
  100. package/lib/chevre/repo/mongoose/schemas/role.js +1 -0
  101. package/lib/chevre/repo/mongoose/schemas/seller.d.ts +32 -3
  102. package/lib/chevre/repo/mongoose/schemas/seller.js +7 -0
  103. package/lib/chevre/repo/mongoose/schemas/serviceOutput.d.ts +12 -3
  104. package/lib/chevre/repo/mongoose/schemas/serviceOutput.js +2 -1
  105. package/lib/chevre/repo/mongoose/schemas/task.d.ts +31 -3
  106. package/lib/chevre/repo/mongoose/schemas/task.js +3 -1
  107. package/lib/chevre/repo/mongoose/schemas/telemetry.d.ts +22 -3
  108. package/lib/chevre/repo/mongoose/schemas/telemetry.js +1 -0
  109. package/lib/chevre/repo/mongoose/schemas/transaction.d.ts +41 -3
  110. package/lib/chevre/repo/mongoose/schemas/transaction.js +3 -1
  111. package/lib/chevre/repo/mongoose/schemas/trip.d.ts +12 -3
  112. package/lib/chevre/repo/mongoose/schemas/trip.js +1 -0
  113. package/lib/chevre/repo/offerItemCondition.d.ts +22 -0
  114. package/lib/chevre/repo/offerItemCondition.js +120 -0
  115. package/lib/chevre/repo/order.d.ts +55 -3
  116. package/lib/chevre/repo/order.js +56 -5
  117. package/lib/chevre/repo/reservation.d.ts +8 -4
  118. package/lib/chevre/repo/reservation.js +12 -42
  119. package/lib/chevre/repo/seller.js +19 -19
  120. package/lib/chevre/repo/task.d.ts +42 -2
  121. package/lib/chevre/repo/task.js +90 -9
  122. package/lib/chevre/repo/transaction.d.ts +23 -3
  123. package/lib/chevre/repo/transaction.js +174 -54
  124. package/lib/chevre/repository.d.ts +5 -2
  125. package/lib/chevre/repository.js +8 -4
  126. package/lib/chevre/service/aggregation/system.d.ts +67 -22
  127. package/lib/chevre/service/aggregation/system.js +101 -89
  128. package/lib/chevre/service/assetTransaction/cancelReservation.js +1 -28
  129. package/lib/chevre/service/assetTransaction/moneyTransfer.js +1 -23
  130. package/lib/chevre/service/assetTransaction/pay/potentialActions.js +17 -1
  131. package/lib/chevre/service/assetTransaction/pay.js +10 -25
  132. package/lib/chevre/service/assetTransaction/refund.js +1 -23
  133. package/lib/chevre/service/assetTransaction/registerService.js +1 -25
  134. package/lib/chevre/service/assetTransaction/reserve/factory.d.ts +7 -2
  135. package/lib/chevre/service/assetTransaction/reserve/factory.js +33 -22
  136. package/lib/chevre/service/assetTransaction/reserve.d.ts +7 -1
  137. package/lib/chevre/service/assetTransaction/reserve.js +40 -41
  138. package/lib/chevre/service/assetTransaction.d.ts +6 -2
  139. package/lib/chevre/service/assetTransaction.js +9 -5
  140. package/lib/chevre/service/event.js +3 -1
  141. package/lib/chevre/service/notification/factory.js +2 -2
  142. package/lib/chevre/service/notification.d.ts +3 -1
  143. package/lib/chevre/service/notification.js +41 -7
  144. package/lib/chevre/service/offer/event/authorize.d.ts +1 -0
  145. package/lib/chevre/service/offer/event/authorize.js +5 -2
  146. package/lib/chevre/service/offer/event/factory.d.ts +2 -0
  147. package/lib/chevre/service/offer/event/factory.js +2 -2
  148. package/lib/chevre/service/offer/event/voidTransaction.d.ts +2 -0
  149. package/lib/chevre/service/offer/event/voidTransaction.js +17 -1
  150. package/lib/chevre/service/offer.js +1 -1
  151. package/lib/chevre/service/order/deleteOrder.d.ts +3 -1
  152. package/lib/chevre/service/order/deleteOrder.js +8 -8
  153. package/lib/chevre/service/order/onOrderStatusChanged/factory.d.ts +4 -2
  154. package/lib/chevre/service/order/onOrderStatusChanged/factory.js +41 -81
  155. package/lib/chevre/service/order/onOrderStatusChanged.js +1 -3
  156. package/lib/chevre/service/order/onOrderUpdated.d.ts +15 -0
  157. package/lib/chevre/service/order/onOrderUpdated.js +22 -0
  158. package/lib/chevre/service/order/placeOrder.d.ts +1 -0
  159. package/lib/chevre/service/order/placeOrder.js +41 -24
  160. package/lib/chevre/service/order/returnOrder.d.ts +1 -0
  161. package/lib/chevre/service/order/returnOrder.js +7 -12
  162. package/lib/chevre/service/order/sendOrder.d.ts +1 -0
  163. package/lib/chevre/service/order/sendOrder.js +7 -10
  164. package/lib/chevre/service/order.d.ts +2 -1
  165. package/lib/chevre/service/order.js +3 -1
  166. package/lib/chevre/service/payment/any/onPaid.js +1 -1
  167. package/lib/chevre/service/payment/any/onRefund.js +1 -1
  168. package/lib/chevre/service/payment/any.js +74 -16
  169. package/lib/chevre/service/payment/movieTicket/validation.d.ts +3 -2
  170. package/lib/chevre/service/payment/movieTicket/validation.js +12 -25
  171. package/lib/chevre/service/payment/movieTicket.d.ts +1 -1
  172. package/lib/chevre/service/payment/movieTicket.js +4 -3
  173. package/lib/chevre/service/product.js +1 -5
  174. package/lib/chevre/service/report/telemetry.d.ts +0 -11
  175. package/lib/chevre/service/report/telemetry.js +21 -24
  176. package/lib/chevre/service/reserve/cancelReservation.d.ts +4 -2
  177. package/lib/chevre/service/reserve/cancelReservation.js +2 -4
  178. package/lib/chevre/service/reserve/checkInReservation.d.ts +9 -4
  179. package/lib/chevre/service/reserve/checkInReservation.js +77 -3
  180. package/lib/chevre/service/reserve/confirmReservation.d.ts +7 -4
  181. package/lib/chevre/service/reserve/confirmReservation.js +121 -58
  182. package/lib/chevre/service/reserve/potentialActions/onReservationCanceled.d.ts +0 -3
  183. package/lib/chevre/service/reserve/potentialActions/onReservationCanceled.js +20 -20
  184. package/lib/chevre/service/reserve/potentialActions/onReservationCheckedIn.js +2 -3
  185. package/lib/chevre/service/reserve/potentialActions/onReservationConfirmed.js +2 -31
  186. package/lib/chevre/service/reserve/potentialActions/onReservationUsed.js +2 -3
  187. package/lib/chevre/service/reserve/useReservation.d.ts +7 -3
  188. package/lib/chevre/service/reserve/useReservation.js +61 -71
  189. package/lib/chevre/service/reserve/verifyToken4reservation.d.ts +15 -0
  190. package/lib/chevre/service/reserve/verifyToken4reservation.js +56 -0
  191. package/lib/chevre/service/reserve.d.ts +3 -2
  192. package/lib/chevre/service/reserve.js +4 -2
  193. package/lib/chevre/service/task/confirmRegisterServiceTransaction.js +1 -1
  194. package/lib/chevre/service/task/deleteTransaction.js +10 -8
  195. package/lib/chevre/service/task/importOffersFromCOA.js +4 -0
  196. package/lib/chevre/service/task/onAuthorizationCreated.d.ts +7 -0
  197. package/lib/chevre/service/task/onAuthorizationCreated.js +108 -0
  198. package/lib/chevre/service/task/placeOrder.js +1 -1
  199. package/lib/chevre/service/task/reserve.js +10 -7
  200. package/lib/chevre/service/task/returnOrder.js +1 -1
  201. package/lib/chevre/service/task/returnPayTransaction.js +2 -12
  202. package/lib/chevre/service/task/sendOrder.js +1 -1
  203. package/lib/chevre/service/task/useReservation.d.ts +7 -0
  204. package/lib/chevre/service/task/useReservation.js +36 -0
  205. package/lib/chevre/service/task/voidReserveTransaction.js +3 -1
  206. package/lib/chevre/service/task.d.ts +9 -0
  207. package/lib/chevre/service/task.js +43 -4
  208. package/lib/chevre/service/transaction/deleteTransaction.d.ts +21 -0
  209. package/lib/chevre/service/transaction/deleteTransaction.js +232 -0
  210. package/lib/chevre/service/transaction/moneyTransfer/exportTasks/factory.js +11 -1
  211. package/lib/chevre/service/transaction/moneyTransfer/factory.js +3 -1
  212. package/lib/chevre/service/transaction/moneyTransfer/potentialActions.d.ts +1 -0
  213. package/lib/chevre/service/transaction/moneyTransfer/potentialActions.js +1 -1
  214. package/lib/chevre/service/transaction/moneyTransfer.js +9 -12
  215. package/lib/chevre/service/transaction/placeOrder/exportTasks/factory.js +42 -30
  216. package/lib/chevre/service/transaction/placeOrder.js +1 -5
  217. package/lib/chevre/service/transaction/placeOrderInProgress/factory.js +1 -1
  218. package/lib/chevre/service/transaction/placeOrderInProgress/potentialActions/moneyTransfer.d.ts +1 -0
  219. package/lib/chevre/service/transaction/placeOrderInProgress/potentialActions/moneyTransfer.js +1 -1
  220. package/lib/chevre/service/transaction/placeOrderInProgress/potentialActions/registerService.d.ts +1 -0
  221. package/lib/chevre/service/transaction/placeOrderInProgress/potentialActions/registerService.js +1 -1
  222. package/lib/chevre/service/transaction/placeOrderInProgress/potentialActions.d.ts +1 -0
  223. package/lib/chevre/service/transaction/placeOrderInProgress/result/acceptedOffers.d.ts +3 -0
  224. package/lib/chevre/service/transaction/placeOrderInProgress/result/acceptedOffers.js +7 -3
  225. package/lib/chevre/service/transaction/placeOrderInProgress/result.d.ts +1 -0
  226. package/lib/chevre/service/transaction/placeOrderInProgress/result.js +2 -2
  227. package/lib/chevre/service/transaction/placeOrderInProgress/validation/validateMovieTicket.d.ts +1 -1
  228. package/lib/chevre/service/transaction/placeOrderInProgress/validation/validateMovieTicket.js +2 -2
  229. package/lib/chevre/service/transaction/placeOrderInProgress/validation.d.ts +2 -1
  230. package/lib/chevre/service/transaction/placeOrderInProgress/validation.js +23 -17
  231. package/lib/chevre/service/transaction/placeOrderInProgress.d.ts +0 -3
  232. package/lib/chevre/service/transaction/placeOrderInProgress.js +22 -11
  233. package/lib/chevre/service/transaction/returnOrder/exportTasks/factory.js +10 -1
  234. package/lib/chevre/service/transaction/returnOrder/potentialActions/returnPaymentMethod.js +25 -17
  235. package/lib/chevre/service/transaction/returnOrder.d.ts +4 -0
  236. package/lib/chevre/service/transaction/returnOrder.js +225 -35
  237. package/lib/chevre/service/transaction.d.ts +8 -13
  238. package/lib/chevre/service/transaction.js +12 -145
  239. package/lib/chevre/settings.d.ts +4 -1
  240. package/lib/chevre/settings.js +15 -5
  241. package/package.json +5 -5
  242. package/example/src/chevre/migrateMoneyTransferPendingTransactionIdentifier.ts +0 -96
  243. package/example/src/chevre/migrateMovieAdditionalProperties.ts +0 -98
  244. package/lib/chevre/service/task/deleteAssetTransaction.d.ts +0 -12
  245. package/lib/chevre/service/task/deleteAssetTransaction.js +0 -65
  246. package/lib/chevre/service/task/deleteOrder.d.ts +0 -6
  247. package/lib/chevre/service/task/deleteOrder.js +0 -35
@@ -10,58 +10,12 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.useReservation = void 0;
13
- /**
14
- * 予約サービス
15
- */
13
+ const createDebug = require("debug");
16
14
  const factory = require("../../factory");
17
- const code_1 = require("../code");
18
- // import { maskUnderName } from './factory';
15
+ const confirmReservation_1 = require("./confirmReservation");
19
16
  const onReservationUsed_1 = require("./potentialActions/onReservationUsed");
20
- function verifyToken4reservation(params) {
21
- return (repos) => __awaiter(this, void 0, void 0, function* () {
22
- const payload = yield (0, code_1.verifyToken)({
23
- project: params.project,
24
- agent: params.agent,
25
- token: params.token
26
- })({});
27
- switch (payload.typeOf) {
28
- case factory.order.OrderType.Order:
29
- // reservationIdを含む注文の存在を確認するだけでよい(2023-01-31~)
30
- const order = yield repos.order.findByOrderNumberAndReservationId({
31
- orderNumber: payload.orderNumber,
32
- reservationId: params.reservationId
33
- });
34
- // 注文検索
35
- // const order: Pick<factory.order.IOrder, 'orderStatus' | 'acceptedOffers'> =
36
- // await repos.order.findByOrderNumber({
37
- // orderNumber: payload.orderNumber,
38
- // inclusion: ['orderStatus', 'acceptedOffers'],
39
- // exclusion: []
40
- // });
41
- // ステータス検証
42
- switch (order.orderStatus) {
43
- case factory.orderStatus.OrderDelivered:
44
- break;
45
- default:
46
- throw new factory.errors.Argument('token', `invalid orderStatus '${order.orderStatus}'`);
47
- }
48
- // const acceptedOffers = (Array.isArray(order.acceptedOffers)) ? order.acceptedOffers : [];
49
- // const reservationExistsInOrder = acceptedOffers.some((offer) => {
50
- // return (
51
- // offer.itemOffered.typeOf === factory.reservationType.EventReservation
52
- // || offer.itemOffered.typeOf === factory.reservationType.BusReservation
53
- // )
54
- // && offer.itemOffered.id === params.reservationId;
55
- // });
56
- // if (!reservationExistsInOrder) {
57
- // throw new factory.errors.NotFound('AcceptedOffer');
58
- // }
59
- break;
60
- default:
61
- throw new factory.errors.NotImplemented(`Payload type ${payload.typeOf} not implemented`);
62
- }
63
- });
64
- }
17
+ const verifyToken4reservation_1 = require("./verifyToken4reservation");
18
+ const debug = createDebug('chevre-domain:service:reserve:useReservation');
65
19
  /**
66
20
  * 予約使用
67
21
  */
@@ -71,22 +25,29 @@ function useReservation(params) {
71
25
  var _a, _b;
72
26
  const now = new Date();
73
27
  const reservationId = params.object.id;
28
+ const token = (_a = params === null || params === void 0 ? void 0 : params.instrument) === null || _a === void 0 ? void 0 : _a.token;
29
+ if (params.verifyToken === true) {
30
+ // instrument?.tokenを検証
31
+ if (typeof token === 'string') {
32
+ yield (0, verifyToken4reservation_1.verifyToken4reservation)({
33
+ project: { id: params.project.id },
34
+ agent: params.agent,
35
+ reservationId,
36
+ token
37
+ })({ order: repos.order });
38
+ }
39
+ }
40
+ // confirmReservationが間に合わない可能性を考慮する(2023-06-01~)
41
+ debug('reserveIfNotYet?', params.reserveIfNotYet, 'id:', params.object.id);
42
+ if (params.reserveIfNotYet === true) {
43
+ yield reserveIfNotYet({ object: params.object })(repos);
44
+ }
74
45
  // 予約検索
75
46
  // 取得属性最適化(2023-01-30~)
76
47
  const reservation = yield repos.reservation.findById({
77
48
  id: reservationId,
78
- inclusion: ['id', 'issuedThrough', 'project', 'reservationFor', 'reservationNumber', 'reservedTicket', 'typeOf']
49
+ inclusion: ['_id', 'issuedThrough', 'project', 'reservationFor', 'reservationNumber', 'reservedTicket', 'typeOf']
79
50
  });
80
- // instrument?.tokenを検証
81
- const token = (_a = params === null || params === void 0 ? void 0 : params.instrument) === null || _a === void 0 ? void 0 : _a.token;
82
- if (typeof token === 'string') {
83
- yield verifyToken4reservation({
84
- project: { id: reservation.project.id },
85
- agent: params.agent,
86
- reservationId,
87
- token
88
- })({ order: repos.order });
89
- }
90
51
  // UseActionを作成する
91
52
  const reservationAsObject = {
92
53
  id: reservation.id,
@@ -99,8 +60,6 @@ function useReservation(params) {
99
60
  const actionAttributes = Object.assign({ project: reservation.project, typeOf: factory.actionType.UseAction, agent: params.agent, instrument: Object.assign(Object.assign({}, (typeof token === 'string') ? { token } : undefined), { typeOf: factory.action.check.token.ObjectType.Ticket }),
100
61
  // object最適化(2023-01-30~)
101
62
  // どの予約を
102
- // mask
103
- // object: [maskUnderName(reservation)],
104
63
  object: [reservationAsObject] }, (typeof ((_b = params.location) === null || _b === void 0 ? void 0 : _b.identifier) === 'string')
105
64
  ? {
106
65
  location: {
@@ -118,14 +77,6 @@ function useReservation(params) {
118
77
  try {
119
78
  // 使用日時と同時更新(2023-01-30~)
120
79
  attendedReservation = (yield repos.reservation.attendIfNotAttended({ id: reservationId, now }));
121
- // attendedReservation = <IEventReservation>await repos.reservation.attend({ id: reservationId, now });
122
- // // 使用日時がなければ追加
123
- // if (attendedReservation.reservedTicket?.dateUsed === undefined) {
124
- // attendedReservation = await repos.reservation.updatePartiallyById({
125
- // id: attendedReservation.id,
126
- // update: { 'reservedTicket.dateUsed': now }
127
- // });
128
- // }
129
80
  }
130
81
  catch (error) {
131
82
  // actionにエラー結果を追加
@@ -145,3 +96,42 @@ function useReservation(params) {
145
96
  });
146
97
  }
147
98
  exports.useReservation = useReservation;
99
+ function reserveIfNotYet(params) {
100
+ return (repos) => __awaiter(this, void 0, void 0, function* () {
101
+ let reserveTransactions = [];
102
+ if (typeof params.object.id === 'string' && params.object.id.length > 0) {
103
+ reserveTransactions = yield repos.assetTransaction.search({
104
+ typeOf: factory.assetTransactionType.Reserve,
105
+ object: {
106
+ reservations: { id: { $in: [params.object.id] } }
107
+ },
108
+ statuses: [factory.transactionStatusType.Confirmed]
109
+ }, ['_id', 'transactionNumber', 'object', 'project', 'typeOf']);
110
+ debug(reserveTransactions.length, 'reserveTransactions found in reserveIfNotYet. id:', params.object.id);
111
+ }
112
+ yield Promise.all(reserveTransactions.map((reserveTransaction) => __awaiter(this, void 0, void 0, function* () {
113
+ var _a;
114
+ if (typeof ((_a = reserveTransaction.object.reservationFor) === null || _a === void 0 ? void 0 : _a.typeOf) === 'string') {
115
+ yield (0, confirmReservation_1.confirmReservation)({
116
+ actionAttributesList: [{
117
+ project: reserveTransaction.project,
118
+ typeOf: factory.actionType.ReserveAction,
119
+ object: {
120
+ typeOf: reserveTransaction.object.typeOf,
121
+ reservationNumber: reserveTransaction.object.reservationNumber,
122
+ reservationStatus: (typeof reserveTransaction.object.reservationStatus === 'string')
123
+ ? reserveTransaction.object.reservationStatus
124
+ : factory.reservationStatusType.ReservationPending,
125
+ reservationFor: reserveTransaction.object.reservationFor
126
+ },
127
+ agent: reserveTransaction.project,
128
+ purpose: { typeOf: reserveTransaction.typeOf, id: reserveTransaction.id }
129
+ }],
130
+ useOnReservationConfirmed: false,
131
+ byTask: false
132
+ })(repos);
133
+ debug('confirmReservation processed in reserveIfNotYet. reservationNumber:', reserveTransaction.object.reservationNumber);
134
+ }
135
+ })));
136
+ });
137
+ }
@@ -0,0 +1,15 @@
1
+ import * as factory from '../../factory';
2
+ import { MongoRepository as OrderRepo } from '../../repo/order';
3
+ /**
4
+ * 予約使用のためのチケットトークンを検証する
5
+ */
6
+ export declare function verifyToken4reservation(params: {
7
+ project: {
8
+ id: string;
9
+ };
10
+ agent: factory.action.check.token.IAgent;
11
+ reservationId: string;
12
+ token: string;
13
+ }): (repos: {
14
+ order: OrderRepo;
15
+ }) => Promise<void>;
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.verifyToken4reservation = void 0;
13
+ const factory = require("../../factory");
14
+ const code_1 = require("../code");
15
+ /**
16
+ * 予約使用のためのチケットトークンを検証する
17
+ */
18
+ function verifyToken4reservation(params) {
19
+ return (repos) => __awaiter(this, void 0, void 0, function* () {
20
+ const payload = yield (0, code_1.verifyToken)({
21
+ project: params.project,
22
+ agent: params.agent,
23
+ token: params.token
24
+ })({});
25
+ switch (payload.typeOf) {
26
+ case factory.order.OrderType.Order:
27
+ // reservationIdを含む注文の存在を確認するだけでよい(2023-01-31~)
28
+ const order = yield repos.order.findByOrderNumberAndReservationId({
29
+ orderNumber: payload.orderNumber,
30
+ reservationId: params.reservationId
31
+ });
32
+ // ステータス検証
33
+ switch (order.orderStatus) {
34
+ case factory.orderStatus.OrderDelivered:
35
+ break;
36
+ default:
37
+ throw new factory.errors.Argument('token', `invalid orderStatus '${order.orderStatus}'`);
38
+ }
39
+ // const acceptedOffers = (Array.isArray(order.acceptedOffers)) ? order.acceptedOffers : [];
40
+ // const reservationExistsInOrder = acceptedOffers.some((offer) => {
41
+ // return (
42
+ // offer.itemOffered.typeOf === factory.reservationType.EventReservation
43
+ // || offer.itemOffered.typeOf === factory.reservationType.BusReservation
44
+ // )
45
+ // && offer.itemOffered.id === params.reservationId;
46
+ // });
47
+ // if (!reservationExistsInOrder) {
48
+ // throw new factory.errors.NotFound('AcceptedOffer');
49
+ // }
50
+ break;
51
+ default:
52
+ throw new factory.errors.NotImplemented(`Payload type ${payload.typeOf} not implemented`);
53
+ }
54
+ });
55
+ }
56
+ exports.verifyToken4reservation = verifyToken4reservation;
@@ -3,7 +3,8 @@
3
3
  */
4
4
  import { maskUnderName } from './reserve/factory';
5
5
  import { cancelPendingReservation, cancelReservation } from './reserve/cancelReservation';
6
- import { checkInRerservation } from './reserve/checkInReservation';
6
+ import { checkInReservation } from './reserve/checkInReservation';
7
7
  import { confirmReservation } from './reserve/confirmReservation';
8
8
  import { useReservation } from './reserve/useReservation';
9
- export { maskUnderName, cancelPendingReservation, cancelReservation, checkInRerservation, confirmReservation, useReservation };
9
+ import { verifyToken4reservation } from './reserve/verifyToken4reservation';
10
+ export { maskUnderName, cancelPendingReservation, cancelReservation, checkInReservation, confirmReservation, useReservation, verifyToken4reservation };
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.useReservation = exports.confirmReservation = exports.checkInRerservation = exports.cancelReservation = exports.cancelPendingReservation = exports.maskUnderName = void 0;
3
+ exports.verifyToken4reservation = exports.useReservation = exports.confirmReservation = exports.checkInReservation = exports.cancelReservation = exports.cancelPendingReservation = exports.maskUnderName = void 0;
4
4
  /**
5
5
  * 予約サービス
6
6
  */
@@ -10,8 +10,10 @@ const cancelReservation_1 = require("./reserve/cancelReservation");
10
10
  Object.defineProperty(exports, "cancelPendingReservation", { enumerable: true, get: function () { return cancelReservation_1.cancelPendingReservation; } });
11
11
  Object.defineProperty(exports, "cancelReservation", { enumerable: true, get: function () { return cancelReservation_1.cancelReservation; } });
12
12
  const checkInReservation_1 = require("./reserve/checkInReservation");
13
- Object.defineProperty(exports, "checkInRerservation", { enumerable: true, get: function () { return checkInReservation_1.checkInRerservation; } });
13
+ Object.defineProperty(exports, "checkInReservation", { enumerable: true, get: function () { return checkInReservation_1.checkInReservation; } });
14
14
  const confirmReservation_1 = require("./reserve/confirmReservation");
15
15
  Object.defineProperty(exports, "confirmReservation", { enumerable: true, get: function () { return confirmReservation_1.confirmReservation; } });
16
16
  const useReservation_1 = require("./reserve/useReservation");
17
17
  Object.defineProperty(exports, "useReservation", { enumerable: true, get: function () { return useReservation_1.useReservation; } });
18
+ const verifyToken4reservation_1 = require("./reserve/verifyToken4reservation");
19
+ Object.defineProperty(exports, "verifyToken4reservation", { enumerable: true, get: function () { return verifyToken4reservation_1.verifyToken4reservation; } });
@@ -95,7 +95,7 @@ function onRegistered(actionAttributes) {
95
95
  taskAttributes.push(...orderProgramMembershipTasks);
96
96
  }
97
97
  // タスク保管
98
- yield repos.task.saveMany(taskAttributes);
98
+ yield repos.task.saveMany(taskAttributes, { emitImmediately: true });
99
99
  });
100
100
  }
101
101
  exports.onRegistered = onRegistered;
@@ -10,8 +10,11 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.call = void 0;
13
+ const accountingReport_1 = require("../../repo/accountingReport");
13
14
  const action_1 = require("../../repo/action");
14
15
  const assetTransaction_1 = require("../../repo/assetTransaction");
16
+ const order_1 = require("../../repo/order");
17
+ const ownershipInfo_1 = require("../../repo/ownershipInfo");
15
18
  const reservation_1 = require("../../repo/reservation");
16
19
  const transaction_1 = require("../../repo/transaction");
17
20
  const TransactionService = require("../transaction");
@@ -20,15 +23,14 @@ const TransactionService = require("../transaction");
20
23
  */
21
24
  function call(data) {
22
25
  return (settings) => __awaiter(this, void 0, void 0, function* () {
23
- const actionRepo = new action_1.MongoRepository(settings.connection);
24
- const assetTransactionRepo = new assetTransaction_1.MongoRepository(settings.connection);
25
- const reservationRepo = new reservation_1.MongoRepository(settings.connection);
26
- const transactionRepo = new transaction_1.MongoRepository(settings.connection);
27
26
  yield TransactionService.deleteTransaction(data)({
28
- action: actionRepo,
29
- assetTransaction: assetTransactionRepo,
30
- reservation: reservationRepo,
31
- transaction: transactionRepo
27
+ accountingReport: new accountingReport_1.MongoRepository(settings.connection),
28
+ action: new action_1.MongoRepository(settings.connection),
29
+ assetTransaction: new assetTransaction_1.MongoRepository(settings.connection),
30
+ order: new order_1.MongoRepository(settings.connection),
31
+ ownershipInfo: new ownershipInfo_1.MongoRepository(settings.connection),
32
+ reservation: new reservation_1.MongoRepository(settings.connection),
33
+ transaction: new transaction_1.MongoRepository(settings.connection)
32
34
  });
33
35
  });
34
36
  }
@@ -35,6 +35,10 @@ function call(data) {
35
35
  offer: offerRepo,
36
36
  masterService
37
37
  });
38
+ yield OfferService.event.importCategoryCodesFromCOA(data)({
39
+ categoryCode: categoryCodeRepo,
40
+ masterService
41
+ });
38
42
  });
39
43
  }
40
44
  exports.call = call;
@@ -0,0 +1,7 @@
1
+ import * as factory from '../../factory';
2
+ import { IConnectionSettings } from '../task';
3
+ export type IOperation<T> = (settings: IConnectionSettings) => Promise<T>;
4
+ /**
5
+ * タスク実行関数
6
+ */
7
+ export declare function call(data: factory.task.onAuthorizationCreated.IData): IOperation<void>;
@@ -0,0 +1,108 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.call = void 0;
13
+ const factory = require("../../factory");
14
+ const action_1 = require("../../repo/action");
15
+ const assetTransaction_1 = require("../../repo/assetTransaction");
16
+ const code_1 = require("../../repo/code");
17
+ const order_1 = require("../../repo/order");
18
+ const ownershipInfo_1 = require("../../repo/ownershipInfo");
19
+ const reservation_1 = require("../../repo/reservation");
20
+ const task_1 = require("../../repo/task");
21
+ const reserve_1 = require("../reserve");
22
+ /**
23
+ * タスク実行関数
24
+ */
25
+ function call(data) {
26
+ return (settings) => __awaiter(this, void 0, void 0, function* () {
27
+ yield onAuthorizationCreated(data)({
28
+ action: new action_1.MongoRepository(settings.connection),
29
+ assetTransaction: new assetTransaction_1.MongoRepository(settings.connection),
30
+ code: new code_1.MongoRepository(settings.connection),
31
+ order: new order_1.MongoRepository(settings.connection),
32
+ ownershipInfo: new ownershipInfo_1.MongoRepository(settings.connection),
33
+ reservation: new reservation_1.MongoRepository(settings.connection),
34
+ task: new task_1.MongoRepository(settings.connection)
35
+ });
36
+ });
37
+ }
38
+ exports.call = call;
39
+ function onAuthorizationCreated(params) {
40
+ return (repos) => __awaiter(this, void 0, void 0, function* () {
41
+ // 発券対象予約ID
42
+ let reservationIds = [];
43
+ // 発券対象予約番号
44
+ let reservationNumbers = [];
45
+ // 発券対象イベントID
46
+ let reservationForIds = [];
47
+ const authorizationObject = yield repos.code.findOne({
48
+ code: params.code,
49
+ project: { id: params.project.id, typeOf: factory.organizationType.Project }
50
+ });
51
+ switch (authorizationObject.typeOf) {
52
+ case factory.order.OrderType.Order:
53
+ // 注文検索
54
+ const orderNumber = authorizationObject.orderNumber;
55
+ if (typeof orderNumber === 'string' && orderNumber.length > 0) {
56
+ // 最適化(2023-01-28~)
57
+ const order = yield repos.order.findByOrderNumber({
58
+ orderNumber,
59
+ inclusion: ['acceptedOffers'],
60
+ exclusion: []
61
+ });
62
+ const acceptedOffers = (Array.isArray(order.acceptedOffers)) ? order.acceptedOffers : [];
63
+ reservationNumbers = acceptedOffers
64
+ .filter((o) => o.itemOffered.typeOf === factory.reservationType.EventReservation
65
+ || o.itemOffered.typeOf === factory.reservationType.BusReservation)
66
+ .map((o) => o.itemOffered.reservationNumber);
67
+ reservationNumbers = [...new Set(reservationNumbers)];
68
+ reservationForIds = acceptedOffers
69
+ .filter((o) => o.itemOffered.typeOf === factory.reservationType.EventReservation
70
+ || o.itemOffered.typeOf === factory.reservationType.BusReservation)
71
+ .map((o) => String(o.itemOffered.reservationFor.id));
72
+ reservationForIds = [...new Set(reservationForIds)];
73
+ }
74
+ break;
75
+ case 'OwnershipInfo':
76
+ // 所有権検索
77
+ const ownershipInfoId = authorizationObject.id;
78
+ if (typeof ownershipInfoId === 'string' && ownershipInfoId.length > 0) {
79
+ const ownershipInfo = yield repos.ownershipInfo.findById({ id: ownershipInfoId });
80
+ // 座席予約に対する所有権であれば発券
81
+ if (ownershipInfo.typeOfGood.typeOf === factory.reservationType.EventReservation
82
+ || ownershipInfo.typeOfGood.typeOf === factory.reservationType.BusReservation) {
83
+ const reservationId = String(ownershipInfo.typeOfGood.id);
84
+ reservationIds = [reservationId];
85
+ const reservation = yield repos.reservation.findById({ id: reservationId });
86
+ reservationForIds = [String(reservation.reservationFor.id)];
87
+ }
88
+ }
89
+ break;
90
+ default:
91
+ // no op
92
+ }
93
+ yield (0, reserve_1.checkInReservation)({
94
+ project: { id: params.project.id },
95
+ object: {
96
+ ids: reservationIds,
97
+ reservationNumbers: reservationNumbers,
98
+ reservationFor: { ids: reservationForIds }
99
+ },
100
+ reserveIfNotYet: params.reserveIfNotYet
101
+ })({
102
+ action: repos.action,
103
+ assetTransaction: repos.assetTransaction,
104
+ reservation: repos.reservation,
105
+ task: repos.task
106
+ });
107
+ });
108
+ }
@@ -32,7 +32,7 @@ function call(data) {
32
32
  const taskRepo = new task_1.MongoRepository(settings.connection);
33
33
  const transactionRepo = new transaction_1.MongoRepository(settings.connection);
34
34
  const registerServiceInProgressRepo = new registerServiceInProgress_1.RedisRepository(settings.redisClient);
35
- yield OrderService.placeOrder(data)({
35
+ yield OrderService.placeOrder(Object.assign(Object.assign({}, data), { useOnOrderStatusChanged: true }))({
36
36
  accountingReport: accountingReportRepo,
37
37
  action: actionRepo,
38
38
  order: orderRepo,
@@ -11,6 +11,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.call = void 0;
13
13
  const action_1 = require("../../repo/action");
14
+ const assetTransaction_1 = require("../../repo/assetTransaction");
14
15
  const reservation_1 = require("../../repo/reservation");
15
16
  const task_1 = require("../../repo/task");
16
17
  const ReserveService = require("../reserve");
@@ -19,13 +20,15 @@ const ReserveService = require("../reserve");
19
20
  */
20
21
  function call(data) {
21
22
  return (settings) => __awaiter(this, void 0, void 0, function* () {
22
- const actionRepo = new action_1.MongoRepository(settings.connection);
23
- const reservationRepo = new reservation_1.MongoRepository(settings.connection);
24
- const taskRepo = new task_1.MongoRepository(settings.connection);
25
- yield ReserveService.confirmReservation(data.actionAttributes)({
26
- action: actionRepo,
27
- reservation: reservationRepo,
28
- task: taskRepo
23
+ yield ReserveService.confirmReservation({
24
+ actionAttributesList: data.actionAttributes,
25
+ useOnReservationConfirmed: true,
26
+ byTask: true
27
+ })({
28
+ action: new action_1.MongoRepository(settings.connection),
29
+ assetTransaction: new assetTransaction_1.MongoRepository(settings.connection),
30
+ reservation: new reservation_1.MongoRepository(settings.connection),
31
+ task: new task_1.MongoRepository(settings.connection)
29
32
  });
30
33
  });
31
34
  }
@@ -32,7 +32,7 @@ function call(data) {
32
32
  const taskRepo = new task_1.MongoRepository(settings.connection);
33
33
  const transactionRepo = new transaction_1.MongoRepository(settings.connection);
34
34
  const registerServiceInProgressRepo = new registerServiceInProgress_1.RedisRepository(settings.redisClient);
35
- yield OrderService.returnOrder(data)({
35
+ yield OrderService.returnOrder(Object.assign(Object.assign({}, data), { useOnOrderStatusChanged: true }))({
36
36
  action: actionRepo,
37
37
  order: orderRepo,
38
38
  ownershipInfo: ownershipInfoRepo,
@@ -134,13 +134,7 @@ function refundTransactionAlreadyExists(params) {
134
134
  typeOf: factory.assetTransactionType.Refund,
135
135
  statuses: [factory.transactionStatusType.Confirmed],
136
136
  object: { paymentMethodId: { $eq: params.object.paymentMethodId } }
137
- }, {
138
- agent: 0,
139
- object: 0,
140
- potentialActions: 0,
141
- recipient: 0,
142
- result: 0
143
- });
137
+ }, ['_id'], []);
144
138
  return refundTransactions.length > 0;
145
139
  });
146
140
  }
@@ -219,10 +213,6 @@ function onRefund(refundActionAttributes) {
219
213
  });
220
214
  }
221
215
  // タスク保管
222
- // saveManyに変更(2023-02-01~)
223
- yield repos.task.saveMany(taskAttributes);
224
- // await Promise.all(taskAttributes.map(async (taskAttribute) => {
225
- // return repos.task.save(taskAttribute);
226
- // }));
216
+ yield repos.task.saveMany(taskAttributes, { emitImmediately: true });
227
217
  });
228
218
  }
@@ -32,7 +32,7 @@ function call(data) {
32
32
  const taskRepo = new task_1.MongoRepository(settings.connection);
33
33
  const transactionRepo = new transaction_1.MongoRepository(settings.connection);
34
34
  const registerServiceInProgressRepo = new registerServiceInProgress_1.RedisRepository(settings.redisClient);
35
- yield OrderService.sendOrder(data)({
35
+ yield OrderService.sendOrder(Object.assign(Object.assign({}, data), { useOnOrderStatusChanged: true }))({
36
36
  action: actionRepo,
37
37
  order: orderRepo,
38
38
  ownershipInfo: ownershipInfoRepo,
@@ -0,0 +1,7 @@
1
+ import * as factory from '../../factory';
2
+ import { IConnectionSettings } from '../task';
3
+ export type IOperation<T> = (settings: IConnectionSettings) => Promise<T>;
4
+ /**
5
+ * タスク実行関数
6
+ */
7
+ export declare function call(data: factory.task.useReservation.IData): IOperation<void>;
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.call = void 0;
13
+ const action_1 = require("../../repo/action");
14
+ const assetTransaction_1 = require("../../repo/assetTransaction");
15
+ const order_1 = require("../../repo/order");
16
+ const reservation_1 = require("../../repo/reservation");
17
+ const task_1 = require("../../repo/task");
18
+ const reserve_1 = require("../reserve");
19
+ /**
20
+ * タスク実行関数
21
+ */
22
+ function call(data) {
23
+ return (settings) => __awaiter(this, void 0, void 0, function* () {
24
+ var _a, _b;
25
+ yield (0, reserve_1.useReservation)(Object.assign(Object.assign({ project: data.project, agent: data.agent, object: data.object,
26
+ // タスク作成前に検証済なので検証不要
27
+ verifyToken: false, reserveIfNotYet: data.reserveIfNotYet }, (typeof ((_a = data.instrument) === null || _a === void 0 ? void 0 : _a.typeOf) === 'string') ? { instrument: data.instrument } : undefined), (typeof ((_b = data.location) === null || _b === void 0 ? void 0 : _b.typeOf) === 'string') ? { location: data.location } : undefined))({
28
+ action: new action_1.MongoRepository(settings.connection),
29
+ assetTransaction: new assetTransaction_1.MongoRepository(settings.connection),
30
+ order: new order_1.MongoRepository(settings.connection),
31
+ reservation: new reservation_1.MongoRepository(settings.connection),
32
+ task: new task_1.MongoRepository(settings.connection)
33
+ });
34
+ });
35
+ }
36
+ exports.call = call;
@@ -17,6 +17,7 @@ const offer_1 = require("../../repo/rateLimit/offer");
17
17
  const reservation_1 = require("../../repo/reservation");
18
18
  const stockHolder_1 = require("../../repo/stockHolder");
19
19
  const task_1 = require("../../repo/task");
20
+ const transaction_1 = require("../../repo/transaction");
20
21
  const EventOfferService = require("../offer/event");
21
22
  /**
22
23
  * タスク実行関数
@@ -38,7 +39,8 @@ function call(data) {
38
39
  stockHolder: stockHolderRepo,
39
40
  offerRateLimit: offerRateLimitRepo,
40
41
  reservation: reservationRepo,
41
- task: taskRepo
42
+ task: taskRepo,
43
+ transaction: new transaction_1.MongoRepository(settings.connection)
42
44
  });
43
45
  });
44
46
  }
@@ -16,11 +16,20 @@ export type TaskOperation<T> = (repos: {
16
16
  task: TaskRepo;
17
17
  }) => Promise<T>;
18
18
  export type IOperation<T> = (settings: IConnectionSettings) => Promise<T>;
19
+ export declare function executeById(params: {
20
+ id: string;
21
+ executor?: {
22
+ name: string;
23
+ };
24
+ }): IOperation<void>;
19
25
  /**
20
26
  * タスク名でタスクをひとつ実行する
21
27
  */
22
28
  export declare function executeByName<T extends factory.taskName>(params: {
23
29
  name: T;
30
+ executor?: {
31
+ name: string;
32
+ };
24
33
  }): IOperation<void>;
25
34
  /**
26
35
  * タスクを実行する