@chevre/domain 23.2.0-alpha.8 → 23.2.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 (763) hide show
  1. package/example/src/chevre/acceptedPaymentMethodOffer/adminAcceptedPaymentMethodOffers.ts +27 -19
  2. package/example/src/chevre/actions/checkAcceptPayActions.ts +2 -2
  3. package/example/src/chevre/actions/checkAuthorizePaymentActions.ts +2 -2
  4. package/example/src/chevre/activateOptionalAggregationSettings.ts +1 -1
  5. package/example/src/chevre/adminIdentities.ts +1 -1
  6. package/example/src/chevre/aggreateOwnershipInfosByOrder.ts +1 -1
  7. package/example/src/chevre/aggregateEventPublicFields.ts +2 -2
  8. package/example/src/chevre/aggregateOfferCatalogItemList.ts +1 -1
  9. package/example/src/chevre/aggregateScreeningEventMaxVersion.ts +1 -1
  10. package/example/src/chevre/aggregation/aggregateOffersOnEvent.ts +1 -1
  11. package/example/src/chevre/aggregation/aggregateOrderOfCustomer.ts +2 -2
  12. package/example/src/chevre/aggregation/aggregateOrderOfCustomerGlobally.ts +2 -2
  13. package/example/src/chevre/aggregation/aggregateOrderOfSeatByRoyalCustomers.ts +2 -2
  14. package/example/src/chevre/aggregation/aggregateOrderOnSystem.ts +2 -2
  15. package/example/src/chevre/aggregation/aggregateReservationByProject.ts +2 -2
  16. package/example/src/chevre/aggregation/aggregateSystem.ts +1 -1
  17. package/example/src/chevre/aggregation/aggregateTasks.ts +2 -2
  18. package/example/src/chevre/aggregation/createAggregateEventTasks.ts +2 -2
  19. package/example/src/chevre/aggregation/searchAggregateReservations.ts +1 -1
  20. package/example/src/chevre/assetTransaction/checkPayTransactionsTicketToken.ts +2 -2
  21. package/example/src/chevre/assetTransaction/processReserve.ts +2 -2
  22. package/example/src/chevre/attendIfNotAttended.ts +1 -1
  23. package/example/src/chevre/authorizeEventServiceOffer.ts +1 -1
  24. package/example/src/chevre/categoryCode/checkUniqueness.ts +1 -1
  25. package/example/src/chevre/changeOrderStatus.ts +1 -1
  26. package/example/src/chevre/checkCustomerAttributesLength.ts +2 -2
  27. package/example/src/chevre/checkEventDuration.ts +2 -2
  28. package/example/src/chevre/checkPaymentServiceUniqueness.ts +1 -1
  29. package/example/src/chevre/checkProjectMembers.ts +1 -1
  30. package/example/src/chevre/checkReserveTransactionSizes.ts +2 -2
  31. package/example/src/chevre/cleanActions.ts +2 -2
  32. package/example/src/chevre/cleanReservations.ts +2 -2
  33. package/example/src/chevre/cleanTransactions.ts +2 -2
  34. package/example/src/chevre/confirmationNumber/testRandomness.ts +49 -0
  35. package/example/src/chevre/countPotentiallyExportTasks.ts +2 -2
  36. package/example/src/chevre/countTransactions.ts +1 -1
  37. package/example/src/chevre/createProject.ts +1 -1
  38. package/example/src/chevre/createTaskIfNotExistByAlternateName.ts +1 -1
  39. package/example/src/chevre/db/stats.ts +1 -1
  40. package/example/src/chevre/deleteDiscontinuedPeople.ts +2 -2
  41. package/example/src/chevre/deleteDiscontinuedPeopleByFetch.ts +1 -1
  42. package/example/src/chevre/deleteOwnershipInfosByOwnedThrough.ts +2 -2
  43. package/example/src/chevre/deleteStartDatePassedCertainPeriod.ts +2 -2
  44. package/example/src/chevre/deleteTasksByName.ts +2 -2
  45. package/example/src/chevre/emailMessage/createEmailMessageText.ts +63 -0
  46. package/example/src/chevre/event/checkEventAdditionalPropertyUniqueness.ts +2 -2
  47. package/example/src/chevre/event/importEventSeriesFromCOAByTitle.ts +1 -1
  48. package/example/src/chevre/event/importEventsFromCOAByTitle.ts +4 -4
  49. package/example/src/chevre/event/migrateEventAdditionalProperty2identifier.ts +2 -2
  50. package/example/src/chevre/event/migrateEventMaximumPhysicalAttendeeCapacity.ts +1 -1
  51. package/example/src/chevre/event/unsetSuperEventVideoFormat.ts +30 -0
  52. package/example/src/chevre/event/updateSellerMakesOffersByIdentifier.ts +2 -2
  53. package/example/src/chevre/eventSeries/unsetVideoFormat.ts +31 -0
  54. package/example/src/chevre/eventSeries/upsertScreeningEventSeriesByVersion.ts +106 -0
  55. package/example/src/chevre/findAnyEventById.ts +1 -1
  56. package/example/src/chevre/findAuthorizePaymentAction.ts +1 -1
  57. package/example/src/chevre/findAvailableChannelMovieTicket.ts +1 -1
  58. package/example/src/chevre/findCheckAction.ts +1 -1
  59. package/example/src/chevre/findCustomerByOrderNumber.ts +1 -1
  60. package/example/src/chevre/findItemListElementByCatalogId.ts +1 -1
  61. package/example/src/chevre/findItemListElementById.ts +1 -1
  62. package/example/src/chevre/findJWTSetting.ts +1 -1
  63. package/example/src/chevre/findOneAvailableHours.ts +2 -2
  64. package/example/src/chevre/findReservationByCode.ts +1 -1
  65. package/example/src/chevre/findSchedule.ts +1 -1
  66. package/example/src/chevre/giveUpStartDatePassedCertainPeriod.ts +2 -2
  67. package/example/src/chevre/identity/getCommonClients.ts +1 -1
  68. package/example/src/chevre/identity/migrateClients2oauth.ts +1 -1
  69. package/example/src/chevre/importCategoryCodesFromCOA.ts +1 -1
  70. package/example/src/chevre/importEventsFromCOA.ts +2 -2
  71. package/example/src/chevre/investigateEvents.ts +1 -1
  72. package/example/src/chevre/investigateTransaction.ts +2 -2
  73. package/example/src/chevre/isPaymentAcceptedBySeller.ts +1 -1
  74. package/example/src/chevre/issuer/adminMemberProgramTiers.ts +1 -1
  75. package/example/src/chevre/issuer/migrateIssuerUrls.ts +1 -1
  76. package/example/src/chevre/issuer/renameIssuerIdentifier.ts +1 -1
  77. package/example/src/chevre/maintenance/checkTransactionStatuses.ts +1 -1
  78. package/example/src/chevre/makeExpiredManyTasks.ts +1 -1
  79. package/example/src/chevre/makeTransactionExpired.ts +2 -2
  80. package/example/src/chevre/member/migrateMemberIdentifier.ts +2 -2
  81. package/example/src/chevre/migrateAuthorizeEventServiceOfferChevre.ts +1 -1
  82. package/example/src/chevre/migrateCancelReservationObject.ts +1 -1
  83. package/example/src/chevre/migrateCustomerAdditionalProperties.ts +2 -2
  84. package/example/src/chevre/migrateEventSellerMakesOfferAvailableAt.ts +2 -2
  85. package/example/src/chevre/migrateIdentities.ts +1 -1
  86. package/example/src/chevre/migrateProjectSettings.ts +1 -1
  87. package/example/src/chevre/migrateRoomAdditionalProperties.ts +2 -2
  88. package/example/src/chevre/migrateRoomSectionAdditionalProperties.ts +2 -2
  89. package/example/src/chevre/note/findNotes.ts +1 -1
  90. package/example/src/chevre/note/upsertNotesByIdentifier.ts +1 -1
  91. package/example/src/chevre/notifyAbortedTasksByEmail.ts +2 -2
  92. package/example/src/chevre/notifyByEmail.ts +1 -1
  93. package/example/src/chevre/offerCatalog/updateManyOfferCatalogsByIds.ts +1 -1
  94. package/example/src/chevre/{upsertOfferCatalogItemsByIdentifier.ts → offerCatalog/upsertOfferCatalogItemsByIdentifier.ts} +7 -4
  95. package/example/src/chevre/{upsertOfferCatalogsByIdentifier.ts → offerCatalog/upsertOfferCatalogsByIdentifier.ts} +9 -4
  96. package/example/src/chevre/offers/checkIncludedInCatalogCount.ts +1 -1
  97. package/example/src/chevre/offers/projectItemListElement.ts +1 -1
  98. package/example/src/chevre/offers/searchAvaialbleAppliesToMovieTicketByOfferCatalogId.ts +1 -1
  99. package/example/src/chevre/offers/searchByOfferCatalogIdWithSortIndex.ts +1 -1
  100. package/example/src/chevre/offers/searchOfferCatalogItemAvailability.ts +1 -1
  101. package/example/src/chevre/{upsertOffersByIdentifier.ts → offers/upsertOffersByIdentifier.ts} +6 -4
  102. package/example/src/chevre/optimizeActions.ts +2 -2
  103. package/example/src/chevre/orderNumber/testRandomness.ts +54 -0
  104. package/example/src/chevre/orders/searchOrders.ts +1 -1
  105. package/example/src/chevre/orders/searchWithUnwoundAcceptedOffers.ts +1 -1
  106. package/example/src/chevre/pendingReservation/findEventSeatOffersBySection.ts +1 -1
  107. package/example/src/chevre/person/checkUserPoolClients.ts +1 -1
  108. package/example/src/chevre/person/cleanUpCognitoUsers.ts +2 -2
  109. package/example/src/chevre/person/cleanUpCognitoUsersByFetch.ts +2 -2
  110. package/example/src/chevre/person/cleanUpCreditCard.ts +1 -1
  111. package/example/src/chevre/place/adminEntranceGates.ts +69 -0
  112. package/example/src/chevre/place/adminHasPOS.ts +1 -1
  113. package/example/src/chevre/place/aggregateSeatingTypes.ts +1 -1
  114. package/example/src/chevre/place/checkEntranceGatesCount.ts +82 -0
  115. package/example/src/chevre/place/checkSectionCount.ts +1 -1
  116. package/example/src/chevre/place/findRooms.ts +24 -0
  117. package/example/src/chevre/place/findSections.ts +28 -0
  118. package/example/src/chevre/place/findSectionsByRoom.ts +1 -1
  119. package/example/src/chevre/place/migrateSectionIdentifier.ts +2 -2
  120. package/example/src/chevre/place/seatsJson2csv.ts +63 -0
  121. package/example/src/chevre/place/upsertMovieTheatersByBranchCode.ts +41 -0
  122. package/example/src/chevre/place/upsertRoomsByBranchCode.ts +40 -0
  123. package/example/src/chevre/place/upsertSeatSectionsByBranchCode.ts +56 -0
  124. package/example/src/chevre/processAction.ts +1 -1
  125. package/example/src/chevre/processOrder.ts +2 -2
  126. package/example/src/chevre/product/findHasOfferCatalog.ts +1 -1
  127. package/example/src/chevre/productOffer/publishMemberTierToken.ts +1 -1
  128. package/example/src/chevre/project/unsetProjectSettings.ts +1 -1
  129. package/example/src/chevre/projectEventFieldsById.ts +1 -1
  130. package/example/src/chevre/projectFields.ts +1 -1
  131. package/example/src/chevre/projectFieldsById.ts +1 -1
  132. package/example/src/chevre/projectOwnershipInfoFieldsById.ts +1 -1
  133. package/example/src/chevre/pushIncludedInDataCatalog.ts +1 -1
  134. package/example/src/chevre/reExportAction.ts +2 -2
  135. package/example/src/chevre/reIndex.ts +2 -2
  136. package/example/src/chevre/recreateRefundTasks.ts +2 -2
  137. package/example/src/chevre/roles/{addAdminSeatReadPermissionIfNotExists.ts → addAdminAcceptedPaymentMethodReadPermissionIfNotExists.ts} +2 -2
  138. package/example/src/chevre/roles/{addAdminSeatWritePermissionIfNotExists.ts → addAdminAcceptedPaymentMethodWritePermissionIfNotExists.ts} +2 -2
  139. package/example/src/chevre/roles/addAdminEventSeriesReadPermissionIfNotExists.ts +1 -1
  140. package/example/src/chevre/roles/addAdminMovieReadPermissionIfNotExists.ts +1 -1
  141. package/example/src/chevre/roles/addAdminNotePermissionIfNotExists.ts +1 -1
  142. package/example/src/chevre/roles/addAdminPaymentServiceReadPermissionIfNotExists.ts +1 -1
  143. package/example/src/chevre/roles/addAdminProductHasOfferCatalogReadPermissionIfNotExists.ts +1 -1
  144. package/example/src/chevre/roles/addAdminRoomReadPermissionIfNotExists.ts +34 -0
  145. package/example/src/chevre/roles/addAdminRoomWritePermissionIfNotExists.ts +34 -0
  146. package/example/src/chevre/roles/addAdminSellerEventOfferIfNotExists.ts +1 -1
  147. package/example/src/chevre/roles/addProjectCreatorRole.ts +1 -1
  148. package/example/src/chevre/roles/assignGlobalRoles.ts +1 -1
  149. package/example/src/chevre/roles/findPermissions.ts +2 -2
  150. package/example/src/chevre/roles/findRoleNames.ts +2 -2
  151. package/example/src/chevre/roles/removeConsolePermissionIfExists.ts +1 -1
  152. package/example/src/chevre/roles/removePermissionFromAPIRoles.ts +1 -1
  153. package/example/src/chevre/roles/removePermissionIfExists.ts +1 -1
  154. package/example/src/chevre/saveOfferCatalogItem.ts +1 -1
  155. package/example/src/chevre/saveWebSite.ts +1 -1
  156. package/example/src/chevre/searchAcceptedOfferIds.ts +1 -1
  157. package/example/src/chevre/searchActionsByPurpose.ts +1 -1
  158. package/example/src/chevre/searchAggregateOffers.ts +1 -1
  159. package/example/src/chevre/searchAggregations.ts +1 -1
  160. package/example/src/chevre/searchAuthorizations.ts +1 -1
  161. package/example/src/chevre/searchCheckMovieTicketResultYkknInfo.ts +1 -1
  162. package/example/src/chevre/searchEventHasOfferCatalog.ts +1 -1
  163. package/example/src/chevre/searchIdsByReservationNumber.ts +1 -1
  164. package/example/src/chevre/searchOfferCatalogItemListElement.ts +1 -1
  165. package/example/src/chevre/searchOffers.ts +1 -1
  166. package/example/src/chevre/searchProducts.ts +1 -1
  167. package/example/src/chevre/searchProjects.ts +1 -1
  168. package/example/src/chevre/searchReservationsByOrder.ts +1 -1
  169. package/example/src/chevre/searchSellersByAggregate.ts +1 -1
  170. package/example/src/chevre/searchSlicedAcceptedOffersByOrderNumber.ts +1 -1
  171. package/example/src/chevre/seller/adminMakesOffer.ts +1 -1
  172. package/example/src/chevre/sendEmailMessage.ts +1 -1
  173. package/example/src/chevre/settings/addOrderNumberSetting.ts +44 -0
  174. package/example/src/chevre/settings/addTransactionNumberSetting.ts +40 -0
  175. package/example/src/chevre/stockHolder/findSeatsBySection.ts +1 -1
  176. package/example/src/chevre/stockHolder/getSize.ts +2 -2
  177. package/example/src/chevre/stockHolder/projectPendingReservation.ts +1 -1
  178. package/example/src/chevre/stockHolder/searchSeats.ts +1 -1
  179. package/example/src/chevre/task/countPotentiallyRunning.ts +1 -1
  180. package/example/src/chevre/task/countTasks.ts +1 -1
  181. package/example/src/chevre/task/deleteRunsAtPassedCertainPeriod.ts +2 -2
  182. package/example/src/chevre/task/deleteUnexpectedTasks.ts +1 -1
  183. package/example/src/chevre/task/emitRunning.ts +2 -2
  184. package/example/src/chevre/transaction/processPlaceOrder.ts +1 -1
  185. package/example/src/chevre/transaction/processReturnOrder.ts +1 -1
  186. package/example/src/chevre/transaction/startExportTasks.ts +1 -1
  187. package/example/src/chevre/transactionNumber/publishByTimestamp.ts +23 -0
  188. package/example/src/chevre/transactionNumber/testRandomness.ts +42 -0
  189. package/example/src/chevre/unsetUnnecessaryFields.ts +10 -6
  190. package/example/src/chevre/updateEventPartiallyById.ts +1 -1
  191. package/example/src/chevre/updateProjectAggregateReservation.ts +1 -1
  192. package/example/src/chevre/validateCheckMovieTicketActions.ts +2 -2
  193. package/example/src/duration.ts +1 -1
  194. package/example/src/moment.ts +1 -1
  195. package/example/src/mongoConnectionList.ts +1 -1
  196. package/example/src/objectId.ts +1 -1
  197. package/lib/chevre/credentials/customSearch.js +2 -0
  198. package/lib/chevre/credentials/lineNotify.js +4 -0
  199. package/lib/chevre/credentials/sendGrid.js +2 -0
  200. package/lib/chevre/credentials.js +37 -29
  201. package/lib/chevre/emailMessageBuilder.js +250 -251
  202. package/lib/chevre/errorHandler.js +60 -58
  203. package/lib/chevre/eventEmitter/assetTransaction.js +0 -1
  204. package/lib/chevre/eventEmitter/task.js +0 -1
  205. package/lib/chevre/eventEmitter/transaction.js +0 -1
  206. package/lib/chevre/eventEmitter.js +24 -1
  207. package/lib/chevre/factory/accountTransactionIdentifier.js +24 -1
  208. package/lib/chevre/factory/availableProductTypes.js +24 -1
  209. package/lib/chevre/factory/event.d.ts +1 -1
  210. package/lib/chevre/factory/event.js +93 -37
  211. package/lib/chevre/factory/taskIdentifier.js +25 -2
  212. package/lib/chevre/factory/transactionNumber.d.ts +19 -0
  213. package/lib/chevre/factory/transactionNumber.js +80 -0
  214. package/lib/chevre/index.js +43 -35
  215. package/lib/chevre/repo/acceptedOffer.js +200 -197
  216. package/lib/chevre/repo/acceptedPaymentMethod.d.ts +41 -8
  217. package/lib/chevre/repo/acceptedPaymentMethod.js +163 -108
  218. package/lib/chevre/repo/account.js +217 -238
  219. package/lib/chevre/repo/accountTitle.js +32 -21
  220. package/lib/chevre/repo/accountTransaction.js +213 -194
  221. package/lib/chevre/repo/accountingReport.js +111 -107
  222. package/lib/chevre/repo/action.js +875 -883
  223. package/lib/chevre/repo/additionalProperty.js +87 -92
  224. package/lib/chevre/repo/advanceBookingRequirement.js +92 -91
  225. package/lib/chevre/repo/aggregateOffer.d.ts +6 -1
  226. package/lib/chevre/repo/aggregateOffer.js +419 -423
  227. package/lib/chevre/repo/aggregateOrder.js +73 -155
  228. package/lib/chevre/repo/aggregateReservation.d.ts +0 -1
  229. package/lib/chevre/repo/aggregateReservation.js +99 -91
  230. package/lib/chevre/repo/aggregation.js +65 -63
  231. package/lib/chevre/repo/assetTransaction.js +719 -730
  232. package/lib/chevre/repo/authorization.js +143 -136
  233. package/lib/chevre/repo/categoryCode.js +137 -147
  234. package/lib/chevre/repo/comment.js +96 -82
  235. package/lib/chevre/repo/concurrentLock.js +40 -29
  236. package/lib/chevre/repo/confirmationNumber.d.ts +1 -0
  237. package/lib/chevre/repo/confirmationNumber.js +48 -54
  238. package/lib/chevre/repo/creativeWork.js +175 -180
  239. package/lib/chevre/repo/credentials.js +39 -51
  240. package/lib/chevre/repo/customer.js +87 -88
  241. package/lib/chevre/repo/customerType.js +52 -62
  242. package/lib/chevre/repo/emailMessage.js +74 -80
  243. package/lib/chevre/repo/event.d.ts +3 -18
  244. package/lib/chevre/repo/event.js +734 -744
  245. package/lib/chevre/repo/eventOffer.d.ts +8 -0
  246. package/lib/chevre/repo/eventOffer.js +149 -118
  247. package/lib/chevre/repo/eventSellerMakesOffer.js +87 -76
  248. package/lib/chevre/repo/eventSeries.d.ts +17 -30
  249. package/lib/chevre/repo/eventSeries.js +391 -347
  250. package/lib/chevre/repo/identity.js +117 -107
  251. package/lib/chevre/repo/identityProvider.js +95 -96
  252. package/lib/chevre/repo/issuer.js +125 -135
  253. package/lib/chevre/repo/member.js +261 -259
  254. package/lib/chevre/repo/memberProgram.js +180 -177
  255. package/lib/chevre/repo/merchantReturnPolicy.js +84 -94
  256. package/lib/chevre/repo/message.js +145 -135
  257. package/lib/chevre/repo/mongoose/onIndexCreated.js +0 -1
  258. package/lib/chevre/repo/mongoose/schemas/acceptedPaymentMethod.js +1 -1
  259. package/lib/chevre/repo/mongoose/schemas/account.js +1 -1
  260. package/lib/chevre/repo/mongoose/schemas/accountTitle.js +1 -1
  261. package/lib/chevre/repo/mongoose/schemas/accountTransaction.js +1 -1
  262. package/lib/chevre/repo/mongoose/schemas/accountingReport.js +1 -1
  263. package/lib/chevre/repo/mongoose/schemas/action.js +1 -1
  264. package/lib/chevre/repo/mongoose/schemas/actionRecipe.js +1 -1
  265. package/lib/chevre/repo/mongoose/schemas/additionalProperty.js +1 -1
  266. package/lib/chevre/repo/mongoose/schemas/advanceBookingRequirement.js +1 -1
  267. package/lib/chevre/repo/mongoose/schemas/aggregateOffer.js +1 -1
  268. package/lib/chevre/repo/mongoose/schemas/aggregateOrder.js +1 -1
  269. package/lib/chevre/repo/mongoose/schemas/aggregateReservation.js +1 -2
  270. package/lib/chevre/repo/mongoose/schemas/aggregation.js +1 -1
  271. package/lib/chevre/repo/mongoose/schemas/assetTransaction.js +1 -1
  272. package/lib/chevre/repo/mongoose/schemas/authorization.js +1 -1
  273. package/lib/chevre/repo/mongoose/schemas/categoryCode.js +1 -1
  274. package/lib/chevre/repo/mongoose/schemas/civicStructure.js +1 -1
  275. package/lib/chevre/repo/mongoose/schemas/creativeWork.js +1 -1
  276. package/lib/chevre/repo/mongoose/schemas/customer.js +1 -1
  277. package/lib/chevre/repo/mongoose/schemas/customerType.js +1 -1
  278. package/lib/chevre/repo/mongoose/schemas/event.js +1 -1
  279. package/lib/chevre/repo/mongoose/schemas/eventOffer.js +1 -1
  280. package/lib/chevre/repo/mongoose/schemas/eventSeries.js +45 -7
  281. package/lib/chevre/repo/mongoose/schemas/identity.js +1 -1
  282. package/lib/chevre/repo/mongoose/schemas/identityProvider.js +1 -1
  283. package/lib/chevre/repo/mongoose/schemas/issuer.js +1 -1
  284. package/lib/chevre/repo/mongoose/schemas/member/global.js +1 -1
  285. package/lib/chevre/repo/mongoose/schemas/member.js +25 -2
  286. package/lib/chevre/repo/mongoose/schemas/merchantReturnPolicy.js +1 -1
  287. package/lib/chevre/repo/mongoose/schemas/message.js +1 -1
  288. package/lib/chevre/repo/mongoose/schemas/movieTicketTypes.js +1 -1
  289. package/lib/chevre/repo/mongoose/schemas/note.js +1 -1
  290. package/lib/chevre/repo/mongoose/schemas/offerCatalog.js +3 -9
  291. package/lib/chevre/repo/mongoose/schemas/offerCatalogItem.js +29 -3
  292. package/lib/chevre/repo/mongoose/schemas/offerItemCondition.js +1 -1
  293. package/lib/chevre/repo/mongoose/schemas/order.js +1 -1
  294. package/lib/chevre/repo/mongoose/schemas/paymentService.js +1 -1
  295. package/lib/chevre/repo/mongoose/schemas/paymentServiceChannel.js +1 -1
  296. package/lib/chevre/repo/mongoose/schemas/pendingReservation.js +1 -1
  297. package/lib/chevre/repo/mongoose/schemas/pendingReservationAggregate.js +1 -1
  298. package/lib/chevre/repo/mongoose/schemas/place.d.ts +6 -2
  299. package/lib/chevre/repo/mongoose/schemas/place.js +1 -1
  300. package/lib/chevre/repo/mongoose/schemas/potentialAction.js +1 -1
  301. package/lib/chevre/repo/mongoose/schemas/product.js +1 -1
  302. package/lib/chevre/repo/mongoose/schemas/productModel.js +1 -1
  303. package/lib/chevre/repo/mongoose/schemas/productOffer.js +1 -1
  304. package/lib/chevre/repo/mongoose/schemas/reservation.js +1 -1
  305. package/lib/chevre/repo/mongoose/schemas/reserveInterface.js +1 -1
  306. package/lib/chevre/repo/mongoose/schemas/role.js +1 -1
  307. package/lib/chevre/repo/mongoose/schemas/schedule.js +1 -1
  308. package/lib/chevre/repo/mongoose/schemas/seller.js +1 -1
  309. package/lib/chevre/repo/mongoose/schemas/sellerReturnPolicy.js +1 -1
  310. package/lib/chevre/repo/mongoose/schemas/service/availableHour.js +1 -1
  311. package/lib/chevre/repo/mongoose/schemas/setting.d.ts +40 -0
  312. package/lib/chevre/repo/mongoose/schemas/setting.js +4 -1
  313. package/lib/chevre/repo/mongoose/schemas/task.js +1 -2
  314. package/lib/chevre/repo/mongoose/schemas/ticket.js +1 -1
  315. package/lib/chevre/repo/mongoose/schemas/transaction.js +25 -2
  316. package/lib/chevre/repo/mongoose/schemas/transactionNumber.js +1 -1
  317. package/lib/chevre/repo/mongoose/schemas/trip.js +1 -1
  318. package/lib/chevre/repo/mongoose/schemas/webSite.js +1 -1
  319. package/lib/chevre/repo/movieTicketType.js +90 -94
  320. package/lib/chevre/repo/note.js +166 -147
  321. package/lib/chevre/repo/noteAboutOrder.js +135 -113
  322. package/lib/chevre/repo/offer/unitPriceInCatalog.js +353 -314
  323. package/lib/chevre/repo/offerCatalog.d.ts +14 -1
  324. package/lib/chevre/repo/offerCatalog.js +313 -300
  325. package/lib/chevre/repo/offerCatalogItem.d.ts +10 -1
  326. package/lib/chevre/repo/offerCatalogItem.js +302 -292
  327. package/lib/chevre/repo/offerItemCondition.js +83 -85
  328. package/lib/chevre/repo/order.js +582 -607
  329. package/lib/chevre/repo/orderInTransaction.js +136 -136
  330. package/lib/chevre/repo/orderNumber.d.ts +6 -0
  331. package/lib/chevre/repo/orderNumber.js +142 -58
  332. package/lib/chevre/repo/ownershipInfo.js +236 -241
  333. package/lib/chevre/repo/passport.js +123 -106
  334. package/lib/chevre/repo/paymentMethod/creditCard.js +175 -170
  335. package/lib/chevre/repo/paymentService.js +202 -200
  336. package/lib/chevre/repo/paymentServiceChannel.js +99 -100
  337. package/lib/chevre/repo/paymentServiceProvider.js +209 -201
  338. package/lib/chevre/repo/pendingReservation.js +300 -307
  339. package/lib/chevre/repo/permit.js +70 -42
  340. package/lib/chevre/repo/person.js +240 -256
  341. package/lib/chevre/repo/place/busStop.js +99 -106
  342. package/lib/chevre/repo/place/entranceGate.d.ts +57 -0
  343. package/lib/chevre/repo/place/entranceGate.js +190 -0
  344. package/lib/chevre/repo/place/hasPOS.js +131 -120
  345. package/lib/chevre/repo/place/movieTheater.d.ts +40 -3
  346. package/lib/chevre/repo/place/movieTheater.js +220 -161
  347. package/lib/chevre/repo/place/screeningRoom.d.ts +49 -41
  348. package/lib/chevre/repo/place/screeningRoom.js +469 -345
  349. package/lib/chevre/repo/place/seat.d.ts +47 -45
  350. package/lib/chevre/repo/place/seat.js +596 -386
  351. package/lib/chevre/repo/place/section.d.ts +34 -3
  352. package/lib/chevre/repo/place/section.js +510 -292
  353. package/lib/chevre/repo/potentialAction.js +90 -87
  354. package/lib/chevre/repo/priceSpecification.js +125 -146
  355. package/lib/chevre/repo/product.js +226 -239
  356. package/lib/chevre/repo/productHasOfferCatalog.js +62 -50
  357. package/lib/chevre/repo/productModel.js +117 -127
  358. package/lib/chevre/repo/productOffer.js +142 -118
  359. package/lib/chevre/repo/project.js +146 -141
  360. package/lib/chevre/repo/projectMakesOffer.js +119 -108
  361. package/lib/chevre/repo/rateLimit/offer.js +71 -59
  362. package/lib/chevre/repo/reservation.js +392 -398
  363. package/lib/chevre/repo/reserveInterface.js +31 -42
  364. package/lib/chevre/repo/role.js +116 -112
  365. package/lib/chevre/repo/schedule.js +25 -36
  366. package/lib/chevre/repo/seller.js +137 -147
  367. package/lib/chevre/repo/sellerMakesOffer.js +118 -110
  368. package/lib/chevre/repo/sellerPaymentAccepted.js +115 -109
  369. package/lib/chevre/repo/sellerReturnPolicy.js +97 -97
  370. package/lib/chevre/repo/service/availableHour.js +27 -38
  371. package/lib/chevre/repo/serviceOutput.js +77 -67
  372. package/lib/chevre/repo/serviceOutputIdentifier.d.ts +3 -1
  373. package/lib/chevre/repo/serviceOutputIdentifier.js +80 -51
  374. package/lib/chevre/repo/setting/jwt.js +63 -50
  375. package/lib/chevre/repo/setting.d.ts +1 -1
  376. package/lib/chevre/repo/setting.js +48 -48
  377. package/lib/chevre/repo/stockHolder.js +202 -199
  378. package/lib/chevre/repo/task.d.ts +1 -1
  379. package/lib/chevre/repo/task.js +636 -619
  380. package/lib/chevre/repo/telemetry.js +1 -0
  381. package/lib/chevre/repo/ticket.js +75 -65
  382. package/lib/chevre/repo/transaction.js +781 -816
  383. package/lib/chevre/repo/transactionNumber.d.ts +5 -0
  384. package/lib/chevre/repo/transactionNumber.js +100 -51
  385. package/lib/chevre/repo/transactionNumberCounter.js +91 -79
  386. package/lib/chevre/repo/transactionProcess.js +65 -50
  387. package/lib/chevre/repo/trip.js +167 -164
  388. package/lib/chevre/repo/webSite.js +114 -107
  389. package/lib/chevre/repository.d.ts +8 -0
  390. package/lib/chevre/repository.js +486 -639
  391. package/lib/chevre/service/account.js +32 -21
  392. package/lib/chevre/service/accountTransaction/deposit.js +39 -17
  393. package/lib/chevre/service/accountTransaction/factory.js +24 -1
  394. package/lib/chevre/service/accountTransaction/transfer.js +41 -22
  395. package/lib/chevre/service/accountTransaction/withdraw.js +39 -17
  396. package/lib/chevre/service/accountTransaction.js +30 -19
  397. package/lib/chevre/service/aggregation/event/aggregateOffers.js +95 -66
  398. package/lib/chevre/service/aggregation/event/aggregateScreeningEvent.js +84 -61
  399. package/lib/chevre/service/aggregation/event/findEventOffers.js +30 -17
  400. package/lib/chevre/service/aggregation/event/importFromCOA.js +11 -18
  401. package/lib/chevre/service/aggregation/project.js +48 -31
  402. package/lib/chevre/service/aggregation/system.js +256 -147
  403. package/lib/chevre/service/aggregation.js +26 -3
  404. package/lib/chevre/service/assetTransaction/cancelReservation/factory.js +55 -18
  405. package/lib/chevre/service/assetTransaction/cancelReservation/start.js +40 -24
  406. package/lib/chevre/service/assetTransaction/cancelReservation/startAndConfirm.js +40 -15
  407. package/lib/chevre/service/assetTransaction/cancelReservation.js +30 -18
  408. package/lib/chevre/service/assetTransaction/cancelReservationCOA/factory.js +35 -5
  409. package/lib/chevre/service/assetTransaction/cancelReservationCOA.js +4 -13
  410. package/lib/chevre/service/assetTransaction/fixInformAction.d.ts +3 -0
  411. package/lib/chevre/service/assetTransaction/fixInformAction.js +32 -16
  412. package/lib/chevre/service/assetTransaction/moneyTransfer/potentialActions.js +36 -25
  413. package/lib/chevre/service/assetTransaction/moneyTransfer.js +131 -94
  414. package/lib/chevre/service/assetTransaction/pay/cancel.d.ts +12 -0
  415. package/lib/chevre/service/assetTransaction/pay/cancel.js +39 -0
  416. package/lib/chevre/service/assetTransaction/pay/check.d.ts +23 -0
  417. package/lib/chevre/service/assetTransaction/pay/check.js +50 -0
  418. package/lib/chevre/service/assetTransaction/pay/confirm.d.ts +24 -0
  419. package/lib/chevre/service/assetTransaction/pay/confirm.js +92 -0
  420. package/lib/chevre/service/assetTransaction/pay/exportTasksById.d.ts +18 -0
  421. package/lib/chevre/service/assetTransaction/pay/exportTasksById.js +127 -0
  422. package/lib/chevre/service/assetTransaction/pay/publishPaymentUrl.d.ts +48 -0
  423. package/lib/chevre/service/assetTransaction/pay/publishPaymentUrl.js +186 -0
  424. package/lib/chevre/service/assetTransaction/pay/searchGMOTrade.d.ts +20 -0
  425. package/lib/chevre/service/assetTransaction/pay/searchGMOTrade.js +72 -0
  426. package/lib/chevre/service/assetTransaction/pay/{account → start/account}/validation.d.ts +2 -2
  427. package/lib/chevre/service/assetTransaction/pay/{account → start/account}/validation.js +29 -16
  428. package/lib/chevre/service/assetTransaction/pay/{factory.d.ts → start/factory.d.ts} +1 -1
  429. package/lib/chevre/service/assetTransaction/pay/{factory.js → start/factory.js} +88 -38
  430. package/lib/chevre/service/assetTransaction/pay/{validateAcceptedPaymentMethodIfNeeded.d.ts → start/preStart/validateAcceptedPaymentMethodIfNeeded.d.ts} +4 -4
  431. package/lib/chevre/service/assetTransaction/pay/{validateAcceptedPaymentMethodIfNeeded.js → start/preStart/validateAcceptedPaymentMethodIfNeeded.js} +35 -24
  432. package/lib/chevre/service/assetTransaction/pay/start/preStart/validateSeller.d.ts +8 -0
  433. package/lib/chevre/service/assetTransaction/pay/start/preStart/validateSeller.js +67 -0
  434. package/lib/chevre/service/assetTransaction/pay/start/processAuthorizeAccount.d.ts +13 -0
  435. package/lib/chevre/service/assetTransaction/pay/start/processAuthorizeAccount.js +62 -0
  436. package/lib/chevre/service/assetTransaction/pay/start/processAuthorizeCreditCard.d.ts +29 -0
  437. package/lib/chevre/service/assetTransaction/pay/start/processAuthorizeCreditCard.js +54 -0
  438. package/lib/chevre/service/assetTransaction/pay/start/processAuthorizeMovieTicket.d.ts +42 -0
  439. package/lib/chevre/service/assetTransaction/pay/start/processAuthorizeMovieTicket.js +45 -0
  440. package/lib/chevre/service/assetTransaction/pay/start.d.ts +60 -0
  441. package/lib/chevre/service/assetTransaction/pay/start.js +162 -0
  442. package/lib/chevre/service/assetTransaction/pay.d.ts +8 -170
  443. package/lib/chevre/service/assetTransaction/pay.js +16 -623
  444. package/lib/chevre/service/assetTransaction/refund/factory.js +60 -17
  445. package/lib/chevre/service/assetTransaction/refund/potentialActions.js +35 -21
  446. package/lib/chevre/service/assetTransaction/refund.js +63 -43
  447. package/lib/chevre/service/assetTransaction/registerService/factory.js +96 -33
  448. package/lib/chevre/service/assetTransaction/registerService/potentialActions.js +80 -47
  449. package/lib/chevre/service/assetTransaction/registerService.js +70 -58
  450. package/lib/chevre/service/assetTransaction/reserve/cancel.js +28 -14
  451. package/lib/chevre/service/assetTransaction/reserve/confirm/factory.js +15 -4
  452. package/lib/chevre/service/assetTransaction/reserve/confirm.js +44 -26
  453. package/lib/chevre/service/assetTransaction/reserve/exportTasksById.js +26 -13
  454. package/lib/chevre/service/assetTransaction/reserve/start/createSubReservations.js +138 -96
  455. package/lib/chevre/service/assetTransaction/reserve/start/factory/createPointAward.js +41 -13
  456. package/lib/chevre/service/assetTransaction/reserve/start/factory/createReservation.js +142 -80
  457. package/lib/chevre/service/assetTransaction/reserve/start/factory/createStartParams.js +93 -23
  458. package/lib/chevre/service/assetTransaction/reserve/start/factory/price.js +53 -21
  459. package/lib/chevre/service/assetTransaction/reserve/start.js +131 -122
  460. package/lib/chevre/service/assetTransaction/reserve/validateStartRequest/fixExtendedEventOffer.js +33 -17
  461. package/lib/chevre/service/assetTransaction/reserve/validateStartRequest/validateIssuedOfferIfExists.js +72 -59
  462. package/lib/chevre/service/assetTransaction/reserve/validateStartRequest/validateMemberTierIfExists.js +71 -59
  463. package/lib/chevre/service/assetTransaction/reserve/validateStartRequest/verifyTicketTokenAsNeeded.js +30 -19
  464. package/lib/chevre/service/assetTransaction/reserve/validateStartRequest.js +45 -31
  465. package/lib/chevre/service/assetTransaction/reserveCOA/cancel.js +47 -24
  466. package/lib/chevre/service/assetTransaction/reserveCOA/factory.js +36 -5
  467. package/lib/chevre/service/assetTransaction/reserveCOA.js +4 -13
  468. package/lib/chevre/service/assetTransaction.js +46 -27
  469. package/lib/chevre/service/delivery/factory.js +33 -8
  470. package/lib/chevre/service/delivery/product/factory.js +48 -13
  471. package/lib/chevre/service/delivery/reservation/factory.js +44 -7
  472. package/lib/chevre/service/delivery.js +78 -56
  473. package/lib/chevre/service/event/processUpdateMovieTheater.d.ts +1 -1
  474. package/lib/chevre/service/event/processUpdateMovieTheater.js +56 -36
  475. package/lib/chevre/service/event/saveScreeningEventSeries.js +98 -58
  476. package/lib/chevre/service/event/saveScreeningEvents.d.ts +2 -2
  477. package/lib/chevre/service/event/saveScreeningEvents.js +65 -50
  478. package/lib/chevre/service/event.js +70 -40
  479. package/lib/chevre/service/iam.js +8 -17
  480. package/lib/chevre/service/moneyTransfer.js +158 -116
  481. package/lib/chevre/service/notification/factory.js +42 -15
  482. package/lib/chevre/service/notification/notifyAbortedTasksByEmail.js +39 -17
  483. package/lib/chevre/service/notification/notifyByEmail.js +31 -20
  484. package/lib/chevre/service/notification/sendEmailMessage.js +47 -27
  485. package/lib/chevre/service/notification/triggerWebhook.js +82 -57
  486. package/lib/chevre/service/offer/any.js +34 -17
  487. package/lib/chevre/service/offer/event/authorize/defaultOffer.js +24 -1
  488. package/lib/chevre/service/offer/event/authorize/factory.js +173 -63
  489. package/lib/chevre/service/offer/event/authorize/processStartReserve4chevre/requestedProgramMembershipUsed2permit.js +31 -19
  490. package/lib/chevre/service/offer/event/authorize/processStartReserve4chevre.js +67 -28
  491. package/lib/chevre/service/offer/event/authorize.js +137 -71
  492. package/lib/chevre/service/offer/event/checkAvailability.js +33 -17
  493. package/lib/chevre/service/offer/event/importFromCOA/factory.js +34 -5
  494. package/lib/chevre/service/offer/event/importFromCOA.js +36 -19
  495. package/lib/chevre/service/offer/event/issueEventOfferTicket.js +66 -41
  496. package/lib/chevre/service/offer/event/searchEventTicketOffers.js +53 -42
  497. package/lib/chevre/service/offer/event/searchOfferAppliesToMovieTicket.js +38 -23
  498. package/lib/chevre/service/offer/event/searchOfferCatalogItemAvailability.js +36 -26
  499. package/lib/chevre/service/offer/event/searchOfferCatalogItems.js +38 -23
  500. package/lib/chevre/service/offer/event/searchOffersByIds.js +56 -42
  501. package/lib/chevre/service/offer/event/searchPriceSpecs4event.js +28 -14
  502. package/lib/chevre/service/offer/event/voidTransaction/processVoidTransaction4chevre.js +27 -13
  503. package/lib/chevre/service/offer/event/voidTransaction/processVoidTransaction4coa.js +6 -15
  504. package/lib/chevre/service/offer/event/voidTransaction.js +58 -41
  505. package/lib/chevre/service/offer/event/voidTransactionByActionId.js +37 -20
  506. package/lib/chevre/service/offer/eventServiceByCOA/acceptOffer/authorize.js +76 -43
  507. package/lib/chevre/service/offer/eventServiceByCOA/acceptOffer/factory.js +29 -2
  508. package/lib/chevre/service/offer/eventServiceByCOA/acceptOffer.js +57 -37
  509. package/lib/chevre/service/offer/eventServiceByCOA/authorize/factory.js +81 -30
  510. package/lib/chevre/service/offer/eventServiceByCOA/authorize/validateAcceptedOffers.js +90 -62
  511. package/lib/chevre/service/offer/eventServiceByCOA/authorize.js +44 -29
  512. package/lib/chevre/service/offer/eventServiceByCOA/authorizeByAcceptAction.js +31 -18
  513. package/lib/chevre/service/offer/eventServiceByCOA/changeOffers.js +70 -45
  514. package/lib/chevre/service/offer/eventServiceByCOA/findAcceptAction.js +45 -25
  515. package/lib/chevre/service/offer/factory.js +42 -9
  516. package/lib/chevre/service/offer/moneyTransfer/authorize.js +60 -39
  517. package/lib/chevre/service/offer/moneyTransfer/returnMoneyTransfer.js +39 -22
  518. package/lib/chevre/service/offer/moneyTransfer/settleTransaction.js +34 -20
  519. package/lib/chevre/service/offer/moneyTransfer/voidTransaction.js +38 -25
  520. package/lib/chevre/service/offer/onEventChanged.js +106 -72
  521. package/lib/chevre/service/offer/product/factory.js +83 -35
  522. package/lib/chevre/service/offer/product/searchProductOffers.js +53 -24
  523. package/lib/chevre/service/offer/product.js +130 -83
  524. package/lib/chevre/service/offer.d.ts +5 -0
  525. package/lib/chevre/service/offer.js +111 -57
  526. package/lib/chevre/service/order/confirmPayTransaction.js +52 -28
  527. package/lib/chevre/service/order/createAccountingReportIfNotExist.js +81 -42
  528. package/lib/chevre/service/order/deleteOrder.js +51 -36
  529. package/lib/chevre/service/order/findPlaceOrderTransaction.js +26 -12
  530. package/lib/chevre/service/order/onAssetTransactionStatusChanged.js +92 -72
  531. package/lib/chevre/service/order/onOrderStatusChanged/onOrderCancelled/factory.d.ts +1 -1
  532. package/lib/chevre/service/order/onOrderStatusChanged/onOrderCancelled/factory.js +25 -3
  533. package/lib/chevre/service/order/onOrderStatusChanged/onOrderCancelled.js +31 -14
  534. package/lib/chevre/service/order/onOrderStatusChanged/onOrderDelivered/factory.js +35 -7
  535. package/lib/chevre/service/order/onOrderStatusChanged/onOrderDelivered.js +33 -16
  536. package/lib/chevre/service/order/onOrderStatusChanged/onOrderDeliveredPartially/factory.d.ts +1 -1
  537. package/lib/chevre/service/order/onOrderStatusChanged/onOrderDeliveredPartially/factory.js +46 -10
  538. package/lib/chevre/service/order/onOrderStatusChanged/onOrderDeliveredPartially.js +33 -16
  539. package/lib/chevre/service/order/onOrderStatusChanged/onOrderInTransit.js +51 -28
  540. package/lib/chevre/service/order/onOrderStatusChanged/onOrderPaymentDue.js +41 -21
  541. package/lib/chevre/service/order/onOrderStatusChanged/onOrderProcessing/createSendEmailMessageTaskIfNotExist.js +29 -15
  542. package/lib/chevre/service/order/onOrderStatusChanged/onOrderProcessing/factory.js +49 -16
  543. package/lib/chevre/service/order/onOrderStatusChanged/onOrderProcessing/processOrder.js +52 -35
  544. package/lib/chevre/service/order/onOrderStatusChanged/onOrderProcessing.js +36 -20
  545. package/lib/chevre/service/order/onOrderStatusChanged/onOrderReturned/factory.d.ts +1 -1
  546. package/lib/chevre/service/order/onOrderStatusChanged/onOrderReturned/factory.js +34 -10
  547. package/lib/chevre/service/order/onOrderStatusChanged/onOrderReturned.js +51 -30
  548. package/lib/chevre/service/order/onOrderUpdated/factory.js +27 -6
  549. package/lib/chevre/service/order/onOrderUpdated.js +36 -15
  550. package/lib/chevre/service/order/payOrder.js +26 -12
  551. package/lib/chevre/service/order/placeOrder/createPlacingOrderFromExistingTransaction.js +32 -20
  552. package/lib/chevre/service/order/placeOrder/factory/orderedItem.js +55 -16
  553. package/lib/chevre/service/order/placeOrder/factory.js +63 -24
  554. package/lib/chevre/service/order/placeOrder/voidAcceptedOfferIfNecessary.js +7 -13
  555. package/lib/chevre/service/order/placeOrder.js +35 -23
  556. package/lib/chevre/service/order/placeOrderWithoutTransaction.js +33 -18
  557. package/lib/chevre/service/order/returnOrder.js +55 -32
  558. package/lib/chevre/service/order/sendOrder.js +65 -39
  559. package/lib/chevre/service/payment/any/authorize/fixTransactionNumber.js +42 -25
  560. package/lib/chevre/service/payment/any/authorize/handlePrePublishedPaymentMethodIdOnAuthorizing.js +52 -41
  561. package/lib/chevre/service/payment/any/factory.js +137 -55
  562. package/lib/chevre/service/payment/any/fixOrderAsNeeded.js +27 -13
  563. package/lib/chevre/service/payment/any/onPayActionCompleted.js +36 -18
  564. package/lib/chevre/service/payment/any/onPaymentStatusChanged/onPaid.js +61 -38
  565. package/lib/chevre/service/payment/any/onPaymentStatusChanged/onRefunded.js +45 -25
  566. package/lib/chevre/service/payment/any/onPaymentStatusChanged.js +39 -16
  567. package/lib/chevre/service/payment/any/onRefundActionCompletedOrFailed.js +38 -21
  568. package/lib/chevre/service/payment/any/person2username.js +55 -45
  569. package/lib/chevre/service/payment/any/publishPaymentUrl/fixTransactionNumberOnPublishPaymentUrl.js +31 -18
  570. package/lib/chevre/service/payment/any/verifyTicketTokenAsNeeded.js +28 -17
  571. package/lib/chevre/service/payment/any.js +206 -144
  572. package/lib/chevre/service/payment/creditCard/authorize/handleAuthorizeError.js +31 -5
  573. package/lib/chevre/service/payment/creditCard/authorize/processAuthorizeCreditCard.js +68 -26
  574. package/lib/chevre/service/payment/creditCard/authorize/processAuthorizeCreditCard3ds.js +29 -15
  575. package/lib/chevre/service/payment/creditCard/authorize/processAuthorizeCreditCard3dsResult2recipe.js +29 -2
  576. package/lib/chevre/service/payment/creditCard/authorize/processAuthorizeCreditCardResult2recipe.js +34 -3
  577. package/lib/chevre/service/payment/creditCard/authorize.js +49 -25
  578. package/lib/chevre/service/payment/creditCard/factory.js +46 -5
  579. package/lib/chevre/service/payment/creditCard/getGMOInfoFromSeller.js +31 -18
  580. package/lib/chevre/service/payment/creditCard/payCreditCard.js +55 -37
  581. package/lib/chevre/service/payment/creditCard/refundCreditCard.js +64 -52
  582. package/lib/chevre/service/payment/creditCard/searchGMOTrade.js +57 -46
  583. package/lib/chevre/service/payment/creditCard/voidTransaction.js +39 -27
  584. package/lib/chevre/service/payment/faceToFace.js +37 -23
  585. package/lib/chevre/service/payment/factory/createPayObjectServiceOutput.js +68 -26
  586. package/lib/chevre/service/payment/factory.js +74 -25
  587. package/lib/chevre/service/payment/movieTicket/authorize.js +58 -30
  588. package/lib/chevre/service/payment/movieTicket/checkMovieTicket.js +45 -25
  589. package/lib/chevre/service/payment/movieTicket/factory.js +64 -15
  590. package/lib/chevre/service/payment/movieTicket/getCredentials.js +28 -15
  591. package/lib/chevre/service/payment/movieTicket/payMovieTicket.js +53 -41
  592. package/lib/chevre/service/payment/movieTicket/processPurchaseNumberAuth.js +37 -21
  593. package/lib/chevre/service/payment/movieTicket/refundMovieTicket.js +90 -64
  594. package/lib/chevre/service/payment/movieTicket/validation.js +69 -39
  595. package/lib/chevre/service/payment/movieTicket/voidTransaction.js +31 -18
  596. package/lib/chevre/service/payment/paymentCard.js +117 -108
  597. package/lib/chevre/service/permit.js +60 -36
  598. package/lib/chevre/service/product.js +50 -29
  599. package/lib/chevre/service/project.js +22 -31
  600. package/lib/chevre/service/report/ownershipInfo.js +9 -7
  601. package/lib/chevre/service/report/telemetry.js +86 -79
  602. package/lib/chevre/service/report.js +25 -2
  603. package/lib/chevre/service/reserve/cancelReservation.js +122 -97
  604. package/lib/chevre/service/reserve/checkInReservation.js +52 -31
  605. package/lib/chevre/service/reserve/confirmReservation.js +61 -41
  606. package/lib/chevre/service/reserve/factory.js +66 -21
  607. package/lib/chevre/service/reserve/findByCode.js +36 -18
  608. package/lib/chevre/service/reserve/potentialActions/onPendingReservationCanceled.js +41 -24
  609. package/lib/chevre/service/reserve/potentialActions/onReservationCanceled.js +40 -25
  610. package/lib/chevre/service/reserve/potentialActions/onReservationCheckedIn.js +61 -30
  611. package/lib/chevre/service/reserve/potentialActions/onReservationConfirmed.js +68 -37
  612. package/lib/chevre/service/reserve/potentialActions/onReservationUsed.js +67 -37
  613. package/lib/chevre/service/reserve/potentialActions/onReservationsCreated.js +40 -23
  614. package/lib/chevre/service/reserve/searchByOrder.js +33 -20
  615. package/lib/chevre/service/reserve/useReservation.js +75 -36
  616. package/lib/chevre/service/reserve/verifyToken4reservation.js +30 -14
  617. package/lib/chevre/service/reserveCOA/cancelReservation.js +30 -17
  618. package/lib/chevre/service/reserveCOA/factory.js +29 -2
  619. package/lib/chevre/service/task/acceptCOAOffer.js +44 -26
  620. package/lib/chevre/service/task/aggregateOffers.js +26 -12
  621. package/lib/chevre/service/task/aggregateOnSystem.js +4 -14
  622. package/lib/chevre/service/task/aggregateScreeningEvent.js +27 -13
  623. package/lib/chevre/service/task/authorizePayment.js +32 -15
  624. package/lib/chevre/service/task/cancelMoneyTransfer.js +3 -12
  625. package/lib/chevre/service/task/cancelPendingReservation.js +34 -21
  626. package/lib/chevre/service/task/cancelReservation.js +26 -12
  627. package/lib/chevre/service/task/checkMovieTicket.js +39 -19
  628. package/lib/chevre/service/task/checkResource.js +30 -16
  629. package/lib/chevre/service/task/confirmMoneyTransfer.js +3 -12
  630. package/lib/chevre/service/task/confirmPayTransaction.js +6 -12
  631. package/lib/chevre/service/task/confirmRegisterService.js +3 -12
  632. package/lib/chevre/service/task/confirmRegisterServiceTransaction.js +51 -32
  633. package/lib/chevre/service/task/confirmReserveTransaction.js +72 -46
  634. package/lib/chevre/service/task/createAccountingReport.js +37 -20
  635. package/lib/chevre/service/task/deletePerson.js +77 -63
  636. package/lib/chevre/service/task/deleteTransaction.js +26 -12
  637. package/lib/chevre/service/task/givePointAward.js +27 -13
  638. package/lib/chevre/service/task/handleNotification.js +4 -14
  639. package/lib/chevre/service/task/importEventCapacitiesFromCOA.js +31 -18
  640. package/lib/chevre/service/task/importEventsFromCOA.js +31 -18
  641. package/lib/chevre/service/task/importOffersFromCOA.js +33 -20
  642. package/lib/chevre/service/task/invalidatePaymentUrl.js +6 -12
  643. package/lib/chevre/service/task/moneyTransfer.js +27 -13
  644. package/lib/chevre/service/task/onAssetTransactionStatusChanged.js +3 -12
  645. package/lib/chevre/service/task/onAuthorizationCreated.js +34 -19
  646. package/lib/chevre/service/task/onEventChanged.js +3 -12
  647. package/lib/chevre/service/task/onOrderPaymentCompleted.js +3 -12
  648. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByAggregateOffer.d.ts +13 -0
  649. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByAggregateOffer.js +67 -0
  650. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByEventSeries.d.ts +13 -0
  651. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByEventSeries.js +70 -0
  652. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByMovieTheater.d.ts +15 -0
  653. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByMovieTheater.js +72 -0
  654. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByOfferCatalog.d.ts +17 -0
  655. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByOfferCatalog.js +89 -0
  656. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByProduct.d.ts +19 -0
  657. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByProduct.js +74 -0
  658. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByRoom.d.ts +20 -0
  659. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByRoom.js +65 -0
  660. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesBySeller.d.ts +27 -0
  661. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesBySeller.js +113 -0
  662. package/lib/chevre/service/task/onResourceDeleted.d.ts +6 -0
  663. package/lib/chevre/service/task/onResourceDeleted.js +181 -0
  664. package/lib/chevre/service/task/onResourceUpdated/onAggregateOfferUpdated.js +32 -21
  665. package/lib/chevre/service/task/onResourceUpdated/onCategoryCodeUpdated.js +3 -12
  666. package/lib/chevre/service/task/onResourceUpdated/onHasPOSUpdated.js +34 -23
  667. package/lib/chevre/service/task/onResourceUpdated/onOfferCatalogUpdated.js +36 -25
  668. package/lib/chevre/service/task/onResourceUpdated/syncCategoryCode.js +32 -15
  669. package/lib/chevre/service/task/onResourceUpdated/syncOfferCatalog.js +44 -27
  670. package/lib/chevre/service/task/onResourceUpdated.js +285 -144
  671. package/lib/chevre/service/task/pay.js +31 -16
  672. package/lib/chevre/service/task/payment/invalidatePaymentUrlByTask.js +28 -15
  673. package/lib/chevre/service/task/payment/payByTask.js +81 -44
  674. package/lib/chevre/service/task/payment/refundByTask.js +34 -21
  675. package/lib/chevre/service/task/payment/voidPaymentByTask.js +33 -19
  676. package/lib/chevre/service/task/placeOrder.js +6 -12
  677. package/lib/chevre/service/task/publishPaymentUrl.js +32 -14
  678. package/lib/chevre/service/task/refund.js +31 -16
  679. package/lib/chevre/service/task/registerService.js +3 -12
  680. package/lib/chevre/service/task/reserve.js +3 -12
  681. package/lib/chevre/service/task/returnMoneyTransfer.js +26 -12
  682. package/lib/chevre/service/task/returnOrder.js +6 -12
  683. package/lib/chevre/service/task/returnPayTransaction.js +83 -52
  684. package/lib/chevre/service/task/returnPointAward.js +27 -13
  685. package/lib/chevre/service/task/returnReserveTransaction.js +60 -35
  686. package/lib/chevre/service/task/sendEmailMessage.js +6 -13
  687. package/lib/chevre/service/task/sendOrder.js +35 -15
  688. package/lib/chevre/service/task/syncResourcesFromCOA.js +74 -52
  689. package/lib/chevre/service/task/triggerWebhook.js +6 -12
  690. package/lib/chevre/service/task/useReservation.js +11 -14
  691. package/lib/chevre/service/task/voidMoneyTransferTransaction.js +3 -12
  692. package/lib/chevre/service/task/voidPayTransaction.js +7 -12
  693. package/lib/chevre/service/task/voidPayment.js +26 -12
  694. package/lib/chevre/service/task/voidRegisterServiceTransaction.js +3 -12
  695. package/lib/chevre/service/task/voidReserveTransaction.js +34 -17
  696. package/lib/chevre/service/task.js +43 -27
  697. package/lib/chevre/service/taskHandler/onOperationFailed/informTaskIfNeeded.js +37 -22
  698. package/lib/chevre/service/taskHandler/onOperationFailed.js +43 -17
  699. package/lib/chevre/service/taskHandler.js +50 -26
  700. package/lib/chevre/service/transaction/deleteTransaction.js +127 -88
  701. package/lib/chevre/service/transaction/moneyTransfer/exportTasks/factory.js +45 -13
  702. package/lib/chevre/service/transaction/moneyTransfer/factory.js +37 -5
  703. package/lib/chevre/service/transaction/moneyTransfer/potentialActions.js +35 -24
  704. package/lib/chevre/service/transaction/moneyTransfer.js +151 -104
  705. package/lib/chevre/service/transaction/placeOrder/confirm/factory/result.js +24 -1
  706. package/lib/chevre/service/transaction/placeOrder/confirm/potentialActions/sendEmailMessage.js +73 -52
  707. package/lib/chevre/service/transaction/placeOrder/confirm/potentialActions.js +14 -25
  708. package/lib/chevre/service/transaction/placeOrder/confirm/publishCode.js +27 -14
  709. package/lib/chevre/service/transaction/placeOrder/confirm/validation/validateInvoiceReferencesOrder.js +32 -7
  710. package/lib/chevre/service/transaction/placeOrder/confirm/validation/validateMovieTicket.js +32 -9
  711. package/lib/chevre/service/transaction/placeOrder/confirm/validation/validatePrice.js +26 -4
  712. package/lib/chevre/service/transaction/placeOrder/confirm/validation.js +59 -50
  713. package/lib/chevre/service/transaction/placeOrder/confirm.js +108 -66
  714. package/lib/chevre/service/transaction/placeOrder/exportTasks/factory.js +61 -19
  715. package/lib/chevre/service/transaction/placeOrder/exportTasksById.js +34 -17
  716. package/lib/chevre/service/transaction/placeOrder/publishConfirmationNumberIfNotExist.js +29 -15
  717. package/lib/chevre/service/transaction/placeOrder/publishOrderNumberIfNotExist.js +30 -16
  718. package/lib/chevre/service/transaction/placeOrder/start/factory.js +51 -8
  719. package/lib/chevre/service/transaction/placeOrder/start/validateStartRequest.js +77 -61
  720. package/lib/chevre/service/transaction/placeOrder/start.js +37 -18
  721. package/lib/chevre/service/transaction/returnOrder/exportTasks/factory.js +43 -11
  722. package/lib/chevre/service/transaction/returnOrder/potentialActions/returnPaymentMethod.js +200 -191
  723. package/lib/chevre/service/transaction/returnOrder/potentialActions/returnPointAward.js +98 -89
  724. package/lib/chevre/service/transaction/returnOrder/potentialActions/sendEmailMessage.js +64 -49
  725. package/lib/chevre/service/transaction/returnOrder/potentialActions.js +75 -56
  726. package/lib/chevre/service/transaction/returnOrder/preStart/findApplicableReturnPolicy.js +142 -120
  727. package/lib/chevre/service/transaction/returnOrder/preStart/getReturnPolicyByProject.js +83 -80
  728. package/lib/chevre/service/transaction/returnOrder/preStart.js +70 -49
  729. package/lib/chevre/service/transaction/returnOrder.js +60 -39
  730. package/lib/chevre/service/transaction.js +101 -49
  731. package/lib/chevre/service/validation/validateEvent.js +3 -12
  732. package/lib/chevre/service/validation/validateOrder.js +41 -26
  733. package/lib/chevre/service.js +113 -136
  734. package/lib/chevre/settings/aggregation.js +4 -0
  735. package/lib/chevre/settings.js +7 -1
  736. package/lib/index.js +24 -2
  737. package/package.json +18 -19
  738. package/example/src/chevre/addEventBySchedule.ts +0 -46
  739. package/example/src/chevre/event/upsertManyScreeningEventByIdentifier.ts +0 -191
  740. package/example/src/chevre/eventSeries/migrateEventSeriesOffers.ts +0 -75
  741. package/example/src/chevre/eventSeries/migrateEventSeriesUnacceptedPaymentMethod.ts +0 -93
  742. package/example/src/chevre/offers/createSampleOffers.ts +0 -154
  743. package/example/src/chevre/settings/addSettings.ts +0 -46
  744. package/example/src/chevre/upsertScreeningEventSeriesByVersion.ts +0 -102
  745. package/example/src/idaas/auth0/adminApplications.ts +0 -183
  746. package/example/src/idaas/auth0/getToken.ts +0 -55
  747. package/example/src/idaas/auth0/getTokenByPrivateKeyJWT.ts +0 -84
  748. package/lib/chevre/service/eventOld.d.ts +0 -60
  749. package/lib/chevre/service/eventOld.js +0 -864
  750. package/lib/chevre/service/task/createEvent/createEvent.d.ts +0 -25
  751. package/lib/chevre/service/task/createEvent/createEvent.js +0 -45
  752. package/lib/chevre/service/task/createEvent/createEventBySchedule/factory.d.ts +0 -22
  753. package/lib/chevre/service/task/createEvent/createEventBySchedule/factory.js +0 -188
  754. package/lib/chevre/service/task/createEvent/createEventBySchedule/schedule2events.d.ts +0 -15
  755. package/lib/chevre/service/task/createEvent/createEventBySchedule/schedule2events.js +0 -116
  756. package/lib/chevre/service/task/createEvent/createEventBySchedule.d.ts +0 -25
  757. package/lib/chevre/service/task/createEvent/createEventBySchedule.js +0 -107
  758. package/lib/chevre/service/task/createEvent/createEventSeries.d.ts +0 -13
  759. package/lib/chevre/service/task/createEvent/createEventSeries.js +0 -118
  760. package/lib/chevre/service/task/createEvent.d.ts +0 -6
  761. package/lib/chevre/service/task/createEvent.js +0 -46
  762. package/lib/chevre/service/task/onResourceUpdated/onResourceDeleted.d.ts +0 -45
  763. package/lib/chevre/service/task/onResourceUpdated/onResourceDeleted.js +0 -447
