@chevre/domain 23.2.0-alpha.9 → 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 +32 -1
  350. package/lib/chevre/repo/place/seat.js +589 -357
  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,28 +1,34 @@
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;
10
24
  };
11
- var __rest = (this && this.__rest) || function (s, e) {
12
- var t = {};
13
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
14
- t[p] = s[p];
15
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
16
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
17
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
18
- t[p[i]] = s[p[i]];
19
- }
20
- return t;
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
21
27
  };
22
28
  Object.defineProperty(exports, "__esModule", { value: true });
23
29
  exports.ActionRepo = void 0;
24
- const moment = require("moment");
25
- const factory = require("../factory");
30
+ const moment_1 = __importDefault(require("moment"));
31
+ const factory = __importStar(require("../factory"));
26
32
  const settings_1 = require("../settings");
27
33
  const action_1 = require("./mongoose/schemas/action");
28
34
  const actionRecipe_1 = require("./mongoose/schemas/actionRecipe");
@@ -57,23 +63,23 @@ const AVAILABLE_PROJECT_FIELDS = [
57
63
  * アクションリポジトリ
58
64
  */
59
65
  class ActionRepo {
66
+ actionModel;
67
+ actionRecipeModel;
60
68
  constructor(connection) {
61
69
  this.actionModel = connection.model(action_1.modelName, (0, action_1.createSchema)());
62
70
  this.actionRecipeModel = connection.model(actionRecipe_1.modelName, (0, actionRecipe_1.createSchema)());
63
71
  }
64
- // tslint:disable-next-line:cyclomatic-complexity max-func-body-length
65
72
  static CREATE_MONGO_CONDITIONS(params) {
66
- 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, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64, _65, _66, _67, _68, _69, _70, _71, _72, _73, _74, _75, _76;
67
73
  const andConditions = [];
68
- const idIn = (_a = params.id) === null || _a === void 0 ? void 0 : _a.$in;
74
+ const idIn = params.id?.$in;
69
75
  if (Array.isArray(idIn)) {
70
76
  andConditions.push({ _id: { $in: idIn } });
71
77
  }
72
- const idNin = (_b = params.id) === null || _b === void 0 ? void 0 : _b.$nin;
78
+ const idNin = params.id?.$nin;
73
79
  if (Array.isArray(idNin)) {
74
80
  andConditions.push({ _id: { $nin: idNin } });
75
81
  }
76
- const projectIdEq = (_d = (_c = params.project) === null || _c === void 0 ? void 0 : _c.id) === null || _d === void 0 ? void 0 : _d.$eq;
82
+ const projectIdEq = params.project?.id?.$eq;
77
83
  if (typeof projectIdEq === 'string') {
78
84
  andConditions.push({
79
85
  'project.id': {
@@ -81,7 +87,7 @@ class ActionRepo {
81
87
  }
82
88
  });
83
89
  }
84
- const agentTypeOfIn = (_f = (_e = params.agent) === null || _e === void 0 ? void 0 : _e.typeOf) === null || _f === void 0 ? void 0 : _f.$in;
90
+ const agentTypeOfIn = params.agent?.typeOf?.$in;
85
91
  if (Array.isArray(agentTypeOfIn)) {
86
92
  andConditions.push({
87
93
  'agent.typeOf': {
@@ -90,7 +96,7 @@ class ActionRepo {
90
96
  }
91
97
  });
92
98
  }
93
- const agentIdIn = (_h = (_g = params.agent) === null || _g === void 0 ? void 0 : _g.id) === null || _h === void 0 ? void 0 : _h.$in;
99
+ const agentIdIn = params.agent?.id?.$in;
94
100
  if (Array.isArray(agentIdIn)) {
95
101
  andConditions.push({
96
102
  'agent.id': {
@@ -99,27 +105,27 @@ class ActionRepo {
99
105
  }
100
106
  });
101
107
  }
102
- const instrumentTransactionNumberEq = (_k = (_j = params.instrument) === null || _j === void 0 ? void 0 : _j.transactionNumber) === null || _k === void 0 ? void 0 : _k.$eq;
108
+ const instrumentTransactionNumberEq = params.instrument?.transactionNumber?.$eq;
103
109
  if (typeof instrumentTransactionNumberEq === 'string') {
104
110
  andConditions.push({ 'instrument.transactionNumber': { $exists: true, $eq: instrumentTransactionNumberEq } });
105
111
  }
106
- const instrumentTypeOfEq = (_m = (_l = params.instrument) === null || _l === void 0 ? void 0 : _l.typeOf) === null || _m === void 0 ? void 0 : _m.$eq;
112
+ const instrumentTypeOfEq = params.instrument?.typeOf?.$eq;
107
113
  if (typeof instrumentTypeOfEq === 'string') {
108
114
  andConditions.push({ 'instrument.typeOf': { $exists: true, $eq: instrumentTypeOfEq } });
109
115
  }
110
- const instrumentIdentifierEq = (_p = (_o = params.instrument) === null || _o === void 0 ? void 0 : _o.identifier) === null || _p === void 0 ? void 0 : _p.$eq;
116
+ const instrumentIdentifierEq = params.instrument?.identifier?.$eq;
111
117
  if (typeof instrumentIdentifierEq === 'string') {
112
118
  andConditions.push({ 'instrument.identifier': { $exists: true, $eq: instrumentIdentifierEq } });
113
119
  }
114
- const instrumentIdEq = (_r = (_q = params.instrument) === null || _q === void 0 ? void 0 : _q.id) === null || _r === void 0 ? void 0 : _r.$eq;
120
+ const instrumentIdEq = params.instrument?.id?.$eq;
115
121
  if (typeof instrumentIdEq === 'string') {
116
122
  andConditions.push({ 'instrument.id': { $exists: true, $eq: instrumentIdEq } });
117
123
  }
118
- const instrumentOrderNumberEq = (_t = (_s = params.instrument) === null || _s === void 0 ? void 0 : _s.orderNumber) === null || _t === void 0 ? void 0 : _t.$eq;
124
+ const instrumentOrderNumberEq = params.instrument?.orderNumber?.$eq;
119
125
  if (typeof instrumentOrderNumberEq === 'string') {
120
126
  andConditions.push({ 'instrument.orderNumber': { $exists: true, $eq: instrumentOrderNumberEq } });
121
127
  }
122
- const locationIdEq = (_v = (_u = params.location) === null || _u === void 0 ? void 0 : _u.id) === null || _v === void 0 ? void 0 : _v.$eq;
128
+ const locationIdEq = params.location?.id?.$eq;
123
129
  if (typeof locationIdEq === 'string') {
124
130
  andConditions.push({
125
131
  'location.id': {
@@ -128,7 +134,7 @@ class ActionRepo {
128
134
  }
129
135
  });
130
136
  }
131
- const locationIdentifierEq = (_x = (_w = params.location) === null || _w === void 0 ? void 0 : _w.identifier) === null || _x === void 0 ? void 0 : _x.$eq;
137
+ const locationIdentifierEq = params.location?.identifier?.$eq;
132
138
  if (typeof locationIdentifierEq === 'string') {
133
139
  andConditions.push({
134
140
  'location.identifier': {
@@ -137,7 +143,7 @@ class ActionRepo {
137
143
  }
138
144
  });
139
145
  }
140
- const objectMovieTicketsIdentifierEq = (_0 = (_z = (_y = params.object) === null || _y === void 0 ? void 0 : _y.movieTickets) === null || _z === void 0 ? void 0 : _z.identifier) === null || _0 === void 0 ? void 0 : _0.$eq;
146
+ const objectMovieTicketsIdentifierEq = params.object?.movieTickets?.identifier?.$eq;
141
147
  if (typeof objectMovieTicketsIdentifierEq === 'string') {
142
148
  andConditions.push({
143
149
  'object.movieTickets.identifier': {
@@ -146,7 +152,7 @@ class ActionRepo {
146
152
  }
147
153
  });
148
154
  }
149
- const objectMovieTicketsServiceOutputReservationForIdEq = (_5 = (_4 = (_3 = (_2 = (_1 = params.object) === null || _1 === void 0 ? void 0 : _1.movieTickets) === null || _2 === void 0 ? void 0 : _2.serviceOutput) === null || _3 === void 0 ? void 0 : _3.reservationFor) === null || _4 === void 0 ? void 0 : _4.id) === null || _5 === void 0 ? void 0 : _5.$eq;
155
+ const objectMovieTicketsServiceOutputReservationForIdEq = params.object?.movieTickets?.serviceOutput?.reservationFor?.id?.$eq;
150
156
  if (typeof objectMovieTicketsServiceOutputReservationForIdEq === 'string') {
151
157
  andConditions.push({
152
158
  'object.movieTickets.serviceOutput.reservationFor.id': {
@@ -155,7 +161,7 @@ class ActionRepo {
155
161
  }
156
162
  });
157
163
  }
158
- const objectPaymentMethodIdEq = (_7 = (_6 = params.object) === null || _6 === void 0 ? void 0 : _6.paymentMethodId) === null || _7 === void 0 ? void 0 : _7.$eq;
164
+ const objectPaymentMethodIdEq = params.object?.paymentMethodId?.$eq;
159
165
  if (typeof objectPaymentMethodIdEq === 'string') {
160
166
  andConditions.push({
161
167
  'object.paymentMethodId': {
@@ -164,7 +170,7 @@ class ActionRepo {
164
170
  }
165
171
  });
166
172
  }
167
- const objectObjectPaymentMethodIdEq = (_10 = (_9 = (_8 = params.object) === null || _8 === void 0 ? void 0 : _8.object) === null || _9 === void 0 ? void 0 : _9.paymentMethodId) === null || _10 === void 0 ? void 0 : _10.$eq;
173
+ const objectObjectPaymentMethodIdEq = params.object?.object?.paymentMethodId?.$eq;
168
174
  if (typeof objectObjectPaymentMethodIdEq === 'string') {
169
175
  andConditions.push({
170
176
  'object.object.paymentMethodId': {
@@ -173,7 +179,7 @@ class ActionRepo {
173
179
  }
174
180
  });
175
181
  }
176
- 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;
182
+ const objectReservationForIdEq = params.object?.reservationFor?.id?.$eq;
177
183
  if (typeof objectReservationForIdEq === 'string') {
178
184
  andConditions.push({
179
185
  'object.reservationFor.id': {
@@ -182,7 +188,7 @@ class ActionRepo {
182
188
  }
183
189
  });
184
190
  }
185
- const objectReservationNumberEq = (_15 = (_14 = params.object) === null || _14 === void 0 ? void 0 : _14.reservationNumber) === null || _15 === void 0 ? void 0 : _15.$eq;
191
+ const objectReservationNumberEq = params.object?.reservationNumber?.$eq;
186
192
  if (typeof objectReservationNumberEq === 'string') {
187
193
  andConditions.push({
188
194
  'object.reservationNumber': {
@@ -191,7 +197,7 @@ class ActionRepo {
191
197
  }
192
198
  });
193
199
  }
194
- const objectReservationNumberIn = (_17 = (_16 = params.object) === null || _16 === void 0 ? void 0 : _16.reservationNumber) === null || _17 === void 0 ? void 0 : _17.$in;
200
+ const objectReservationNumberIn = params.object?.reservationNumber?.$in;
195
201
  if (Array.isArray(objectReservationNumberIn)) {
196
202
  andConditions.push({
197
203
  'object.reservationNumber': {
@@ -200,7 +206,7 @@ class ActionRepo {
200
206
  }
201
207
  });
202
208
  }
203
- const objectPaymentMethodAccountIdEq = (_20 = (_19 = (_18 = params.object) === null || _18 === void 0 ? void 0 : _18.paymentMethod) === null || _19 === void 0 ? void 0 : _19.accountId) === null || _20 === void 0 ? void 0 : _20.$eq;
209
+ const objectPaymentMethodAccountIdEq = params.object?.paymentMethod?.accountId?.$eq;
204
210
  if (typeof objectPaymentMethodAccountIdEq === 'string') {
205
211
  andConditions.push({
206
212
  'object.paymentMethod.accountId': {
@@ -209,7 +215,7 @@ class ActionRepo {
209
215
  }
210
216
  });
211
217
  }
212
- const objectPaymentMethodPaymentMethodIdEq = (_23 = (_22 = (_21 = params.object) === null || _21 === void 0 ? void 0 : _21.paymentMethod) === null || _22 === void 0 ? void 0 : _22.paymentMethodId) === null || _23 === void 0 ? void 0 : _23.$eq;
218
+ const objectPaymentMethodPaymentMethodIdEq = params.object?.paymentMethod?.paymentMethodId?.$eq;
213
219
  if (typeof objectPaymentMethodPaymentMethodIdEq === 'string') {
214
220
  andConditions.push({
215
221
  'object.paymentMethod.paymentMethodId': {
@@ -218,7 +224,7 @@ class ActionRepo {
218
224
  }
219
225
  });
220
226
  }
221
- const objectPaymentMethodPaymentMethodIdIn = (_26 = (_25 = (_24 = params.object) === null || _24 === void 0 ? void 0 : _24.paymentMethod) === null || _25 === void 0 ? void 0 : _25.paymentMethodId) === null || _26 === void 0 ? void 0 : _26.$in;
227
+ const objectPaymentMethodPaymentMethodIdIn = params.object?.paymentMethod?.paymentMethodId?.$in;
222
228
  if (Array.isArray(objectPaymentMethodPaymentMethodIdIn)) {
223
229
  andConditions.push({
224
230
  'object.paymentMethod.paymentMethodId': {
@@ -227,7 +233,7 @@ class ActionRepo {
227
233
  }
228
234
  });
229
235
  }
230
- const objectPaymentMethodTypeOfEq = (_29 = (_28 = (_27 = params.object) === null || _27 === void 0 ? void 0 : _27.paymentMethod) === null || _28 === void 0 ? void 0 : _28.typeOf) === null || _29 === void 0 ? void 0 : _29.$eq;
236
+ const objectPaymentMethodTypeOfEq = params.object?.paymentMethod?.typeOf?.$eq;
231
237
  if (typeof objectPaymentMethodTypeOfEq === 'string') {
232
238
  andConditions.push({
233
239
  'object.paymentMethod.typeOf': {
@@ -236,7 +242,7 @@ class ActionRepo {
236
242
  }
237
243
  });
238
244
  }
239
- const objectTypeOfEq = (_31 = (_30 = params.object) === null || _30 === void 0 ? void 0 : _30.typeOf) === null || _31 === void 0 ? void 0 : _31.$eq;
245
+ const objectTypeOfEq = params.object?.typeOf?.$eq;
240
246
  if (typeof objectTypeOfEq === 'string') {
241
247
  andConditions.push({
242
248
  'object.typeOf': {
@@ -245,7 +251,7 @@ class ActionRepo {
245
251
  }
246
252
  });
247
253
  }
248
- const objectTypeOfIn = (_33 = (_32 = params.object) === null || _32 === void 0 ? void 0 : _32.typeOf) === null || _33 === void 0 ? void 0 : _33.$in;
254
+ const objectTypeOfIn = params.object?.typeOf?.$in;
249
255
  if (Array.isArray(objectTypeOfIn)) {
250
256
  andConditions.push({
251
257
  'object.typeOf': {
@@ -254,7 +260,7 @@ class ActionRepo {
254
260
  }
255
261
  });
256
262
  }
257
- const objectIdEq = (_35 = (_34 = params.object) === null || _34 === void 0 ? void 0 : _34.id) === null || _35 === void 0 ? void 0 : _35.$eq;
263
+ const objectIdEq = params.object?.id?.$eq;
258
264
  if (typeof objectIdEq === 'string') {
259
265
  andConditions.push({
260
266
  'object.id': {
@@ -263,7 +269,7 @@ class ActionRepo {
263
269
  }
264
270
  });
265
271
  }
266
- const objectIdIn = (_37 = (_36 = params.object) === null || _36 === void 0 ? void 0 : _36.id) === null || _37 === void 0 ? void 0 : _37.$in;
272
+ const objectIdIn = params.object?.id?.$in;
267
273
  if (Array.isArray(objectIdIn)) {
268
274
  andConditions.push({
269
275
  'object.id': {
@@ -272,7 +278,7 @@ class ActionRepo {
272
278
  }
273
279
  });
274
280
  }
275
- const objectOrderNumberIn = (_39 = (_38 = params.object) === null || _38 === void 0 ? void 0 : _38.orderNumber) === null || _39 === void 0 ? void 0 : _39.$in;
281
+ const objectOrderNumberIn = params.object?.orderNumber?.$in;
276
282
  if (Array.isArray(objectOrderNumberIn)) {
277
283
  andConditions.push({
278
284
  'object.orderNumber': {
@@ -281,7 +287,7 @@ class ActionRepo {
281
287
  }
282
288
  });
283
289
  }
284
- const objectEventIdIn = (_42 = (_41 = (_40 = params.object) === null || _40 === void 0 ? void 0 : _40.event) === null || _41 === void 0 ? void 0 : _41.id) === null || _42 === void 0 ? void 0 : _42.$in;
290
+ const objectEventIdIn = params.object?.event?.id?.$in;
285
291
  if (Array.isArray(objectEventIdIn)) {
286
292
  andConditions.push({
287
293
  'object.event.id': {
@@ -301,7 +307,7 @@ class ActionRepo {
301
307
  // }
302
308
  // });
303
309
  // }
304
- const objectTransactionNumberEq = (_44 = (_43 = params.object) === null || _43 === void 0 ? void 0 : _43.transactionNumber) === null || _44 === void 0 ? void 0 : _44.$eq;
310
+ const objectTransactionNumberEq = params.object?.transactionNumber?.$eq;
305
311
  if (typeof objectTransactionNumberEq === 'string') {
306
312
  andConditions.push({ 'object.transactionNumber': { $exists: true, $eq: objectTransactionNumberEq } });
307
313
  }
@@ -311,14 +317,14 @@ class ActionRepo {
311
317
  });
312
318
  }
313
319
  else {
314
- const typeOfEq = (_45 = params.typeOf) === null || _45 === void 0 ? void 0 : _45.$eq;
320
+ const typeOfEq = params.typeOf?.$eq;
315
321
  if (typeof typeOfEq === 'string') {
316
322
  andConditions.push({
317
323
  typeOf: { $eq: typeOfEq }
318
324
  });
319
325
  }
320
326
  }
321
- const actionStatusIn = (_46 = params.actionStatus) === null || _46 === void 0 ? void 0 : _46.$in;
327
+ const actionStatusIn = params.actionStatus?.$in;
322
328
  if (Array.isArray(actionStatusIn)) {
323
329
  andConditions.push({
324
330
  actionStatus: { $in: actionStatusIn }
@@ -341,7 +347,7 @@ class ActionRepo {
341
347
  startDate: { $lte: startDateLte }
342
348
  });
343
349
  }
344
- const fromLocationTypeOfIn = (_48 = (_47 = params.fromLocation) === null || _47 === void 0 ? void 0 : _47.typeOf) === null || _48 === void 0 ? void 0 : _48.$in;
350
+ const fromLocationTypeOfIn = params.fromLocation?.typeOf?.$in;
345
351
  if (Array.isArray(fromLocationTypeOfIn)) {
346
352
  andConditions.push({
347
353
  'fromLocation.typeOf': {
@@ -350,7 +356,7 @@ class ActionRepo {
350
356
  }
351
357
  });
352
358
  }
353
- const fromLocationAccountNumberIn = (_50 = (_49 = params.fromLocation) === null || _49 === void 0 ? void 0 : _49.accountNumber) === null || _50 === void 0 ? void 0 : _50.$in;
359
+ const fromLocationAccountNumberIn = params.fromLocation?.accountNumber?.$in;
354
360
  if (Array.isArray(fromLocationAccountNumberIn)) {
355
361
  andConditions.push({
356
362
  'fromLocation.accountNumber': {
@@ -359,7 +365,7 @@ class ActionRepo {
359
365
  }
360
366
  });
361
367
  }
362
- const fromLocationAccountTypeIn = (_52 = (_51 = params.fromLocation) === null || _51 === void 0 ? void 0 : _51.accountType) === null || _52 === void 0 ? void 0 : _52.$in;
368
+ const fromLocationAccountTypeIn = params.fromLocation?.accountType?.$in;
363
369
  if (Array.isArray(fromLocationAccountTypeIn)) {
364
370
  andConditions.push({
365
371
  'fromLocation.accountType': {
@@ -368,7 +374,7 @@ class ActionRepo {
368
374
  }
369
375
  });
370
376
  }
371
- const toLocationTypeOfIn = (_54 = (_53 = params.toLocation) === null || _53 === void 0 ? void 0 : _53.typeOf) === null || _54 === void 0 ? void 0 : _54.$in;
377
+ const toLocationTypeOfIn = params.toLocation?.typeOf?.$in;
372
378
  if (Array.isArray(toLocationTypeOfIn)) {
373
379
  andConditions.push({
374
380
  'toLocation.typeOf': {
@@ -377,7 +383,7 @@ class ActionRepo {
377
383
  }
378
384
  });
379
385
  }
380
- const toLocationAccountNumberIn = (_56 = (_55 = params.toLocation) === null || _55 === void 0 ? void 0 : _55.accountNumber) === null || _56 === void 0 ? void 0 : _56.$in;
386
+ const toLocationAccountNumberIn = params.toLocation?.accountNumber?.$in;
381
387
  if (Array.isArray(toLocationAccountNumberIn)) {
382
388
  andConditions.push({
383
389
  'toLocation.accountNumber': {
@@ -386,7 +392,7 @@ class ActionRepo {
386
392
  }
387
393
  });
388
394
  }
389
- const toLocationAccountTypeIn = (_58 = (_57 = params.toLocation) === null || _57 === void 0 ? void 0 : _57.accountType) === null || _58 === void 0 ? void 0 : _58.$in;
395
+ const toLocationAccountTypeIn = params.toLocation?.accountType?.$in;
390
396
  if (Array.isArray(toLocationAccountTypeIn)) {
391
397
  andConditions.push({
392
398
  'toLocation.accountType': {
@@ -395,7 +401,7 @@ class ActionRepo {
395
401
  }
396
402
  });
397
403
  }
398
- const purposeTypeOfIn = (_60 = (_59 = params.purpose) === null || _59 === void 0 ? void 0 : _59.typeOf) === null || _60 === void 0 ? void 0 : _60.$in;
404
+ const purposeTypeOfIn = params.purpose?.typeOf?.$in;
399
405
  if (Array.isArray(purposeTypeOfIn)) {
400
406
  andConditions.push({
401
407
  'purpose.typeOf': {
@@ -404,7 +410,7 @@ class ActionRepo {
404
410
  }
405
411
  });
406
412
  }
407
- const purposeIdIn = (_62 = (_61 = params.purpose) === null || _61 === void 0 ? void 0 : _61.id) === null || _62 === void 0 ? void 0 : _62.$in;
413
+ const purposeIdIn = params.purpose?.id?.$in;
408
414
  if (Array.isArray(purposeIdIn)) {
409
415
  andConditions.push({
410
416
  'purpose.id': {
@@ -413,7 +419,7 @@ class ActionRepo {
413
419
  }
414
420
  });
415
421
  }
416
- const purposeOrderNumberIn = (_64 = (_63 = params.purpose) === null || _63 === void 0 ? void 0 : _63.orderNumber) === null || _64 === void 0 ? void 0 : _64.$in;
422
+ const purposeOrderNumberIn = params.purpose?.orderNumber?.$in;
417
423
  if (Array.isArray(purposeOrderNumberIn)) {
418
424
  andConditions.push({
419
425
  'purpose.orderNumber': {
@@ -422,7 +428,7 @@ class ActionRepo {
422
428
  }
423
429
  });
424
430
  }
425
- const resultTypeOfIn = (_66 = (_65 = params.result) === null || _65 === void 0 ? void 0 : _65.typeOf) === null || _66 === void 0 ? void 0 : _66.$in;
431
+ const resultTypeOfIn = params.result?.typeOf?.$in;
426
432
  if (Array.isArray(resultTypeOfIn)) {
427
433
  andConditions.push({
428
434
  'result.typeOf': {
@@ -431,7 +437,7 @@ class ActionRepo {
431
437
  }
432
438
  });
433
439
  }
434
- const resultIdIn = (_68 = (_67 = params.result) === null || _67 === void 0 ? void 0 : _67.id) === null || _68 === void 0 ? void 0 : _68.$in;
440
+ const resultIdIn = params.result?.id?.$in;
435
441
  if (Array.isArray(resultIdIn)) {
436
442
  andConditions.push({
437
443
  'result.id': {
@@ -440,7 +446,7 @@ class ActionRepo {
440
446
  }
441
447
  });
442
448
  }
443
- const resultOrderNumberIn = (_70 = (_69 = params.result) === null || _69 === void 0 ? void 0 : _69.orderNumber) === null || _70 === void 0 ? void 0 : _70.$in;
449
+ const resultOrderNumberIn = params.result?.orderNumber?.$in;
444
450
  if (Array.isArray(resultOrderNumberIn)) {
445
451
  andConditions.push({
446
452
  'result.orderNumber': {
@@ -449,7 +455,7 @@ class ActionRepo {
449
455
  }
450
456
  });
451
457
  }
452
- const resultCodeIn = (_72 = (_71 = params.result) === null || _71 === void 0 ? void 0 : _71.code) === null || _72 === void 0 ? void 0 : _72.$in;
458
+ const resultCodeIn = params.result?.code?.$in;
453
459
  if (Array.isArray(resultCodeIn)) {
454
460
  andConditions.push({
455
461
  'result.code': {
@@ -459,11 +465,11 @@ class ActionRepo {
459
465
  });
460
466
  }
461
467
  // sameAs(2024-04-23~)
462
- const sameAsIdEq = (_74 = (_73 = params.sameAs) === null || _73 === void 0 ? void 0 : _73.id) === null || _74 === void 0 ? void 0 : _74.$eq;
468
+ const sameAsIdEq = params.sameAs?.id?.$eq;
463
469
  if (typeof sameAsIdEq === 'string') {
464
470
  andConditions.push({ 'sameAs.id': { $exists: true, $eq: sameAsIdEq } });
465
471
  }
466
- const aboutOrderNumberEq = (_76 = (_75 = params.about) === null || _75 === void 0 ? void 0 : _75.orderNumber) === null || _76 === void 0 ? void 0 : _76.$eq;
472
+ const aboutOrderNumberEq = params.about?.orderNumber?.$eq;
467
473
  if (typeof aboutOrderNumberEq === 'string') {
468
474
  andConditions.push({ 'about.orderNumber': { $exists: true, $eq: aboutOrderNumberEq } });
469
475
  }
@@ -472,404 +478,393 @@ class ActionRepo {
472
478
  /**
473
479
  * アクション検索
474
480
  */
475
- search(params, inclusion) {
476
- return __awaiter(this, void 0, void 0, function* () {
477
- var _a;
478
- const conditions = ActionRepo.CREATE_MONGO_CONDITIONS(params);
479
- let positiveProjectionFields = AVAILABLE_PROJECT_FIELDS;
480
- if (Array.isArray(inclusion) && inclusion.length > 0) {
481
- positiveProjectionFields = inclusion.filter((key) => AVAILABLE_PROJECT_FIELDS.includes(key));
482
- }
483
- const projection = Object.assign({ _id: 0, id: { $toString: '$_id' } }, Object.fromEntries(positiveProjectionFields.map((key) => ([key, 1]))));
484
- const query = this.actionModel.find((conditions.length > 0) ? { $and: conditions } : {}, projection);
485
- if (typeof params.limit === 'number' && params.limit > 0) {
486
- const page = (typeof params.page === 'number' && params.page > 0) ? params.page : 1;
487
- query.limit(params.limit)
488
- .skip(params.limit * (page - 1));
489
- }
490
- // tslint:disable-next-line:no-single-line-block-comment
491
- /* istanbul ignore else */
492
- if (((_a = params.sort) === null || _a === void 0 ? void 0 : _a.startDate) !== undefined) {
493
- query.sort({ startDate: params.sort.startDate });
494
- }
495
- // const explainResult = await (<any>query).explain();
496
- // console.log(explainResult[0].executionStats.allPlansExecution.map((e: any) => e.executionStages.inputStage));
497
- return query.setOptions({ maxTimeMS: settings_1.MONGO_MAX_TIME_MS })
498
- .lean() // 2024-08-26~
499
- .exec();
500
- });
481
+ async search(params, inclusion) {
482
+ const conditions = ActionRepo.CREATE_MONGO_CONDITIONS(params);
483
+ let positiveProjectionFields = AVAILABLE_PROJECT_FIELDS;
484
+ if (Array.isArray(inclusion) && inclusion.length > 0) {
485
+ positiveProjectionFields = inclusion.filter((key) => AVAILABLE_PROJECT_FIELDS.includes(key));
486
+ }
487
+ const projection = {
488
+ _id: 0,
489
+ id: { $toString: '$_id' },
490
+ ...Object.fromEntries(positiveProjectionFields.map((key) => ([key, 1])))
491
+ };
492
+ const query = this.actionModel.find((conditions.length > 0) ? { $and: conditions } : {}, projection);
493
+ if (typeof params.limit === 'number' && params.limit > 0) {
494
+ const page = (typeof params.page === 'number' && params.page > 0) ? params.page : 1;
495
+ query.limit(params.limit)
496
+ .skip(params.limit * (page - 1));
497
+ }
498
+ /* istanbul ignore else */
499
+ if (params.sort?.startDate !== undefined) {
500
+ query.sort({ startDate: params.sort.startDate });
501
+ }
502
+ // const explainResult = await (<any>query).explain();
503
+ // console.log(explainResult[0].executionStats.allPlansExecution.map((e: any) => e.executionStages.inputStage));
504
+ return query.setOptions({ maxTimeMS: settings_1.MONGO_MAX_TIME_MS })
505
+ .lean() // 2024-08-26~
506
+ .exec();
501
507
  }
502
508
  /**
503
509
  * アクション開始
504
510
  */
505
- start(attributes, options) {
506
- return __awaiter(this, void 0, void 0, function* () {
507
- var _a, _b;
508
- const startDate = new Date();
509
- const creatingAction = Object.assign(Object.assign({}, attributes), { actionStatus: factory.actionStatusType.ActiveActionStatus, startDate });
510
- // reimplemnt with insertMany(2024-08-29~)
511
- const result = yield this.actionModel.insertMany(creatingAction, { rawResult: true });
512
- const id = (_b = (_a = result.insertedIds) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.toHexString();
513
- if (typeof id !== 'string') {
514
- throw new factory.errors.Internal('action not saved');
515
- }
516
- // add recipe(2024-06-09~)
517
- const savingRecipe = options === null || options === void 0 ? void 0 : options.recipe;
518
- if ((savingRecipe === null || savingRecipe === void 0 ? void 0 : savingRecipe.typeOf) === 'Recipe') {
519
- yield this.upsertRecipe(Object.assign(Object.assign({}, savingRecipe), { recipeFor: { id, typeOf: creatingAction.typeOf } }));
520
- }
521
- return { id, startDate, typeOf: creatingAction.typeOf };
522
- });
511
+ async start(attributes, options) {
512
+ const startDate = new Date();
513
+ const creatingAction = {
514
+ ...attributes,
515
+ actionStatus: factory.actionStatusType.ActiveActionStatus,
516
+ startDate
517
+ };
518
+ // reimplemnt with insertMany(2024-08-29~)
519
+ const result = await this.actionModel.insertMany(creatingAction, { rawResult: true });
520
+ const id = result.insertedIds?.[0]?.toHexString();
521
+ if (typeof id !== 'string') {
522
+ throw new factory.errors.Internal('action not saved');
523
+ }
524
+ // add recipe(2024-06-09~)
525
+ const savingRecipe = options?.recipe;
526
+ if (savingRecipe?.typeOf === 'Recipe') {
527
+ await this.upsertRecipe({ ...savingRecipe, recipeFor: { id, typeOf: creatingAction.typeOf } });
528
+ }
529
+ return { id, startDate, typeOf: creatingAction.typeOf };
523
530
  }
524
- completeWithVoid(params) {
525
- return __awaiter(this, void 0, void 0, function* () {
526
- var _a;
527
- if (((_a = params.recipe) === null || _a === void 0 ? void 0 : _a.typeOf) === 'Recipe') {
528
- yield this.upsertRecipe(Object.assign(Object.assign({}, params.recipe), { recipeFor: { id: params.id, typeOf: params.typeOf } }));
529
- }
530
- const doc = yield this.actionModel.findOneAndUpdate({
531
- _id: { $eq: params.id },
532
- typeOf: { $eq: params.typeOf }
533
- }, {
534
- $set: {
535
- actionStatus: factory.actionStatusType.CompletedActionStatus,
536
- result: params.result,
537
- endDate: new Date()
538
- }
539
- }, { new: false, projection: { _id: 1 } })
540
- .lean()
541
- .exec();
542
- if (doc === null) {
543
- throw new factory.errors.NotFound(this.actionModel.modelName);
531
+ async completeWithVoid(params) {
532
+ if (params.recipe?.typeOf === 'Recipe') {
533
+ await this.upsertRecipe({ ...params.recipe, recipeFor: { id: params.id, typeOf: params.typeOf } });
534
+ }
535
+ const doc = await this.actionModel.findOneAndUpdate({
536
+ _id: { $eq: params.id },
537
+ typeOf: { $eq: params.typeOf }
538
+ }, {
539
+ $set: {
540
+ actionStatus: factory.actionStatusType.CompletedActionStatus,
541
+ result: params.result,
542
+ endDate: new Date()
544
543
  }
545
- });
544
+ }, { new: false, projection: { _id: 1 } })
545
+ .lean()
546
+ .exec();
547
+ if (doc === null) {
548
+ throw new factory.errors.NotFound(this.actionModel.modelName);
549
+ }
546
550
  }
547
551
  /**
548
552
  * アクション取消
549
553
  */
550
- cancelWithVoid(params) {
551
- return __awaiter(this, void 0, void 0, function* () {
552
- const cancelDate = new Date();
553
- const cancelAction = (params.cancelAction !== undefined)
554
- ? Object.assign(Object.assign({}, params.cancelAction), { endTime: cancelDate, typeOf: factory.actionType.CancelAction }) : undefined;
555
- const doc = yield this.actionModel.findOneAndUpdate({
556
- _id: { $eq: params.id },
557
- typeOf: { $eq: params.typeOf },
558
- actionStatus: { $ne: factory.actionStatusType.CanceledActionStatus } // 冪等性確保(2024-05-26~)
559
- }, {
560
- $set: Object.assign({ actionStatus: factory.actionStatusType.CanceledActionStatus }, (cancelAction !== undefined) ? { cancelAction } : undefined // cancelAction連携(2024-05-26~)
561
- )
562
- }, { new: false, projection: { _id: 1 } })
563
- .lean()
564
- .exec();
565
- if (doc === null) {
566
- // 既にCanceledActionStatusであればok
567
- const existingAction = yield this.findById({ id: params.id, typeOf: params.typeOf }, ['actionStatus'], []);
568
- if (existingAction.actionStatus !== factory.actionStatusType.CanceledActionStatus) {
569
- throw new factory.errors.NotFound(this.actionModel.modelName);
570
- }
554
+ async cancelWithVoid(params) {
555
+ const cancelDate = new Date();
556
+ const cancelAction = (params.cancelAction !== undefined)
557
+ ? {
558
+ ...params.cancelAction,
559
+ endTime: cancelDate,
560
+ typeOf: factory.actionType.CancelAction
571
561
  }
572
- // endDateが存在しなければセット(2024-04-22~)
573
- yield this.actionModel.updateOne({
574
- _id: { $eq: params.id },
575
- endDate: { $exists: false }
576
- }, { $set: { endDate: cancelDate } })
577
- .exec();
578
- });
562
+ : undefined;
563
+ const doc = await this.actionModel.findOneAndUpdate({
564
+ _id: { $eq: params.id },
565
+ typeOf: { $eq: params.typeOf },
566
+ actionStatus: { $ne: factory.actionStatusType.CanceledActionStatus } // 冪等性確保(2024-05-26~)
567
+ }, {
568
+ $set: {
569
+ actionStatus: factory.actionStatusType.CanceledActionStatus,
570
+ ...(cancelAction !== undefined) ? { cancelAction } : undefined // cancelAction連携(2024-05-26~)
571
+ }
572
+ }, { new: false, projection: { _id: 1 } })
573
+ .lean()
574
+ .exec();
575
+ if (doc === null) {
576
+ // 既にCanceledActionStatusであればok
577
+ const existingAction = await this.findById({ id: params.id, typeOf: params.typeOf }, ['actionStatus'], []);
578
+ if (existingAction.actionStatus !== factory.actionStatusType.CanceledActionStatus) {
579
+ throw new factory.errors.NotFound(this.actionModel.modelName);
580
+ }
581
+ }
582
+ // endDateが存在しなければセット(2024-04-22~)
583
+ await this.actionModel.updateOne({
584
+ _id: { $eq: params.id },
585
+ endDate: { $exists: false }
586
+ }, { $set: { endDate: cancelDate } })
587
+ .exec();
579
588
  }
580
589
  /**
581
590
  * アクション失敗
582
591
  */
583
- giveUp(params) {
584
- return __awaiter(this, void 0, void 0, function* () {
585
- var _a;
586
- const actionError = (Array.isArray(params.error))
587
- ? params.error.map((e) => (Object.assign(Object.assign({}, e), { message: e.message, name: e.name })))
588
- : Object.assign(Object.assign({}, params.error), { message: params.error.message, name: params.error.name });
589
- if (((_a = params.recipe) === null || _a === void 0 ? void 0 : _a.typeOf) === 'Recipe') {
590
- yield this.upsertRecipe(Object.assign(Object.assign({}, params.recipe), { recipeFor: { id: params.id, typeOf: params.typeOf } }));
591
- }
592
- const doc = yield this.actionModel.findOneAndUpdate({
593
- typeOf: { $eq: params.typeOf },
594
- _id: { $eq: params.id }
595
- }, {
596
- $set: {
597
- actionStatus: factory.actionStatusType.FailedActionStatus,
598
- error: actionError,
599
- endDate: new Date()
600
- }
601
- }, { new: true, projection: { _id: 1 } })
602
- .lean()
603
- .exec();
604
- if (doc === null) {
605
- throw new factory.errors.NotFound(this.actionModel.modelName);
592
+ async giveUp(params) {
593
+ const actionError = (Array.isArray(params.error))
594
+ ? params.error.map((e) => ({ ...e, message: e.message, name: e.name }))
595
+ : { ...params.error, message: params.error.message, name: params.error.name };
596
+ if (params.recipe?.typeOf === 'Recipe') {
597
+ await this.upsertRecipe({ ...params.recipe, recipeFor: { id: params.id, typeOf: params.typeOf } });
598
+ }
599
+ const doc = await this.actionModel.findOneAndUpdate({
600
+ typeOf: { $eq: params.typeOf },
601
+ _id: { $eq: params.id }
602
+ }, {
603
+ $set: {
604
+ actionStatus: factory.actionStatusType.FailedActionStatus,
605
+ error: actionError,
606
+ endDate: new Date()
606
607
  }
607
- });
608
+ }, { new: true, projection: { _id: 1 } })
609
+ .lean()
610
+ .exec();
611
+ if (doc === null) {
612
+ throw new factory.errors.NotFound(this.actionModel.modelName);
613
+ }
608
614
  }
609
615
  /**
610
616
  * アクション再開
611
617
  */
612
- reStart(params) {
613
- return __awaiter(this, void 0, void 0, function* () {
614
- var _a;
615
- const doc = yield this.actionModel.findOneAndUpdate({
616
- _id: { $eq: params.id },
617
- typeOf: { $eq: params.typeOf },
618
- actionStatus: { $eq: factory.actionStatusType.CompletedActionStatus }
619
- }, {
620
- $set: {
621
- actionStatus: factory.actionStatusType.ActiveActionStatus,
622
- startDate: new Date()
623
- },
624
- $unset: { endDate: 1 }
625
- }, { new: false, projection: { _id: 1 } })
626
- .lean()
627
- .exec();
628
- if (doc === null) {
629
- throw new factory.errors.NotFound(this.actionModel.modelName);
630
- }
631
- // add recipe(2024-06-09~)
632
- if (((_a = params.recipe) === null || _a === void 0 ? void 0 : _a.typeOf) === 'Recipe') {
633
- yield this.upsertRecipe(Object.assign(Object.assign({}, params.recipe), { recipeFor: { id: params.id, typeOf: params.typeOf } }));
634
- }
635
- });
618
+ async reStart(params) {
619
+ const doc = await this.actionModel.findOneAndUpdate({
620
+ _id: { $eq: params.id },
621
+ typeOf: { $eq: params.typeOf },
622
+ actionStatus: { $eq: factory.actionStatusType.CompletedActionStatus }
623
+ }, {
624
+ $set: {
625
+ actionStatus: factory.actionStatusType.ActiveActionStatus,
626
+ startDate: new Date()
627
+ },
628
+ $unset: { endDate: 1 }
629
+ }, { new: false, projection: { _id: 1 } })
630
+ .lean()
631
+ .exec();
632
+ if (doc === null) {
633
+ throw new factory.errors.NotFound(this.actionModel.modelName);
634
+ }
635
+ // add recipe(2024-06-09~)
636
+ if (params.recipe?.typeOf === 'Recipe') {
637
+ await this.upsertRecipe({ ...params.recipe, recipeFor: { id: params.id, typeOf: params.typeOf } });
638
+ }
636
639
  }
637
640
  /**
638
641
  * 一定期間ActiveActionStatusのアクションをFailedActionStatusにする
639
642
  */
640
- giveUpStartDatePassedCertainPeriod(params) {
641
- return __awaiter(this, void 0, void 0, function* () {
642
- var _a;
643
- return this.actionModel.updateMany(Object.assign({ actionStatus: { $eq: factory.actionStatusType.ActiveActionStatus },
644
- // 一定期間過ぎたもの
645
- startDate: { $lt: params.startDate.$lt } }, (typeof ((_a = params.id) === null || _a === void 0 ? void 0 : _a.$eq) === 'string') ? { _id: { $eq: params.id.$eq } } : undefined), {
646
- actionStatus: factory.actionStatusType.FailedActionStatus,
647
- error: params.error,
648
- endDate: new Date()
649
- })
650
- .exec();
651
- });
643
+ async giveUpStartDatePassedCertainPeriod(params) {
644
+ return this.actionModel.updateMany({
645
+ actionStatus: { $eq: factory.actionStatusType.ActiveActionStatus },
646
+ // 一定期間過ぎたもの
647
+ startDate: { $lt: params.startDate.$lt },
648
+ ...(typeof params.id?.$eq === 'string') ? { _id: { $eq: params.id.$eq } } : undefined
649
+ }, {
650
+ actionStatus: factory.actionStatusType.FailedActionStatus,
651
+ error: params.error,
652
+ endDate: new Date()
653
+ })
654
+ .exec();
652
655
  }
653
- findById(params, inclusion, exclusion) {
654
- return __awaiter(this, void 0, void 0, function* () {
655
- let positiveProjectionFields = AVAILABLE_PROJECT_FIELDS;
656
- if (Array.isArray(inclusion) && inclusion.length > 0) {
657
- positiveProjectionFields = inclusion.filter((key) => AVAILABLE_PROJECT_FIELDS.includes(key));
658
- }
659
- else {
660
- if (Array.isArray(exclusion) && exclusion.length > 0) {
661
- positiveProjectionFields = positiveProjectionFields.filter((key) => !exclusion.includes(key));
662
- }
663
- }
664
- const projection = Object.assign({ _id: 0, id: { $toString: '$_id' } }, Object.fromEntries(positiveProjectionFields.map((key) => ([key, 1]))));
665
- const doc = yield this.actionModel.findOne({
666
- typeOf: { $eq: params.typeOf },
667
- _id: { $eq: params.id }
668
- }, projection)
669
- .lean() // 2024-08-26~
670
- .exec();
671
- if (doc === null) {
672
- throw new factory.errors.NotFound(this.actionModel.modelName);
656
+ async findById(params, inclusion, exclusion) {
657
+ let positiveProjectionFields = AVAILABLE_PROJECT_FIELDS;
658
+ if (Array.isArray(inclusion) && inclusion.length > 0) {
659
+ positiveProjectionFields = inclusion.filter((key) => AVAILABLE_PROJECT_FIELDS.includes(key));
660
+ }
661
+ else {
662
+ if (Array.isArray(exclusion) && exclusion.length > 0) {
663
+ positiveProjectionFields = positiveProjectionFields.filter((key) => !exclusion.includes(key));
673
664
  }
674
- return doc;
675
- });
665
+ }
666
+ const projection = {
667
+ _id: 0,
668
+ id: { $toString: '$_id' },
669
+ ...Object.fromEntries(positiveProjectionFields.map((key) => ([key, 1])))
670
+ };
671
+ const doc = await this.actionModel.findOne({
672
+ typeOf: { $eq: params.typeOf },
673
+ _id: { $eq: params.id }
674
+ }, projection)
675
+ .lean() // 2024-08-26~
676
+ .exec();
677
+ if (doc === null) {
678
+ throw new factory.errors.NotFound(this.actionModel.modelName);
679
+ }
680
+ return doc;
676
681
  }
677
- findPayAction(params) {
678
- return __awaiter(this, void 0, void 0, function* () {
679
- var _a, _b;
680
- const payActions = yield this.search({
681
- limit: 1,
682
- page: 1,
683
- actionStatus: (Array.isArray((_a = params.actionStatus) === null || _a === void 0 ? void 0 : _a.$in))
684
- ? { $in: (_b = params.actionStatus) === null || _b === void 0 ? void 0 : _b.$in }
685
- : { $in: [factory.actionStatusType.CompletedActionStatus] },
686
- project: { id: { $eq: params.project.id } },
687
- typeOf: { $eq: factory.actionType.PayAction },
688
- object: { paymentMethod: { paymentMethodId: { $eq: params.paymentMethodId } } }
689
- }, []);
690
- return payActions.shift();
691
- });
682
+ async findPayAction(params) {
683
+ const payActions = await this.search({
684
+ limit: 1,
685
+ page: 1,
686
+ actionStatus: (Array.isArray(params.actionStatus?.$in))
687
+ ? { $in: params.actionStatus?.$in }
688
+ : { $in: [factory.actionStatusType.CompletedActionStatus] },
689
+ project: { id: { $eq: params.project.id } },
690
+ typeOf: { $eq: factory.actionType.PayAction },
691
+ object: { paymentMethod: { paymentMethodId: { $eq: params.paymentMethodId } } }
692
+ }, []);
693
+ return payActions.shift();
692
694
  }
693
695
  /**
694
696
  * 取引に対するアクションを検索する
695
697
  */
696
- // tslint:disable-next-line:cyclomatic-complexity max-func-body-length
697
- searchByPurpose(params) {
698
- return __awaiter(this, void 0, void 0, function* () {
699
- var _a, _b, _c, _d, _e, _f;
700
- const andConditions = [
701
- { 'purpose.typeOf': { $exists: true, $eq: params.purpose.typeOf } },
702
- { 'purpose.id': { $exists: true, $eq: params.purpose.id } }
703
- ];
704
- // const idNin = params.id?.$nin;
705
- // if (Array.isArray(idNin)) {
706
- // andConditions.push({ _id: { $nin: idNin } });
707
- // }
708
- const objectPaymentMethodIdEq = (_b = (_a = params.object) === null || _a === void 0 ? void 0 : _a.paymentMethodId) === null || _b === void 0 ? void 0 : _b.$eq;
709
- if (typeof objectPaymentMethodIdEq === 'string') {
710
- andConditions.push({ 'object.paymentMethodId': { $exists: true, $eq: objectPaymentMethodIdEq } });
711
- }
712
- const objectTypeOfEq = (_d = (_c = params.object) === null || _c === void 0 ? void 0 : _c.typeOf) === null || _d === void 0 ? void 0 : _d.$eq;
713
- if (typeof objectTypeOfEq === 'string') {
714
- andConditions.push({ 'object.typeOf': { $exists: true, $eq: objectTypeOfEq } });
715
- }
716
- if (typeof params.typeOf === 'string') {
717
- andConditions.push({ typeOf: { $eq: params.typeOf } });
718
- }
719
- const actionStatusEq = (_e = params.actionStatus) === null || _e === void 0 ? void 0 : _e.$eq;
720
- if (typeof actionStatusEq === 'string') {
721
- andConditions.push({ actionStatus: { $eq: actionStatusEq } });
722
- }
723
- const positiveProjectionFields = [
724
- 'project',
725
- 'actionStatus',
726
- 'typeOf',
727
- 'description',
728
- 'agent',
729
- 'recipient',
730
- 'result',
731
- 'error',
732
- 'object',
733
- 'startDate',
734
- 'endDate',
735
- 'purpose',
736
- 'potentialActions',
737
- 'instrument',
738
- 'location',
739
- 'sameAs',
740
- 'cancelAction',
741
- 'identifier'
742
- ];
743
- const projection = Object.assign({ _id: 0, id: { $toString: '$_id' } }, Object.fromEntries(positiveProjectionFields.map((key) => ([key, 1]))));
744
- const query = this.actionModel.find((andConditions.length > 0) ? { $and: andConditions } : {}, projection);
745
- if (typeof ((_f = params.sort) === null || _f === void 0 ? void 0 : _f.startDate) === 'number') {
746
- query.sort({ startDate: params.sort.startDate });
747
- }
748
- return query.setOptions({ maxTimeMS: settings_1.MONGO_MAX_TIME_MS })
749
- .lean()
750
- .exec();
751
- // return <Promise<IAction4transaction<T>[]>><Promise<unknown[]>>this.search<T>(
752
- // {
753
- // purpose: {
754
- // id: { $in: [params.purpose.id] },
755
- // typeOf: { $in: [params.purpose.typeOf] }
756
- // },
757
- // object: {
758
- // ...(typeof params.object?.typeOf?.$eq === 'string')
759
- // ? { typeOf: { $eq: params.object.typeOf.$eq } }
760
- // : undefined,
761
- // ...(typeof params.object?.paymentMethodId?.$eq === 'string')
762
- // ? { paymentMethodId: { $eq: params.object.paymentMethodId.$eq } }
763
- // : undefined
764
- // },
765
- // ...(typeof params.actionStatus?.$eq === 'string') ? { actionStatus: { $in: [params.actionStatus.$eq] } } : undefined,
766
- // ...(typeof params.typeOf === 'string') ? { typeOf: { $eq: params.typeOf } } : undefined,
767
- // ...(Array.isArray(params.id?.$nin)) ? { id: { $nin: params.id?.$nin } } : undefined,
768
- // ...(typeof params.sort?.startDate === 'number') ? { sort: params.sort } : undefined
769
- // },
770
- // [],
771
- // []
772
- // );
773
- });
698
+ async searchByPurpose(params) {
699
+ const andConditions = [
700
+ { 'purpose.typeOf': { $exists: true, $eq: params.purpose.typeOf } },
701
+ { 'purpose.id': { $exists: true, $eq: params.purpose.id } }
702
+ ];
703
+ // const idNin = params.id?.$nin;
704
+ // if (Array.isArray(idNin)) {
705
+ // andConditions.push({ _id: { $nin: idNin } });
706
+ // }
707
+ const objectPaymentMethodIdEq = params.object?.paymentMethodId?.$eq;
708
+ if (typeof objectPaymentMethodIdEq === 'string') {
709
+ andConditions.push({ 'object.paymentMethodId': { $exists: true, $eq: objectPaymentMethodIdEq } });
710
+ }
711
+ const objectTypeOfEq = params.object?.typeOf?.$eq;
712
+ if (typeof objectTypeOfEq === 'string') {
713
+ andConditions.push({ 'object.typeOf': { $exists: true, $eq: objectTypeOfEq } });
714
+ }
715
+ if (typeof params.typeOf === 'string') {
716
+ andConditions.push({ typeOf: { $eq: params.typeOf } });
717
+ }
718
+ const actionStatusEq = params.actionStatus?.$eq;
719
+ if (typeof actionStatusEq === 'string') {
720
+ andConditions.push({ actionStatus: { $eq: actionStatusEq } });
721
+ }
722
+ const positiveProjectionFields = [
723
+ 'project',
724
+ 'actionStatus',
725
+ 'typeOf',
726
+ 'description',
727
+ 'agent',
728
+ 'recipient',
729
+ 'result',
730
+ 'error',
731
+ 'object',
732
+ 'startDate',
733
+ 'endDate',
734
+ 'purpose',
735
+ 'potentialActions',
736
+ 'instrument',
737
+ 'location',
738
+ 'sameAs',
739
+ 'cancelAction',
740
+ 'identifier'
741
+ ];
742
+ const projection = {
743
+ _id: 0,
744
+ id: { $toString: '$_id' },
745
+ ...Object.fromEntries(positiveProjectionFields.map((key) => ([key, 1])))
746
+ };
747
+ const query = this.actionModel.find((andConditions.length > 0) ? { $and: andConditions } : {}, projection);
748
+ if (typeof params.sort?.startDate === 'number') {
749
+ query.sort({ startDate: params.sort.startDate });
750
+ }
751
+ return query.setOptions({ maxTimeMS: settings_1.MONGO_MAX_TIME_MS })
752
+ .lean()
753
+ .exec();
754
+ // return <Promise<IAction4transaction<T>[]>><Promise<unknown[]>>this.search<T>(
755
+ // {
756
+ // purpose: {
757
+ // id: { $in: [params.purpose.id] },
758
+ // typeOf: { $in: [params.purpose.typeOf] }
759
+ // },
760
+ // object: {
761
+ // ...(typeof params.object?.typeOf?.$eq === 'string')
762
+ // ? { typeOf: { $eq: params.object.typeOf.$eq } }
763
+ // : undefined,
764
+ // ...(typeof params.object?.paymentMethodId?.$eq === 'string')
765
+ // ? { paymentMethodId: { $eq: params.object.paymentMethodId.$eq } }
766
+ // : undefined
767
+ // },
768
+ // ...(typeof params.actionStatus?.$eq === 'string') ? { actionStatus: { $in: [params.actionStatus.$eq] } } : undefined,
769
+ // ...(typeof params.typeOf === 'string') ? { typeOf: { $eq: params.typeOf } } : undefined,
770
+ // ...(Array.isArray(params.id?.$nin)) ? { id: { $nin: params.id?.$nin } } : undefined,
771
+ // ...(typeof params.sort?.startDate === 'number') ? { sort: params.sort } : undefined
772
+ // },
773
+ // [],
774
+ // []
775
+ // );
774
776
  }
775
777
  /**
776
778
  * 注文番号から、注文に対するアクションを検索する
777
779
  */
778
- searchByOrderNumber(params) {
779
- return __awaiter(this, void 0, void 0, function* () {
780
- var _a;
781
- const filter = {
782
- $or: [
783
- { 'object.orderNumber': { $exists: true, $eq: params.orderNumber } },
784
- { 'purpose.orderNumber': { $exists: true, $eq: params.orderNumber } },
785
- // consider inform returnAction(2025-01-22~)
786
- { 'about.orderNumber': { $exists: true, $eq: params.orderNumber } },
787
- // consider reserveAction,cancelReservationAction(2025-02-17~)
788
- { 'instrument.orderNumber': { $exists: true, $eq: params.orderNumber } }
789
- ]
790
- };
791
- const projection = Object.assign({ _id: 0, id: { $toString: '$_id' } }, Object.fromEntries(AVAILABLE_PROJECT_FIELDS.map((key) => ([key, 1]))));
792
- const query = this.actionModel.find(filter, projection);
793
- // .select({ __v: 0, createdAt: 0, updatedAt: 0 });
794
- // tslint:disable-next-line:no-single-line-block-comment
795
- /* istanbul ignore else */
796
- if (((_a = params.sort) === null || _a === void 0 ? void 0 : _a.startDate) !== undefined) {
797
- query.sort({ startDate: params.sort.startDate });
798
- }
799
- return query
800
- .lean() // 2024-08-26~
801
- .exec();
802
- });
780
+ async searchByOrderNumber(params) {
781
+ const filter = {
782
+ $or: [
783
+ { 'object.orderNumber': { $exists: true, $eq: params.orderNumber } },
784
+ { 'purpose.orderNumber': { $exists: true, $eq: params.orderNumber } },
785
+ // consider inform returnAction(2025-01-22~)
786
+ { 'about.orderNumber': { $exists: true, $eq: params.orderNumber } },
787
+ // consider reserveAction,cancelReservationAction(2025-02-17~)
788
+ { 'instrument.orderNumber': { $exists: true, $eq: params.orderNumber } }
789
+ ]
790
+ };
791
+ const projection = {
792
+ _id: 0,
793
+ id: { $toString: '$_id' },
794
+ ...Object.fromEntries(AVAILABLE_PROJECT_FIELDS.map((key) => ([key, 1])))
795
+ };
796
+ const query = this.actionModel.find(filter, projection);
797
+ // .select({ __v: 0, createdAt: 0, updatedAt: 0 });
798
+ /* istanbul ignore else */
799
+ if (params.sort?.startDate !== undefined) {
800
+ query.sort({ startDate: params.sort.startDate });
801
+ }
802
+ return query
803
+ .lean() // 2024-08-26~
804
+ .exec();
803
805
  }
804
- searchBySameAs(params) {
805
- return __awaiter(this, void 0, void 0, function* () {
806
- var _a;
807
- const projection = {
808
- _id: 0,
809
- id: { $toString: '$_id' },
810
- actionStatus: 1,
811
- error: 1,
812
- purpose: 1
813
- };
814
- const query = this.actionModel.find(Object.assign({ typeOf: { $eq: params.typeOf.$eq }, 'sameAs.id': { $exists: true, $eq: params.sameAs.id.$eq } }, (typeof ((_a = params.purpose) === null || _a === void 0 ? void 0 : _a.id.$eq) === 'string')
806
+ async searchBySameAs(params) {
807
+ const projection = {
808
+ _id: 0,
809
+ id: { $toString: '$_id' },
810
+ actionStatus: 1,
811
+ error: 1,
812
+ purpose: 1
813
+ };
814
+ const query = this.actionModel.find({
815
+ typeOf: { $eq: params.typeOf.$eq },
816
+ 'sameAs.id': { $exists: true, $eq: params.sameAs.id.$eq },
817
+ ...(typeof params.purpose?.id.$eq === 'string')
815
818
  ? { 'purpose.id': { $exists: true, $eq: params.purpose.id.$eq } }
816
- : undefined), projection)
817
- // .select({ _id: 1, actionStatus: 1, error: 1, purpose: 1 })
818
- .limit(1);
819
- return query
820
- .lean() // 2024-08-26~
821
- .exec();
822
- });
819
+ : undefined
820
+ }, projection)
821
+ // .select({ _id: 1, actionStatus: 1, error: 1, purpose: 1 })
822
+ .limit(1);
823
+ return query
824
+ .lean() // 2024-08-26~
825
+ .exec();
823
826
  }
824
- deleteByProject(params) {
825
- return __awaiter(this, void 0, void 0, function* () {
826
- yield this.actionModel.deleteMany({
827
- 'project.id': { $eq: params.project.id }
828
- })
829
- .exec();
830
- });
827
+ async deleteByProject(params) {
828
+ await this.actionModel.deleteMany({
829
+ 'project.id': { $eq: params.project.id }
830
+ })
831
+ .exec();
831
832
  }
832
- reCompleteAuthorizeEventOfferAction(params) {
833
- return __awaiter(this, void 0, void 0, function* () {
834
- return this.actionModel.findOneAndUpdate({
835
- // typeOf: factory.actionType.AuthorizeAction,
836
- _id: { $eq: params.id },
837
- // ActiveActionStatus->CompletedActionStatusで再実装(2024-01-15~)
838
- // actionStatus: factory.actionStatusType.CompletedActionStatus
839
- actionStatus: { $eq: factory.actionStatusType.ActiveActionStatus }
840
- }, {
841
- $set: {
842
- actionStatus: factory.actionStatusType.CompletedActionStatus,
843
- object: params.object,
844
- result: params.result,
845
- endDate: new Date()
846
- }
847
- }, { new: true, projection: { _id: 1 } })
848
- .lean()
849
- .exec()
850
- .then((doc) => {
851
- if (doc === null) {
852
- throw new factory.errors.NotFound(this.actionModel.modelName);
853
- }
854
- });
833
+ async reCompleteAuthorizeEventOfferAction(params) {
834
+ return this.actionModel.findOneAndUpdate({
835
+ // typeOf: factory.actionType.AuthorizeAction,
836
+ _id: { $eq: params.id },
837
+ // ActiveActionStatus->CompletedActionStatusで再実装(2024-01-15~)
838
+ // actionStatus: factory.actionStatusType.CompletedActionStatus
839
+ actionStatus: { $eq: factory.actionStatusType.ActiveActionStatus }
840
+ }, {
841
+ $set: {
842
+ actionStatus: factory.actionStatusType.CompletedActionStatus,
843
+ object: params.object,
844
+ result: params.result,
845
+ endDate: new Date()
846
+ }
847
+ }, { new: true, projection: { _id: 1 } })
848
+ .lean()
849
+ .exec()
850
+ .then((doc) => {
851
+ if (doc === null) {
852
+ throw new factory.errors.NotFound(this.actionModel.modelName);
853
+ }
855
854
  });
856
855
  }
857
- updateById(params) {
858
- return __awaiter(this, void 0, void 0, function* () {
859
- yield this.actionModel.updateOne({ _id: { $eq: params.id } }, params.update)
860
- .exec();
861
- });
856
+ async updateById(params) {
857
+ await this.actionModel.updateOne({ _id: { $eq: params.id } }, params.update)
858
+ .exec();
862
859
  }
863
- findByIdAndUpdate(params) {
864
- return __awaiter(this, void 0, void 0, function* () {
865
- yield this.actionModel.findOneAndUpdate({ _id: { $eq: params.id } }, params.update, { projection: { _id: 1 } })
866
- .lean()
867
- .exec()
868
- .then((doc) => {
869
- if (doc === null) {
870
- throw new factory.errors.NotFound(this.actionModel.modelName);
871
- }
872
- });
860
+ async findByIdAndUpdate(params) {
861
+ await this.actionModel.findOneAndUpdate({ _id: { $eq: params.id } }, params.update, { projection: { _id: 1 } })
862
+ .lean()
863
+ .exec()
864
+ .then((doc) => {
865
+ if (doc === null) {
866
+ throw new factory.errors.NotFound(this.actionModel.modelName);
867
+ }
873
868
  });
874
869
  }
875
870
  /**
@@ -932,158 +927,148 @@ class ActionRepo {
932
927
  // ])
933
928
  // .exec();
934
929
  // }
935
- searchYkknInfoByCheckRecipe(filter) {
936
- return __awaiter(this, void 0, void 0, function* () {
937
- const filterQuery = {
938
- _id: { $eq: filter.id },
939
- 'project.id': { $eq: filter.project.id },
940
- 'purpose.id': { $exists: true, $eq: filter.purpose.id },
941
- typeOf: { $eq: factory.actionType.CheckAction },
942
- actionStatus: { $eq: factory.actionStatusType.CompletedActionStatus }
943
- };
944
- const actionDoc = yield this.actionModel.findOne(filterQuery, { _id: 1 }, { lean: true })
945
- .exec();
946
- if (actionDoc === null) {
947
- throw new factory.errors.NotFound(this.actionModel.modelName);
948
- }
949
- const filterQuery4recipe = {
950
- 'recipeFor.id': { $eq: filter.id }
951
- };
952
- const projectStage = {
953
- _id: 0,
954
- knyknrNo: '$step.itemListElement.itemListElement.afterMedia.knyknrNoInfoOut.knyknrNo',
955
- ykknshTyp: '$step.itemListElement.itemListElement.afterMedia.knyknrNoInfoOut.ykknInfo.ykknshTyp',
956
- eishhshkTyp: '$step.itemListElement.itemListElement.afterMedia.knyknrNoInfoOut.ykknInfo.eishhshkTyp',
957
- ykknKnshbtsmiNum: '$step.itemListElement.itemListElement.afterMedia.knyknrNoInfoOut.ykknInfo.ykknKnshbtsmiNum',
958
- knshknhmbiUnip: '$step.itemListElement.itemListElement.afterMedia.knyknrNoInfoOut.ykknInfo.knshknhmbiUnip',
959
- kijUnip: '$step.itemListElement.itemListElement.afterMedia.knyknrNoInfoOut.ykknInfo.kijUnip'
960
- };
961
- const aggregate = this.actionRecipeModel.aggregate([
962
- { $unwind: '$step' },
963
- { $unwind: '$step.itemListElement' },
964
- { $unwind: '$step.itemListElement.itemListElement' },
965
- { $unwind: '$step.itemListElement.itemListElement.afterMedia.knyknrNoInfoOut' },
966
- { $unwind: '$step.itemListElement.itemListElement.afterMedia.knyknrNoInfoOut.ykknInfo' },
967
- { $match: filterQuery4recipe },
968
- { $project: projectStage }
969
- ]);
970
- if (typeof filter.limit === 'number' && filter.limit > 0) {
971
- const page = (typeof filter.page === 'number' && filter.page > 0) ? filter.page : 1;
972
- aggregate.limit(filter.limit * page)
973
- .skip(filter.limit * (page - 1));
974
- }
975
- return aggregate
976
- .option({ maxTimeMS: settings_1.MONGO_MAX_TIME_MS })
977
- .exec();
978
- });
930
+ async searchYkknInfoByCheckRecipe(filter) {
931
+ const filterQuery = {
932
+ _id: { $eq: filter.id },
933
+ 'project.id': { $eq: filter.project.id },
934
+ 'purpose.id': { $exists: true, $eq: filter.purpose.id },
935
+ typeOf: { $eq: factory.actionType.CheckAction },
936
+ actionStatus: { $eq: factory.actionStatusType.CompletedActionStatus }
937
+ };
938
+ const actionDoc = await this.actionModel.findOne(filterQuery, { _id: 1 }, { lean: true })
939
+ .exec();
940
+ if (actionDoc === null) {
941
+ throw new factory.errors.NotFound(this.actionModel.modelName);
942
+ }
943
+ const filterQuery4recipe = {
944
+ 'recipeFor.id': { $eq: filter.id }
945
+ };
946
+ const projectStage = {
947
+ _id: 0,
948
+ knyknrNo: '$step.itemListElement.itemListElement.afterMedia.knyknrNoInfoOut.knyknrNo',
949
+ ykknshTyp: '$step.itemListElement.itemListElement.afterMedia.knyknrNoInfoOut.ykknInfo.ykknshTyp',
950
+ eishhshkTyp: '$step.itemListElement.itemListElement.afterMedia.knyknrNoInfoOut.ykknInfo.eishhshkTyp',
951
+ ykknKnshbtsmiNum: '$step.itemListElement.itemListElement.afterMedia.knyknrNoInfoOut.ykknInfo.ykknKnshbtsmiNum',
952
+ knshknhmbiUnip: '$step.itemListElement.itemListElement.afterMedia.knyknrNoInfoOut.ykknInfo.knshknhmbiUnip',
953
+ kijUnip: '$step.itemListElement.itemListElement.afterMedia.knyknrNoInfoOut.ykknInfo.kijUnip'
954
+ };
955
+ const aggregate = this.actionRecipeModel.aggregate([
956
+ { $unwind: '$step' },
957
+ { $unwind: '$step.itemListElement' },
958
+ { $unwind: '$step.itemListElement.itemListElement' },
959
+ { $unwind: '$step.itemListElement.itemListElement.afterMedia.knyknrNoInfoOut' },
960
+ { $unwind: '$step.itemListElement.itemListElement.afterMedia.knyknrNoInfoOut.ykknInfo' },
961
+ { $match: filterQuery4recipe },
962
+ { $project: projectStage }
963
+ ]);
964
+ if (typeof filter.limit === 'number' && filter.limit > 0) {
965
+ const page = (typeof filter.page === 'number' && filter.page > 0) ? filter.page : 1;
966
+ aggregate.limit(filter.limit * page)
967
+ .skip(filter.limit * (page - 1));
968
+ }
969
+ return aggregate
970
+ .option({ maxTimeMS: settings_1.MONGO_MAX_TIME_MS })
971
+ .exec();
979
972
  }
980
- searchMkknInfoByCheckRecipe(filter) {
981
- return __awaiter(this, void 0, void 0, function* () {
982
- const filterQuery = {
983
- _id: { $eq: filter.id },
984
- 'project.id': { $eq: filter.project.id },
985
- 'purpose.id': { $exists: true, $eq: filter.purpose.id },
986
- typeOf: { $eq: factory.actionType.CheckAction },
987
- actionStatus: { $eq: factory.actionStatusType.CompletedActionStatus }
988
- };
989
- const actionDoc = this.actionModel.findOne(filterQuery, { _id: 1 }, { lean: true })
990
- .exec();
991
- if (actionDoc === null) {
992
- throw new factory.errors.NotFound(this.actionModel.modelName);
993
- }
994
- const filterQuery4recipe = {
995
- 'recipeFor.id': { $eq: filter.id }
996
- };
997
- const projectStage = {
998
- _id: 0,
999
- knyknrNo: '$step.itemListElement.itemListElement.afterMedia.knyknrNoInfoOut.knyknrNo',
1000
- mkknshTyp: '$step.itemListElement.itemListElement.afterMedia.knyknrNoInfoOut.mkknInfo.mkknshTyp',
1001
- mkknKnshbtsmiNum: '$step.itemListElement.itemListElement.afterMedia.knyknrNoInfoOut.mkknInfo.mkknKnshbtsmiNum',
1002
- mkjyTyp: '$step.itemListElement.itemListElement.afterMedia.knyknrNoInfoOut.mkknInfo.mkjyTyp',
1003
- yykDt: '$step.itemListElement.itemListElement.afterMedia.knyknrNoInfoOut.mkknInfo.yykDt',
1004
- shyJeiDt: '$step.itemListElement.itemListElement.afterMedia.knyknrNoInfoOut.mkknInfo.shyJeiDt',
1005
- shyStCd: '$step.itemListElement.itemListElement.afterMedia.knyknrNoInfoOut.mkknInfo.shyStCd',
1006
- shyScrnCd: '$step.itemListElement.itemListElement.afterMedia.knyknrNoInfoOut.mkknInfo.shyScrnCd',
1007
- shySkhnCd: '$step.itemListElement.itemListElement.afterMedia.knyknrNoInfoOut.mkknInfo.shySkhnCd',
1008
- shySkhnNm: '$step.itemListElement.itemListElement.afterMedia.knyknrNoInfoOut.mkknInfo.shySkhnNm'
1009
- };
1010
- const aggregate = this.actionRecipeModel.aggregate([
1011
- { $unwind: '$step' },
1012
- { $unwind: '$step.itemListElement' },
1013
- { $unwind: '$step.itemListElement.itemListElement' },
1014
- { $unwind: '$step.itemListElement.itemListElement.afterMedia.knyknrNoInfoOut' },
1015
- { $unwind: '$step.itemListElement.itemListElement.afterMedia.knyknrNoInfoOut.mkknInfo' },
1016
- { $match: filterQuery4recipe },
1017
- { $project: projectStage }
1018
- ]);
1019
- if (typeof filter.limit === 'number' && filter.limit > 0) {
1020
- const page = (typeof filter.page === 'number' && filter.page > 0) ? filter.page : 1;
1021
- aggregate.limit(filter.limit * page)
1022
- .skip(filter.limit * (page - 1));
1023
- }
1024
- return aggregate
1025
- .option({ maxTimeMS: settings_1.MONGO_MAX_TIME_MS })
1026
- .exec();
1027
- });
973
+ async searchMkknInfoByCheckRecipe(filter) {
974
+ const filterQuery = {
975
+ _id: { $eq: filter.id },
976
+ 'project.id': { $eq: filter.project.id },
977
+ 'purpose.id': { $exists: true, $eq: filter.purpose.id },
978
+ typeOf: { $eq: factory.actionType.CheckAction },
979
+ actionStatus: { $eq: factory.actionStatusType.CompletedActionStatus }
980
+ };
981
+ const actionDoc = this.actionModel.findOne(filterQuery, { _id: 1 }, { lean: true })
982
+ .exec();
983
+ if (actionDoc === null) {
984
+ throw new factory.errors.NotFound(this.actionModel.modelName);
985
+ }
986
+ const filterQuery4recipe = {
987
+ 'recipeFor.id': { $eq: filter.id }
988
+ };
989
+ const projectStage = {
990
+ _id: 0,
991
+ knyknrNo: '$step.itemListElement.itemListElement.afterMedia.knyknrNoInfoOut.knyknrNo',
992
+ mkknshTyp: '$step.itemListElement.itemListElement.afterMedia.knyknrNoInfoOut.mkknInfo.mkknshTyp',
993
+ mkknKnshbtsmiNum: '$step.itemListElement.itemListElement.afterMedia.knyknrNoInfoOut.mkknInfo.mkknKnshbtsmiNum',
994
+ mkjyTyp: '$step.itemListElement.itemListElement.afterMedia.knyknrNoInfoOut.mkknInfo.mkjyTyp',
995
+ yykDt: '$step.itemListElement.itemListElement.afterMedia.knyknrNoInfoOut.mkknInfo.yykDt',
996
+ shyJeiDt: '$step.itemListElement.itemListElement.afterMedia.knyknrNoInfoOut.mkknInfo.shyJeiDt',
997
+ shyStCd: '$step.itemListElement.itemListElement.afterMedia.knyknrNoInfoOut.mkknInfo.shyStCd',
998
+ shyScrnCd: '$step.itemListElement.itemListElement.afterMedia.knyknrNoInfoOut.mkknInfo.shyScrnCd',
999
+ shySkhnCd: '$step.itemListElement.itemListElement.afterMedia.knyknrNoInfoOut.mkknInfo.shySkhnCd',
1000
+ shySkhnNm: '$step.itemListElement.itemListElement.afterMedia.knyknrNoInfoOut.mkknInfo.shySkhnNm'
1001
+ };
1002
+ const aggregate = this.actionRecipeModel.aggregate([
1003
+ { $unwind: '$step' },
1004
+ { $unwind: '$step.itemListElement' },
1005
+ { $unwind: '$step.itemListElement.itemListElement' },
1006
+ { $unwind: '$step.itemListElement.itemListElement.afterMedia.knyknrNoInfoOut' },
1007
+ { $unwind: '$step.itemListElement.itemListElement.afterMedia.knyknrNoInfoOut.mkknInfo' },
1008
+ { $match: filterQuery4recipe },
1009
+ { $project: projectStage }
1010
+ ]);
1011
+ if (typeof filter.limit === 'number' && filter.limit > 0) {
1012
+ const page = (typeof filter.page === 'number' && filter.page > 0) ? filter.page : 1;
1013
+ aggregate.limit(filter.limit * page)
1014
+ .skip(filter.limit * (page - 1));
1015
+ }
1016
+ return aggregate
1017
+ .option({ maxTimeMS: settings_1.MONGO_MAX_TIME_MS })
1018
+ .exec();
1028
1019
  }
1029
1020
  /**
1030
1021
  * 開始日時を一定期間過ぎたアクションを削除する
1031
1022
  */
1032
- deleteStartDatePassedCertainPeriod(params) {
1033
- return __awaiter(this, void 0, void 0, function* () {
1034
- return this.actionModel.deleteMany({
1035
- startDate: {
1036
- $lt: params.$lt
1037
- }
1038
- })
1039
- .exec();
1040
- });
1023
+ async deleteStartDatePassedCertainPeriod(params) {
1024
+ return this.actionModel.deleteMany({
1025
+ startDate: {
1026
+ $lt: params.$lt
1027
+ }
1028
+ })
1029
+ .exec();
1041
1030
  }
1042
1031
  /**
1043
1032
  * 終了日時を一定期間過ぎたアクションを削除する
1044
1033
  * 作成日時を一定期間過ぎたアクションレシピも削除する
1045
1034
  */
1046
- deleteEndDatePassedCertainPeriod(params) {
1047
- return __awaiter(this, void 0, void 0, function* () {
1048
- const { $lt } = params;
1049
- if ($lt instanceof Date) {
1050
- yield this.actionModel.deleteMany({
1051
- // 終了日時を一定期間過ぎたもの
1052
- endDate: { $exists: true, $lt }
1053
- })
1054
- .exec();
1055
- // clean actionRecipes(2025-01-10~)
1056
- const dateCreatedLt = moment($lt)
1057
- .add(-1, 'day') // レシピ作成とアクション終了の時間差を考慮
1058
- .toDate();
1059
- yield this.actionRecipeModel.deleteMany({
1060
- dateCreated: { $lt: dateCreatedLt }
1061
- })
1062
- .exec();
1063
- }
1064
- });
1035
+ async deleteEndDatePassedCertainPeriod(params) {
1036
+ const { $lt } = params;
1037
+ if ($lt instanceof Date) {
1038
+ await this.actionModel.deleteMany({
1039
+ // 終了日時を一定期間過ぎたもの
1040
+ endDate: { $exists: true, $lt }
1041
+ })
1042
+ .exec();
1043
+ // clean actionRecipes(2025-01-10~)
1044
+ const dateCreatedLt = (0, moment_1.default)($lt)
1045
+ .add(-1, 'day') // レシピ作成とアクション終了の時間差を考慮
1046
+ .toDate();
1047
+ await this.actionRecipeModel.deleteMany({
1048
+ dateCreated: { $lt: dateCreatedLt }
1049
+ })
1050
+ .exec();
1051
+ }
1065
1052
  }
1066
1053
  /**
1067
1054
  * 取引からアクションを削除する
1068
1055
  */
1069
- deleteByPurpose(params) {
1070
- return __awaiter(this, void 0, void 0, function* () {
1071
- return this.actionModel.deleteMany({
1072
- 'project.id': { $eq: params.project.id },
1073
- typeOf: { $in: params.typeOf.$in },
1074
- 'purpose.id': { $exists: true, $eq: params.purpose.id },
1075
- 'purpose.typeOf': { $exists: true, $eq: params.purpose.typeOf }
1076
- })
1077
- .exec()
1078
- .then((result) => {
1079
- return {
1080
- // n: result?.n,
1081
- // opTime: result.opTime,
1082
- // ok: result?.ok,
1083
- // operationTime,
1084
- deletedCount: result === null || result === void 0 ? void 0 : result.deletedCount
1085
- };
1086
- });
1056
+ async deleteByPurpose(params) {
1057
+ return this.actionModel.deleteMany({
1058
+ 'project.id': { $eq: params.project.id },
1059
+ typeOf: { $in: params.typeOf.$in },
1060
+ 'purpose.id': { $exists: true, $eq: params.purpose.id },
1061
+ 'purpose.typeOf': { $exists: true, $eq: params.purpose.typeOf }
1062
+ })
1063
+ .exec()
1064
+ .then((result) => {
1065
+ return {
1066
+ // n: result?.n,
1067
+ // opTime: result.opTime,
1068
+ // ok: result?.ok,
1069
+ // operationTime,
1070
+ deletedCount: result?.deletedCount
1071
+ };
1087
1072
  });
1088
1073
  }
1089
1074
  // public async saveRecipeWithDateCreated(savingRecipe: IRecipeAsDocument & {
@@ -1109,359 +1094,366 @@ class ActionRepo {
1109
1094
  // )
1110
1095
  // .exec();
1111
1096
  // }
1112
- saveActionWithEndDate(savingAction) {
1113
- return __awaiter(this, void 0, void 0, function* () {
1114
- const { sameAs, typeOf, project, agent, object } = savingAction, updateFields = __rest(savingAction, ["sameAs", "typeOf", "project", "agent", "object"]);
1115
- const filter = {
1116
- 'project.id': { $eq: project.id },
1117
- // 'agent.id': { $exists: true, $eq: agent.id },
1118
- // 'object.typeOf': { $exists: true, $eq: object.typeOf },
1119
- 'object.paymentMethodId': { $exists: true, $eq: object.paymentMethodId },
1120
- typeOf: { $eq: typeOf },
1121
- 'sameAs.id': { $exists: true, $eq: sameAs.id }
1122
- };
1123
- const setOnInsert = { typeOf, project, agent, object, sameAs };
1124
- const setKeys = updateFields;
1125
- const update = {
1126
- $setOnInsert: setOnInsert,
1127
- $set: setKeys
1128
- };
1129
- return this.actionModel.updateOne(filter, update, {
1130
- upsert: true,
1131
- includeResultMetadata: true
1132
- })
1133
- .exec();
1134
- });
1097
+ async saveActionWithEndDate(savingAction) {
1098
+ const { sameAs, typeOf, project, agent, object, ...updateFields } = savingAction;
1099
+ const filter = {
1100
+ 'project.id': { $eq: project.id },
1101
+ // 'agent.id': { $exists: true, $eq: agent.id },
1102
+ // 'object.typeOf': { $exists: true, $eq: object.typeOf },
1103
+ 'object.paymentMethodId': { $exists: true, $eq: object.paymentMethodId },
1104
+ typeOf: { $eq: typeOf },
1105
+ 'sameAs.id': { $exists: true, $eq: sameAs.id }
1106
+ };
1107
+ const setOnInsert = { typeOf, project, agent, object, sameAs };
1108
+ const setKeys = updateFields;
1109
+ const update = {
1110
+ $setOnInsert: setOnInsert,
1111
+ $set: setKeys
1112
+ };
1113
+ return this.actionModel.updateOne(filter, update, {
1114
+ upsert: true,
1115
+ includeResultMetadata: true
1116
+ })
1117
+ .exec();
1135
1118
  }
1136
- findRecipeByAction(params) {
1137
- return __awaiter(this, void 0, void 0, function* () {
1138
- return this.actionRecipeModel.findOne({
1139
- 'project.id': { $eq: params.project.id },
1140
- 'recipeFor.id': { $eq: params.recipeFor.id }
1141
- }, { step: 1, recipeCategory: 1 }
1142
- // { lean: true }
1143
- )
1144
- .lean()
1145
- .exec();
1146
- // if (result === null) {
1147
- // throw new factory.errors.NotFound(this.actionRecipeModel.modelName);
1148
- // }
1149
- // return result;
1150
- });
1119
+ async findRecipeByAction(params) {
1120
+ return this.actionRecipeModel.findOne({
1121
+ 'project.id': { $eq: params.project.id },
1122
+ 'recipeFor.id': { $eq: params.recipeFor.id }
1123
+ }, { step: 1, recipeCategory: 1 }
1124
+ // { lean: true }
1125
+ )
1126
+ .lean()
1127
+ .exec();
1128
+ // if (result === null) {
1129
+ // throw new factory.errors.NotFound(this.actionRecipeModel.modelName);
1130
+ // }
1131
+ // return result;
1151
1132
  }
1152
- findIMinimizedPurchaseNumberAuthResultByCheckMovieTicketRecipe(params) {
1153
- return __awaiter(this, void 0, void 0, function* () {
1154
- var _a, _b, _c;
1155
- const recipe = yield this.actionRecipeModel.findOne({
1156
- 'project.id': { $eq: params.project.id },
1157
- 'recipeFor.id': { $eq: params.recipeFor.id }
1158
- }, {
1159
- project: 0,
1160
- typeOf: 0,
1161
- recipeCategory: 0,
1162
- recipeFor: 0,
1163
- dateCreated: 0,
1164
- dateModified: 0,
1165
- 'step.itemListElement.itemListElement.afterMedia.knyknrNoInfoOut.ykknInfo': 0,
1166
- 'step.itemListElement.itemListElement.afterMedia.knyknrNoInfoOut.mkknInfo': 0
1167
- }, { lean: true })
1168
- .exec();
1169
- return (_c = (_b = (_a = recipe === null || recipe === void 0 ? void 0 : recipe.step[0]) === null || _a === void 0 ? void 0 : _a.itemListElement[0]) === null || _b === void 0 ? void 0 : _b.itemListElement[0]) === null || _c === void 0 ? void 0 : _c.afterMedia;
1170
- });
1133
+ async findIMinimizedPurchaseNumberAuthResultByCheckMovieTicketRecipe(params) {
1134
+ const recipe = await this.actionRecipeModel.findOne({
1135
+ 'project.id': { $eq: params.project.id },
1136
+ 'recipeFor.id': { $eq: params.recipeFor.id }
1137
+ }, {
1138
+ project: 0,
1139
+ typeOf: 0,
1140
+ recipeCategory: 0,
1141
+ recipeFor: 0,
1142
+ dateCreated: 0,
1143
+ dateModified: 0,
1144
+ 'step.itemListElement.itemListElement.afterMedia.knyknrNoInfoOut.ykknInfo': 0,
1145
+ 'step.itemListElement.itemListElement.afterMedia.knyknrNoInfoOut.mkknInfo': 0
1146
+ }, { lean: true })
1147
+ .exec();
1148
+ return recipe?.step[0]?.itemListElement[0]?.itemListElement[0]?.afterMedia;
1171
1149
  }
1172
- aggregateAuthorizeEventServiceOfferAction(params) {
1173
- return __awaiter(this, void 0, void 0, function* () {
1174
- const statuses = yield Promise.all([
1175
- factory.actionStatusType.CompletedActionStatus,
1176
- factory.actionStatusType.CanceledActionStatus,
1177
- factory.actionStatusType.FailedActionStatus
1178
- ].map((actionStatus) => __awaiter(this, void 0, void 0, function* () {
1179
- var _a, _b;
1180
- const matchConditions = Object.assign({ startDate: {
1181
- $gte: params.startFrom,
1182
- $lte: params.startThrough
1183
- }, typeOf: { $eq: params.typeOf }, actionStatus: { $eq: actionStatus }, 'object.typeOf': {
1184
- $exists: true,
1185
- $eq: factory.action.authorize.offer.eventService.ObjectType.SeatReservation
1186
- } }, (typeof ((_b = (_a = params.project) === null || _a === void 0 ? void 0 : _a.id) === null || _b === void 0 ? void 0 : _b.$ne) === 'string')
1150
+ async aggregateAuthorizeEventServiceOfferAction(params) {
1151
+ const statuses = await Promise.all([
1152
+ factory.actionStatusType.CompletedActionStatus,
1153
+ factory.actionStatusType.CanceledActionStatus,
1154
+ factory.actionStatusType.FailedActionStatus
1155
+ ].map(async (actionStatus) => {
1156
+ const matchConditions = {
1157
+ startDate: {
1158
+ $gte: params.startFrom,
1159
+ $lte: params.startThrough
1160
+ },
1161
+ typeOf: { $eq: params.typeOf },
1162
+ actionStatus: { $eq: actionStatus },
1163
+ 'object.typeOf': {
1164
+ $exists: true,
1165
+ $eq: factory.action.authorize.offer.eventService.ObjectType.SeatReservation
1166
+ },
1167
+ ...(typeof params.project?.id?.$ne === 'string')
1187
1168
  ? { 'project.id': { $ne: params.project.id.$ne } }
1188
- : undefined);
1189
- return this.agggregateByStatus({ matchConditions, actionStatus });
1190
- })));
1191
- return { statuses };
1192
- });
1169
+ : undefined
1170
+ };
1171
+ return this.agggregateByStatus({ matchConditions, actionStatus });
1172
+ }));
1173
+ return { statuses };
1193
1174
  }
1194
- aggregateAuthorizePaymentAction(params) {
1195
- return __awaiter(this, void 0, void 0, function* () {
1196
- const statuses = yield Promise.all([
1197
- factory.actionStatusType.CompletedActionStatus,
1198
- factory.actionStatusType.CanceledActionStatus,
1199
- factory.actionStatusType.FailedActionStatus
1200
- ].map((actionStatus) => __awaiter(this, void 0, void 0, function* () {
1201
- var _a, _b;
1202
- const matchConditions = Object.assign({ startDate: {
1203
- $gte: params.startFrom,
1204
- $lte: params.startThrough
1205
- }, typeOf: { $eq: params.typeOf }, actionStatus: { $eq: actionStatus }, 'object.typeOf': {
1206
- $exists: true,
1207
- $eq: factory.action.authorize.paymentMethod.any.ResultType.Payment
1208
- } }, (typeof ((_b = (_a = params.project) === null || _a === void 0 ? void 0 : _a.id) === null || _b === void 0 ? void 0 : _b.$ne) === 'string')
1175
+ async aggregateAuthorizePaymentAction(params) {
1176
+ const statuses = await Promise.all([
1177
+ factory.actionStatusType.CompletedActionStatus,
1178
+ factory.actionStatusType.CanceledActionStatus,
1179
+ factory.actionStatusType.FailedActionStatus
1180
+ ].map(async (actionStatus) => {
1181
+ const matchConditions = {
1182
+ startDate: {
1183
+ $gte: params.startFrom,
1184
+ $lte: params.startThrough
1185
+ },
1186
+ typeOf: { $eq: params.typeOf },
1187
+ actionStatus: { $eq: actionStatus },
1188
+ 'object.typeOf': {
1189
+ $exists: true,
1190
+ $eq: factory.action.authorize.paymentMethod.any.ResultType.Payment
1191
+ },
1192
+ ...(typeof params.project?.id?.$ne === 'string')
1209
1193
  ? { 'project.id': { $ne: params.project.id.$ne } }
1210
- : undefined);
1211
- return this.agggregateByStatus({ matchConditions, actionStatus });
1212
- })));
1213
- return { statuses };
1214
- });
1194
+ : undefined
1195
+ };
1196
+ return this.agggregateByStatus({ matchConditions, actionStatus });
1197
+ }));
1198
+ return { statuses };
1215
1199
  }
1216
- aggregateAuthorizeOrderAction(params) {
1217
- return __awaiter(this, void 0, void 0, function* () {
1218
- const statuses = yield Promise.all([
1219
- factory.actionStatusType.CompletedActionStatus,
1220
- factory.actionStatusType.CanceledActionStatus,
1221
- factory.actionStatusType.FailedActionStatus
1222
- ].map((actionStatus) => __awaiter(this, void 0, void 0, function* () {
1223
- var _a, _b;
1224
- const matchConditions = Object.assign({ startDate: {
1225
- $gte: params.startFrom,
1226
- $lte: params.startThrough
1227
- }, typeOf: { $eq: params.typeOf }, actionStatus: { $eq: actionStatus }, 'object.typeOf': {
1228
- $exists: true,
1229
- $eq: factory.order.OrderType.Order
1230
- } }, (typeof ((_b = (_a = params.project) === null || _a === void 0 ? void 0 : _a.id) === null || _b === void 0 ? void 0 : _b.$ne) === 'string')
1200
+ async aggregateAuthorizeOrderAction(params) {
1201
+ const statuses = await Promise.all([
1202
+ factory.actionStatusType.CompletedActionStatus,
1203
+ factory.actionStatusType.CanceledActionStatus,
1204
+ factory.actionStatusType.FailedActionStatus
1205
+ ].map(async (actionStatus) => {
1206
+ const matchConditions = {
1207
+ startDate: {
1208
+ $gte: params.startFrom,
1209
+ $lte: params.startThrough
1210
+ },
1211
+ typeOf: { $eq: params.typeOf },
1212
+ actionStatus: { $eq: actionStatus },
1213
+ 'object.typeOf': {
1214
+ $exists: true,
1215
+ $eq: factory.order.OrderType.Order
1216
+ },
1217
+ ...(typeof params.project?.id?.$ne === 'string')
1231
1218
  ? { 'project.id': { $ne: params.project.id.$ne } }
1232
- : undefined);
1233
- return this.agggregateByStatus({ matchConditions, actionStatus });
1234
- })));
1235
- return { statuses };
1236
- });
1219
+ : undefined
1220
+ };
1221
+ return this.agggregateByStatus({ matchConditions, actionStatus });
1222
+ }));
1223
+ return { statuses };
1237
1224
  }
1238
- aggregateCancelReservationAction(params) {
1239
- return __awaiter(this, void 0, void 0, function* () {
1240
- const statuses = yield Promise.all([
1241
- factory.actionStatusType.CompletedActionStatus,
1242
- factory.actionStatusType.CanceledActionStatus,
1243
- factory.actionStatusType.FailedActionStatus
1244
- ].map((actionStatus) => __awaiter(this, void 0, void 0, function* () {
1245
- var _a, _b;
1246
- const matchConditions = Object.assign({ startDate: {
1247
- $gte: params.startFrom,
1248
- $lte: params.startThrough
1249
- }, typeOf: { $eq: factory.actionType.CancelAction }, actionStatus: { $eq: actionStatus }, 'object.typeOf': {
1250
- $exists: true,
1251
- $in: [
1252
- factory.reservationType.BusReservation,
1253
- factory.reservationType.EventReservation,
1254
- factory.reservationType.ReservationPackage
1255
- ]
1256
- } }, (typeof ((_b = (_a = params.project) === null || _a === void 0 ? void 0 : _a.id) === null || _b === void 0 ? void 0 : _b.$ne) === 'string')
1225
+ async aggregateCancelReservationAction(params) {
1226
+ const statuses = await Promise.all([
1227
+ factory.actionStatusType.CompletedActionStatus,
1228
+ factory.actionStatusType.CanceledActionStatus,
1229
+ factory.actionStatusType.FailedActionStatus
1230
+ ].map(async (actionStatus) => {
1231
+ const matchConditions = {
1232
+ startDate: {
1233
+ $gte: params.startFrom,
1234
+ $lte: params.startThrough
1235
+ },
1236
+ typeOf: { $eq: factory.actionType.CancelAction },
1237
+ actionStatus: { $eq: actionStatus },
1238
+ 'object.typeOf': {
1239
+ $exists: true,
1240
+ $in: [
1241
+ factory.reservationType.BusReservation,
1242
+ factory.reservationType.EventReservation,
1243
+ factory.reservationType.ReservationPackage
1244
+ ]
1245
+ },
1246
+ ...(typeof params.project?.id?.$ne === 'string')
1257
1247
  ? { 'project.id': { $ne: params.project.id.$ne } }
1258
- : undefined);
1259
- return this.agggregateByStatus({ matchConditions, actionStatus });
1260
- })));
1261
- return { statuses };
1262
- });
1248
+ : undefined
1249
+ };
1250
+ return this.agggregateByStatus({ matchConditions, actionStatus });
1251
+ }));
1252
+ return { statuses };
1263
1253
  }
1264
1254
  /**
1265
1255
  * アクションタイプによる汎用的な集計
1266
1256
  */
1267
- aggregateByTypeOf(params) {
1268
- return __awaiter(this, void 0, void 0, function* () {
1269
- const statuses = yield Promise.all([
1270
- factory.actionStatusType.CompletedActionStatus,
1271
- factory.actionStatusType.CanceledActionStatus,
1272
- factory.actionStatusType.FailedActionStatus
1273
- ].map((actionStatus) => __awaiter(this, void 0, void 0, function* () {
1274
- var _a, _b;
1275
- const matchConditions = Object.assign({ startDate: {
1276
- $gte: params.startFrom,
1277
- $lte: params.startThrough
1278
- }, typeOf: { $eq: params.typeOf }, actionStatus: { $eq: actionStatus } }, (typeof ((_b = (_a = params.project) === null || _a === void 0 ? void 0 : _a.id) === null || _b === void 0 ? void 0 : _b.$ne) === 'string')
1257
+ async aggregateByTypeOf(params) {
1258
+ const statuses = await Promise.all([
1259
+ factory.actionStatusType.CompletedActionStatus,
1260
+ factory.actionStatusType.CanceledActionStatus,
1261
+ factory.actionStatusType.FailedActionStatus
1262
+ ].map(async (actionStatus) => {
1263
+ const matchConditions = {
1264
+ startDate: {
1265
+ $gte: params.startFrom,
1266
+ $lte: params.startThrough
1267
+ },
1268
+ typeOf: { $eq: params.typeOf },
1269
+ actionStatus: { $eq: actionStatus },
1270
+ ...(typeof params.project?.id?.$ne === 'string')
1279
1271
  ? { 'project.id': { $ne: params.project.id.$ne } }
1280
- : undefined);
1281
- return this.agggregateByStatus({ matchConditions, actionStatus });
1282
- })));
1283
- return { statuses };
1284
- });
1272
+ : undefined
1273
+ };
1274
+ return this.agggregateByStatus({ matchConditions, actionStatus });
1275
+ }));
1276
+ return { statuses };
1285
1277
  }
1286
- aggregateCheckMovieTicketAction(params) {
1287
- return __awaiter(this, void 0, void 0, function* () {
1288
- const statuses = yield Promise.all([
1289
- factory.actionStatusType.CompletedActionStatus,
1290
- factory.actionStatusType.CanceledActionStatus,
1291
- factory.actionStatusType.FailedActionStatus
1292
- ].map((actionStatus) => __awaiter(this, void 0, void 0, function* () {
1293
- var _a, _b;
1294
- const matchConditions = Object.assign({ startDate: {
1295
- $gte: params.startFrom,
1296
- $lte: params.startThrough
1297
- }, typeOf: { $eq: factory.actionType.CheckAction }, 'object.typeOf': {
1298
- $exists: true,
1299
- $eq: factory.service.paymentService.PaymentServiceType.MovieTicket
1300
- }, actionStatus: { $eq: actionStatus } }, (typeof ((_b = (_a = params.project) === null || _a === void 0 ? void 0 : _a.id) === null || _b === void 0 ? void 0 : _b.$ne) === 'string')
1278
+ async aggregateCheckMovieTicketAction(params) {
1279
+ const statuses = await Promise.all([
1280
+ factory.actionStatusType.CompletedActionStatus,
1281
+ factory.actionStatusType.CanceledActionStatus,
1282
+ factory.actionStatusType.FailedActionStatus
1283
+ ].map(async (actionStatus) => {
1284
+ const matchConditions = {
1285
+ startDate: {
1286
+ $gte: params.startFrom,
1287
+ $lte: params.startThrough
1288
+ },
1289
+ typeOf: { $eq: factory.actionType.CheckAction },
1290
+ 'object.typeOf': {
1291
+ $exists: true,
1292
+ $eq: factory.service.paymentService.PaymentServiceType.MovieTicket
1293
+ },
1294
+ actionStatus: { $eq: actionStatus },
1295
+ ...(typeof params.project?.id?.$ne === 'string')
1301
1296
  ? { 'project.id': { $ne: params.project.id.$ne } }
1302
- : undefined);
1303
- return this.agggregateByStatus({ matchConditions, actionStatus });
1304
- })));
1305
- return { statuses };
1306
- });
1297
+ : undefined
1298
+ };
1299
+ return this.agggregateByStatus({ matchConditions, actionStatus });
1300
+ }));
1301
+ return { statuses };
1307
1302
  }
1308
- aggregatePayMovieTicketAction(params) {
1309
- return __awaiter(this, void 0, void 0, function* () {
1310
- const statuses = yield Promise.all([
1311
- factory.actionStatusType.CompletedActionStatus,
1312
- factory.actionStatusType.CanceledActionStatus,
1313
- factory.actionStatusType.FailedActionStatus
1314
- ].map((actionStatus) => __awaiter(this, void 0, void 0, function* () {
1315
- var _a, _b;
1316
- const matchConditions = Object.assign({ startDate: {
1317
- $gte: params.startFrom,
1318
- $lte: params.startThrough
1319
- }, typeOf: { $eq: factory.actionType.PayAction }, 'object.typeOf': {
1320
- $exists: true,
1321
- $eq: factory.service.paymentService.PaymentServiceType.MovieTicket
1322
- }, actionStatus: { $eq: actionStatus } }, (typeof ((_b = (_a = params.project) === null || _a === void 0 ? void 0 : _a.id) === null || _b === void 0 ? void 0 : _b.$ne) === 'string')
1303
+ async aggregatePayMovieTicketAction(params) {
1304
+ const statuses = await Promise.all([
1305
+ factory.actionStatusType.CompletedActionStatus,
1306
+ factory.actionStatusType.CanceledActionStatus,
1307
+ factory.actionStatusType.FailedActionStatus
1308
+ ].map(async (actionStatus) => {
1309
+ const matchConditions = {
1310
+ startDate: {
1311
+ $gte: params.startFrom,
1312
+ $lte: params.startThrough
1313
+ },
1314
+ typeOf: { $eq: factory.actionType.PayAction },
1315
+ 'object.typeOf': {
1316
+ $exists: true,
1317
+ $eq: factory.service.paymentService.PaymentServiceType.MovieTicket
1318
+ },
1319
+ actionStatus: { $eq: actionStatus },
1320
+ ...(typeof params.project?.id?.$ne === 'string')
1323
1321
  ? { 'project.id': { $ne: params.project.id.$ne } }
1324
- : undefined);
1325
- return this.agggregateByStatus({ matchConditions, actionStatus });
1326
- })));
1327
- return { statuses };
1328
- });
1322
+ : undefined
1323
+ };
1324
+ return this.agggregateByStatus({ matchConditions, actionStatus });
1325
+ }));
1326
+ return { statuses };
1329
1327
  }
1330
1328
  getCursor(conditions, projection) {
1331
1329
  return this.actionModel.find(conditions, projection)
1332
1330
  .sort({ startDate: factory.sortType.Descending })
1333
1331
  .cursor();
1334
1332
  }
1335
- unsetUnnecessaryFields(params) {
1336
- return __awaiter(this, void 0, void 0, function* () {
1337
- return this.actionModel.updateMany(params.filter, { $unset: params.$unset }, { timestamps: false })
1338
- .exec();
1339
- });
1333
+ async unsetUnnecessaryFields(params) {
1334
+ return this.actionModel.updateMany(params.filter, { $unset: params.$unset }, { timestamps: false })
1335
+ .exec();
1340
1336
  }
1341
- // tslint:disable-next-line:max-func-body-length
1342
- agggregateByStatus(params) {
1343
- return __awaiter(this, void 0, void 0, function* () {
1344
- const aggregations = yield this.actionModel.aggregate([
1345
- { $match: params.matchConditions },
1346
- {
1347
- $project: {
1348
- duration: { $subtract: ['$endDate', '$startDate'] },
1349
- actionStatus: '$actionStatus',
1350
- startDate: '$startDate',
1351
- endDate: '$endDate',
1352
- typeOf: '$typeOf'
1353
- }
1354
- },
1355
- {
1356
- $group: {
1357
- _id: '$typeOf',
1358
- actionCount: { $sum: 1 },
1359
- maxDuration: { $max: '$duration' },
1360
- minDuration: { $min: '$duration' },
1361
- avgDuration: { $avg: '$duration' }
1362
- }
1363
- },
1364
- {
1365
- $project: {
1366
- _id: 0,
1367
- actionCount: '$actionCount',
1368
- avgDuration: '$avgDuration',
1369
- maxDuration: '$maxDuration',
1370
- minDuration: '$minDuration'
1371
- }
1337
+ async agggregateByStatus(params) {
1338
+ const aggregations = await this.actionModel.aggregate([
1339
+ { $match: params.matchConditions },
1340
+ {
1341
+ $project: {
1342
+ duration: { $subtract: ['$endDate', '$startDate'] },
1343
+ actionStatus: '$actionStatus',
1344
+ startDate: '$startDate',
1345
+ endDate: '$endDate',
1346
+ typeOf: '$typeOf'
1372
1347
  }
1373
- ])
1374
- .exec();
1375
- // tslint:disable-next-line:no-magic-numbers
1376
- const percents = [50, 95, 99];
1377
- if (aggregations.length === 0) {
1378
- return {
1379
- status: params.actionStatus,
1380
- aggregation: {
1381
- actionCount: 0,
1382
- avgDuration: 0,
1383
- maxDuration: 0,
1384
- minDuration: 0,
1385
- percentilesDuration: percents.map((percent) => {
1386
- return {
1387
- name: String(percent),
1388
- value: 0
1389
- };
1390
- })
1391
- }
1392
- };
1393
- }
1394
- const ranks4percentile = percents.map((percentile) => {
1395
- return {
1396
- percentile,
1397
- // tslint:disable-next-line:no-magic-numbers
1398
- rank: Math.floor(aggregations[0].actionCount * percentile / 100)
1399
- };
1400
- });
1401
- const aggregations2 = yield this.actionModel.aggregate([
1402
- {
1403
- $match: params.matchConditions
1404
- },
1405
- {
1406
- $project: {
1407
- duration: { $subtract: ['$endDate', '$startDate'] },
1408
- actionStatus: '$actionStatus',
1409
- startDate: '$startDate',
1410
- endDate: '$endDate',
1411
- typeOf: '$typeOf'
1412
- }
1413
- },
1414
- { $sort: { duration: 1 } },
1415
- {
1416
- $group: {
1417
- _id: '$typeOf',
1418
- durations: { $push: '$duration' }
1419
- }
1420
- },
1421
- {
1422
- $project: {
1423
- _id: 0,
1424
- avgSmallDuration: '$avgSmallDuration',
1425
- avgMediumDuration: '$avgMediumDuration',
1426
- avgLargeDuration: '$avgLargeDuration',
1427
- percentilesDuration: ranks4percentile.map((rank) => {
1428
- return {
1429
- name: String(rank.percentile),
1430
- value: { $arrayElemAt: ['$durations', rank.rank] }
1431
- };
1432
- })
1433
- }
1348
+ },
1349
+ {
1350
+ $group: {
1351
+ _id: '$typeOf',
1352
+ actionCount: { $sum: 1 },
1353
+ maxDuration: { $max: '$duration' },
1354
+ minDuration: { $min: '$duration' },
1355
+ avgDuration: { $avg: '$duration' }
1434
1356
  }
1435
- ])
1436
- .exec();
1357
+ },
1358
+ {
1359
+ $project: {
1360
+ _id: 0,
1361
+ actionCount: '$actionCount',
1362
+ avgDuration: '$avgDuration',
1363
+ maxDuration: '$maxDuration',
1364
+ minDuration: '$minDuration'
1365
+ }
1366
+ }
1367
+ ])
1368
+ .exec();
1369
+ const percents = [50, 95, 99];
1370
+ if (aggregations.length === 0) {
1437
1371
  return {
1438
1372
  status: params.actionStatus,
1439
- aggregation: Object.assign(Object.assign({}, aggregations[0]), aggregations2[0])
1440
- };
1441
- });
1442
- }
1443
- upsertRecipe(savingRecipe) {
1444
- return __awaiter(this, void 0, void 0, function* () {
1445
- const dateModified = new Date();
1446
- const { typeOf, project, recipeCategory, recipeFor, step } = savingRecipe;
1447
- const filter = {
1448
- 'recipeFor.id': { $eq: recipeFor.id }
1449
- };
1450
- const setOnInsert = {
1451
- project, typeOf, recipeCategory, recipeFor,
1452
- dateCreated: dateModified
1373
+ aggregation: {
1374
+ actionCount: 0,
1375
+ avgDuration: 0,
1376
+ maxDuration: 0,
1377
+ minDuration: 0,
1378
+ percentilesDuration: percents.map((percent) => {
1379
+ return {
1380
+ name: String(percent),
1381
+ value: 0
1382
+ };
1383
+ })
1384
+ }
1453
1385
  };
1454
- const setKeys = { step, dateModified };
1455
- const update = {
1456
- $setOnInsert: setOnInsert,
1457
- $set: setKeys
1386
+ }
1387
+ const ranks4percentile = percents.map((percentile) => {
1388
+ return {
1389
+ percentile,
1390
+ rank: Math.floor(aggregations[0].actionCount * percentile / 100)
1458
1391
  };
1459
- return this.actionRecipeModel.updateOne(filter, update, {
1460
- upsert: true,
1461
- includeResultMetadata: true
1462
- })
1463
- .exec();
1464
1392
  });
1393
+ const aggregations2 = await this.actionModel.aggregate([
1394
+ {
1395
+ $match: params.matchConditions
1396
+ },
1397
+ {
1398
+ $project: {
1399
+ duration: { $subtract: ['$endDate', '$startDate'] },
1400
+ actionStatus: '$actionStatus',
1401
+ startDate: '$startDate',
1402
+ endDate: '$endDate',
1403
+ typeOf: '$typeOf'
1404
+ }
1405
+ },
1406
+ { $sort: { duration: 1 } },
1407
+ {
1408
+ $group: {
1409
+ _id: '$typeOf',
1410
+ durations: { $push: '$duration' }
1411
+ }
1412
+ },
1413
+ {
1414
+ $project: {
1415
+ _id: 0,
1416
+ avgSmallDuration: '$avgSmallDuration',
1417
+ avgMediumDuration: '$avgMediumDuration',
1418
+ avgLargeDuration: '$avgLargeDuration',
1419
+ percentilesDuration: ranks4percentile.map((rank) => {
1420
+ return {
1421
+ name: String(rank.percentile),
1422
+ value: { $arrayElemAt: ['$durations', rank.rank] }
1423
+ };
1424
+ })
1425
+ }
1426
+ }
1427
+ ])
1428
+ .exec();
1429
+ return {
1430
+ status: params.actionStatus,
1431
+ aggregation: {
1432
+ ...aggregations[0],
1433
+ ...aggregations2[0]
1434
+ }
1435
+ };
1436
+ }
1437
+ async upsertRecipe(savingRecipe) {
1438
+ const dateModified = new Date();
1439
+ const { typeOf, project, recipeCategory, recipeFor, step } = savingRecipe;
1440
+ const filter = {
1441
+ 'recipeFor.id': { $eq: recipeFor.id }
1442
+ };
1443
+ const setOnInsert = {
1444
+ project, typeOf, recipeCategory, recipeFor,
1445
+ dateCreated: dateModified
1446
+ };
1447
+ const setKeys = { step, dateModified };
1448
+ const update = {
1449
+ $setOnInsert: setOnInsert,
1450
+ $set: setKeys
1451
+ };
1452
+ return this.actionRecipeModel.updateOne(filter, update, {
1453
+ upsert: true,
1454
+ includeResultMetadata: true
1455
+ })
1456
+ .exec();
1465
1457
  }
1466
1458
  }
1467
1459
  exports.ActionRepo = ActionRepo;