@chevre/domain 21.2.0-alpha.11 → 21.2.0-alpha.111

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 (277) hide show
  1. package/example/src/chevre/aggregation/aggregateSystem.ts +85 -27
  2. package/example/src/chevre/deleteTasksByName.ts +10 -2
  3. package/example/src/chevre/importEventsFromCOA.ts +3 -4
  4. package/example/src/chevre/migrateOrderAdditionalProperties.ts +85 -0
  5. package/example/src/chevre/processPay.ts +5 -1
  6. package/example/src/chevre/processRegisterMembership.ts +8 -4
  7. package/example/src/chevre/processRegisterPaymentCard.ts +8 -4
  8. package/example/src/chevre/processReserve.ts +4 -1
  9. package/example/src/chevre/saveTasks.ts +13 -10
  10. package/example/src/chevre/searchAbortedTasks.ts +36 -0
  11. package/example/src/chevre/searchActions.ts +33 -0
  12. package/example/src/chevre/searchReservationNumbersByOrderNumbers.ts +37 -1
  13. package/example/src/chevre/searchSendEmailActions.ts +44 -0
  14. package/example/src/chevre/task/executeTasks.ts +26 -0
  15. package/example/src/chevre/transaction/findCreditCard.ts +1 -1
  16. package/example/src/chevre/transaction/orderMembershipService.ts +1 -1
  17. package/example/src/chevre/transaction/processReturnOrder.ts +40 -0
  18. package/example/src/chevre/transaction/startExportTasks.ts +20 -0
  19. package/example/src/chevre/updateTransaction.ts +1 -1
  20. package/example/src/playOnMoment.ts +24 -0
  21. package/lib/chevre/credentials.d.ts +1 -0
  22. package/lib/chevre/credentials.js +2 -1
  23. package/lib/chevre/eventEmitter/assetTransaction.d.ts +21 -0
  24. package/lib/chevre/eventEmitter/assetTransaction.js +25 -0
  25. package/lib/chevre/eventEmitter/task.d.ts +18 -0
  26. package/lib/chevre/eventEmitter/task.js +25 -0
  27. package/lib/chevre/eventEmitter/transaction.d.ts +21 -0
  28. package/lib/chevre/eventEmitter/transaction.js +25 -0
  29. package/lib/chevre/eventEmitter.d.ts +4 -0
  30. package/lib/chevre/eventEmitter.js +9 -0
  31. package/lib/chevre/index.d.ts +3 -2
  32. package/lib/chevre/index.js +5 -3
  33. package/lib/chevre/repo/account.js +3 -2
  34. package/lib/chevre/repo/accountTransaction.d.ts +3 -11
  35. package/lib/chevre/repo/accountTransaction.js +3 -55
  36. package/lib/chevre/repo/action.d.ts +42 -2
  37. package/lib/chevre/repo/action.js +130 -57
  38. package/lib/chevre/repo/additionalProperty.js +2 -1
  39. package/lib/chevre/repo/aggregation.d.ts +3 -0
  40. package/lib/chevre/repo/aggregation.js +3 -0
  41. package/lib/chevre/repo/assetTransaction.d.ts +25 -9
  42. package/lib/chevre/repo/assetTransaction.js +259 -87
  43. package/lib/chevre/repo/categoryCode.d.ts +1 -1
  44. package/lib/chevre/repo/categoryCode.js +37 -25
  45. package/lib/chevre/repo/code.js +3 -2
  46. package/lib/chevre/repo/comment.d.ts +4 -1
  47. package/lib/chevre/repo/comment.js +22 -6
  48. package/lib/chevre/repo/confirmationNumber.d.ts +0 -1
  49. package/lib/chevre/repo/confirmationNumber.js +3 -15
  50. package/lib/chevre/repo/creativeWork.d.ts +2 -4
  51. package/lib/chevre/repo/creativeWork.js +35 -12
  52. package/lib/chevre/repo/customer.js +2 -1
  53. package/lib/chevre/repo/emailMessage.d.ts +1 -27
  54. package/lib/chevre/repo/emailMessage.js +2 -1
  55. package/lib/chevre/repo/event.d.ts +5 -1
  56. package/lib/chevre/repo/event.js +4 -3
  57. package/lib/chevre/repo/member.js +4 -3
  58. package/lib/chevre/repo/merchantReturnPolicy.d.ts +1 -3
  59. package/lib/chevre/repo/merchantReturnPolicy.js +2 -1
  60. package/lib/chevre/repo/mongoose/schemas/account.d.ts +4 -2
  61. package/lib/chevre/repo/mongoose/schemas/accountTitle.d.ts +29 -3
  62. package/lib/chevre/repo/mongoose/schemas/accountTransaction.d.ts +31 -3
  63. package/lib/chevre/repo/mongoose/schemas/accountTransaction.js +1 -1
  64. package/lib/chevre/repo/mongoose/schemas/accountingReport.d.ts +13 -3
  65. package/lib/chevre/repo/mongoose/schemas/action.d.ts +43 -3
  66. package/lib/chevre/repo/mongoose/schemas/action.js +19 -1
  67. package/lib/chevre/repo/mongoose/schemas/additionalProperty.d.ts +17 -3
  68. package/lib/chevre/repo/mongoose/schemas/aggregation.d.ts +4 -2
  69. package/lib/chevre/repo/mongoose/schemas/assetTransaction.d.ts +44 -3
  70. package/lib/chevre/repo/mongoose/schemas/assetTransaction.js +32 -19
  71. package/lib/chevre/repo/mongoose/schemas/authorization.d.ts +19 -3
  72. package/lib/chevre/repo/mongoose/schemas/authorization.js +1 -1
  73. package/lib/chevre/repo/mongoose/schemas/categoryCode.d.ts +25 -3
  74. package/lib/chevre/repo/mongoose/schemas/comments.d.ts +27 -3
  75. package/lib/chevre/repo/mongoose/schemas/comments.js +1 -1
  76. package/lib/chevre/repo/mongoose/schemas/creativeWork.d.ts +43 -3
  77. package/lib/chevre/repo/mongoose/schemas/customer.d.ts +25 -3
  78. package/lib/chevre/repo/mongoose/schemas/emailMessages.d.ts +21 -3
  79. package/lib/chevre/repo/mongoose/schemas/event.d.ts +71 -3
  80. package/lib/chevre/repo/mongoose/schemas/member.d.ts +13 -3
  81. package/lib/chevre/repo/mongoose/schemas/merchantReturnPolicy.d.ts +21 -3
  82. package/lib/chevre/repo/mongoose/schemas/offer.d.ts +65 -3
  83. package/lib/chevre/repo/mongoose/schemas/offerCatalog.d.ts +27 -3
  84. package/lib/chevre/repo/mongoose/schemas/offerItemCondition.d.ts +74 -0
  85. package/lib/chevre/repo/mongoose/schemas/offerItemCondition.js +45 -0
  86. package/lib/chevre/repo/mongoose/schemas/order.d.ts +51 -3
  87. package/lib/chevre/repo/mongoose/schemas/order.js +1 -1
  88. package/lib/chevre/repo/mongoose/schemas/ownershipInfo.d.ts +25 -3
  89. package/lib/chevre/repo/mongoose/schemas/ownershipInfo.js +1 -1
  90. package/lib/chevre/repo/mongoose/schemas/place.d.ts +49 -3
  91. package/lib/chevre/repo/mongoose/schemas/priceSpecification.d.ts +29 -3
  92. package/lib/chevre/repo/mongoose/schemas/product.d.ts +31 -3
  93. package/lib/chevre/repo/mongoose/schemas/project.d.ts +23 -3
  94. package/lib/chevre/repo/mongoose/schemas/reservation.d.ts +63 -5
  95. package/lib/chevre/repo/mongoose/schemas/reservation.js +1 -1
  96. package/lib/chevre/repo/mongoose/schemas/role.d.ts +11 -3
  97. package/lib/chevre/repo/mongoose/schemas/seller.d.ts +31 -3
  98. package/lib/chevre/repo/mongoose/schemas/seller.js +6 -0
  99. package/lib/chevre/repo/mongoose/schemas/serviceOutput.d.ts +11 -3
  100. package/lib/chevre/repo/mongoose/schemas/serviceOutput.js +1 -1
  101. package/lib/chevre/repo/mongoose/schemas/task.d.ts +30 -3
  102. package/lib/chevre/repo/mongoose/schemas/task.js +2 -1
  103. package/lib/chevre/repo/mongoose/schemas/telemetry.d.ts +21 -3
  104. package/lib/chevre/repo/mongoose/schemas/transaction.d.ts +40 -3
  105. package/lib/chevre/repo/mongoose/schemas/transaction.js +2 -1
  106. package/lib/chevre/repo/mongoose/schemas/trip.d.ts +11 -3
  107. package/lib/chevre/repo/offer.js +3 -2
  108. package/lib/chevre/repo/offerCatalog.js +0 -27
  109. package/lib/chevre/repo/offerItemCondition.d.ts +22 -0
  110. package/lib/chevre/repo/offerItemCondition.js +121 -0
  111. package/lib/chevre/repo/order.d.ts +55 -3
  112. package/lib/chevre/repo/order.js +62 -10
  113. package/lib/chevre/repo/ownershipInfo.js +2 -7
  114. package/lib/chevre/repo/place.js +3 -2
  115. package/lib/chevre/repo/priceSpecification.js +3 -2
  116. package/lib/chevre/repo/product.d.ts +1 -3
  117. package/lib/chevre/repo/product.js +25 -4
  118. package/lib/chevre/repo/project.js +2 -1
  119. package/lib/chevre/repo/reservation.d.ts +20 -4
  120. package/lib/chevre/repo/reservation.js +40 -59
  121. package/lib/chevre/repo/role.js +3 -2
  122. package/lib/chevre/repo/seller.d.ts +1 -1
  123. package/lib/chevre/repo/seller.js +44 -23
  124. package/lib/chevre/repo/serviceOutput.js +2 -1
  125. package/lib/chevre/repo/task.d.ts +42 -2
  126. package/lib/chevre/repo/task.js +93 -11
  127. package/lib/chevre/repo/transaction.d.ts +23 -4
  128. package/lib/chevre/repo/transaction.js +179 -60
  129. package/lib/chevre/repo/trip.js +2 -1
  130. package/lib/chevre/repository.d.ts +5 -2
  131. package/lib/chevre/repository.js +8 -4
  132. package/lib/chevre/service/aggregation/system.d.ts +110 -23
  133. package/lib/chevre/service/aggregation/system.js +213 -91
  134. package/lib/chevre/service/assetTransaction/cancelReservation.js +1 -28
  135. package/lib/chevre/service/assetTransaction/moneyTransfer.js +2 -24
  136. package/lib/chevre/service/assetTransaction/pay/account/validation.js +1 -1
  137. package/lib/chevre/service/assetTransaction/pay/potentialActions.js +17 -1
  138. package/lib/chevre/service/assetTransaction/pay.d.ts +5 -1
  139. package/lib/chevre/service/assetTransaction/pay.js +20 -34
  140. package/lib/chevre/service/assetTransaction/refund.js +2 -24
  141. package/lib/chevre/service/assetTransaction/registerService.js +1 -25
  142. package/lib/chevre/service/assetTransaction/reserve/factory.d.ts +15 -5
  143. package/lib/chevre/service/assetTransaction/reserve/factory.js +122 -58
  144. package/lib/chevre/service/assetTransaction/reserve.d.ts +10 -1
  145. package/lib/chevre/service/assetTransaction/reserve.js +85 -69
  146. package/lib/chevre/service/assetTransaction.d.ts +6 -2
  147. package/lib/chevre/service/assetTransaction.js +9 -5
  148. package/lib/chevre/service/event.js +16 -5
  149. package/lib/chevre/service/notification/factory.js +2 -2
  150. package/lib/chevre/service/notification.d.ts +3 -1
  151. package/lib/chevre/service/notification.js +41 -7
  152. package/lib/chevre/service/offer/event/authorize.d.ts +3 -0
  153. package/lib/chevre/service/offer/event/authorize.js +8 -2
  154. package/lib/chevre/service/offer/event/factory.d.ts +3 -0
  155. package/lib/chevre/service/offer/event/factory.js +16 -5
  156. package/lib/chevre/service/offer/event/importFromCOA.js +2 -2
  157. package/lib/chevre/service/offer/event/voidTransaction.d.ts +2 -0
  158. package/lib/chevre/service/offer/event/voidTransaction.js +17 -1
  159. package/lib/chevre/service/offer/eventServiceByCOA.js +7 -9
  160. package/lib/chevre/service/offer/product.js +2 -2
  161. package/lib/chevre/service/offer.d.ts +16 -8
  162. package/lib/chevre/service/offer.js +69 -8
  163. package/lib/chevre/service/order/deleteOrder.d.ts +3 -1
  164. package/lib/chevre/service/order/deleteOrder.js +8 -8
  165. package/lib/chevre/service/order/onOrderStatusChanged/factory.d.ts +5 -2
  166. package/lib/chevre/service/order/onOrderStatusChanged/factory.js +41 -81
  167. package/lib/chevre/service/order/onOrderStatusChanged.js +1 -3
  168. package/lib/chevre/service/order/onOrderUpdated.d.ts +16 -0
  169. package/lib/chevre/service/order/onOrderUpdated.js +22 -0
  170. package/lib/chevre/service/order/placeOrder.d.ts +1 -0
  171. package/lib/chevre/service/order/placeOrder.js +41 -24
  172. package/lib/chevre/service/order/returnOrder.d.ts +1 -0
  173. package/lib/chevre/service/order/returnOrder.js +7 -12
  174. package/lib/chevre/service/order/sendOrder.d.ts +1 -0
  175. package/lib/chevre/service/order/sendOrder.js +7 -10
  176. package/lib/chevre/service/order.d.ts +2 -1
  177. package/lib/chevre/service/order.js +3 -1
  178. package/lib/chevre/service/payment/any/onPaid.js +1 -1
  179. package/lib/chevre/service/payment/any/onRefund.js +1 -1
  180. package/lib/chevre/service/payment/any.d.ts +9 -5
  181. package/lib/chevre/service/payment/any.js +80 -18
  182. package/lib/chevre/service/payment/creditCard.d.ts +1 -1
  183. package/lib/chevre/service/payment/creditCard.js +23 -17
  184. package/lib/chevre/service/payment/movieTicket/checkByIdentifier.d.ts +8 -7
  185. package/lib/chevre/service/payment/movieTicket/factory.d.ts +1 -1
  186. package/lib/chevre/service/payment/movieTicket/getCredentials.d.ts +1 -1
  187. package/lib/chevre/service/payment/movieTicket/getCredentials.js +1 -1
  188. package/lib/chevre/service/payment/movieTicket/validation.d.ts +6 -6
  189. package/lib/chevre/service/payment/movieTicket/validation.js +55 -32
  190. package/lib/chevre/service/payment/movieTicket.d.ts +2 -2
  191. package/lib/chevre/service/payment/movieTicket.js +7 -6
  192. package/lib/chevre/service/product.js +1 -5
  193. package/lib/chevre/service/report/telemetry.d.ts +0 -11
  194. package/lib/chevre/service/report/telemetry.js +21 -24
  195. package/lib/chevre/service/reserve/cancelReservation.d.ts +5 -3
  196. package/lib/chevre/service/reserve/cancelReservation.js +147 -139
  197. package/lib/chevre/service/reserve/checkInReservation.d.ts +9 -4
  198. package/lib/chevre/service/reserve/checkInReservation.js +77 -3
  199. package/lib/chevre/service/reserve/confirmReservation.d.ts +7 -4
  200. package/lib/chevre/service/reserve/confirmReservation.js +133 -58
  201. package/lib/chevre/service/reserve/factory.d.ts +1 -1
  202. package/lib/chevre/service/reserve/potentialActions/onReservationCanceled.d.ts +17 -5
  203. package/lib/chevre/service/reserve/potentialActions/onReservationCanceled.js +26 -24
  204. package/lib/chevre/service/reserve/potentialActions/onReservationCheckedIn.js +2 -3
  205. package/lib/chevre/service/reserve/potentialActions/onReservationConfirmed.js +2 -31
  206. package/lib/chevre/service/reserve/potentialActions/onReservationUsed.js +2 -3
  207. package/lib/chevre/service/reserve/useReservation.d.ts +7 -3
  208. package/lib/chevre/service/reserve/useReservation.js +61 -71
  209. package/lib/chevre/service/reserve/verifyToken4reservation.d.ts +15 -0
  210. package/lib/chevre/service/reserve/verifyToken4reservation.js +56 -0
  211. package/lib/chevre/service/reserve.d.ts +3 -2
  212. package/lib/chevre/service/reserve.js +4 -2
  213. package/lib/chevre/service/task/cancelPendingReservation.js +5 -1
  214. package/lib/chevre/service/task/confirmRegisterServiceTransaction.js +1 -1
  215. package/lib/chevre/service/task/deleteTransaction.js +10 -8
  216. package/lib/chevre/service/task/importOffersFromCOA.js +4 -0
  217. package/lib/chevre/service/task/onAuthorizationCreated.d.ts +7 -0
  218. package/lib/chevre/service/task/onAuthorizationCreated.js +108 -0
  219. package/lib/chevre/service/task/onEventChanged.d.ts +7 -0
  220. package/lib/chevre/service/task/{deleteOrder.js → onEventChanged.js} +8 -14
  221. package/lib/chevre/service/task/onResourceUpdated.d.ts +7 -0
  222. package/lib/chevre/service/task/onResourceUpdated.js +199 -0
  223. package/lib/chevre/service/task/placeOrder.js +1 -1
  224. package/lib/chevre/service/task/reserve.js +10 -7
  225. package/lib/chevre/service/task/returnOrder.js +1 -1
  226. package/lib/chevre/service/task/returnPayTransaction.js +2 -12
  227. package/lib/chevre/service/task/sendOrder.js +1 -1
  228. package/lib/chevre/service/task/useReservation.d.ts +7 -0
  229. package/lib/chevre/service/task/useReservation.js +36 -0
  230. package/lib/chevre/service/task/voidReserveTransaction.js +3 -1
  231. package/lib/chevre/service/task.d.ts +9 -0
  232. package/lib/chevre/service/task.js +43 -4
  233. package/lib/chevre/service/transaction/deleteTransaction.d.ts +21 -0
  234. package/lib/chevre/service/transaction/deleteTransaction.js +232 -0
  235. package/lib/chevre/service/transaction/moneyTransfer/exportTasks/factory.js +11 -1
  236. package/lib/chevre/service/transaction/moneyTransfer/factory.d.ts +1 -1
  237. package/lib/chevre/service/transaction/moneyTransfer/factory.js +3 -1
  238. package/lib/chevre/service/transaction/moneyTransfer/potentialActions.d.ts +1 -0
  239. package/lib/chevre/service/transaction/moneyTransfer/potentialActions.js +1 -1
  240. package/lib/chevre/service/transaction/moneyTransfer.js +10 -13
  241. package/lib/chevre/service/transaction/orderProgramMembership/findCreditCard.js +1 -1
  242. package/lib/chevre/service/transaction/orderProgramMembership/findPaymentCardPermit.js +1 -1
  243. package/lib/chevre/service/transaction/orderProgramMembership.js +7 -3
  244. package/lib/chevre/service/transaction/placeOrder/exportTasks/factory.js +42 -30
  245. package/lib/chevre/service/transaction/placeOrder.js +1 -5
  246. package/lib/chevre/service/transaction/placeOrderInProgress/factory.js +1 -1
  247. package/lib/chevre/service/transaction/placeOrderInProgress/potentialActions/moneyTransfer.d.ts +1 -0
  248. package/lib/chevre/service/transaction/placeOrderInProgress/potentialActions/moneyTransfer.js +1 -1
  249. package/lib/chevre/service/transaction/placeOrderInProgress/potentialActions/registerService.d.ts +1 -0
  250. package/lib/chevre/service/transaction/placeOrderInProgress/potentialActions/registerService.js +1 -1
  251. package/lib/chevre/service/transaction/placeOrderInProgress/potentialActions.d.ts +1 -0
  252. package/lib/chevre/service/transaction/placeOrderInProgress/result/acceptedOffers.d.ts +3 -0
  253. package/lib/chevre/service/transaction/placeOrderInProgress/result/acceptedOffers.js +7 -3
  254. package/lib/chevre/service/transaction/placeOrderInProgress/result.d.ts +1 -0
  255. package/lib/chevre/service/transaction/placeOrderInProgress/result.js +2 -2
  256. package/lib/chevre/service/transaction/placeOrderInProgress/validation/validateMovieTicket.d.ts +1 -1
  257. package/lib/chevre/service/transaction/placeOrderInProgress/validation/validateMovieTicket.js +2 -2
  258. package/lib/chevre/service/transaction/placeOrderInProgress/validation.d.ts +2 -1
  259. package/lib/chevre/service/transaction/placeOrderInProgress/validation.js +23 -17
  260. package/lib/chevre/service/transaction/placeOrderInProgress.d.ts +0 -3
  261. package/lib/chevre/service/transaction/placeOrderInProgress.js +28 -15
  262. package/lib/chevre/service/transaction/returnOrder/exportTasks/factory.js +10 -1
  263. package/lib/chevre/service/transaction/returnOrder/potentialActions/returnPaymentMethod.js +25 -17
  264. package/lib/chevre/service/transaction/returnOrder.d.ts +4 -0
  265. package/lib/chevre/service/transaction/returnOrder.js +228 -36
  266. package/lib/chevre/service/transaction.d.ts +8 -13
  267. package/lib/chevre/service/transaction.js +12 -145
  268. package/lib/chevre/settings.d.ts +11 -1
  269. package/lib/chevre/settings.js +50 -6
  270. package/package.json +5 -5
  271. package/example/src/chevre/createManyEventsIfNotExist.ts +0 -205
  272. package/example/src/chevre/eventCatalog2eventService.ts +0 -123
  273. package/example/src/chevre/migrateMoneyTransferPendingTransactionIdentifier.ts +0 -96
  274. package/example/src/chevre/migrateMovieAdditionalProperties.ts +0 -98
  275. package/lib/chevre/service/task/deleteAssetTransaction.d.ts +0 -12
  276. package/lib/chevre/service/task/deleteAssetTransaction.js +0 -65
  277. package/lib/chevre/service/task/deleteOrder.d.ts +0 -6