@@ -1,54 +1,67 @@
1
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
- });
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
10
27
  };
11
28
  Object.defineProperty(exports, "__esModule", { value: true });
12
29
  exports.AssetTransactionRepo = void 0;
13
- const moment = require("moment");
30
+ const moment_1 = __importDefault(require("moment"));
14
31
  const assetTransaction_1 = require("./mongoose/schemas/assetTransaction");
15
- const factory = require("../factory");
32
+ const factory = __importStar(require("../factory"));
16
33
  const assetTransaction_2 = require("../eventEmitter/assetTransaction");
17
34
  const settings_1 = require("../settings");
18
35
  /**
19
36
  * 資産取引リポジトリ
20
37
  */
21
38
  class AssetTransactionRepo {
39
+ // private化(2022-06-08~)
40
+ transactionModel;
22
41
  constructor(connection) {
23
42
  this.transactionModel = connection.model(assetTransaction_1.modelName, (0, assetTransaction_1.createSchema)());
24
43
  }
25
- // tslint:disable-next-line:cyclomatic-complexity max-func-body-length
26
44
  static CREATE_MONGO_CONDITIONS(params) {
27
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36;
28
45
  const andConditions = [
29
46
  { typeOf: { $eq: params.typeOf } }
30
47
  ];
31
- const projectIdEq = (_b = (_a = params.project) === null || _a === void 0 ? void 0 : _a.id) === null || _b === void 0 ? void 0 : _b.$eq;
32
- // tslint:disable-next-line:no-single-line-block-comment
48
+ const projectIdEq = params.project?.id?.$eq;
33
49
  /* istanbul ignore else */
34
50
  if (typeof projectIdEq === 'string') {
35
51
  andConditions.push({ 'project.id': { $eq: projectIdEq } });
36
52
  }
37
- // tslint:disable-next-line:no-single-line-block-comment
38
53
  /* istanbul ignore else */
39
54
  if (params.startFrom !== undefined) {
40
55
  andConditions.push({
41
56
  startDate: { $gte: params.startFrom }
42
57
  });
43
58
  }
44
- // tslint:disable-next-line:no-single-line-block-comment
45
59
  /* istanbul ignore else */
46
60
  if (params.startThrough !== undefined) {
47
61
  andConditions.push({
48
62
  startDate: { $lte: params.startThrough }
49
63
  });
50
64
  }
51
- // tslint:disable-next-line:no-single-line-block-comment
52
65
  /* istanbul ignore else */
53
66
  if (params.endFrom !== undefined) {
54
67
  andConditions.push({
@@ -58,7 +71,6 @@ class AssetTransactionRepo {
58
71
  }
59
72
  });
60
73
  }
61
- // tslint:disable-next-line:no-single-line-block-comment
62
74
  /* istanbul ignore else */
63
75
  if (params.endThrough !== undefined) {
64
76
  andConditions.push({
@@ -68,25 +80,21 @@ class AssetTransactionRepo {
68
80
  }
69
81
  });
70
82
  }
71
- // tslint:disable-next-line:no-single-line-block-comment
72
83
  /* istanbul ignore else */
73
84
  if (Array.isArray(params.ids)) {
74
85
  andConditions.push({
75
86
  _id: { $in: params.ids }
76
87
  });
77
88
  }
78
- // tslint:disable-next-line:no-single-line-block-comment
79
89
  /* istanbul ignore else */
80
90
  if (Array.isArray(params.statuses)) {
81
91
  andConditions.push({ status: { $in: params.statuses } });
82
92
  }
83
- // tslint:disable-next-line:no-single-line-block-comment
84
93
  /* istanbul ignore else */
85
- const statusIn = (_c = params.status) === null || _c === void 0 ? void 0 : _c.$in;
94
+ const statusIn = params.status?.$in;
86
95
  if (Array.isArray(statusIn)) {
87
96
  andConditions.push({ status: { $in: statusIn } });
88
97
  }
89
- // tslint:disable-next-line:no-single-line-block-comment
90
98
  /* istanbul ignore else */
91
99
  if (params.agent !== undefined) {
92
100
  if (Array.isArray(params.agent.ids)) {
@@ -95,39 +103,37 @@ class AssetTransactionRepo {
95
103
  });
96
104
  }
97
105
  }
98
- const transactionNumberEq = (_d = params.transactionNumber) === null || _d === void 0 ? void 0 : _d.$eq;
106
+ const transactionNumberEq = params.transactionNumber?.$eq;
99
107
  if (typeof transactionNumberEq === 'string') {
100
108
  andConditions.push({ transactionNumber: { $eq: transactionNumberEq } });
101
109
  }
102
- const transactionNumberIn = (_e = params.transactionNumber) === null || _e === void 0 ? void 0 : _e.$in;
110
+ const transactionNumberIn = params.transactionNumber?.$in;
103
111
  if (Array.isArray(transactionNumberIn)) {
104
112
  andConditions.push({ transactionNumber: { $in: transactionNumberIn } });
105
113
  }
106
- const tasksExportActionStatusIn = (_g = (_f = params.tasksExportAction) === null || _f === void 0 ? void 0 : _f.actionStatus) === null || _g === void 0 ? void 0 : _g.$in;
107
- // tslint:disable-next-line:no-single-line-block-comment
114
+ const tasksExportActionStatusIn = params.tasksExportAction?.actionStatus?.$in;
108
115
  /* istanbul ignore else */
109
116
  if (Array.isArray(tasksExportActionStatusIn)) {
110
117
  andConditions.push({ 'tasksExportAction.actionStatus': { $exists: true, $in: tasksExportActionStatusIn } });
111
118
  }
112
- const tasksExportActionStatusEq = (_j = (_h = params.tasksExportAction) === null || _h === void 0 ? void 0 : _h.actionStatus) === null || _j === void 0 ? void 0 : _j.$eq;
113
- // tslint:disable-next-line:no-single-line-block-comment
119
+ const tasksExportActionStatusEq = params.tasksExportAction?.actionStatus?.$eq;
114
120
  /* istanbul ignore else */
115
121
  if (typeof tasksExportActionStatusEq === 'string') {
116
122
  andConditions.push({ 'tasksExportAction.actionStatus': { $exists: true, $eq: tasksExportActionStatusEq } });
117
123
  }
118
124
  switch (params.typeOf) {
119
125
  case factory.assetTransactionType.Pay:
120
- const objectAccountIdEq = (_l = (_k = params.object) === null || _k === void 0 ? void 0 : _k.accountId) === null || _l === void 0 ? void 0 : _l.$eq;
126
+ const objectAccountIdEq = params.object?.accountId?.$eq;
121
127
  if (typeof objectAccountIdEq === 'string') {
122
128
  andConditions.push({ 'object.accountId': { $exists: true, $eq: objectAccountIdEq } });
123
129
  }
124
- const objectTypeOfEq = (_o = (_m = params.object) === null || _m === void 0 ? void 0 : _m.typeOf) === null || _o === void 0 ? void 0 : _o.$eq;
130
+ const objectTypeOfEq = params.object?.typeOf?.$eq;
125
131
  if (typeof objectTypeOfEq === 'string') {
126
132
  andConditions.push({ 'object.typeOf': { $exists: true, $eq: objectTypeOfEq } });
127
133
  }
128
134
  break;
129
135
  case factory.assetTransactionType.Refund:
130
- const objectAccountIdEq4refund = (_q = (_p = params.object) === null || _p === void 0 ? void 0 : _p.accountId) === null || _q === void 0 ? void 0 : _q.$eq;
136
+ const objectAccountIdEq4refund = params.object?.accountId?.$eq;
131
137
  if (typeof objectAccountIdEq4refund === 'string') {
132
138
  andConditions.push({
133
139
  'object.accountId': {
@@ -136,13 +142,13 @@ class AssetTransactionRepo {
136
142
  }
137
143
  });
138
144
  }
139
- const objectPaymentMethodIdEq4refund = (_s = (_r = params.object) === null || _r === void 0 ? void 0 : _r.paymentMethodId) === null || _s === void 0 ? void 0 : _s.$eq;
145
+ const objectPaymentMethodIdEq4refund = params.object?.paymentMethodId?.$eq;
140
146
  if (typeof objectPaymentMethodIdEq4refund === 'string') {
141
147
  andConditions.push({
142
148
  'object.paymentMethodId': { $exists: true, $eq: objectPaymentMethodIdEq4refund }
143
149
  });
144
150
  }
145
- const objectPaymentMethodIdIn4refund = (_u = (_t = params.object) === null || _t === void 0 ? void 0 : _t.paymentMethodId) === null || _u === void 0 ? void 0 : _u.$in;
151
+ const objectPaymentMethodIdIn4refund = params.object?.paymentMethodId?.$in;
146
152
  if (Array.isArray(objectPaymentMethodIdIn4refund)) {
147
153
  andConditions.push({
148
154
  'object.paymentMethodId': { $exists: true, $in: objectPaymentMethodIdIn4refund }
@@ -150,7 +156,7 @@ class AssetTransactionRepo {
150
156
  }
151
157
  break;
152
158
  case factory.assetTransactionType.MoneyTransfer:
153
- const fromLocationIdentifierEq = (_x = (_w = (_v = params.object) === null || _v === void 0 ? void 0 : _v.fromLocation) === null || _w === void 0 ? void 0 : _w.identifier) === null || _x === void 0 ? void 0 : _x.$eq;
159
+ const fromLocationIdentifierEq = params.object?.fromLocation?.identifier?.$eq;
154
160
  if (typeof fromLocationIdentifierEq === 'string') {
155
161
  andConditions.push({
156
162
  'object.fromLocation.identifier': {
@@ -159,7 +165,7 @@ class AssetTransactionRepo {
159
165
  }
160
166
  });
161
167
  }
162
- const toLocationIdentifierEq = (_0 = (_z = (_y = params.object) === null || _y === void 0 ? void 0 : _y.toLocation) === null || _z === void 0 ? void 0 : _z.identifier) === null || _0 === void 0 ? void 0 : _0.$eq;
168
+ const toLocationIdentifierEq = params.object?.toLocation?.identifier?.$eq;
163
169
  if (typeof toLocationIdentifierEq === 'string') {
164
170
  andConditions.push({
165
171
  'object.toLocation.identifier': {
@@ -168,7 +174,7 @@ class AssetTransactionRepo {
168
174
  }
169
175
  });
170
176
  }
171
- const pendingTransactionIdentifierEq = (_3 = (_2 = (_1 = params.object) === null || _1 === void 0 ? void 0 : _1.pendingTransaction) === null || _2 === void 0 ? void 0 : _2.identifier) === null || _3 === void 0 ? void 0 : _3.$eq;
177
+ const pendingTransactionIdentifierEq = params.object?.pendingTransaction?.identifier?.$eq;
172
178
  if (typeof pendingTransactionIdentifierEq === 'string') {
173
179
  andConditions.push({
174
180
  'object.pendingTransaction.identifier': {
@@ -179,13 +185,13 @@ class AssetTransactionRepo {
179
185
  }
180
186
  break;
181
187
  case factory.assetTransactionType.CancelReservation:
182
- const objectReservationNumberIn4cancelReservation = (_5 = (_4 = params.object) === null || _4 === void 0 ? void 0 : _4.reservationNumber) === null || _5 === void 0 ? void 0 : _5.$in;
188
+ const objectReservationNumberIn4cancelReservation = params.object?.reservationNumber?.$in;
183
189
  if (Array.isArray(objectReservationNumberIn4cancelReservation)) {
184
190
  andConditions.push({
185
191
  'object.reservationNumber': { $exists: true, $in: objectReservationNumberIn4cancelReservation }
186
192
  });
187
193
  }
188
- const objectReservationNumberEq4cancelReservation = (_7 = (_6 = params.object) === null || _6 === void 0 ? void 0 : _6.reservationNumber) === null || _7 === void 0 ? void 0 : _7.$eq;
194
+ const objectReservationNumberEq4cancelReservation = params.object?.reservationNumber?.$eq;
189
195
  if (typeof objectReservationNumberEq4cancelReservation === 'string') {
190
196
  andConditions.push({
191
197
  'object.reservationNumber': { $exists: true, $eq: objectReservationNumberEq4cancelReservation }
@@ -193,11 +199,11 @@ class AssetTransactionRepo {
193
199
  }
194
200
  break;
195
201
  case factory.assetTransactionType.Reserve:
196
- const objectProviderIdEq = (_10 = (_9 = (_8 = params.object) === null || _8 === void 0 ? void 0 : _8.provider) === null || _9 === void 0 ? void 0 : _9.id) === null || _10 === void 0 ? void 0 : _10.$eq;
202
+ const objectProviderIdEq = params.object?.provider?.id?.$eq;
197
203
  if (typeof objectProviderIdEq === 'string') {
198
204
  andConditions.push({ 'object.provider.id': { $exists: true, $eq: objectProviderIdEq } });
199
205
  }
200
- const objectReservationForIdEq = (_13 = (_12 = (_11 = params.object) === null || _11 === void 0 ? void 0 : _11.reservationFor) === null || _12 === void 0 ? void 0 : _12.id) === null || _13 === void 0 ? void 0 : _13.$eq;
206
+ const objectReservationForIdEq = params.object?.reservationFor?.id?.$eq;
201
207
  if (typeof objectReservationForIdEq === 'string') {
202
208
  andConditions.push({
203
209
  'object.reservationFor.id': {
@@ -206,19 +212,19 @@ class AssetTransactionRepo {
206
212
  }
207
213
  });
208
214
  }
209
- const objectReservationNumberIn = (_15 = (_14 = params.object) === null || _14 === void 0 ? void 0 : _14.reservationNumber) === null || _15 === void 0 ? void 0 : _15.$in;
215
+ const objectReservationNumberIn = params.object?.reservationNumber?.$in;
210
216
  if (Array.isArray(objectReservationNumberIn)) {
211
217
  andConditions.push({
212
218
  'object.reservationNumber': { $exists: true, $in: objectReservationNumberIn }
213
219
  });
214
220
  }
215
- const objectReservationNumberEq = (_17 = (_16 = params.object) === null || _16 === void 0 ? void 0 : _16.reservationNumber) === null || _17 === void 0 ? void 0 : _17.$eq;
221
+ const objectReservationNumberEq = params.object?.reservationNumber?.$eq;
216
222
  if (typeof objectReservationNumberEq === 'string') {
217
223
  andConditions.push({
218
224
  'object.reservationNumber': { $exists: true, $eq: objectReservationNumberEq }
219
225
  });
220
226
  }
221
- const objectSubReservationIdIn = (_20 = (_19 = (_18 = params.object) === null || _18 === void 0 ? void 0 : _18.reservations) === null || _19 === void 0 ? void 0 : _19.id) === null || _20 === void 0 ? void 0 : _20.$in;
227
+ const objectSubReservationIdIn = params.object?.reservations?.id?.$in;
222
228
  if (Array.isArray(objectSubReservationIdIn)) {
223
229
  andConditions.push({
224
230
  'object.subReservation.id': {
@@ -253,7 +259,7 @@ class AssetTransactionRepo {
253
259
  }
254
260
  }
255
261
  }
256
- const objectUnderNameIdEq = (_23 = (_22 = (_21 = params.object) === null || _21 === void 0 ? void 0 : _21.underName) === null || _22 === void 0 ? void 0 : _22.id) === null || _23 === void 0 ? void 0 : _23.$eq;
262
+ const objectUnderNameIdEq = params.object?.underName?.id?.$eq;
257
263
  if (typeof objectUnderNameIdEq === 'string') {
258
264
  andConditions.push({
259
265
  'object.underName.id': {
@@ -262,7 +268,7 @@ class AssetTransactionRepo {
262
268
  }
263
269
  });
264
270
  }
265
- const objectSubReservationSeatNumberEq = (_28 = (_27 = (_26 = (_25 = (_24 = params.object) === null || _24 === void 0 ? void 0 : _24.reservations) === null || _25 === void 0 ? void 0 : _25.reservedTicket) === null || _26 === void 0 ? void 0 : _26.ticketedSeat) === null || _27 === void 0 ? void 0 : _27.seatNumber) === null || _28 === void 0 ? void 0 : _28.$eq;
271
+ const objectSubReservationSeatNumberEq = params.object?.reservations?.reservedTicket?.ticketedSeat?.seatNumber?.$eq;
266
272
  if (typeof objectSubReservationSeatNumberEq === 'string') {
267
273
  andConditions.push({
268
274
  'object.subReservation.reservedTicket.ticketedSeat.seatNumber': {
@@ -273,7 +279,7 @@ class AssetTransactionRepo {
273
279
  }
274
280
  break;
275
281
  case factory.assetTransactionType.RegisterService:
276
- const objectItemOfferedServiceOutputIdentifierEq = (_32 = (_31 = (_30 = (_29 = params.object) === null || _29 === void 0 ? void 0 : _29.itemOffered) === null || _30 === void 0 ? void 0 : _30.serviceOutput) === null || _31 === void 0 ? void 0 : _31.identifier) === null || _32 === void 0 ? void 0 : _32.$eq;
282
+ const objectItemOfferedServiceOutputIdentifierEq = params.object?.itemOffered?.serviceOutput?.identifier?.$eq;
277
283
  if (typeof objectItemOfferedServiceOutputIdentifierEq === 'string') {
278
284
  andConditions.push({
279
285
  'object.itemOffered.serviceOutput.identifier': {
@@ -282,7 +288,7 @@ class AssetTransactionRepo {
282
288
  }
283
289
  });
284
290
  }
285
- const objectItemOfferedServiceOutputIdentifierIn = (_36 = (_35 = (_34 = (_33 = params.object) === null || _33 === void 0 ? void 0 : _33.itemOffered) === null || _34 === void 0 ? void 0 : _34.serviceOutput) === null || _35 === void 0 ? void 0 : _35.identifier) === null || _36 === void 0 ? void 0 : _36.$in;
291
+ const objectItemOfferedServiceOutputIdentifierIn = params.object?.itemOffered?.serviceOutput?.identifier?.$in;
286
292
  if (Array.isArray(objectItemOfferedServiceOutputIdentifierIn)) {
287
293
  andConditions.push({
288
294
  'object.itemOffered.serviceOutput.identifier': {
@@ -299,213 +305,223 @@ class AssetTransactionRepo {
299
305
  /**
300
306
  * 取引を開始する
301
307
  */
302
- start(params
308
+ async start(params
303
309
  // ): Promise<Pick<factory.assetTransaction.ITransaction<T>, 'id'>> {
304
310
  ) {
305
- return __awaiter(this, void 0, void 0, function* () {
306
- return this.transactionModel.create(Object.assign(Object.assign({}, params), { typeOf: params.typeOf, status: factory.transactionStatusType.InProgress, startDate: new Date(), endDate: undefined, tasksExportAction: {
307
- actionStatus: factory.actionStatusType.PotentialActionStatus
308
- } }))
309
- .then((doc) => doc.toObject());
310
- });
311
- }
312
- startWithMinimalResponse(params) {
313
- return __awaiter(this, void 0, void 0, function* () {
314
- var _a, _b;
315
- const { typeOf } = params;
316
- const startDate = new Date();
317
- const creatingTransaction = Object.assign(Object.assign({}, params), { typeOf, status: factory.transactionStatusType.InProgress, startDate,
318
- // endDate: undefined,
319
- tasksExportAction: {
320
- actionStatus: factory.actionStatusType.PotentialActionStatus
321
- } });
322
- const result = yield this.transactionModel.insertMany(creatingTransaction, { ordered: false, rawResult: true });
323
- const id = (_b = (_a = result.insertedIds) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.toHexString();
324
- if (typeof id !== 'string') {
325
- throw new factory.errors.Internal('assetTransaction not saved');
311
+ return this.transactionModel.create({
312
+ ...params,
313
+ typeOf: params.typeOf,
314
+ status: factory.transactionStatusType.InProgress,
315
+ startDate: new Date(),
316
+ endDate: undefined,
317
+ tasksExportAction: {
318
+ actionStatus: factory.actionStatusType.PotentialActionStatus
326
319
  }
327
- return { id, startDate };
328
- });
320
+ // tasksExportationStatus: factory.transactionTasksExportationStatus.Unexported // discontinue(2024-06-20~)
321
+ })
322
+ .then((doc) => doc.toObject());
329
323
  }
330
- findById(params, inclusion) {
331
- return __awaiter(this, void 0, void 0, function* () {
332
- let projection = {};
333
- if (Array.isArray(inclusion) && inclusion.length > 0) {
334
- inclusion.forEach((field) => {
335
- projection[field] = 1;
336
- });
324
+ async startWithMinimalResponse(params) {
325
+ const { typeOf } = params;
326
+ const startDate = new Date();
327
+ const creatingTransaction = {
328
+ ...params,
329
+ typeOf,
330
+ status: factory.transactionStatusType.InProgress,
331
+ startDate,
332
+ // endDate: undefined,
333
+ tasksExportAction: {
334
+ actionStatus: factory.actionStatusType.PotentialActionStatus
337
335
  }
338
- else {
339
- projection = {};
340
- }
341
- const doc = yield this.transactionModel.findOne({
342
- _id: { $eq: params.id },
343
- typeOf: { $eq: params.typeOf }
344
- }, projection)
345
- .exec();
346
- if (doc === null) {
347
- throw new factory.errors.NotFound(this.transactionModel.modelName);
348
- }
349
- return doc.toObject();
350
- });
336
+ };
337
+ const result = await this.transactionModel.insertMany(creatingTransaction, { ordered: false, rawResult: true });
338
+ const id = result.insertedIds?.[0]?.toHexString();
339
+ if (typeof id !== 'string') {
340
+ throw new factory.errors.Internal('assetTransaction not saved');
341
+ }
342
+ return { id, startDate };
351
343
  }
352
- findByTransactionNumber(params, inclusion) {
353
- return __awaiter(this, void 0, void 0, function* () {
354
- let projection = {};
355
- if (Array.isArray(inclusion) && inclusion.length > 0) {
356
- inclusion.forEach((field) => {
357
- projection[field] = 1;
358
- });
359
- }
360
- else {
361
- projection = {};
362
- }
363
- const doc = yield this.transactionModel.findOne({
364
- transactionNumber: { $eq: params.transactionNumber },
365
- typeOf: { $eq: params.typeOf }
366
- }, projection)
367
- .exec();
368
- if (doc === null) {
369
- throw new factory.errors.NotFound(this.transactionModel.modelName);
370
- }
371
- return doc.toObject();
372
- });
344
+ async findById(params, inclusion) {
345
+ let projection = {};
346
+ if (Array.isArray(inclusion) && inclusion.length > 0) {
347
+ inclusion.forEach((field) => {
348
+ projection[field] = 1;
349
+ });
350
+ }
351
+ else {
352
+ projection = {};
353
+ }
354
+ const doc = await this.transactionModel.findOne({
355
+ _id: { $eq: params.id },
356
+ typeOf: { $eq: params.typeOf }
357
+ }, projection)
358
+ .exec();
359
+ if (doc === null) {
360
+ throw new factory.errors.NotFound(this.transactionModel.modelName);
361
+ }
362
+ return doc.toObject();
373
363
  }
374
- addReservations(params) {
375
- return __awaiter(this, void 0, void 0, function* () {
376
- const doc = yield this.transactionModel.findOneAndUpdate({
377
- _id: { $eq: params.id },
378
- typeOf: { $eq: params.typeOf },
379
- status: { $eq: factory.transactionStatusType.InProgress }
380
- }, {
381
- $set: {
382
- 'object.acceptedOffer': params.object.acceptedOffer,
383
- // 'object.issuedThrough': params.object.issuedThrough, // start時保管へ移行(2024-07-01~)
384
- // 'object.reservationFor': params.object.reservationFor, // start時保管へ移行(2024-07-01~)
385
- 'object.subReservation': params.object.subReservation
386
- }
387
- }, { new: false, projection: { _id: 1 } })
388
- .exec();
389
- if (doc === null) {
390
- throw new factory.errors.NotFound(this.transactionModel.modelName);
364
+ async findByTransactionNumber(params, inclusion) {
365
+ let projection = {};
366
+ if (Array.isArray(inclusion) && inclusion.length > 0) {
367
+ inclusion.forEach((field) => {
368
+ projection[field] = 1;
369
+ });
370
+ }
371
+ else {
372
+ projection = {};
373
+ }
374
+ const doc = await this.transactionModel.findOne({
375
+ transactionNumber: { $eq: params.transactionNumber },
376
+ typeOf: { $eq: params.typeOf }
377
+ }, projection)
378
+ .exec();
379
+ if (doc === null) {
380
+ throw new factory.errors.NotFound(this.transactionModel.modelName);
381
+ }
382
+ return doc.toObject();
383
+ }
384
+ async addReservations(params) {
385
+ const doc = await this.transactionModel.findOneAndUpdate({
386
+ _id: { $eq: params.id },
387
+ typeOf: { $eq: params.typeOf },
388
+ status: { $eq: factory.transactionStatusType.InProgress }
389
+ }, {
390
+ $set: {
391
+ 'object.acceptedOffer': params.object.acceptedOffer,
392
+ // 'object.issuedThrough': params.object.issuedThrough, // start時保管へ移行(2024-07-01~)
393
+ // 'object.reservationFor': params.object.reservationFor, // start時保管へ移行(2024-07-01~)
394
+ 'object.subReservation': params.object.subReservation
391
395
  }
392
- // return doc.toObject();
393
- });
396
+ }, { new: false, projection: { _id: 1 } })
397
+ .exec();
398
+ if (doc === null) {
399
+ throw new factory.errors.NotFound(this.transactionModel.modelName);
400
+ }
401
+ // return doc.toObject();
394
402
  }
395
403
  /**
396
404
  * 取引を確定する
397
405
  */
398
- confirm(params) {
399
- return __awaiter(this, void 0, void 0, function* () {
400
- var _a, _b, _c, _d;
401
- const doc = yield this.transactionModel.findOneAndUpdate({
402
- _id: { $eq: params.id },
403
- typeOf: { $eq: params.typeOf },
404
- status: { $eq: factory.transactionStatusType.InProgress }
405
- }, Object.assign(Object.assign({ status: factory.transactionStatusType.Confirmed, endDate: new Date(), result: params.result, potentialActions: params.potentialActions }, (typeof ((_b = (_a = params.object) === null || _a === void 0 ? void 0 : _a.underName) === null || _b === void 0 ? void 0 : _b.typeOf) === 'string')
406
+ async confirm(params) {
407
+ const doc = await this.transactionModel.findOneAndUpdate({
408
+ _id: { $eq: params.id },
409
+ typeOf: { $eq: params.typeOf },
410
+ status: { $eq: factory.transactionStatusType.InProgress }
411
+ }, {
412
+ status: factory.transactionStatusType.Confirmed, // ステータス変更
413
+ endDate: new Date(),
414
+ result: params.result, // resultを更新
415
+ potentialActions: params.potentialActions, // resultを更新
416
+ ...(typeof params.object?.underName?.typeOf === 'string')
406
417
  ? { 'object.underName': params.object.underName }
407
- : undefined), (typeof ((_d = (_c = params.object) === null || _c === void 0 ? void 0 : _c.paymentMethod) === null || _d === void 0 ? void 0 : _d.identifier) === 'string')
418
+ : undefined,
419
+ ...(typeof params.object?.paymentMethod?.identifier === 'string')
408
420
  ? { 'object.paymentMethod.identifier': params.object.paymentMethod.identifier }
409
- : undefined), {
410
- new: true,
411
- projection: { _id: 1 }
412
- })
413
- .exec();
414
- // NotFoundであれば取引状態確認
415
- if (doc === null) {
416
- const transaction = yield this.findById({ typeOf: params.typeOf, id: params.id }, ['status']);
417
- if (transaction.status === factory.transactionStatusType.Confirmed) {
418
- // すでに確定済の場合スルー
419
- }
420
- else if (transaction.status === factory.transactionStatusType.Expired) {
421
- throw new factory.errors.Argument('Transaction id', `Transaction ${params.typeOf} ${params.id} already expired`);
422
- }
423
- else if (transaction.status === factory.transactionStatusType.Canceled) {
424
- throw new factory.errors.Argument('Transaction id', `Transaction ${params.typeOf} ${params.id} already canceled`);
425
- }
426
- else {
427
- throw new factory.errors.NotFound(this.transactionModel.modelName);
428
- }
421
+ : undefined
422
+ }, {
423
+ new: true,
424
+ projection: { _id: 1 }
425
+ })
426
+ .exec();
427
+ // NotFoundであれば取引状態確認
428
+ if (doc === null) {
429
+ const transaction = await this.findById({ typeOf: params.typeOf, id: params.id }, ['status']);
430
+ if (transaction.status === factory.transactionStatusType.Confirmed) {
431
+ // すでに確定済の場合スルー
429
432
  }
430
- assetTransaction_2.assetTransactionEventEmitter.emitAssetTransactionStatusChanged({
431
- id: params.id,
432
- typeOf: params.typeOf,
433
- status: factory.transactionStatusType.Confirmed
434
- });
433
+ else if (transaction.status === factory.transactionStatusType.Expired) {
434
+ throw new factory.errors.Argument('Transaction id', `Transaction ${params.typeOf} ${params.id} already expired`);
435
+ }
436
+ else if (transaction.status === factory.transactionStatusType.Canceled) {
437
+ throw new factory.errors.Argument('Transaction id', `Transaction ${params.typeOf} ${params.id} already canceled`);
438
+ }
439
+ else {
440
+ throw new factory.errors.NotFound(this.transactionModel.modelName);
441
+ }
442
+ }
443
+ assetTransaction_2.assetTransactionEventEmitter.emitAssetTransactionStatusChanged({
444
+ id: params.id,
445
+ typeOf: params.typeOf,
446
+ status: factory.transactionStatusType.Confirmed
435
447
  });
436
448
  }
437
449
  /**
438
450
  * 取引を開始&確定
439
451
  */
440
- startAndConfirm(params) {
441
- return __awaiter(this, void 0, void 0, function* () {
442
- const startDate = new Date();
443
- yield this.transactionModel.create(Object.assign(Object.assign({}, params), { _id: params.id, typeOf: params.typeOf, startDate, status: factory.transactionStatusType.Confirmed, tasksExportAction: {
444
- actionStatus: factory.actionStatusType.PotentialActionStatus
445
- },
446
- // tasksExportationStatus: factory.transactionTasksExportationStatus.Unexported, // discontinue(2024-06-20~)
447
- endDate: startDate, result: params.result, potentialActions: params.potentialActions }))
448
- .then((doc) => doc.toObject());
449
- assetTransaction_2.assetTransactionEventEmitter.emitAssetTransactionStatusChanged({
450
- id: params.id,
451
- typeOf: params.typeOf,
452
- status: factory.transactionStatusType.Confirmed
453
- });
454
- return { id: params.id };
452
+ async startAndConfirm(params) {
453
+ const startDate = new Date();
454
+ await this.transactionModel.create({
455
+ ...params,
456
+ _id: params.id,
457
+ typeOf: params.typeOf,
458
+ startDate,
459
+ status: factory.transactionStatusType.Confirmed,
460
+ tasksExportAction: {
461
+ actionStatus: factory.actionStatusType.PotentialActionStatus
462
+ },
463
+ // tasksExportationStatus: factory.transactionTasksExportationStatus.Unexported, // discontinue(2024-06-20~)
464
+ endDate: startDate,
465
+ result: params.result,
466
+ potentialActions: params.potentialActions
467
+ })
468
+ .then((doc) => doc.toObject());
469
+ assetTransaction_2.assetTransactionEventEmitter.emitAssetTransactionStatusChanged({
470
+ id: params.id,
471
+ typeOf: params.typeOf,
472
+ status: factory.transactionStatusType.Confirmed
455
473
  });
474
+ return { id: params.id };
456
475
  }
457
- countPotentiallyExportTasks(params) {
458
- return __awaiter(this, void 0, void 0, function* () {
459
- const { endDate, limit } = params;
460
- const endDateLt = endDate === null || endDate === void 0 ? void 0 : endDate.$lt;
461
- if (!(endDateLt instanceof Date)) {
462
- throw new factory.errors.Argument('endDate.$lt', 'must be Date');
463
- }
464
- const query = this.transactionModel.countDocuments({
465
- status: {
466
- $in: [
467
- factory.transactionStatusType.Canceled,
468
- factory.transactionStatusType.Confirmed,
469
- factory.transactionStatusType.Expired
470
- ]
471
- },
472
- 'tasksExportAction.actionStatus': {
473
- $exists: true,
474
- $eq: factory.actionStatusType.PotentialActionStatus
475
- },
476
- endDate: { $exists: true, $lt: endDateLt }
477
- });
478
- if (typeof limit === 'number' && limit >= 0) {
479
- query.limit(limit);
480
- }
481
- const count = yield query.setOptions({ maxTimeMS: settings_1.MONGO_MAX_TIME_MS })
482
- .exec();
483
- return { count };
476
+ async countPotentiallyExportTasks(params) {
477
+ const { endDate, limit } = params;
478
+ const endDateLt = endDate?.$lt;
479
+ if (!(endDateLt instanceof Date)) {
480
+ throw new factory.errors.Argument('endDate.$lt', 'must be Date');
481
+ }
482
+ const query = this.transactionModel.countDocuments({
483
+ status: {
484
+ $in: [
485
+ factory.transactionStatusType.Canceled,
486
+ factory.transactionStatusType.Confirmed,
487
+ factory.transactionStatusType.Expired
488
+ ]
489
+ },
490
+ 'tasksExportAction.actionStatus': {
491
+ $exists: true,
492
+ $eq: factory.actionStatusType.PotentialActionStatus
493
+ },
494
+ endDate: { $exists: true, $lt: endDateLt }
484
495
  });
496
+ if (typeof limit === 'number' && limit >= 0) {
497
+ query.limit(limit);
498
+ }
499
+ const count = await query.setOptions({ maxTimeMS: settings_1.MONGO_MAX_TIME_MS })
500
+ .exec();
501
+ return { count };
485
502
  }
486
503
  /**
487
504
  * タスク未エクスポートの取引をひとつ取得してエクスポートを開始する
488
505
  */
489
- startExportTasks(params) {
490
- return __awaiter(this, void 0, void 0, function* () {
491
- var _a, _b, _c;
492
- const statusEq = (_a = params.status) === null || _a === void 0 ? void 0 : _a.$eq;
493
- const endDateLt = (_b = params.endDate) === null || _b === void 0 ? void 0 : _b.$lt;
494
- if (typeof statusEq === 'string') {
495
- switch (statusEq) {
496
- case factory.transactionStatusType.InProgress:
497
- throw new factory.errors.NotImplemented(`status "${params.status}" not implemented on startExportTasks`);
498
- default:
499
- // no op
500
- }
501
- }
502
- if (!(endDateLt instanceof Date)) {
503
- throw new factory.errors.Argument('endDate.$lt', 'must be Date');
506
+ async startExportTasks(params) {
507
+ const statusEq = params.status?.$eq;
508
+ const endDateLt = params.endDate?.$lt;
509
+ if (typeof statusEq === 'string') {
510
+ switch (statusEq) {
511
+ case factory.transactionStatusType.InProgress:
512
+ throw new factory.errors.NotImplemented(`status "${params.status}" not implemented on startExportTasks`);
513
+ default:
514
+ // no op
504
515
  }
505
- // const typeOfIn = params.typeOf?.$in;
506
- const query = this.transactionModel.findOneAndUpdate(Object.assign({
507
- // ...(Array.isArray(typeOfIn)) ? { typeOf: { $in: typeOfIn } } : undefined,
508
- status: Object.assign({}, (typeof statusEq === 'string')
516
+ }
517
+ if (!(endDateLt instanceof Date)) {
518
+ throw new factory.errors.Argument('endDate.$lt', 'must be Date');
519
+ }
520
+ // const typeOfIn = params.typeOf?.$in;
521
+ const query = this.transactionModel.findOneAndUpdate({
522
+ // ...(Array.isArray(typeOfIn)) ? { typeOf: { $in: typeOfIn } } : undefined,
523
+ status: {
524
+ ...(typeof statusEq === 'string')
509
525
  ? { $eq: statusEq }
510
526
  : {
511
527
  $in: [
@@ -513,31 +529,34 @@ class AssetTransactionRepo {
513
529
  factory.transactionStatusType.Confirmed,
514
530
  factory.transactionStatusType.Expired
515
531
  ]
516
- }), 'tasksExportAction.actionStatus': {
517
- $exists: true,
518
- $eq: factory.actionStatusType.PotentialActionStatus
519
- }, endDate: { $exists: true, $lt: endDateLt } }, (typeof params.id === 'string') ? { _id: { $eq: params.id } } : undefined), {
520
- 'tasksExportAction.actionStatus': factory.actionStatusType.ActiveActionStatus,
521
- 'tasksExportAction.agent': { name: params.tasksExportAction.agent.name },
522
- 'tasksExportAction.startDate': new Date()
523
- }, {
524
- new: true,
525
- projection: {
526
- // _id: 1,
527
- _id: 0,
528
- id: { $toString: '$_id' },
529
- typeOf: 1
530
- }
531
- });
532
- if (typeof ((_c = params.sort) === null || _c === void 0 ? void 0 : _c.endDate) === 'number') {
533
- query.sort(params.sort);
532
+ }
533
+ },
534
+ 'tasksExportAction.actionStatus': {
535
+ $exists: true,
536
+ $eq: factory.actionStatusType.PotentialActionStatus
537
+ },
538
+ endDate: { $exists: true, $lt: endDateLt },
539
+ ...(typeof params.id === 'string') ? { _id: { $eq: params.id } } : undefined
540
+ }, {
541
+ 'tasksExportAction.actionStatus': factory.actionStatusType.ActiveActionStatus,
542
+ 'tasksExportAction.agent': { name: params.tasksExportAction.agent.name },
543
+ 'tasksExportAction.startDate': new Date()
544
+ }, {
545
+ new: true,
546
+ projection: {
547
+ // _id: 1,
548
+ _id: 0,
549
+ id: { $toString: '$_id' },
550
+ typeOf: 1
534
551
  }
535
- return query.setOptions({ maxTimeMS: settings_1.MONGO_MAX_TIME_MS })
536
- .lean()
537
- .exec()
538
- // tslint:disable-next-line:no-null-keyword
539
- .then((doc) => (doc === null) ? null : doc);
540
552
  });
553
+ if (typeof params.sort?.endDate === 'number') {
554
+ query.sort(params.sort);
555
+ }
556
+ return query.setOptions({ maxTimeMS: settings_1.MONGO_MAX_TIME_MS })
557
+ .lean()
558
+ .exec()
559
+ .then((doc) => (doc === null) ? null : doc);
541
560
  }
542
561
  // discontinue(2025-03-10~)
543
562
  // public async reexportTasksByExportAction(params: {
@@ -595,418 +614,389 @@ class AssetTransactionRepo {
595
614
  * PotentialActionStatusに変更する
596
615
  * 2025-03-10~
597
616
  */
598
- reExportAction(params) {
599
- return __awaiter(this, void 0, void 0, function* () {
600
- const { startDate } = params;
601
- if (!(startDate.$lt instanceof Date)) {
602
- throw new factory.errors.Argument('startDate.$lt', 'must be Date');
617
+ async reExportAction(params) {
618
+ const { startDate } = params;
619
+ if (!(startDate.$lt instanceof Date)) {
620
+ throw new factory.errors.Argument('startDate.$lt', 'must be Date');
621
+ }
622
+ return this.transactionModel.updateMany({
623
+ 'tasksExportAction.actionStatus': {
624
+ $exists: true,
625
+ $eq: factory.actionStatusType.ActiveActionStatus
626
+ },
627
+ 'tasksExportAction.startDate': {
628
+ $exists: true,
629
+ $lt: startDate.$lt
603
630
  }
604
- return this.transactionModel.updateMany({
605
- 'tasksExportAction.actionStatus': {
606
- $exists: true,
607
- $eq: factory.actionStatusType.ActiveActionStatus
608
- },
609
- 'tasksExportAction.startDate': {
610
- $exists: true,
611
- $lt: startDate.$lt
612
- }
613
- }, {
614
- $set: {
615
- tasksExportAction: {
616
- actionStatus: factory.actionStatusType.PotentialActionStatus
617
- }
631
+ }, {
632
+ $set: {
633
+ tasksExportAction: {
634
+ actionStatus: factory.actionStatusType.PotentialActionStatus
618
635
  }
619
- })
620
- .exec();
621
- });
636
+ }
637
+ })
638
+ .exec();
622
639
  }
623
640
  /**
624
641
  * タスクエクスポートの遅延している取引について明示的にemitTransactionStatusChangedを実行する
625
642
  */
626
- exportTasksMany(params) {
627
- return __awaiter(this, void 0, void 0, function* () {
628
- const delayedTransactions = yield this.transactionModel.find({
629
- status: { $in: params.status.$in },
630
- 'tasksExportAction.actionStatus': {
631
- $exists: true,
632
- $eq: factory.actionStatusType.PotentialActionStatus
633
- },
634
- endDate: {
635
- $exists: true,
636
- $lt: moment(params.now)
637
- .add(-params.delayInSeconds, 'seconds')
638
- .toDate()
639
- }
640
- })
641
- .select({
642
- _id: 0,
643
- id: { $toString: '$_id' },
644
- typeOf: 1,
645
- status: 1
646
- })
647
- .limit(params.limit)
648
- .setOptions({ maxTimeMS: settings_1.MONGO_MAX_TIME_MS })
649
- .lean()
650
- .exec();
651
- if (delayedTransactions.length > 0) {
652
- delayedTransactions.forEach((delayedTransaction) => {
653
- assetTransaction_2.assetTransactionEventEmitter.emitAssetTransactionStatusChanged({
654
- id: delayedTransaction.id,
655
- typeOf: delayedTransaction.typeOf,
656
- status: delayedTransaction.status
657
- });
658
- });
643
+ async exportTasksMany(params) {
644
+ const delayedTransactions = await this.transactionModel.find({
645
+ status: { $in: params.status.$in },
646
+ 'tasksExportAction.actionStatus': {
647
+ $exists: true,
648
+ $eq: factory.actionStatusType.PotentialActionStatus
649
+ },
650
+ endDate: {
651
+ $exists: true,
652
+ $lt: (0, moment_1.default)(params.now)
653
+ .add(-params.delayInSeconds, 'seconds')
654
+ .toDate()
659
655
  }
660
- return delayedTransactions;
661
- });
656
+ })
657
+ .select({
658
+ _id: 0,
659
+ id: { $toString: '$_id' },
660
+ typeOf: 1,
661
+ status: 1
662
+ })
663
+ .limit(params.limit)
664
+ .setOptions({ maxTimeMS: settings_1.MONGO_MAX_TIME_MS })
665
+ .lean()
666
+ .exec();
667
+ if (delayedTransactions.length > 0) {
668
+ delayedTransactions.forEach((delayedTransaction) => {
669
+ assetTransaction_2.assetTransactionEventEmitter.emitAssetTransactionStatusChanged({
670
+ id: delayedTransaction.id,
671
+ typeOf: delayedTransaction.typeOf,
672
+ status: delayedTransaction.status
673
+ });
674
+ });
675
+ }
676
+ return delayedTransactions;
662
677
  }
663
678
  /**
664
679
  * set task status exported by transaction id
665
680
  * IDでタスクをエクスポート済に変更する
666
681
  */
667
- setTasksExportedById(params) {
668
- return __awaiter(this, void 0, void 0, function* () {
669
- const endDate = new Date();
670
- yield this.transactionModel.updateOne({
671
- _id: { $eq: params.id },
672
- // remove dependency on tasksExportationStatus(2024-06-13~)
673
- // tasksExportationStatus: { $eq: factory.transactionTasksExportationStatus.Exporting }
674
- 'tasksExportAction.actionStatus': {
675
- $exists: true,
676
- $eq: factory.actionStatusType.ActiveActionStatus
677
- }
678
- }, {
679
- // tasksExportationStatus: factory.transactionTasksExportationStatus.Exported, // discontinue(2024-06-20~)
680
- // tasksExportedAt: endDate, // discontinue(2024-06-20~)
681
- 'tasksExportAction.actionStatus': factory.actionStatusType.CompletedActionStatus,
682
- 'tasksExportAction.endDate': endDate
683
- })
684
- .exec();
685
- });
682
+ async setTasksExportedById(params) {
683
+ const endDate = new Date();
684
+ await this.transactionModel.updateOne({
685
+ _id: { $eq: params.id },
686
+ // remove dependency on tasksExportationStatus(2024-06-13~)
687
+ // tasksExportationStatus: { $eq: factory.transactionTasksExportationStatus.Exporting }
688
+ 'tasksExportAction.actionStatus': {
689
+ $exists: true,
690
+ $eq: factory.actionStatusType.ActiveActionStatus
691
+ }
692
+ }, {
693
+ // tasksExportationStatus: factory.transactionTasksExportationStatus.Exported, // discontinue(2024-06-20~)
694
+ // tasksExportedAt: endDate, // discontinue(2024-06-20~)
695
+ 'tasksExportAction.actionStatus': factory.actionStatusType.CompletedActionStatus,
696
+ 'tasksExportAction.endDate': endDate
697
+ })
698
+ .exec();
686
699
  }
687
700
  /**
688
701
  * add(2025-03-17~)
689
702
  */
690
- countPotentiallyExpired(params) {
691
- return __awaiter(this, void 0, void 0, function* () {
692
- const { expires, limit } = params;
693
- const query = this.transactionModel.countDocuments({
694
- status: { $eq: factory.transactionStatusType.InProgress },
695
- expires: { $lt: expires.$lt }
696
- });
697
- if (typeof limit === 'number' && limit >= 0) {
698
- query.limit(limit);
699
- }
700
- const count = yield query.setOptions({ maxTimeMS: settings_1.MONGO_MAX_TIME_MS })
701
- .exec();
702
- return { count };
703
+ async countPotentiallyExpired(params) {
704
+ const { expires, limit } = params;
705
+ const query = this.transactionModel.countDocuments({
706
+ status: { $eq: factory.transactionStatusType.InProgress },
707
+ expires: { $lt: expires.$lt }
703
708
  });
709
+ if (typeof limit === 'number' && limit >= 0) {
710
+ query.limit(limit);
711
+ }
712
+ const count = await query.setOptions({ maxTimeMS: settings_1.MONGO_MAX_TIME_MS })
713
+ .exec();
714
+ return { count };
704
715
  }
705
716
  /**
706
717
  * add(2025-03-12~)
707
718
  */
708
- makeOneExpiredIfExists(params) {
709
- return __awaiter(this, void 0, void 0, function* () {
710
- const endDate = new Date();
711
- const sort = {
712
- expires: factory.sortType.Ascending
713
- };
714
- const doc = yield this.transactionModel.findOneAndUpdate({
715
- status: { $eq: factory.transactionStatusType.InProgress },
716
- expires: { $lt: params.expires.$lt }
717
- }, {
718
- status: factory.transactionStatusType.Expired,
719
- endDate
720
- }, {
721
- new: true,
722
- projection: {
723
- _id: 0,
724
- id: { $toString: '$_id' },
725
- typeOf: 1
726
- }
727
- })
728
- .sort(sort)
729
- .lean()
730
- .exec();
731
- if (doc === null) {
732
- // no op
733
- }
734
- else {
735
- assetTransaction_2.assetTransactionEventEmitter.emitAssetTransactionStatusChanged({
736
- id: doc.id,
737
- typeOf: doc.typeOf,
738
- status: factory.transactionStatusType.Expired
739
- });
740
- return doc;
719
+ async makeOneExpiredIfExists(params) {
720
+ const endDate = new Date();
721
+ const sort = {
722
+ expires: factory.sortType.Ascending
723
+ };
724
+ const doc = await this.transactionModel.findOneAndUpdate({
725
+ status: { $eq: factory.transactionStatusType.InProgress },
726
+ expires: { $lt: params.expires.$lt }
727
+ }, {
728
+ status: factory.transactionStatusType.Expired,
729
+ endDate
730
+ }, {
731
+ new: true,
732
+ projection: {
733
+ _id: 0,
734
+ id: { $toString: '$_id' },
735
+ typeOf: 1
741
736
  }
742
- });
737
+ })
738
+ .sort(sort)
739
+ .lean()
740
+ .exec();
741
+ if (doc === null) {
742
+ // no op
743
+ }
744
+ else {
745
+ assetTransaction_2.assetTransactionEventEmitter.emitAssetTransactionStatusChanged({
746
+ id: doc.id,
747
+ typeOf: doc.typeOf,
748
+ status: factory.transactionStatusType.Expired
749
+ });
750
+ return doc;
751
+ }
743
752
  }
744
753
  /**
745
754
  * 取引を期限切れにする
746
755
  */
747
- makeExpired(params) {
748
- return __awaiter(this, void 0, void 0, function* () {
749
- // IDをemitしたいのでまずリスト検索(2023-04-27~)
750
- const expiringTransactions = yield this.transactionModel.find({
756
+ async makeExpired(params) {
757
+ // IDをemitしたいのでまずリスト検索(2023-04-27~)
758
+ const expiringTransactions = await this.transactionModel.find({
759
+ status: { $eq: factory.transactionStatusType.InProgress },
760
+ expires: { $lt: params.expires.$lt }
761
+ })
762
+ .select({
763
+ _id: 1,
764
+ typeOf: 1
765
+ })
766
+ .setOptions({ maxTimeMS: settings_1.MONGO_MAX_TIME_MS })
767
+ .exec();
768
+ if (expiringTransactions.length > 0) {
769
+ // ステータスと期限を見て更新
770
+ await this.transactionModel.updateMany({
771
+ _id: { $in: expiringTransactions.map((t) => t.id) },
751
772
  status: { $eq: factory.transactionStatusType.InProgress },
752
773
  expires: { $lt: params.expires.$lt }
774
+ }, {
775
+ status: factory.transactionStatusType.Expired,
776
+ endDate: new Date()
753
777
  })
754
- .select({
755
- _id: 1,
756
- typeOf: 1
757
- })
758
- .setOptions({ maxTimeMS: settings_1.MONGO_MAX_TIME_MS })
759
778
  .exec();
760
- if (expiringTransactions.length > 0) {
761
- // ステータスと期限を見て更新
762
- yield this.transactionModel.updateMany({
763
- _id: { $in: expiringTransactions.map((t) => t.id) },
764
- status: { $eq: factory.transactionStatusType.InProgress },
765
- expires: { $lt: params.expires.$lt }
766
- }, {
767
- status: factory.transactionStatusType.Expired,
768
- endDate: new Date()
769
- })
770
- .exec();
771
- expiringTransactions.forEach((expiringTransaction) => {
772
- assetTransaction_2.assetTransactionEventEmitter.emitAssetTransactionStatusChanged({
773
- id: expiringTransaction.id,
774
- typeOf: expiringTransaction.typeOf,
775
- status: factory.transactionStatusType.Expired
776
- });
779
+ expiringTransactions.forEach((expiringTransaction) => {
780
+ assetTransaction_2.assetTransactionEventEmitter.emitAssetTransactionStatusChanged({
781
+ id: expiringTransaction.id,
782
+ typeOf: expiringTransaction.typeOf,
783
+ status: factory.transactionStatusType.Expired
777
784
  });
778
- }
779
- });
785
+ });
786
+ }
780
787
  }
781
788
  /**
782
789
  * 取引を中止する
783
790
  */
784
- cancel(params) {
785
- return __awaiter(this, void 0, void 0, function* () {
786
- // 進行中ステータスの取引を中止する
787
- const doc = yield this.transactionModel.findOneAndUpdate(Object.assign(Object.assign(Object.assign({ typeOf: { $eq: params.typeOf } }, (typeof params.id === 'string') ? { _id: { $eq: params.id } } : undefined), (typeof params.transactionNumber === 'string')
791
+ async cancel(params) {
792
+ // 進行中ステータスの取引を中止する
793
+ const doc = await this.transactionModel.findOneAndUpdate({
794
+ typeOf: { $eq: params.typeOf },
795
+ ...(typeof params.id === 'string') ? { _id: { $eq: params.id } } : undefined,
796
+ ...(typeof params.transactionNumber === 'string')
788
797
  ? { transactionNumber: { $eq: params.transactionNumber } }
789
- : undefined), { status: { $eq: factory.transactionStatusType.InProgress } }), {
790
- $set: {
791
- status: factory.transactionStatusType.Canceled,
792
- endDate: new Date()
793
- }
794
- }, {
795
- new: true,
796
- projection: { _id: 1 }
797
- })
798
- .exec();
799
- let result;
800
- // NotFoundであれば取引状態確認
801
- if (doc === null) {
802
- let transaction;
803
- if (typeof params.id === 'string') {
804
- transaction = yield this.findById({ typeOf: params.typeOf, id: params.id }, ['status']);
805
- }
806
- else if (typeof params.transactionNumber === 'string') {
807
- transaction = yield this.findByTransactionNumber({
808
- typeOf: params.typeOf,
809
- transactionNumber: params.transactionNumber
810
- }, ['status']);
811
- }
812
- else {
813
- throw new factory.errors.ArgumentNull('Transaction ID or Transaction Number');
814
- }
815
- if (transaction.status === factory.transactionStatusType.Canceled) {
816
- // すでに中止済の場合スルー
817
- }
818
- else if (transaction.status === factory.transactionStatusType.Expired) {
819
- throw new factory.errors.Argument('Transaction id', `Transaction ${params.typeOf} ${transaction.id} already expired`);
820
- }
821
- else if (transaction.status === factory.transactionStatusType.Confirmed) {
822
- throw new factory.errors.Argument('Transaction id', `Confirmed transaction ${params.typeOf} ${transaction.id} unable to cancel`);
823
- }
824
- else {
825
- throw new factory.errors.NotFound(this.transactionModel.modelName);
826
- }
827
- result = { id: transaction.id };
798
+ : undefined,
799
+ status: { $eq: factory.transactionStatusType.InProgress }
800
+ }, {
801
+ $set: {
802
+ status: factory.transactionStatusType.Canceled,
803
+ endDate: new Date()
804
+ }
805
+ }, {
806
+ new: true,
807
+ projection: { _id: 1 }
808
+ })
809
+ .exec();
810
+ let result;
811
+ // NotFoundであれば取引状態確認
812
+ if (doc === null) {
813
+ let transaction;
814
+ if (typeof params.id === 'string') {
815
+ transaction = await this.findById({ typeOf: params.typeOf, id: params.id }, ['status']);
816
+ }
817
+ else if (typeof params.transactionNumber === 'string') {
818
+ transaction = await this.findByTransactionNumber({
819
+ typeOf: params.typeOf,
820
+ transactionNumber: params.transactionNumber
821
+ }, ['status']);
828
822
  }
829
823
  else {
830
- result = { id: doc.toObject().id };
824
+ throw new factory.errors.ArgumentNull('Transaction ID or Transaction Number');
831
825
  }
832
- assetTransaction_2.assetTransactionEventEmitter.emitAssetTransactionStatusChanged({
833
- id: result.id,
834
- typeOf: params.typeOf,
835
- status: factory.transactionStatusType.Canceled
836
- });
837
- return result;
838
- });
839
- }
840
- count(params) {
841
- return __awaiter(this, void 0, void 0, function* () {
842
- const { limit } = params;
843
- const conditions = AssetTransactionRepo.CREATE_MONGO_CONDITIONS(params);
844
- const query = this.transactionModel.countDocuments((conditions.length > 0) ? { $and: conditions } : {});
845
- if (typeof limit === 'number' && limit >= 0) {
846
- query.limit(limit);
826
+ if (transaction.status === factory.transactionStatusType.Canceled) {
827
+ // すでに中止済の場合スルー
847
828
  }
848
- const count = yield query.setOptions({ maxTimeMS: settings_1.MONGO_MAX_TIME_MS })
849
- .exec();
850
- return { count };
829
+ else if (transaction.status === factory.transactionStatusType.Expired) {
830
+ throw new factory.errors.Argument('Transaction id', `Transaction ${params.typeOf} ${transaction.id} already expired`);
831
+ }
832
+ else if (transaction.status === factory.transactionStatusType.Confirmed) {
833
+ throw new factory.errors.Argument('Transaction id', `Confirmed transaction ${params.typeOf} ${transaction.id} unable to cancel`);
834
+ }
835
+ else {
836
+ throw new factory.errors.NotFound(this.transactionModel.modelName);
837
+ }
838
+ result = { id: transaction.id };
839
+ }
840
+ else {
841
+ result = { id: doc.toObject().id };
842
+ }
843
+ assetTransaction_2.assetTransactionEventEmitter.emitAssetTransactionStatusChanged({
844
+ id: result.id,
845
+ typeOf: params.typeOf,
846
+ status: factory.transactionStatusType.Canceled
851
847
  });
848
+ return result;
849
+ }
850
+ async count(params) {
851
+ const { limit } = params;
852
+ const conditions = AssetTransactionRepo.CREATE_MONGO_CONDITIONS(params);
853
+ const query = this.transactionModel.countDocuments((conditions.length > 0) ? { $and: conditions } : {});
854
+ if (typeof limit === 'number' && limit >= 0) {
855
+ query.limit(limit);
856
+ }
857
+ const count = await query.setOptions({ maxTimeMS: settings_1.MONGO_MAX_TIME_MS })
858
+ .exec();
859
+ return { count };
852
860
  }
853
861
  /**
854
862
  * 取引を検索する
855
863
  */
856
- search(params, inclusion, exclusion) {
857
- return __awaiter(this, void 0, void 0, function* () {
858
- var _a;
859
- const conditions = AssetTransactionRepo.CREATE_MONGO_CONDITIONS(params);
860
- let projection = {};
861
- if (Array.isArray(inclusion) && inclusion.length > 0) {
862
- inclusion.forEach((field) => {
863
- projection[field] = 1;
864
+ async search(params, inclusion, exclusion) {
865
+ const conditions = AssetTransactionRepo.CREATE_MONGO_CONDITIONS(params);
866
+ let projection = {};
867
+ if (Array.isArray(inclusion) && inclusion.length > 0) {
868
+ inclusion.forEach((field) => {
869
+ projection[field] = 1;
870
+ });
871
+ }
872
+ else {
873
+ projection = {
874
+ __v: 0,
875
+ createdAt: 0,
876
+ updatedAt: 0
877
+ };
878
+ if (Array.isArray(exclusion) && exclusion.length > 0) {
879
+ exclusion.forEach((field) => {
880
+ projection[field] = 0;
864
881
  });
865
882
  }
866
- else {
867
- projection = {
868
- __v: 0,
869
- createdAt: 0,
870
- updatedAt: 0
871
- };
872
- if (Array.isArray(exclusion) && exclusion.length > 0) {
873
- exclusion.forEach((field) => {
874
- projection[field] = 0;
875
- });
876
- }
877
- }
878
- const query = this.transactionModel.find((conditions.length > 0) ? { $and: conditions } : {})
879
- .select(projection);
880
- if (typeof params.limit === 'number' && params.limit > 0) {
881
- const page = (typeof params.page === 'number' && params.page > 0) ? params.page : 1;
882
- query.limit(params.limit)
883
- .skip(params.limit * (page - 1));
884
- }
885
- // tslint:disable-next-line:no-single-line-block-comment
886
- /* istanbul ignore else */
887
- if (((_a = params.sort) === null || _a === void 0 ? void 0 : _a.startDate) !== undefined) {
888
- query.sort({ startDate: params.sort.startDate });
889
- }
890
- return query.setOptions({ maxTimeMS: settings_1.MONGO_MAX_TIME_MS })
891
- .exec()
892
- .then((docs) => docs.map((doc) => doc.toObject()));
893
- });
883
+ }
884
+ const query = this.transactionModel.find((conditions.length > 0) ? { $and: conditions } : {})
885
+ .select(projection);
886
+ if (typeof params.limit === 'number' && params.limit > 0) {
887
+ const page = (typeof params.page === 'number' && params.page > 0) ? params.page : 1;
888
+ query.limit(params.limit)
889
+ .skip(params.limit * (page - 1));
890
+ }
891
+ /* istanbul ignore else */
892
+ if (params.sort?.startDate !== undefined) {
893
+ query.sort({ startDate: params.sort.startDate });
894
+ }
895
+ return query.setOptions({ maxTimeMS: settings_1.MONGO_MAX_TIME_MS })
896
+ .exec()
897
+ .then((docs) => docs.map((doc) => doc.toObject()));
894
898
  }
895
899
  /**
896
900
  * 取引番号指定で削除する
897
901
  */
898
- deleteByTransactionNumber(params) {
899
- return __awaiter(this, void 0, void 0, function* () {
900
- return this.transactionModel.deleteMany({
901
- 'project.id': { $eq: params.project.id },
902
- transactionNumber: { $in: params.transactionNumbers },
903
- typeOf: { $eq: params.typeOf }
904
- })
905
- .exec();
906
- });
902
+ async deleteByTransactionNumber(params) {
903
+ return this.transactionModel.deleteMany({
904
+ 'project.id': { $eq: params.project.id },
905
+ transactionNumber: { $in: params.transactionNumbers },
906
+ typeOf: { $eq: params.typeOf }
907
+ })
908
+ .exec();
907
909
  }
908
910
  /**
909
911
  * プロジェクト指定で削除する
910
912
  */
911
- deleteByProject(params) {
912
- return __awaiter(this, void 0, void 0, function* () {
913
- yield this.transactionModel.deleteMany({
914
- 'project.id': { $eq: params.project.id }
915
- })
916
- .exec();
917
- });
913
+ async deleteByProject(params) {
914
+ await this.transactionModel.deleteMany({
915
+ 'project.id': { $eq: params.project.id }
916
+ })
917
+ .exec();
918
918
  }
919
919
  /**
920
920
  * 終了日時を一定期間過ぎたアクションを削除する
921
921
  */
922
- deleteEndDatePassedCertainPeriod(params) {
923
- return __awaiter(this, void 0, void 0, function* () {
924
- yield this.transactionModel.deleteMany({
925
- // 終了日時を一定期間過ぎたもの
926
- endDate: {
927
- $exists: true,
928
- $lt: params.$lt
929
- }
930
- })
931
- .exec();
932
- });
922
+ async deleteEndDatePassedCertainPeriod(params) {
923
+ await this.transactionModel.deleteMany({
924
+ // 終了日時を一定期間過ぎたもの
925
+ endDate: {
926
+ $exists: true,
927
+ $lt: params.$lt
928
+ }
929
+ })
930
+ .exec();
933
931
  }
934
932
  /**
935
933
  * 特定の取引を更新する(汎用)
936
934
  */
937
- findByIdAndUpdateInProgress(params) {
938
- return __awaiter(this, void 0, void 0, function* () {
939
- return this.transactionModel.findOneAndUpdate({
940
- _id: { $eq: params.id },
941
- status: { $eq: factory.transactionStatusType.InProgress }
942
- }, params.update, { new: true })
943
- .exec()
944
- .then((doc) => {
945
- if (doc === null) {
946
- throw new factory.errors.ArgumentNull(this.transactionModel.modelName);
947
- }
948
- return doc.toObject();
949
- });
935
+ async findByIdAndUpdateInProgress(params) {
936
+ return this.transactionModel.findOneAndUpdate({
937
+ _id: { $eq: params.id },
938
+ status: { $eq: factory.transactionStatusType.InProgress }
939
+ }, params.update, { new: true })
940
+ .exec()
941
+ .then((doc) => {
942
+ if (doc === null) {
943
+ throw new factory.errors.ArgumentNull(this.transactionModel.modelName);
944
+ }
945
+ return doc.toObject();
950
946
  });
951
947
  }
952
948
  /**
953
949
  * 互換性維持対応
954
950
  */
955
- migrateObjectReservationNumber(params) {
956
- return __awaiter(this, void 0, void 0, function* () {
957
- return this.transactionModel.findOneAndUpdate({
958
- typeOf: { $eq: factory.assetTransactionType.CancelReservation },
959
- _id: { $eq: params.id }
960
- }, {
961
- $set: {
962
- 'object.reservationNumber': params.object.reservationNumber,
963
- 'object.typeOf': factory.reservationType.ReservationPackage
964
- }
965
- }, {
966
- timestamps: false,
967
- new: true,
968
- projection: { _id: 1 }
969
- })
970
- .exec()
971
- .then((doc) => {
972
- if (doc === null) {
973
- throw new factory.errors.NotFound(this.transactionModel.modelName);
974
- }
975
- return doc.toObject();
976
- });
951
+ async migrateObjectReservationNumber(params) {
952
+ return this.transactionModel.findOneAndUpdate({
953
+ typeOf: { $eq: factory.assetTransactionType.CancelReservation },
954
+ _id: { $eq: params.id }
955
+ }, {
956
+ $set: {
957
+ 'object.reservationNumber': params.object.reservationNumber,
958
+ 'object.typeOf': factory.reservationType.ReservationPackage
959
+ }
960
+ }, {
961
+ timestamps: false,
962
+ new: true,
963
+ projection: { _id: 1 }
964
+ })
965
+ .exec()
966
+ .then((doc) => {
967
+ if (doc === null) {
968
+ throw new factory.errors.NotFound(this.transactionModel.modelName);
969
+ }
970
+ return doc.toObject();
977
971
  });
978
972
  }
979
973
  /**
980
974
  * 互換性維持対応専用
981
975
  */
982
- fixReservedTicketIdentifier(params) {
983
- return __awaiter(this, void 0, void 0, function* () {
984
- const doc = yield this.transactionModel.findOneAndUpdate({
985
- transactionNumber: { $eq: params.transactionNumber },
986
- 'project.id': { $eq: params.project.id },
987
- typeOf: { $eq: factory.assetTransactionType.Pay }
988
- }, {
989
- $set: {
990
- 'object.paymentMethod.movieTickets': params.object.paymentMethod.movieTickets
991
- }
992
- }, {
993
- timestamps: false,
994
- new: true,
995
- projection: {
996
- _id: 1
997
- }
998
- })
999
- .exec();
1000
- if (doc === null) {
1001
- throw new factory.errors.NotFound(this.transactionModel.modelName);
976
+ async fixReservedTicketIdentifier(params) {
977
+ const doc = await this.transactionModel.findOneAndUpdate({
978
+ transactionNumber: { $eq: params.transactionNumber },
979
+ 'project.id': { $eq: params.project.id },
980
+ typeOf: { $eq: factory.assetTransactionType.Pay }
981
+ }, {
982
+ $set: {
983
+ 'object.paymentMethod.movieTickets': params.object.paymentMethod.movieTickets
1002
984
  }
1003
- });
985
+ }, {
986
+ timestamps: false,
987
+ new: true,
988
+ projection: {
989
+ _id: 1
990
+ }
991
+ })
992
+ .exec();
993
+ if (doc === null) {
994
+ throw new factory.errors.NotFound(this.transactionModel.modelName);
995
+ }
1004
996
  }
1005
- findByIdAndDelete(params) {
1006
- return __awaiter(this, void 0, void 0, function* () {
1007
- yield this.transactionModel.findByIdAndDelete(params.id)
1008
- .exec();
1009
- });
997
+ async findByIdAndDelete(params) {
998
+ await this.transactionModel.findByIdAndDelete(params.id)
999
+ .exec();
1010
1000
  }
1011
1001
  getCursor(conditions, projection) {
1012
1002
  return this.transactionModel.find(conditions, projection)
@@ -1014,161 +1004,160 @@ class AssetTransactionRepo {
1014
1004
  .sort({ startDate: factory.sortType.Descending })
1015
1005
  .cursor();
1016
1006
  }
1017
- unsetUnnecessaryFields(params) {
1018
- return __awaiter(this, void 0, void 0, function* () {
1019
- return this.transactionModel.updateMany(params.filter, { $unset: params.$unset }, { timestamps: false })
1020
- .exec();
1021
- });
1007
+ async unsetUnnecessaryFields(params) {
1008
+ return this.transactionModel.updateMany(params.filter, { $unset: params.$unset }, { timestamps: false })
1009
+ .exec();
1022
1010
  }
1023
- aggregateAssetTransaction(params) {
1024
- return __awaiter(this, void 0, void 0, function* () {
1025
- const statuses = yield Promise.all([
1026
- factory.transactionStatusType.Confirmed,
1027
- factory.transactionStatusType.Canceled,
1028
- factory.transactionStatusType.Expired
1029
- ].map((transactionStatus) => __awaiter(this, void 0, void 0, function* () {
1030
- var _a, _b, _c, _d;
1031
- const matchConditions = Object.assign(Object.assign({ startDate: {
1032
- $gte: params.startFrom,
1033
- $lte: params.startThrough
1034
- }, typeOf: { $eq: params.typeOf }, status: { $eq: transactionStatus } }, (typeof ((_b = (_a = params.project) === null || _a === void 0 ? void 0 : _a.id) === null || _b === void 0 ? void 0 : _b.$ne) === 'string')
1011
+ async aggregateAssetTransaction(params) {
1012
+ const statuses = await Promise.all([
1013
+ factory.transactionStatusType.Confirmed,
1014
+ factory.transactionStatusType.Canceled,
1015
+ factory.transactionStatusType.Expired
1016
+ ].map(async (transactionStatus) => {
1017
+ const matchConditions = {
1018
+ startDate: {
1019
+ $gte: params.startFrom,
1020
+ $lte: params.startThrough
1021
+ },
1022
+ typeOf: { $eq: params.typeOf },
1023
+ status: { $eq: transactionStatus },
1024
+ ...(typeof params.project?.id?.$ne === 'string')
1035
1025
  ? { 'project.id': { $ne: params.project.id.$ne } }
1036
- : undefined), (typeof ((_d = (_c = params.project) === null || _c === void 0 ? void 0 : _c.id) === null || _d === void 0 ? void 0 : _d.$eq) === 'string')
1026
+ : undefined,
1027
+ ...(typeof params.project?.id?.$eq === 'string')
1037
1028
  ? { 'project.id': { $eq: params.project.id.$eq } }
1038
- : undefined);
1039
- return this.agggregateByStatus({ matchConditions, status: transactionStatus });
1040
- })));
1041
- return { statuses };
1042
- });
1029
+ : undefined
1030
+ };
1031
+ return this.agggregateByStatus({ matchConditions, status: transactionStatus });
1032
+ }));
1033
+ return { statuses };
1043
1034
  }
1044
- // tslint:disable-next-line:max-func-body-length
1045
- agggregateByStatus(params) {
1046
- return __awaiter(this, void 0, void 0, function* () {
1047
- const matchConditions = params.matchConditions;
1048
- const transactionStatus = params.status;
1049
- const aggregations = yield this.transactionModel.aggregate([
1050
- {
1051
- $match: matchConditions
1052
- },
1053
- {
1054
- $project: {
1055
- duration: { $subtract: ['$endDate', '$startDate'] },
1056
- graceTime: {
1057
- $cond: {
1058
- if: { $eq: ['$typeOf', factory.assetTransactionType.Reserve] },
1059
- then: { $subtract: ['$object.reservationFor.startDate', '$startDate'] },
1060
- else: 0
1061
- }
1062
- },
1063
- status: '$status',
1064
- startDate: '$startDate',
1065
- endDate: '$endDate',
1066
- typeOf: '$typeOf',
1067
- reservationCount: {
1068
- $cond: {
1069
- if: { $isArray: '$object.subReservation' },
1070
- then: { $size: '$object.subReservation' },
1071
- else: 0
1072
- }
1035
+ async agggregateByStatus(params) {
1036
+ const matchConditions = params.matchConditions;
1037
+ const transactionStatus = params.status;
1038
+ const aggregations = await this.transactionModel.aggregate([
1039
+ {
1040
+ $match: matchConditions
1041
+ },
1042
+ {
1043
+ $project: {
1044
+ duration: { $subtract: ['$endDate', '$startDate'] },
1045
+ graceTime: {
1046
+ $cond: {
1047
+ if: { $eq: ['$typeOf', factory.assetTransactionType.Reserve] },
1048
+ then: { $subtract: ['$object.reservationFor.startDate', '$startDate'] },
1049
+ else: 0
1050
+ }
1051
+ },
1052
+ status: '$status',
1053
+ startDate: '$startDate',
1054
+ endDate: '$endDate',
1055
+ typeOf: '$typeOf',
1056
+ reservationCount: {
1057
+ $cond: {
1058
+ if: { $isArray: '$object.subReservation' },
1059
+ then: { $size: '$object.subReservation' },
1060
+ else: 0
1073
1061
  }
1074
- }
1075
- },
1076
- {
1077
- $group: {
1078
- _id: '$typeOf',
1079
- transactionCount: { $sum: 1 },
1080
- maxDuration: { $max: '$duration' },
1081
- minDuration: { $min: '$duration' },
1082
- avgDuration: { $avg: '$duration' },
1083
- reservationCount: { $sum: '$reservationCount' },
1084
- maxGraceTime: { $max: '$graceTime' },
1085
- minGraceTime: { $min: '$graceTime' },
1086
- avgGraceTime: { $avg: '$graceTime' }
1087
- }
1088
- },
1089
- {
1090
- $project: {
1091
- _id: 0,
1092
- transactionCount: '$transactionCount',
1093
- avgDuration: '$avgDuration',
1094
- maxDuration: '$maxDuration',
1095
- minDuration: '$minDuration',
1096
- reservationCount: '$reservationCount',
1097
- avgGraceTime: '$avgGraceTime',
1098
- maxGraceTime: '$maxGraceTime',
1099
- minGraceTime: '$minGraceTime'
1100
1062
  }
1101
1063
  }
1102
- ])
1103
- .exec();
1104
- // tslint:disable-next-line:no-magic-numbers
1105
- const percents = [50, 95, 99];
1106
- if (aggregations.length === 0) {
1107
- return {
1108
- status: transactionStatus,
1109
- aggregation: {
1110
- transactionCount: 0,
1111
- avgDuration: 0,
1112
- maxDuration: 0,
1113
- minDuration: 0,
1114
- percentilesDuration: percents.map((percent) => {
1115
- return {
1116
- name: String(percent),
1117
- value: 0
1118
- };
1119
- }),
1120
- reservationCount: 0,
1121
- avgGraceTime: 0,
1122
- maxGraceTime: 0,
1123
- minGraceTime: 0
1124
- }
1125
- };
1126
- }
1127
- const ranks4percentile = percents.map((percentile) => {
1128
- return {
1129
- percentile,
1130
- // tslint:disable-next-line:no-magic-numbers
1131
- rank: Math.floor(aggregations[0].transactionCount * percentile / 100)
1132
- };
1133
- });
1134
- const aggregations2 = yield this.transactionModel.aggregate([
1135
- {
1136
- $match: matchConditions
1137
- },
1138
- {
1139
- $project: {
1140
- duration: { $subtract: ['$endDate', '$startDate'] },
1141
- status: '$status',
1142
- startDate: '$startDate',
1143
- endDate: '$endDate',
1144
- typeOf: '$typeOf'
1145
- }
1146
- },
1147
- { $sort: { duration: 1 } },
1148
- {
1149
- $group: {
1150
- _id: '$typeOf',
1151
- durations: { $push: '$duration' }
1152
- }
1153
- },
1154
- {
1155
- $project: {
1156
- _id: 0,
1157
- percentilesDuration: ranks4percentile.map((rank) => {
1158
- return {
1159
- name: String(rank.percentile),
1160
- value: { $arrayElemAt: ['$durations', rank.rank] }
1161
- };
1162
- })
1163
- }
1064
+ },
1065
+ {
1066
+ $group: {
1067
+ _id: '$typeOf',
1068
+ transactionCount: { $sum: 1 },
1069
+ maxDuration: { $max: '$duration' },
1070
+ minDuration: { $min: '$duration' },
1071
+ avgDuration: { $avg: '$duration' },
1072
+ reservationCount: { $sum: '$reservationCount' },
1073
+ maxGraceTime: { $max: '$graceTime' },
1074
+ minGraceTime: { $min: '$graceTime' },
1075
+ avgGraceTime: { $avg: '$graceTime' }
1164
1076
  }
1165
- ])
1166
- .exec();
1077
+ },
1078
+ {
1079
+ $project: {
1080
+ _id: 0,
1081
+ transactionCount: '$transactionCount',
1082
+ avgDuration: '$avgDuration',
1083
+ maxDuration: '$maxDuration',
1084
+ minDuration: '$minDuration',
1085
+ reservationCount: '$reservationCount',
1086
+ avgGraceTime: '$avgGraceTime',
1087
+ maxGraceTime: '$maxGraceTime',
1088
+ minGraceTime: '$minGraceTime'
1089
+ }
1090
+ }
1091
+ ])
1092
+ .exec();
1093
+ const percents = [50, 95, 99];
1094
+ if (aggregations.length === 0) {
1167
1095
  return {
1168
1096
  status: transactionStatus,
1169
- aggregation: Object.assign(Object.assign({}, aggregations[0]), aggregations2[0])
1097
+ aggregation: {
1098
+ transactionCount: 0,
1099
+ avgDuration: 0,
1100
+ maxDuration: 0,
1101
+ minDuration: 0,
1102
+ percentilesDuration: percents.map((percent) => {
1103
+ return {
1104
+ name: String(percent),
1105
+ value: 0
1106
+ };
1107
+ }),
1108
+ reservationCount: 0,
1109
+ avgGraceTime: 0,
1110
+ maxGraceTime: 0,
1111
+ minGraceTime: 0
1112
+ }
1113
+ };
1114
+ }
1115
+ const ranks4percentile = percents.map((percentile) => {
1116
+ return {
1117
+ percentile,
1118
+ rank: Math.floor(aggregations[0].transactionCount * percentile / 100)
1170
1119
  };
1171
1120
  });
1121
+ const aggregations2 = await this.transactionModel.aggregate([
1122
+ {
1123
+ $match: matchConditions
1124
+ },
1125
+ {
1126
+ $project: {
1127
+ duration: { $subtract: ['$endDate', '$startDate'] },
1128
+ status: '$status',
1129
+ startDate: '$startDate',
1130
+ endDate: '$endDate',
1131
+ typeOf: '$typeOf'
1132
+ }
1133
+ },
1134
+ { $sort: { duration: 1 } },
1135
+ {
1136
+ $group: {
1137
+ _id: '$typeOf',
1138
+ durations: { $push: '$duration' }
1139
+ }
1140
+ },
1141
+ {
1142
+ $project: {
1143
+ _id: 0,
1144
+ percentilesDuration: ranks4percentile.map((rank) => {
1145
+ return {
1146
+ name: String(rank.percentile),
1147
+ value: { $arrayElemAt: ['$durations', rank.rank] }
1148
+ };
1149
+ })
1150
+ }
1151
+ }
1152
+ ])
1153
+ .exec();
1154
+ return {
1155
+ status: transactionStatus,
1156
+ aggregation: {
1157
+ ...aggregations[0],
1158
+ ...aggregations2[0]
1159
+ }
1160
+ };
1172
1161
  }
1173
1162
  }
1174
1163
  exports.AssetTransactionRepo = AssetTransactionRepo;