@@ -0,0 +1,40 @@
1
+ // tslint:disable:no-console
2
+ import * as mongoose from 'mongoose';
3
+
4
+ import { chevre } from '../../../../lib/index';
5
+
6
+ const project = { id: String(process.env.PROJECT_ID) };
7
+
8
+ async function main() {
9
+ await mongoose.connect(<string>process.env.MONGOLAB_URI, { autoIndex: false });
10
+
11
+ const result = await chevre.service.transaction.returnOrder.start({
12
+ project: { id: project.id, typeOf: chevre.factory.organizationType.Project },
13
+ expiresInSeconds: 60,
14
+ agent: { id: 'xxx', typeOf: chevre.factory.creativeWorkType.WebApplication },
15
+ object: {
16
+ order: [{
17
+ confirmationNumber: '99916',
18
+ orderNumber: 'TTT2-8507485-9273468'
19
+ }],
20
+ reason: chevre.factory.transaction.returnOrder.Reason.Customer
21
+ },
22
+ seller: {
23
+ id: 'xxx'
24
+ }
25
+ })({
26
+ event: new chevre.repository.Event(mongoose.connection),
27
+ merchantReturnPolicy: new chevre.repository.MerchantReturnPolicy(mongoose.connection),
28
+ offer: new chevre.repository.Offer(mongoose.connection),
29
+ offerItemCondition: new chevre.repository.OfferItemCondition(mongoose.connection),
30
+ order: new chevre.repository.Order(mongoose.connection),
31
+ reservation: new chevre.repository.Reservation(mongoose.connection),
32
+ seller: new chevre.repository.Seller(mongoose.connection),
33
+ transaction: new chevre.repository.Transaction(mongoose.connection)
34
+ });
35
+ console.log(result);
36
+ }
37
+
38
+ main()
39
+ .then(console.log)
40
+ .catch(console.error);
@@ -0,0 +1,20 @@
1
+ // tslint:disable:no-console
2
+ import * as mongoose from 'mongoose';
3
+
4
+ import { chevre } from '../../../../lib/index';
5
+
6
+ async function main() {
7
+ await mongoose.connect(<string>process.env.MONGOLAB_URI, { autoIndex: false });
8
+
9
+ const transactionRepo = new chevre.repository.Transaction(mongoose.connection);
10
+ const result = await transactionRepo.startExportTasks({
11
+ typeOf: { $in: [chevre.factory.transactionType.PlaceOrder] },
12
+ status: chevre.factory.transactionStatusType.Confirmed,
13
+ tasksExportAction: { agent: { name: 'xxx' } }
14
+ });
15
+ console.log(result);
16
+ }
17
+
18
+ main()
19
+ .then(console.log)
20
+ .catch(console.error);
@@ -14,7 +14,7 @@ async function main() {
14
14
  };
15
15
 
16
16
  let now = moment();
17
- await transactionRepo.findByIdAndUpdate({
17
+ await transactionRepo.findByIdAndUpdateInProgress({
18
18
  id: transactionId,
19
19
  update
20
20
  });
@@ -0,0 +1,24 @@
1
+ // tslint:disable:no-console
2
+ import * as moment from 'moment-timezone';
3
+
4
+ const startDate = moment('2023-05-27T00:00:00Z')
5
+ .toDate();
6
+ const gracePeriodBeforeStartInDaysMin = {
7
+ timezone: 'Asia/Tokyo',
8
+ time: '09:38:00',
9
+ period: { value: 3 }
10
+ };
11
+ const returningDate = new Date();
12
+
13
+ const minDate: string = moment(startDate)
14
+ .tz(gracePeriodBeforeStartInDaysMin.timezone)
15
+ .startOf('days')
16
+ .subtract(gracePeriodBeforeStartInDaysMin.period.value, 'days')
17
+ .format('YYYY-MM-DD');
18
+ console.log('minDate:', minDate);
19
+
20
+ const returnMaxDate = moment(`${minDate}T${gracePeriodBeforeStartInDaysMin.time}`)
21
+ .tz(gracePeriodBeforeStartInDaysMin.timezone);
22
+ console.log(returnMaxDate);
23
+
24
+ console.log(returnMaxDate.isSameOrAfter(moment(returningDate)));
@@ -27,6 +27,7 @@ export declare const credentials: {
27
27
  lineNotify: {
28
28
  url: string;
29
29
  accessToken: string;
30
+ accessTokenAlert: string;
30
31
  };
31
32
  movieticketReserve: {
32
33
  timeout: number;
@@ -31,7 +31,8 @@ exports.credentials = {
31
31
  },
32
32
  lineNotify: {
33
33
  url: process.env.LINE_NOTIFY_URL,
34
- accessToken: process.env.LINE_NOTIFY_ACCESS_TOKEN
34
+ accessToken: process.env.LINE_NOTIFY_ACCESS_TOKEN,
35
+ accessTokenAlert: process.env.LINE_NOTIFY_ACCESS_TOKEN_ALERT
35
36
  },
36
37
  movieticketReserve: {
37
38
  // tslint:disable-next-line:no-magic-numbers
@@ -0,0 +1,21 @@
1
+ /// <reference types="node" />
2
+ import { EventEmitter } from 'events';
3
+ import * as factory from '../factory';
4
+ interface IListenArgsOnAssetTransactionStatusChanged {
5
+ /**
6
+ * 取引ID
7
+ */
8
+ id: string;
9
+ typeOf: factory.assetTransactionType;
10
+ status: factory.transactionStatusType;
11
+ }
12
+ type IOnAssetTransactionStatusChangedListener = (listenArgs: IListenArgsOnAssetTransactionStatusChanged) => void;
13
+ /**
14
+ * 資産取引イベントエミッター
15
+ */
16
+ declare class AssetTransactionEventEmitter extends EventEmitter {
17
+ onAssetTransactionStatusChanged(listner: IOnAssetTransactionStatusChangedListener): void;
18
+ emitAssetTransactionStatusChanged(args: IListenArgsOnAssetTransactionStatusChanged): void;
19
+ }
20
+ declare const assetTransactionEventEmitter: AssetTransactionEventEmitter;
21
+ export { IListenArgsOnAssetTransactionStatusChanged, assetTransactionEventEmitter };
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.assetTransactionEventEmitter = void 0;
4
+ const events_1 = require("events");
5
+ var EventName;
6
+ (function (EventName) {
7
+ EventName["OnAssetTransactionStatusChanged"] = "OnAssetTransactionStatusChanged";
8
+ })(EventName || (EventName = {}));
9
+ /**
10
+ * 資産取引イベントエミッター
11
+ */
12
+ class AssetTransactionEventEmitter extends events_1.EventEmitter {
13
+ onAssetTransactionStatusChanged(listner) {
14
+ this.on(EventName.OnAssetTransactionStatusChanged, listner);
15
+ }
16
+ emitAssetTransactionStatusChanged(args) {
17
+ this.emit(EventName.OnAssetTransactionStatusChanged, args);
18
+ }
19
+ }
20
+ const assetTransactionEventEmitter = new AssetTransactionEventEmitter();
21
+ exports.assetTransactionEventEmitter = assetTransactionEventEmitter;
22
+ assetTransactionEventEmitter.on('error', (err) => {
23
+ // tslint:disable-next-line:no-console
24
+ console.error('assetTransactionEventEmitter listened an error.', err);
25
+ });
@@ -0,0 +1,18 @@
1
+ /// <reference types="node" />
2
+ import { EventEmitter } from 'events';
3
+ import * as factory from '../factory';
4
+ interface IListenArgsOnTaskStatusChanged {
5
+ id: string;
6
+ name?: factory.taskName;
7
+ status: factory.taskStatus;
8
+ }
9
+ type IOnTaskStatusChangedListener = (listenArgs: IListenArgsOnTaskStatusChanged) => void;
10
+ /**
11
+ * タスクイベントエミッター
12
+ */
13
+ declare class TaskEventEmitter extends EventEmitter {
14
+ onTaskStatusChanged(listner: IOnTaskStatusChangedListener): void;
15
+ emitTaskStatusChanged(args: IListenArgsOnTaskStatusChanged): void;
16
+ }
17
+ declare const taskEventEmitter: TaskEventEmitter;
18
+ export { IOnTaskStatusChangedListener, taskEventEmitter };
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.taskEventEmitter = void 0;
4
+ const events_1 = require("events");
5
+ var EventName;
6
+ (function (EventName) {
7
+ EventName["OnTaskStatusChanged"] = "OnTaskStatusChanged";
8
+ })(EventName || (EventName = {}));
9
+ /**
10
+ * タスクイベントエミッター
11
+ */
12
+ class TaskEventEmitter extends events_1.EventEmitter {
13
+ onTaskStatusChanged(listner) {
14
+ this.on(EventName.OnTaskStatusChanged, listner);
15
+ }
16
+ emitTaskStatusChanged(args) {
17
+ this.emit(EventName.OnTaskStatusChanged, args);
18
+ }
19
+ }
20
+ const taskEventEmitter = new TaskEventEmitter();
21
+ exports.taskEventEmitter = taskEventEmitter;
22
+ taskEventEmitter.on('error', (err) => {
23
+ // tslint:disable-next-line:no-console
24
+ console.error('taskEventEmitter listened an error.', err);
25
+ });
@@ -0,0 +1,21 @@
1
+ /// <reference types="node" />
2
+ import { EventEmitter } from 'events';
3
+ import * as factory from '../factory';
4
+ interface IListenArgsOnTransactionStatusChanged {
5
+ /**
6
+ * 取引ID
7
+ */
8
+ id: string;
9
+ typeOf: factory.transactionType;
10
+ status: factory.transactionStatusType;
11
+ }
12
+ type IOnTransactionStatusChangedListener = (listenArgs: IListenArgsOnTransactionStatusChanged) => void;
13
+ /**
14
+ * 取引イベントエミッター
15
+ */
16
+ declare class TransactionEventEmitter extends EventEmitter {
17
+ onTransactionStatusChanged(listner: IOnTransactionStatusChangedListener): void;
18
+ emitTransactionStatusChanged(args: IListenArgsOnTransactionStatusChanged): void;
19
+ }
20
+ declare const transactionEventEmitter: TransactionEventEmitter;
21
+ export { IListenArgsOnTransactionStatusChanged, transactionEventEmitter };
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.transactionEventEmitter = void 0;
4
+ const events_1 = require("events");
5
+ var EventName;
6
+ (function (EventName) {
7
+ EventName["OnTransactionStatusChanged"] = "OnTransactionStatusChanged";
8
+ })(EventName || (EventName = {}));
9
+ /**
10
+ * 取引イベントエミッター
11
+ */
12
+ class TransactionEventEmitter extends events_1.EventEmitter {
13
+ onTransactionStatusChanged(listner) {
14
+ this.on(EventName.OnTransactionStatusChanged, listner);
15
+ }
16
+ emitTransactionStatusChanged(args) {
17
+ this.emit(EventName.OnTransactionStatusChanged, args);
18
+ }
19
+ }
20
+ const transactionEventEmitter = new TransactionEventEmitter();
21
+ exports.transactionEventEmitter = transactionEventEmitter;
22
+ transactionEventEmitter.on('error', (err) => {
23
+ // tslint:disable-next-line:no-console
24
+ console.error('transactionEventEmitter listened an error.', err);
25
+ });
@@ -0,0 +1,4 @@
1
+ import { assetTransactionEventEmitter } from './eventEmitter/assetTransaction';
2
+ import { taskEventEmitter } from './eventEmitter/task';
3
+ import { transactionEventEmitter } from './eventEmitter/transaction';
4
+ export { assetTransactionEventEmitter as assetTransaction, taskEventEmitter as task, transactionEventEmitter as transaction };
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.transaction = exports.task = exports.assetTransaction = void 0;
4
+ const assetTransaction_1 = require("./eventEmitter/assetTransaction");
5
+ Object.defineProperty(exports, "assetTransaction", { enumerable: true, get: function () { return assetTransaction_1.assetTransactionEventEmitter; } });
6
+ const task_1 = require("./eventEmitter/task");
7
+ Object.defineProperty(exports, "task", { enumerable: true, get: function () { return task_1.taskEventEmitter; } });
8
+ const transaction_1 = require("./eventEmitter/transaction");
9
+ Object.defineProperty(exports, "transaction", { enumerable: true, get: function () { return transaction_1.transactionEventEmitter; } });
@@ -6,9 +6,10 @@ import * as GMO from '@motionpicture/gmo-service';
6
6
  import * as surfrock from '@surfrock/sdk';
7
7
  import { credentials } from './credentials';
8
8
  import * as errorHandler from './errorHandler';
9
+ import * as eventEmitter from './eventEmitter';
9
10
  import * as factory from './factory';
10
11
  import * as pecorinoapi from './pecorinoapi';
11
12
  import * as repository from './repository';
12
13
  import * as service from './service';
13
- import { settings } from './settings';
14
- export { credentials, errorHandler, factory, repository, service, settings, surfrock, pecorinoapi, COA, GMO };
14
+ import * as settings from './settings';
15
+ export { credentials, errorHandler, eventEmitter, factory, repository, service, settings, surfrock, pecorinoapi, COA, GMO };
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.GMO = exports.COA = exports.pecorinoapi = exports.surfrock = exports.settings = exports.service = exports.repository = exports.factory = exports.errorHandler = exports.credentials = void 0;
3
+ exports.GMO = exports.COA = exports.pecorinoapi = exports.surfrock = exports.settings = exports.service = exports.repository = exports.factory = exports.eventEmitter = exports.errorHandler = exports.credentials = void 0;
4
4
  /**
5
5
  * index module
6
6
  */
@@ -14,6 +14,8 @@ const credentials_1 = require("./credentials");
14
14
  Object.defineProperty(exports, "credentials", { enumerable: true, get: function () { return credentials_1.credentials; } });
15
15
  const errorHandler = require("./errorHandler");
16
16
  exports.errorHandler = errorHandler;
17
+ const eventEmitter = require("./eventEmitter");
18
+ exports.eventEmitter = eventEmitter;
17
19
  const factory = require("./factory");
18
20
  exports.factory = factory;
19
21
  const pecorinoapi = require("./pecorinoapi");
@@ -22,5 +24,5 @@ const repository = require("./repository");
22
24
  exports.repository = repository;
23
25
  const service = require("./service");
24
26
  exports.service = service;
25
- const settings_1 = require("./settings");
26
- Object.defineProperty(exports, "settings", { enumerable: true, get: function () { return settings_1.settings; } });
27
+ const settings = require("./settings");
28
+ exports.settings = settings;
@@ -12,6 +12,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.MongoRepository = void 0;
13
13
  const account_1 = require("./mongoose/schemas/account");
14
14
  const factory = require("../factory");
15
+ const settings_1 = require("../settings");
15
16
  /**
16
17
  * 口座リポジトリ
17
18
  */
@@ -390,7 +391,7 @@ class MongoRepository {
390
391
  return __awaiter(this, void 0, void 0, function* () {
391
392
  const conditions = MongoRepository.CREATE_MONGO_CONDITIONS(params);
392
393
  return this.accountModel.countDocuments((conditions.length > 0) ? { $and: conditions } : {})
393
- .setOptions({ maxTimeMS: 10000 })
394
+ .setOptions({ maxTimeMS: settings_1.MONGO_MAX_TIME_MS })
394
395
  .exec();
395
396
  });
396
397
  }
@@ -419,7 +420,7 @@ class MongoRepository {
419
420
  if (((_a = params.sort) === null || _a === void 0 ? void 0 : _a.openDate) !== undefined) {
420
421
  query.sort({ openDate: params.sort.openDate });
421
422
  }
422
- return query.setOptions({ maxTimeMS: 10000 })
423
+ return query.setOptions({ maxTimeMS: settings_1.MONGO_MAX_TIME_MS })
423
424
  .exec()
424
425
  .then((docs) => docs.map((doc) => doc.toObject()));
425
426
  });
@@ -42,21 +42,13 @@ export declare class MongoRepository {
42
42
  id?: string;
43
43
  transactionNumber?: string;
44
44
  }): Promise<factory.account.transaction.ITransaction<T>>;
45
- /**
46
- * タスク未エクスポートの取引をひとつ取得してエクスポートを開始する
47
- */
48
- /**
49
- * タスクエクスポートリトライ
50
- * TODO updatedAtを基準にしているが、タスクエクスポートトライ日時を持たせた方が安全か?
51
- */
52
- /**
53
- * タスクをエクスポート済に変更する
54
- */
55
45
  /**
56
46
  * 取引を期限切れにする
57
47
  */
58
48
  makeExpired(params: {
59
- expires: Date;
49
+ expires: {
50
+ $lt: Date;
51
+ };
60
52
  }): Promise<void>;
61
53
  /**
62
54
  * 取引を検索する
@@ -13,6 +13,7 @@ exports.MongoRepository = void 0;
13
13
  const moment = require("moment");
14
14
  const accountTransaction_1 = require("./mongoose/schemas/accountTransaction");
15
15
  const factory = require("../factory");
16
+ const settings_1 = require("../settings");
16
17
  /**
17
18
  * 口座取引リポジトリ
18
19
  */
@@ -221,59 +222,6 @@ class MongoRepository {
221
222
  return doc.toObject();
222
223
  });
223
224
  }
224
- /**
225
- * タスク未エクスポートの取引をひとつ取得してエクスポートを開始する
226
- */
227
- // public async startExportTasks<T extends factory.account.transactionType>(
228
- // status: factory.transactionStatusType
229
- // ): Promise<factory.account.transaction.ITransaction<T> | null> {
230
- // return this.transactionModel.findOneAndUpdate(
231
- // {
232
- // status: status,
233
- // tasksExportationStatus: factory.transactionTasksExportationStatus.Unexported
234
- // },
235
- // { tasksExportationStatus: factory.transactionTasksExportationStatus.Exporting },
236
- // { new: true }
237
- // )
238
- // .exec()
239
- // // tslint:disable-next-line:no-null-keyword
240
- // .then((doc) => (doc === null) ? null : doc.toObject());
241
- // }
242
- // tslint:disable-next-line:no-suspicious-comment
243
- /**
244
- * タスクエクスポートリトライ
245
- * TODO updatedAtを基準にしているが、タスクエクスポートトライ日時を持たせた方が安全か?
246
- */
247
- // public async reexportTasks(params: { intervalInMinutes: number }): Promise<void> {
248
- // await this.transactionModel.updateMany(
249
- // {
250
- // tasksExportationStatus: factory.transactionTasksExportationStatus.Exporting,
251
- // updatedAt: {
252
- // $lt: moment()
253
- // .add(-params.intervalInMinutes, 'minutes')
254
- // .toDate()
255
- // }
256
- // },
257
- // {
258
- // tasksExportationStatus: factory.transactionTasksExportationStatus.Unexported
259
- // }
260
- // )
261
- // .exec();
262
- // }
263
- /**
264
- * タスクをエクスポート済に変更する
265
- */
266
- // public async setTasksExportedById(transactionId: string): Promise<void> {
267
- // await this.transactionModel.findByIdAndUpdate(
268
- // transactionId,
269
- // {
270
- // tasksExportationStatus: factory.transactionTasksExportationStatus.Exported,
271
- // tasksExportedAt: moment()
272
- // .toDate()
273
- // }
274
- // )
275
- // .exec();
276
- // }
277
225
  /**
278
226
  * 取引を期限切れにする
279
227
  */
@@ -282,7 +230,7 @@ class MongoRepository {
282
230
  // ステータスと期限を見て更新
283
231
  yield this.transactionModel.updateMany({
284
232
  status: factory.transactionStatusType.InProgress,
285
- expires: { $lt: params.expires }
233
+ expires: { $lt: params.expires.$lt }
286
234
  }, {
287
235
  status: factory.transactionStatusType.Expired,
288
236
  endDate: new Date()
@@ -313,7 +261,7 @@ class MongoRepository {
313
261
  if (((_a = params.sort) === null || _a === void 0 ? void 0 : _a.startDate) !== undefined) {
314
262
  query.sort({ startDate: params.sort.startDate });
315
263
  }
316
- return query.setOptions({ maxTimeMS: 10000 })
264
+ return query.setOptions({ maxTimeMS: settings_1.MONGO_MAX_TIME_MS })
317
265
  .exec()
318
266
  .then((docs) => docs.map((doc) => doc.toObject()));
319
267
  });
@@ -82,7 +82,18 @@ export declare class MongoRepository {
82
82
  typeOf?: T;
83
83
  purpose: {
84
84
  typeOf: factory.transactionType;
85
- id?: string;
85
+ id: string;
86
+ };
87
+ object?: {
88
+ typeOf?: {
89
+ $eq?: factory.action.authorize.offer.seatReservation.ObjectType.SeatReservation | factory.action.authorize.paymentMethod.any.ResultType.Payment;
90
+ };
91
+ paymentMethodId?: {
92
+ $eq?: string;
93
+ };
94
+ };
95
+ actionStatus?: {
96
+ $eq?: factory.actionStatusType;
86
97
  };
87
98
  sort?: factory.action.ISortOrder;
88
99
  }): Promise<IAction<T>[]>;
@@ -122,6 +133,23 @@ export declare class MongoRepository {
122
133
  deleteEndDatePassedCertainPeriod(params: {
123
134
  $lt: Date;
124
135
  }): Promise<void>;
136
+ /**
137
+ * 取引からアクションを削除する
138
+ */
139
+ deleteByPurpose(params: {
140
+ project: {
141
+ id: string;
142
+ };
143
+ purpose: {
144
+ typeOf: factory.transactionType;
145
+ id: string;
146
+ };
147
+ typeOf: {
148
+ $in: factory.actionType[];
149
+ };
150
+ }): Promise<{
151
+ deletedCount?: number;
152
+ } | null>;
125
153
  aggregateAuthorizeEventServiceOfferAction(params: {
126
154
  project?: {
127
155
  id?: {
@@ -152,7 +180,19 @@ export declare class MongoRepository {
152
180
  startThrough: Date;
153
181
  typeOf: factory.actionType;
154
182
  }): Promise<IAggregateAction>;
155
- aggregateUseAction(params: {
183
+ aggregateCancelReservationAction(params: {
184
+ project?: {
185
+ id?: {
186
+ $ne?: string;
187
+ };
188
+ };
189
+ startFrom: Date;
190
+ startThrough: Date;
191
+ }): Promise<IAggregateAction>;
192
+ /**
193
+ * アクションタイプによる汎用的な集計
194
+ */
195
+ aggregateByTypeOf(params: {
156
196
  project?: {
157
197
  id?: {
158
198
  $ne?: string;