@chevre/domain 23.2.0-alpha.8 → 23.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (763) hide show
  1. package/example/src/chevre/acceptedPaymentMethodOffer/adminAcceptedPaymentMethodOffers.ts +27 -19
  2. package/example/src/chevre/actions/checkAcceptPayActions.ts +2 -2
  3. package/example/src/chevre/actions/checkAuthorizePaymentActions.ts +2 -2
  4. package/example/src/chevre/activateOptionalAggregationSettings.ts +1 -1
  5. package/example/src/chevre/adminIdentities.ts +1 -1
  6. package/example/src/chevre/aggreateOwnershipInfosByOrder.ts +1 -1
  7. package/example/src/chevre/aggregateEventPublicFields.ts +2 -2
  8. package/example/src/chevre/aggregateOfferCatalogItemList.ts +1 -1
  9. package/example/src/chevre/aggregateScreeningEventMaxVersion.ts +1 -1
  10. package/example/src/chevre/aggregation/aggregateOffersOnEvent.ts +1 -1
  11. package/example/src/chevre/aggregation/aggregateOrderOfCustomer.ts +2 -2
  12. package/example/src/chevre/aggregation/aggregateOrderOfCustomerGlobally.ts +2 -2
  13. package/example/src/chevre/aggregation/aggregateOrderOfSeatByRoyalCustomers.ts +2 -2
  14. package/example/src/chevre/aggregation/aggregateOrderOnSystem.ts +2 -2
  15. package/example/src/chevre/aggregation/aggregateReservationByProject.ts +2 -2
  16. package/example/src/chevre/aggregation/aggregateSystem.ts +1 -1
  17. package/example/src/chevre/aggregation/aggregateTasks.ts +2 -2
  18. package/example/src/chevre/aggregation/createAggregateEventTasks.ts +2 -2
  19. package/example/src/chevre/aggregation/searchAggregateReservations.ts +1 -1
  20. package/example/src/chevre/assetTransaction/checkPayTransactionsTicketToken.ts +2 -2
  21. package/example/src/chevre/assetTransaction/processReserve.ts +2 -2
  22. package/example/src/chevre/attendIfNotAttended.ts +1 -1
  23. package/example/src/chevre/authorizeEventServiceOffer.ts +1 -1
  24. package/example/src/chevre/categoryCode/checkUniqueness.ts +1 -1
  25. package/example/src/chevre/changeOrderStatus.ts +1 -1
  26. package/example/src/chevre/checkCustomerAttributesLength.ts +2 -2
  27. package/example/src/chevre/checkEventDuration.ts +2 -2
  28. package/example/src/chevre/checkPaymentServiceUniqueness.ts +1 -1
  29. package/example/src/chevre/checkProjectMembers.ts +1 -1
  30. package/example/src/chevre/checkReserveTransactionSizes.ts +2 -2
  31. package/example/src/chevre/cleanActions.ts +2 -2
  32. package/example/src/chevre/cleanReservations.ts +2 -2
  33. package/example/src/chevre/cleanTransactions.ts +2 -2
  34. package/example/src/chevre/confirmationNumber/testRandomness.ts +49 -0
  35. package/example/src/chevre/countPotentiallyExportTasks.ts +2 -2
  36. package/example/src/chevre/countTransactions.ts +1 -1
  37. package/example/src/chevre/createProject.ts +1 -1
  38. package/example/src/chevre/createTaskIfNotExistByAlternateName.ts +1 -1
  39. package/example/src/chevre/db/stats.ts +1 -1
  40. package/example/src/chevre/deleteDiscontinuedPeople.ts +2 -2
  41. package/example/src/chevre/deleteDiscontinuedPeopleByFetch.ts +1 -1
  42. package/example/src/chevre/deleteOwnershipInfosByOwnedThrough.ts +2 -2
  43. package/example/src/chevre/deleteStartDatePassedCertainPeriod.ts +2 -2
  44. package/example/src/chevre/deleteTasksByName.ts +2 -2
  45. package/example/src/chevre/emailMessage/createEmailMessageText.ts +63 -0
  46. package/example/src/chevre/event/checkEventAdditionalPropertyUniqueness.ts +2 -2
  47. package/example/src/chevre/event/importEventSeriesFromCOAByTitle.ts +1 -1
  48. package/example/src/chevre/event/importEventsFromCOAByTitle.ts +4 -4
  49. package/example/src/chevre/event/migrateEventAdditionalProperty2identifier.ts +2 -2
  50. package/example/src/chevre/event/migrateEventMaximumPhysicalAttendeeCapacity.ts +1 -1
  51. package/example/src/chevre/event/unsetSuperEventVideoFormat.ts +30 -0
  52. package/example/src/chevre/event/updateSellerMakesOffersByIdentifier.ts +2 -2
  53. package/example/src/chevre/eventSeries/unsetVideoFormat.ts +31 -0
  54. package/example/src/chevre/eventSeries/upsertScreeningEventSeriesByVersion.ts +106 -0
  55. package/example/src/chevre/findAnyEventById.ts +1 -1
  56. package/example/src/chevre/findAuthorizePaymentAction.ts +1 -1
  57. package/example/src/chevre/findAvailableChannelMovieTicket.ts +1 -1
  58. package/example/src/chevre/findCheckAction.ts +1 -1
  59. package/example/src/chevre/findCustomerByOrderNumber.ts +1 -1
  60. package/example/src/chevre/findItemListElementByCatalogId.ts +1 -1
  61. package/example/src/chevre/findItemListElementById.ts +1 -1
  62. package/example/src/chevre/findJWTSetting.ts +1 -1
  63. package/example/src/chevre/findOneAvailableHours.ts +2 -2
  64. package/example/src/chevre/findReservationByCode.ts +1 -1
  65. package/example/src/chevre/findSchedule.ts +1 -1
  66. package/example/src/chevre/giveUpStartDatePassedCertainPeriod.ts +2 -2
  67. package/example/src/chevre/identity/getCommonClients.ts +1 -1
  68. package/example/src/chevre/identity/migrateClients2oauth.ts +1 -1
  69. package/example/src/chevre/importCategoryCodesFromCOA.ts +1 -1
  70. package/example/src/chevre/importEventsFromCOA.ts +2 -2
  71. package/example/src/chevre/investigateEvents.ts +1 -1
  72. package/example/src/chevre/investigateTransaction.ts +2 -2
  73. package/example/src/chevre/isPaymentAcceptedBySeller.ts +1 -1
  74. package/example/src/chevre/issuer/adminMemberProgramTiers.ts +1 -1
  75. package/example/src/chevre/issuer/migrateIssuerUrls.ts +1 -1
  76. package/example/src/chevre/issuer/renameIssuerIdentifier.ts +1 -1
  77. package/example/src/chevre/maintenance/checkTransactionStatuses.ts +1 -1
  78. package/example/src/chevre/makeExpiredManyTasks.ts +1 -1
  79. package/example/src/chevre/makeTransactionExpired.ts +2 -2
  80. package/example/src/chevre/member/migrateMemberIdentifier.ts +2 -2
  81. package/example/src/chevre/migrateAuthorizeEventServiceOfferChevre.ts +1 -1
  82. package/example/src/chevre/migrateCancelReservationObject.ts +1 -1
  83. package/example/src/chevre/migrateCustomerAdditionalProperties.ts +2 -2
  84. package/example/src/chevre/migrateEventSellerMakesOfferAvailableAt.ts +2 -2
  85. package/example/src/chevre/migrateIdentities.ts +1 -1
  86. package/example/src/chevre/migrateProjectSettings.ts +1 -1
  87. package/example/src/chevre/migrateRoomAdditionalProperties.ts +2 -2
  88. package/example/src/chevre/migrateRoomSectionAdditionalProperties.ts +2 -2
  89. package/example/src/chevre/note/findNotes.ts +1 -1
  90. package/example/src/chevre/note/upsertNotesByIdentifier.ts +1 -1
  91. package/example/src/chevre/notifyAbortedTasksByEmail.ts +2 -2
  92. package/example/src/chevre/notifyByEmail.ts +1 -1
  93. package/example/src/chevre/offerCatalog/updateManyOfferCatalogsByIds.ts +1 -1
  94. package/example/src/chevre/{upsertOfferCatalogItemsByIdentifier.ts → offerCatalog/upsertOfferCatalogItemsByIdentifier.ts} +7 -4
  95. package/example/src/chevre/{upsertOfferCatalogsByIdentifier.ts → offerCatalog/upsertOfferCatalogsByIdentifier.ts} +9 -4
  96. package/example/src/chevre/offers/checkIncludedInCatalogCount.ts +1 -1
  97. package/example/src/chevre/offers/projectItemListElement.ts +1 -1
  98. package/example/src/chevre/offers/searchAvaialbleAppliesToMovieTicketByOfferCatalogId.ts +1 -1
  99. package/example/src/chevre/offers/searchByOfferCatalogIdWithSortIndex.ts +1 -1
  100. package/example/src/chevre/offers/searchOfferCatalogItemAvailability.ts +1 -1
  101. package/example/src/chevre/{upsertOffersByIdentifier.ts → offers/upsertOffersByIdentifier.ts} +6 -4
  102. package/example/src/chevre/optimizeActions.ts +2 -2
  103. package/example/src/chevre/orderNumber/testRandomness.ts +54 -0
  104. package/example/src/chevre/orders/searchOrders.ts +1 -1
  105. package/example/src/chevre/orders/searchWithUnwoundAcceptedOffers.ts +1 -1
  106. package/example/src/chevre/pendingReservation/findEventSeatOffersBySection.ts +1 -1
  107. package/example/src/chevre/person/checkUserPoolClients.ts +1 -1
  108. package/example/src/chevre/person/cleanUpCognitoUsers.ts +2 -2
  109. package/example/src/chevre/person/cleanUpCognitoUsersByFetch.ts +2 -2
  110. package/example/src/chevre/person/cleanUpCreditCard.ts +1 -1
  111. package/example/src/chevre/place/adminEntranceGates.ts +69 -0
  112. package/example/src/chevre/place/adminHasPOS.ts +1 -1
  113. package/example/src/chevre/place/aggregateSeatingTypes.ts +1 -1
  114. package/example/src/chevre/place/checkEntranceGatesCount.ts +82 -0
  115. package/example/src/chevre/place/checkSectionCount.ts +1 -1
  116. package/example/src/chevre/place/findRooms.ts +24 -0
  117. package/example/src/chevre/place/findSections.ts +28 -0
  118. package/example/src/chevre/place/findSectionsByRoom.ts +1 -1
  119. package/example/src/chevre/place/migrateSectionIdentifier.ts +2 -2
  120. package/example/src/chevre/place/seatsJson2csv.ts +63 -0
  121. package/example/src/chevre/place/upsertMovieTheatersByBranchCode.ts +41 -0
  122. package/example/src/chevre/place/upsertRoomsByBranchCode.ts +40 -0
  123. package/example/src/chevre/place/upsertSeatSectionsByBranchCode.ts +56 -0
  124. package/example/src/chevre/processAction.ts +1 -1
  125. package/example/src/chevre/processOrder.ts +2 -2
  126. package/example/src/chevre/product/findHasOfferCatalog.ts +1 -1
  127. package/example/src/chevre/productOffer/publishMemberTierToken.ts +1 -1
  128. package/example/src/chevre/project/unsetProjectSettings.ts +1 -1
  129. package/example/src/chevre/projectEventFieldsById.ts +1 -1
  130. package/example/src/chevre/projectFields.ts +1 -1
  131. package/example/src/chevre/projectFieldsById.ts +1 -1
  132. package/example/src/chevre/projectOwnershipInfoFieldsById.ts +1 -1
  133. package/example/src/chevre/pushIncludedInDataCatalog.ts +1 -1
  134. package/example/src/chevre/reExportAction.ts +2 -2
  135. package/example/src/chevre/reIndex.ts +2 -2
  136. package/example/src/chevre/recreateRefundTasks.ts +2 -2
  137. package/example/src/chevre/roles/{addAdminSeatReadPermissionIfNotExists.ts → addAdminAcceptedPaymentMethodReadPermissionIfNotExists.ts} +2 -2
  138. package/example/src/chevre/roles/{addAdminSeatWritePermissionIfNotExists.ts → addAdminAcceptedPaymentMethodWritePermissionIfNotExists.ts} +2 -2
  139. package/example/src/chevre/roles/addAdminEventSeriesReadPermissionIfNotExists.ts +1 -1
  140. package/example/src/chevre/roles/addAdminMovieReadPermissionIfNotExists.ts +1 -1
  141. package/example/src/chevre/roles/addAdminNotePermissionIfNotExists.ts +1 -1
  142. package/example/src/chevre/roles/addAdminPaymentServiceReadPermissionIfNotExists.ts +1 -1
  143. package/example/src/chevre/roles/addAdminProductHasOfferCatalogReadPermissionIfNotExists.ts +1 -1
  144. package/example/src/chevre/roles/addAdminRoomReadPermissionIfNotExists.ts +34 -0
  145. package/example/src/chevre/roles/addAdminRoomWritePermissionIfNotExists.ts +34 -0
  146. package/example/src/chevre/roles/addAdminSellerEventOfferIfNotExists.ts +1 -1
  147. package/example/src/chevre/roles/addProjectCreatorRole.ts +1 -1
  148. package/example/src/chevre/roles/assignGlobalRoles.ts +1 -1
  149. package/example/src/chevre/roles/findPermissions.ts +2 -2
  150. package/example/src/chevre/roles/findRoleNames.ts +2 -2
  151. package/example/src/chevre/roles/removeConsolePermissionIfExists.ts +1 -1
  152. package/example/src/chevre/roles/removePermissionFromAPIRoles.ts +1 -1
  153. package/example/src/chevre/roles/removePermissionIfExists.ts +1 -1
  154. package/example/src/chevre/saveOfferCatalogItem.ts +1 -1
  155. package/example/src/chevre/saveWebSite.ts +1 -1
  156. package/example/src/chevre/searchAcceptedOfferIds.ts +1 -1
  157. package/example/src/chevre/searchActionsByPurpose.ts +1 -1
  158. package/example/src/chevre/searchAggregateOffers.ts +1 -1
  159. package/example/src/chevre/searchAggregations.ts +1 -1
  160. package/example/src/chevre/searchAuthorizations.ts +1 -1
  161. package/example/src/chevre/searchCheckMovieTicketResultYkknInfo.ts +1 -1
  162. package/example/src/chevre/searchEventHasOfferCatalog.ts +1 -1
  163. package/example/src/chevre/searchIdsByReservationNumber.ts +1 -1
  164. package/example/src/chevre/searchOfferCatalogItemListElement.ts +1 -1
  165. package/example/src/chevre/searchOffers.ts +1 -1
  166. package/example/src/chevre/searchProducts.ts +1 -1
  167. package/example/src/chevre/searchProjects.ts +1 -1
  168. package/example/src/chevre/searchReservationsByOrder.ts +1 -1
  169. package/example/src/chevre/searchSellersByAggregate.ts +1 -1
  170. package/example/src/chevre/searchSlicedAcceptedOffersByOrderNumber.ts +1 -1
  171. package/example/src/chevre/seller/adminMakesOffer.ts +1 -1
  172. package/example/src/chevre/sendEmailMessage.ts +1 -1
  173. package/example/src/chevre/settings/addOrderNumberSetting.ts +44 -0
  174. package/example/src/chevre/settings/addTransactionNumberSetting.ts +40 -0
  175. package/example/src/chevre/stockHolder/findSeatsBySection.ts +1 -1
  176. package/example/src/chevre/stockHolder/getSize.ts +2 -2
  177. package/example/src/chevre/stockHolder/projectPendingReservation.ts +1 -1
  178. package/example/src/chevre/stockHolder/searchSeats.ts +1 -1
  179. package/example/src/chevre/task/countPotentiallyRunning.ts +1 -1
  180. package/example/src/chevre/task/countTasks.ts +1 -1
  181. package/example/src/chevre/task/deleteRunsAtPassedCertainPeriod.ts +2 -2
  182. package/example/src/chevre/task/deleteUnexpectedTasks.ts +1 -1
  183. package/example/src/chevre/task/emitRunning.ts +2 -2
  184. package/example/src/chevre/transaction/processPlaceOrder.ts +1 -1
  185. package/example/src/chevre/transaction/processReturnOrder.ts +1 -1
  186. package/example/src/chevre/transaction/startExportTasks.ts +1 -1
  187. package/example/src/chevre/transactionNumber/publishByTimestamp.ts +23 -0
  188. package/example/src/chevre/transactionNumber/testRandomness.ts +42 -0
  189. package/example/src/chevre/unsetUnnecessaryFields.ts +10 -6
  190. package/example/src/chevre/updateEventPartiallyById.ts +1 -1
  191. package/example/src/chevre/updateProjectAggregateReservation.ts +1 -1
  192. package/example/src/chevre/validateCheckMovieTicketActions.ts +2 -2
  193. package/example/src/duration.ts +1 -1
  194. package/example/src/moment.ts +1 -1
  195. package/example/src/mongoConnectionList.ts +1 -1
  196. package/example/src/objectId.ts +1 -1
  197. package/lib/chevre/credentials/customSearch.js +2 -0
  198. package/lib/chevre/credentials/lineNotify.js +4 -0
  199. package/lib/chevre/credentials/sendGrid.js +2 -0
  200. package/lib/chevre/credentials.js +37 -29
  201. package/lib/chevre/emailMessageBuilder.js +250 -251
  202. package/lib/chevre/errorHandler.js +60 -58
  203. package/lib/chevre/eventEmitter/assetTransaction.js +0 -1
  204. package/lib/chevre/eventEmitter/task.js +0 -1
  205. package/lib/chevre/eventEmitter/transaction.js +0 -1
  206. package/lib/chevre/eventEmitter.js +24 -1
  207. package/lib/chevre/factory/accountTransactionIdentifier.js +24 -1
  208. package/lib/chevre/factory/availableProductTypes.js +24 -1
  209. package/lib/chevre/factory/event.d.ts +1 -1
  210. package/lib/chevre/factory/event.js +93 -37
  211. package/lib/chevre/factory/taskIdentifier.js +25 -2
  212. package/lib/chevre/factory/transactionNumber.d.ts +19 -0
  213. package/lib/chevre/factory/transactionNumber.js +80 -0
  214. package/lib/chevre/index.js +43 -35
  215. package/lib/chevre/repo/acceptedOffer.js +200 -197
  216. package/lib/chevre/repo/acceptedPaymentMethod.d.ts +41 -8
  217. package/lib/chevre/repo/acceptedPaymentMethod.js +163 -108
  218. package/lib/chevre/repo/account.js +217 -238
  219. package/lib/chevre/repo/accountTitle.js +32 -21
  220. package/lib/chevre/repo/accountTransaction.js +213 -194
  221. package/lib/chevre/repo/accountingReport.js +111 -107
  222. package/lib/chevre/repo/action.js +875 -883
  223. package/lib/chevre/repo/additionalProperty.js +87 -92
  224. package/lib/chevre/repo/advanceBookingRequirement.js +92 -91
  225. package/lib/chevre/repo/aggregateOffer.d.ts +6 -1
  226. package/lib/chevre/repo/aggregateOffer.js +419 -423
  227. package/lib/chevre/repo/aggregateOrder.js +73 -155
  228. package/lib/chevre/repo/aggregateReservation.d.ts +0 -1
  229. package/lib/chevre/repo/aggregateReservation.js +99 -91
  230. package/lib/chevre/repo/aggregation.js +65 -63
  231. package/lib/chevre/repo/assetTransaction.js +719 -730
  232. package/lib/chevre/repo/authorization.js +143 -136
  233. package/lib/chevre/repo/categoryCode.js +137 -147
  234. package/lib/chevre/repo/comment.js +96 -82
  235. package/lib/chevre/repo/concurrentLock.js +40 -29
  236. package/lib/chevre/repo/confirmationNumber.d.ts +1 -0
  237. package/lib/chevre/repo/confirmationNumber.js +48 -54
  238. package/lib/chevre/repo/creativeWork.js +175 -180
  239. package/lib/chevre/repo/credentials.js +39 -51
  240. package/lib/chevre/repo/customer.js +87 -88
  241. package/lib/chevre/repo/customerType.js +52 -62
  242. package/lib/chevre/repo/emailMessage.js +74 -80
  243. package/lib/chevre/repo/event.d.ts +3 -18
  244. package/lib/chevre/repo/event.js +734 -744
  245. package/lib/chevre/repo/eventOffer.d.ts +8 -0
  246. package/lib/chevre/repo/eventOffer.js +149 -118
  247. package/lib/chevre/repo/eventSellerMakesOffer.js +87 -76
  248. package/lib/chevre/repo/eventSeries.d.ts +17 -30
  249. package/lib/chevre/repo/eventSeries.js +391 -347
  250. package/lib/chevre/repo/identity.js +117 -107
  251. package/lib/chevre/repo/identityProvider.js +95 -96
  252. package/lib/chevre/repo/issuer.js +125 -135
  253. package/lib/chevre/repo/member.js +261 -259
  254. package/lib/chevre/repo/memberProgram.js +180 -177
  255. package/lib/chevre/repo/merchantReturnPolicy.js +84 -94
  256. package/lib/chevre/repo/message.js +145 -135
  257. package/lib/chevre/repo/mongoose/onIndexCreated.js +0 -1
  258. package/lib/chevre/repo/mongoose/schemas/acceptedPaymentMethod.js +1 -1
  259. package/lib/chevre/repo/mongoose/schemas/account.js +1 -1
  260. package/lib/chevre/repo/mongoose/schemas/accountTitle.js +1 -1
  261. package/lib/chevre/repo/mongoose/schemas/accountTransaction.js +1 -1
  262. package/lib/chevre/repo/mongoose/schemas/accountingReport.js +1 -1
  263. package/lib/chevre/repo/mongoose/schemas/action.js +1 -1
  264. package/lib/chevre/repo/mongoose/schemas/actionRecipe.js +1 -1
  265. package/lib/chevre/repo/mongoose/schemas/additionalProperty.js +1 -1
  266. package/lib/chevre/repo/mongoose/schemas/advanceBookingRequirement.js +1 -1
  267. package/lib/chevre/repo/mongoose/schemas/aggregateOffer.js +1 -1
  268. package/lib/chevre/repo/mongoose/schemas/aggregateOrder.js +1 -1
  269. package/lib/chevre/repo/mongoose/schemas/aggregateReservation.js +1 -2
  270. package/lib/chevre/repo/mongoose/schemas/aggregation.js +1 -1
  271. package/lib/chevre/repo/mongoose/schemas/assetTransaction.js +1 -1
  272. package/lib/chevre/repo/mongoose/schemas/authorization.js +1 -1
  273. package/lib/chevre/repo/mongoose/schemas/categoryCode.js +1 -1
  274. package/lib/chevre/repo/mongoose/schemas/civicStructure.js +1 -1
  275. package/lib/chevre/repo/mongoose/schemas/creativeWork.js +1 -1
  276. package/lib/chevre/repo/mongoose/schemas/customer.js +1 -1
  277. package/lib/chevre/repo/mongoose/schemas/customerType.js +1 -1
  278. package/lib/chevre/repo/mongoose/schemas/event.js +1 -1
  279. package/lib/chevre/repo/mongoose/schemas/eventOffer.js +1 -1
  280. package/lib/chevre/repo/mongoose/schemas/eventSeries.js +45 -7
  281. package/lib/chevre/repo/mongoose/schemas/identity.js +1 -1
  282. package/lib/chevre/repo/mongoose/schemas/identityProvider.js +1 -1
  283. package/lib/chevre/repo/mongoose/schemas/issuer.js +1 -1
  284. package/lib/chevre/repo/mongoose/schemas/member/global.js +1 -1
  285. package/lib/chevre/repo/mongoose/schemas/member.js +25 -2
  286. package/lib/chevre/repo/mongoose/schemas/merchantReturnPolicy.js +1 -1
  287. package/lib/chevre/repo/mongoose/schemas/message.js +1 -1
  288. package/lib/chevre/repo/mongoose/schemas/movieTicketTypes.js +1 -1
  289. package/lib/chevre/repo/mongoose/schemas/note.js +1 -1
  290. package/lib/chevre/repo/mongoose/schemas/offerCatalog.js +3 -9
  291. package/lib/chevre/repo/mongoose/schemas/offerCatalogItem.js +29 -3
  292. package/lib/chevre/repo/mongoose/schemas/offerItemCondition.js +1 -1
  293. package/lib/chevre/repo/mongoose/schemas/order.js +1 -1
  294. package/lib/chevre/repo/mongoose/schemas/paymentService.js +1 -1
  295. package/lib/chevre/repo/mongoose/schemas/paymentServiceChannel.js +1 -1
  296. package/lib/chevre/repo/mongoose/schemas/pendingReservation.js +1 -1
  297. package/lib/chevre/repo/mongoose/schemas/pendingReservationAggregate.js +1 -1
  298. package/lib/chevre/repo/mongoose/schemas/place.d.ts +6 -2
  299. package/lib/chevre/repo/mongoose/schemas/place.js +1 -1
  300. package/lib/chevre/repo/mongoose/schemas/potentialAction.js +1 -1
  301. package/lib/chevre/repo/mongoose/schemas/product.js +1 -1
  302. package/lib/chevre/repo/mongoose/schemas/productModel.js +1 -1
  303. package/lib/chevre/repo/mongoose/schemas/productOffer.js +1 -1
  304. package/lib/chevre/repo/mongoose/schemas/reservation.js +1 -1
  305. package/lib/chevre/repo/mongoose/schemas/reserveInterface.js +1 -1
  306. package/lib/chevre/repo/mongoose/schemas/role.js +1 -1
  307. package/lib/chevre/repo/mongoose/schemas/schedule.js +1 -1
  308. package/lib/chevre/repo/mongoose/schemas/seller.js +1 -1
  309. package/lib/chevre/repo/mongoose/schemas/sellerReturnPolicy.js +1 -1
  310. package/lib/chevre/repo/mongoose/schemas/service/availableHour.js +1 -1
  311. package/lib/chevre/repo/mongoose/schemas/setting.d.ts +40 -0
  312. package/lib/chevre/repo/mongoose/schemas/setting.js +4 -1
  313. package/lib/chevre/repo/mongoose/schemas/task.js +1 -2
  314. package/lib/chevre/repo/mongoose/schemas/ticket.js +1 -1
  315. package/lib/chevre/repo/mongoose/schemas/transaction.js +25 -2
  316. package/lib/chevre/repo/mongoose/schemas/transactionNumber.js +1 -1
  317. package/lib/chevre/repo/mongoose/schemas/trip.js +1 -1
  318. package/lib/chevre/repo/mongoose/schemas/webSite.js +1 -1
  319. package/lib/chevre/repo/movieTicketType.js +90 -94
  320. package/lib/chevre/repo/note.js +166 -147
  321. package/lib/chevre/repo/noteAboutOrder.js +135 -113
  322. package/lib/chevre/repo/offer/unitPriceInCatalog.js +353 -314
  323. package/lib/chevre/repo/offerCatalog.d.ts +14 -1
  324. package/lib/chevre/repo/offerCatalog.js +313 -300
  325. package/lib/chevre/repo/offerCatalogItem.d.ts +10 -1
  326. package/lib/chevre/repo/offerCatalogItem.js +302 -292
  327. package/lib/chevre/repo/offerItemCondition.js +83 -85
  328. package/lib/chevre/repo/order.js +582 -607
  329. package/lib/chevre/repo/orderInTransaction.js +136 -136
  330. package/lib/chevre/repo/orderNumber.d.ts +6 -0
  331. package/lib/chevre/repo/orderNumber.js +142 -58
  332. package/lib/chevre/repo/ownershipInfo.js +236 -241
  333. package/lib/chevre/repo/passport.js +123 -106
  334. package/lib/chevre/repo/paymentMethod/creditCard.js +175 -170
  335. package/lib/chevre/repo/paymentService.js +202 -200
  336. package/lib/chevre/repo/paymentServiceChannel.js +99 -100
  337. package/lib/chevre/repo/paymentServiceProvider.js +209 -201
  338. package/lib/chevre/repo/pendingReservation.js +300 -307
  339. package/lib/chevre/repo/permit.js +70 -42
  340. package/lib/chevre/repo/person.js +240 -256
  341. package/lib/chevre/repo/place/busStop.js +99 -106
  342. package/lib/chevre/repo/place/entranceGate.d.ts +57 -0
  343. package/lib/chevre/repo/place/entranceGate.js +190 -0
  344. package/lib/chevre/repo/place/hasPOS.js +131 -120
  345. package/lib/chevre/repo/place/movieTheater.d.ts +40 -3
  346. package/lib/chevre/repo/place/movieTheater.js +220 -161
  347. package/lib/chevre/repo/place/screeningRoom.d.ts +49 -41
  348. package/lib/chevre/repo/place/screeningRoom.js +469 -345
  349. package/lib/chevre/repo/place/seat.d.ts +47 -45
  350. package/lib/chevre/repo/place/seat.js +596 -386
  351. package/lib/chevre/repo/place/section.d.ts +34 -3
  352. package/lib/chevre/repo/place/section.js +510 -292
  353. package/lib/chevre/repo/potentialAction.js +90 -87
  354. package/lib/chevre/repo/priceSpecification.js +125 -146
  355. package/lib/chevre/repo/product.js +226 -239
  356. package/lib/chevre/repo/productHasOfferCatalog.js +62 -50
  357. package/lib/chevre/repo/productModel.js +117 -127
  358. package/lib/chevre/repo/productOffer.js +142 -118
  359. package/lib/chevre/repo/project.js +146 -141
  360. package/lib/chevre/repo/projectMakesOffer.js +119 -108
  361. package/lib/chevre/repo/rateLimit/offer.js +71 -59
  362. package/lib/chevre/repo/reservation.js +392 -398
  363. package/lib/chevre/repo/reserveInterface.js +31 -42
  364. package/lib/chevre/repo/role.js +116 -112
  365. package/lib/chevre/repo/schedule.js +25 -36
  366. package/lib/chevre/repo/seller.js +137 -147
  367. package/lib/chevre/repo/sellerMakesOffer.js +118 -110
  368. package/lib/chevre/repo/sellerPaymentAccepted.js +115 -109
  369. package/lib/chevre/repo/sellerReturnPolicy.js +97 -97
  370. package/lib/chevre/repo/service/availableHour.js +27 -38
  371. package/lib/chevre/repo/serviceOutput.js +77 -67
  372. package/lib/chevre/repo/serviceOutputIdentifier.d.ts +3 -1
  373. package/lib/chevre/repo/serviceOutputIdentifier.js +80 -51
  374. package/lib/chevre/repo/setting/jwt.js +63 -50
  375. package/lib/chevre/repo/setting.d.ts +1 -1
  376. package/lib/chevre/repo/setting.js +48 -48
  377. package/lib/chevre/repo/stockHolder.js +202 -199
  378. package/lib/chevre/repo/task.d.ts +1 -1
  379. package/lib/chevre/repo/task.js +636 -619
  380. package/lib/chevre/repo/telemetry.js +1 -0
  381. package/lib/chevre/repo/ticket.js +75 -65
  382. package/lib/chevre/repo/transaction.js +781 -816
  383. package/lib/chevre/repo/transactionNumber.d.ts +5 -0
  384. package/lib/chevre/repo/transactionNumber.js +100 -51
  385. package/lib/chevre/repo/transactionNumberCounter.js +91 -79
  386. package/lib/chevre/repo/transactionProcess.js +65 -50
  387. package/lib/chevre/repo/trip.js +167 -164
  388. package/lib/chevre/repo/webSite.js +114 -107
  389. package/lib/chevre/repository.d.ts +8 -0
  390. package/lib/chevre/repository.js +486 -639
  391. package/lib/chevre/service/account.js +32 -21
  392. package/lib/chevre/service/accountTransaction/deposit.js +39 -17
  393. package/lib/chevre/service/accountTransaction/factory.js +24 -1
  394. package/lib/chevre/service/accountTransaction/transfer.js +41 -22
  395. package/lib/chevre/service/accountTransaction/withdraw.js +39 -17
  396. package/lib/chevre/service/accountTransaction.js +30 -19
  397. package/lib/chevre/service/aggregation/event/aggregateOffers.js +95 -66
  398. package/lib/chevre/service/aggregation/event/aggregateScreeningEvent.js +84 -61
  399. package/lib/chevre/service/aggregation/event/findEventOffers.js +30 -17
  400. package/lib/chevre/service/aggregation/event/importFromCOA.js +11 -18
  401. package/lib/chevre/service/aggregation/project.js +48 -31
  402. package/lib/chevre/service/aggregation/system.js +256 -147
  403. package/lib/chevre/service/aggregation.js +26 -3
  404. package/lib/chevre/service/assetTransaction/cancelReservation/factory.js +55 -18
  405. package/lib/chevre/service/assetTransaction/cancelReservation/start.js +40 -24
  406. package/lib/chevre/service/assetTransaction/cancelReservation/startAndConfirm.js +40 -15
  407. package/lib/chevre/service/assetTransaction/cancelReservation.js +30 -18
  408. package/lib/chevre/service/assetTransaction/cancelReservationCOA/factory.js +35 -5
  409. package/lib/chevre/service/assetTransaction/cancelReservationCOA.js +4 -13
  410. package/lib/chevre/service/assetTransaction/fixInformAction.d.ts +3 -0
  411. package/lib/chevre/service/assetTransaction/fixInformAction.js +32 -16
  412. package/lib/chevre/service/assetTransaction/moneyTransfer/potentialActions.js +36 -25
  413. package/lib/chevre/service/assetTransaction/moneyTransfer.js +131 -94
  414. package/lib/chevre/service/assetTransaction/pay/cancel.d.ts +12 -0
  415. package/lib/chevre/service/assetTransaction/pay/cancel.js +39 -0
  416. package/lib/chevre/service/assetTransaction/pay/check.d.ts +23 -0
  417. package/lib/chevre/service/assetTransaction/pay/check.js +50 -0
  418. package/lib/chevre/service/assetTransaction/pay/confirm.d.ts +24 -0
  419. package/lib/chevre/service/assetTransaction/pay/confirm.js +92 -0
  420. package/lib/chevre/service/assetTransaction/pay/exportTasksById.d.ts +18 -0
  421. package/lib/chevre/service/assetTransaction/pay/exportTasksById.js +127 -0
  422. package/lib/chevre/service/assetTransaction/pay/publishPaymentUrl.d.ts +48 -0
  423. package/lib/chevre/service/assetTransaction/pay/publishPaymentUrl.js +186 -0
  424. package/lib/chevre/service/assetTransaction/pay/searchGMOTrade.d.ts +20 -0
  425. package/lib/chevre/service/assetTransaction/pay/searchGMOTrade.js +72 -0
  426. package/lib/chevre/service/assetTransaction/pay/{account → start/account}/validation.d.ts +2 -2
  427. package/lib/chevre/service/assetTransaction/pay/{account → start/account}/validation.js +29 -16
  428. package/lib/chevre/service/assetTransaction/pay/{factory.d.ts → start/factory.d.ts} +1 -1
  429. package/lib/chevre/service/assetTransaction/pay/{factory.js → start/factory.js} +88 -38
  430. package/lib/chevre/service/assetTransaction/pay/{validateAcceptedPaymentMethodIfNeeded.d.ts → start/preStart/validateAcceptedPaymentMethodIfNeeded.d.ts} +4 -4
  431. package/lib/chevre/service/assetTransaction/pay/{validateAcceptedPaymentMethodIfNeeded.js → start/preStart/validateAcceptedPaymentMethodIfNeeded.js} +35 -24
  432. package/lib/chevre/service/assetTransaction/pay/start/preStart/validateSeller.d.ts +8 -0
  433. package/lib/chevre/service/assetTransaction/pay/start/preStart/validateSeller.js +67 -0
  434. package/lib/chevre/service/assetTransaction/pay/start/processAuthorizeAccount.d.ts +13 -0
  435. package/lib/chevre/service/assetTransaction/pay/start/processAuthorizeAccount.js +62 -0
  436. package/lib/chevre/service/assetTransaction/pay/start/processAuthorizeCreditCard.d.ts +29 -0
  437. package/lib/chevre/service/assetTransaction/pay/start/processAuthorizeCreditCard.js +54 -0
  438. package/lib/chevre/service/assetTransaction/pay/start/processAuthorizeMovieTicket.d.ts +42 -0
  439. package/lib/chevre/service/assetTransaction/pay/start/processAuthorizeMovieTicket.js +45 -0
  440. package/lib/chevre/service/assetTransaction/pay/start.d.ts +60 -0
  441. package/lib/chevre/service/assetTransaction/pay/start.js +162 -0
  442. package/lib/chevre/service/assetTransaction/pay.d.ts +8 -170
  443. package/lib/chevre/service/assetTransaction/pay.js +16 -623
  444. package/lib/chevre/service/assetTransaction/refund/factory.js +60 -17
  445. package/lib/chevre/service/assetTransaction/refund/potentialActions.js +35 -21
  446. package/lib/chevre/service/assetTransaction/refund.js +63 -43
  447. package/lib/chevre/service/assetTransaction/registerService/factory.js +96 -33
  448. package/lib/chevre/service/assetTransaction/registerService/potentialActions.js +80 -47
  449. package/lib/chevre/service/assetTransaction/registerService.js +70 -58
  450. package/lib/chevre/service/assetTransaction/reserve/cancel.js +28 -14
  451. package/lib/chevre/service/assetTransaction/reserve/confirm/factory.js +15 -4
  452. package/lib/chevre/service/assetTransaction/reserve/confirm.js +44 -26
  453. package/lib/chevre/service/assetTransaction/reserve/exportTasksById.js +26 -13
  454. package/lib/chevre/service/assetTransaction/reserve/start/createSubReservations.js +138 -96
  455. package/lib/chevre/service/assetTransaction/reserve/start/factory/createPointAward.js +41 -13
  456. package/lib/chevre/service/assetTransaction/reserve/start/factory/createReservation.js +142 -80
  457. package/lib/chevre/service/assetTransaction/reserve/start/factory/createStartParams.js +93 -23
  458. package/lib/chevre/service/assetTransaction/reserve/start/factory/price.js +53 -21
  459. package/lib/chevre/service/assetTransaction/reserve/start.js +131 -122
  460. package/lib/chevre/service/assetTransaction/reserve/validateStartRequest/fixExtendedEventOffer.js +33 -17
  461. package/lib/chevre/service/assetTransaction/reserve/validateStartRequest/validateIssuedOfferIfExists.js +72 -59
  462. package/lib/chevre/service/assetTransaction/reserve/validateStartRequest/validateMemberTierIfExists.js +71 -59
  463. package/lib/chevre/service/assetTransaction/reserve/validateStartRequest/verifyTicketTokenAsNeeded.js +30 -19
  464. package/lib/chevre/service/assetTransaction/reserve/validateStartRequest.js +45 -31
  465. package/lib/chevre/service/assetTransaction/reserveCOA/cancel.js +47 -24
  466. package/lib/chevre/service/assetTransaction/reserveCOA/factory.js +36 -5
  467. package/lib/chevre/service/assetTransaction/reserveCOA.js +4 -13
  468. package/lib/chevre/service/assetTransaction.js +46 -27
  469. package/lib/chevre/service/delivery/factory.js +33 -8
  470. package/lib/chevre/service/delivery/product/factory.js +48 -13
  471. package/lib/chevre/service/delivery/reservation/factory.js +44 -7
  472. package/lib/chevre/service/delivery.js +78 -56
  473. package/lib/chevre/service/event/processUpdateMovieTheater.d.ts +1 -1
  474. package/lib/chevre/service/event/processUpdateMovieTheater.js +56 -36
  475. package/lib/chevre/service/event/saveScreeningEventSeries.js +98 -58
  476. package/lib/chevre/service/event/saveScreeningEvents.d.ts +2 -2
  477. package/lib/chevre/service/event/saveScreeningEvents.js +65 -50
  478. package/lib/chevre/service/event.js +70 -40
  479. package/lib/chevre/service/iam.js +8 -17
  480. package/lib/chevre/service/moneyTransfer.js +158 -116
  481. package/lib/chevre/service/notification/factory.js +42 -15
  482. package/lib/chevre/service/notification/notifyAbortedTasksByEmail.js +39 -17
  483. package/lib/chevre/service/notification/notifyByEmail.js +31 -20
  484. package/lib/chevre/service/notification/sendEmailMessage.js +47 -27
  485. package/lib/chevre/service/notification/triggerWebhook.js +82 -57
  486. package/lib/chevre/service/offer/any.js +34 -17
  487. package/lib/chevre/service/offer/event/authorize/defaultOffer.js +24 -1
  488. package/lib/chevre/service/offer/event/authorize/factory.js +173 -63
  489. package/lib/chevre/service/offer/event/authorize/processStartReserve4chevre/requestedProgramMembershipUsed2permit.js +31 -19
  490. package/lib/chevre/service/offer/event/authorize/processStartReserve4chevre.js +67 -28
  491. package/lib/chevre/service/offer/event/authorize.js +137 -71
  492. package/lib/chevre/service/offer/event/checkAvailability.js +33 -17
  493. package/lib/chevre/service/offer/event/importFromCOA/factory.js +34 -5
  494. package/lib/chevre/service/offer/event/importFromCOA.js +36 -19
  495. package/lib/chevre/service/offer/event/issueEventOfferTicket.js +66 -41
  496. package/lib/chevre/service/offer/event/searchEventTicketOffers.js +53 -42
  497. package/lib/chevre/service/offer/event/searchOfferAppliesToMovieTicket.js +38 -23
  498. package/lib/chevre/service/offer/event/searchOfferCatalogItemAvailability.js +36 -26
  499. package/lib/chevre/service/offer/event/searchOfferCatalogItems.js +38 -23
  500. package/lib/chevre/service/offer/event/searchOffersByIds.js +56 -42
  501. package/lib/chevre/service/offer/event/searchPriceSpecs4event.js +28 -14
  502. package/lib/chevre/service/offer/event/voidTransaction/processVoidTransaction4chevre.js +27 -13
  503. package/lib/chevre/service/offer/event/voidTransaction/processVoidTransaction4coa.js +6 -15
  504. package/lib/chevre/service/offer/event/voidTransaction.js +58 -41
  505. package/lib/chevre/service/offer/event/voidTransactionByActionId.js +37 -20
  506. package/lib/chevre/service/offer/eventServiceByCOA/acceptOffer/authorize.js +76 -43
  507. package/lib/chevre/service/offer/eventServiceByCOA/acceptOffer/factory.js +29 -2
  508. package/lib/chevre/service/offer/eventServiceByCOA/acceptOffer.js +57 -37
  509. package/lib/chevre/service/offer/eventServiceByCOA/authorize/factory.js +81 -30
  510. package/lib/chevre/service/offer/eventServiceByCOA/authorize/validateAcceptedOffers.js +90 -62
  511. package/lib/chevre/service/offer/eventServiceByCOA/authorize.js +44 -29
  512. package/lib/chevre/service/offer/eventServiceByCOA/authorizeByAcceptAction.js +31 -18
  513. package/lib/chevre/service/offer/eventServiceByCOA/changeOffers.js +70 -45
  514. package/lib/chevre/service/offer/eventServiceByCOA/findAcceptAction.js +45 -25
  515. package/lib/chevre/service/offer/factory.js +42 -9
  516. package/lib/chevre/service/offer/moneyTransfer/authorize.js +60 -39
  517. package/lib/chevre/service/offer/moneyTransfer/returnMoneyTransfer.js +39 -22
  518. package/lib/chevre/service/offer/moneyTransfer/settleTransaction.js +34 -20
  519. package/lib/chevre/service/offer/moneyTransfer/voidTransaction.js +38 -25
  520. package/lib/chevre/service/offer/onEventChanged.js +106 -72
  521. package/lib/chevre/service/offer/product/factory.js +83 -35
  522. package/lib/chevre/service/offer/product/searchProductOffers.js +53 -24
  523. package/lib/chevre/service/offer/product.js +130 -83
  524. package/lib/chevre/service/offer.d.ts +5 -0
  525. package/lib/chevre/service/offer.js +111 -57
  526. package/lib/chevre/service/order/confirmPayTransaction.js +52 -28
  527. package/lib/chevre/service/order/createAccountingReportIfNotExist.js +81 -42
  528. package/lib/chevre/service/order/deleteOrder.js +51 -36
  529. package/lib/chevre/service/order/findPlaceOrderTransaction.js +26 -12
  530. package/lib/chevre/service/order/onAssetTransactionStatusChanged.js +92 -72
  531. package/lib/chevre/service/order/onOrderStatusChanged/onOrderCancelled/factory.d.ts +1 -1
  532. package/lib/chevre/service/order/onOrderStatusChanged/onOrderCancelled/factory.js +25 -3
  533. package/lib/chevre/service/order/onOrderStatusChanged/onOrderCancelled.js +31 -14
  534. package/lib/chevre/service/order/onOrderStatusChanged/onOrderDelivered/factory.js +35 -7
  535. package/lib/chevre/service/order/onOrderStatusChanged/onOrderDelivered.js +33 -16
  536. package/lib/chevre/service/order/onOrderStatusChanged/onOrderDeliveredPartially/factory.d.ts +1 -1
  537. package/lib/chevre/service/order/onOrderStatusChanged/onOrderDeliveredPartially/factory.js +46 -10
  538. package/lib/chevre/service/order/onOrderStatusChanged/onOrderDeliveredPartially.js +33 -16
  539. package/lib/chevre/service/order/onOrderStatusChanged/onOrderInTransit.js +51 -28
  540. package/lib/chevre/service/order/onOrderStatusChanged/onOrderPaymentDue.js +41 -21
  541. package/lib/chevre/service/order/onOrderStatusChanged/onOrderProcessing/createSendEmailMessageTaskIfNotExist.js +29 -15
  542. package/lib/chevre/service/order/onOrderStatusChanged/onOrderProcessing/factory.js +49 -16
  543. package/lib/chevre/service/order/onOrderStatusChanged/onOrderProcessing/processOrder.js +52 -35
  544. package/lib/chevre/service/order/onOrderStatusChanged/onOrderProcessing.js +36 -20
  545. package/lib/chevre/service/order/onOrderStatusChanged/onOrderReturned/factory.d.ts +1 -1
  546. package/lib/chevre/service/order/onOrderStatusChanged/onOrderReturned/factory.js +34 -10
  547. package/lib/chevre/service/order/onOrderStatusChanged/onOrderReturned.js +51 -30
  548. package/lib/chevre/service/order/onOrderUpdated/factory.js +27 -6
  549. package/lib/chevre/service/order/onOrderUpdated.js +36 -15
  550. package/lib/chevre/service/order/payOrder.js +26 -12
  551. package/lib/chevre/service/order/placeOrder/createPlacingOrderFromExistingTransaction.js +32 -20
  552. package/lib/chevre/service/order/placeOrder/factory/orderedItem.js +55 -16
  553. package/lib/chevre/service/order/placeOrder/factory.js +63 -24
  554. package/lib/chevre/service/order/placeOrder/voidAcceptedOfferIfNecessary.js +7 -13
  555. package/lib/chevre/service/order/placeOrder.js +35 -23
  556. package/lib/chevre/service/order/placeOrderWithoutTransaction.js +33 -18
  557. package/lib/chevre/service/order/returnOrder.js +55 -32
  558. package/lib/chevre/service/order/sendOrder.js +65 -39
  559. package/lib/chevre/service/payment/any/authorize/fixTransactionNumber.js +42 -25
  560. package/lib/chevre/service/payment/any/authorize/handlePrePublishedPaymentMethodIdOnAuthorizing.js +52 -41
  561. package/lib/chevre/service/payment/any/factory.js +137 -55
  562. package/lib/chevre/service/payment/any/fixOrderAsNeeded.js +27 -13
  563. package/lib/chevre/service/payment/any/onPayActionCompleted.js +36 -18
  564. package/lib/chevre/service/payment/any/onPaymentStatusChanged/onPaid.js +61 -38
  565. package/lib/chevre/service/payment/any/onPaymentStatusChanged/onRefunded.js +45 -25
  566. package/lib/chevre/service/payment/any/onPaymentStatusChanged.js +39 -16
  567. package/lib/chevre/service/payment/any/onRefundActionCompletedOrFailed.js +38 -21
  568. package/lib/chevre/service/payment/any/person2username.js +55 -45
  569. package/lib/chevre/service/payment/any/publishPaymentUrl/fixTransactionNumberOnPublishPaymentUrl.js +31 -18
  570. package/lib/chevre/service/payment/any/verifyTicketTokenAsNeeded.js +28 -17
  571. package/lib/chevre/service/payment/any.js +206 -144
  572. package/lib/chevre/service/payment/creditCard/authorize/handleAuthorizeError.js +31 -5
  573. package/lib/chevre/service/payment/creditCard/authorize/processAuthorizeCreditCard.js +68 -26
  574. package/lib/chevre/service/payment/creditCard/authorize/processAuthorizeCreditCard3ds.js +29 -15
  575. package/lib/chevre/service/payment/creditCard/authorize/processAuthorizeCreditCard3dsResult2recipe.js +29 -2
  576. package/lib/chevre/service/payment/creditCard/authorize/processAuthorizeCreditCardResult2recipe.js +34 -3
  577. package/lib/chevre/service/payment/creditCard/authorize.js +49 -25
  578. package/lib/chevre/service/payment/creditCard/factory.js +46 -5
  579. package/lib/chevre/service/payment/creditCard/getGMOInfoFromSeller.js +31 -18
  580. package/lib/chevre/service/payment/creditCard/payCreditCard.js +55 -37
  581. package/lib/chevre/service/payment/creditCard/refundCreditCard.js +64 -52
  582. package/lib/chevre/service/payment/creditCard/searchGMOTrade.js +57 -46
  583. package/lib/chevre/service/payment/creditCard/voidTransaction.js +39 -27
  584. package/lib/chevre/service/payment/faceToFace.js +37 -23
  585. package/lib/chevre/service/payment/factory/createPayObjectServiceOutput.js +68 -26
  586. package/lib/chevre/service/payment/factory.js +74 -25
  587. package/lib/chevre/service/payment/movieTicket/authorize.js +58 -30
  588. package/lib/chevre/service/payment/movieTicket/checkMovieTicket.js +45 -25
  589. package/lib/chevre/service/payment/movieTicket/factory.js +64 -15
  590. package/lib/chevre/service/payment/movieTicket/getCredentials.js +28 -15
  591. package/lib/chevre/service/payment/movieTicket/payMovieTicket.js +53 -41
  592. package/lib/chevre/service/payment/movieTicket/processPurchaseNumberAuth.js +37 -21
  593. package/lib/chevre/service/payment/movieTicket/refundMovieTicket.js +90 -64
  594. package/lib/chevre/service/payment/movieTicket/validation.js +69 -39
  595. package/lib/chevre/service/payment/movieTicket/voidTransaction.js +31 -18
  596. package/lib/chevre/service/payment/paymentCard.js +117 -108
  597. package/lib/chevre/service/permit.js +60 -36
  598. package/lib/chevre/service/product.js +50 -29
  599. package/lib/chevre/service/project.js +22 -31
  600. package/lib/chevre/service/report/ownershipInfo.js +9 -7
  601. package/lib/chevre/service/report/telemetry.js +86 -79
  602. package/lib/chevre/service/report.js +25 -2
  603. package/lib/chevre/service/reserve/cancelReservation.js +122 -97
  604. package/lib/chevre/service/reserve/checkInReservation.js +52 -31
  605. package/lib/chevre/service/reserve/confirmReservation.js +61 -41
  606. package/lib/chevre/service/reserve/factory.js +66 -21
  607. package/lib/chevre/service/reserve/findByCode.js +36 -18
  608. package/lib/chevre/service/reserve/potentialActions/onPendingReservationCanceled.js +41 -24
  609. package/lib/chevre/service/reserve/potentialActions/onReservationCanceled.js +40 -25
  610. package/lib/chevre/service/reserve/potentialActions/onReservationCheckedIn.js +61 -30
  611. package/lib/chevre/service/reserve/potentialActions/onReservationConfirmed.js +68 -37
  612. package/lib/chevre/service/reserve/potentialActions/onReservationUsed.js +67 -37
  613. package/lib/chevre/service/reserve/potentialActions/onReservationsCreated.js +40 -23
  614. package/lib/chevre/service/reserve/searchByOrder.js +33 -20
  615. package/lib/chevre/service/reserve/useReservation.js +75 -36
  616. package/lib/chevre/service/reserve/verifyToken4reservation.js +30 -14
  617. package/lib/chevre/service/reserveCOA/cancelReservation.js +30 -17
  618. package/lib/chevre/service/reserveCOA/factory.js +29 -2
  619. package/lib/chevre/service/task/acceptCOAOffer.js +44 -26
  620. package/lib/chevre/service/task/aggregateOffers.js +26 -12
  621. package/lib/chevre/service/task/aggregateOnSystem.js +4 -14
  622. package/lib/chevre/service/task/aggregateScreeningEvent.js +27 -13
  623. package/lib/chevre/service/task/authorizePayment.js +32 -15
  624. package/lib/chevre/service/task/cancelMoneyTransfer.js +3 -12
  625. package/lib/chevre/service/task/cancelPendingReservation.js +34 -21
  626. package/lib/chevre/service/task/cancelReservation.js +26 -12
  627. package/lib/chevre/service/task/checkMovieTicket.js +39 -19
  628. package/lib/chevre/service/task/checkResource.js +30 -16
  629. package/lib/chevre/service/task/confirmMoneyTransfer.js +3 -12
  630. package/lib/chevre/service/task/confirmPayTransaction.js +6 -12
  631. package/lib/chevre/service/task/confirmRegisterService.js +3 -12
  632. package/lib/chevre/service/task/confirmRegisterServiceTransaction.js +51 -32
  633. package/lib/chevre/service/task/confirmReserveTransaction.js +72 -46
  634. package/lib/chevre/service/task/createAccountingReport.js +37 -20
  635. package/lib/chevre/service/task/deletePerson.js +77 -63
  636. package/lib/chevre/service/task/deleteTransaction.js +26 -12
  637. package/lib/chevre/service/task/givePointAward.js +27 -13
  638. package/lib/chevre/service/task/handleNotification.js +4 -14
  639. package/lib/chevre/service/task/importEventCapacitiesFromCOA.js +31 -18
  640. package/lib/chevre/service/task/importEventsFromCOA.js +31 -18
  641. package/lib/chevre/service/task/importOffersFromCOA.js +33 -20
  642. package/lib/chevre/service/task/invalidatePaymentUrl.js +6 -12
  643. package/lib/chevre/service/task/moneyTransfer.js +27 -13
  644. package/lib/chevre/service/task/onAssetTransactionStatusChanged.js +3 -12
  645. package/lib/chevre/service/task/onAuthorizationCreated.js +34 -19
  646. package/lib/chevre/service/task/onEventChanged.js +3 -12
  647. package/lib/chevre/service/task/onOrderPaymentCompleted.js +3 -12
  648. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByAggregateOffer.d.ts +13 -0
  649. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByAggregateOffer.js +67 -0
  650. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByEventSeries.d.ts +13 -0
  651. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByEventSeries.js +70 -0
  652. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByMovieTheater.d.ts +15 -0
  653. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByMovieTheater.js +72 -0
  654. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByOfferCatalog.d.ts +17 -0
  655. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByOfferCatalog.js +89 -0
  656. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByProduct.d.ts +19 -0
  657. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByProduct.js +74 -0
  658. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByRoom.d.ts +20 -0
  659. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByRoom.js +65 -0
  660. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesBySeller.d.ts +27 -0
  661. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesBySeller.js +113 -0
  662. package/lib/chevre/service/task/onResourceDeleted.d.ts +6 -0
  663. package/lib/chevre/service/task/onResourceDeleted.js +181 -0
  664. package/lib/chevre/service/task/onResourceUpdated/onAggregateOfferUpdated.js +32 -21
  665. package/lib/chevre/service/task/onResourceUpdated/onCategoryCodeUpdated.js +3 -12
  666. package/lib/chevre/service/task/onResourceUpdated/onHasPOSUpdated.js +34 -23
  667. package/lib/chevre/service/task/onResourceUpdated/onOfferCatalogUpdated.js +36 -25
  668. package/lib/chevre/service/task/onResourceUpdated/syncCategoryCode.js +32 -15
  669. package/lib/chevre/service/task/onResourceUpdated/syncOfferCatalog.js +44 -27
  670. package/lib/chevre/service/task/onResourceUpdated.js +285 -144
  671. package/lib/chevre/service/task/pay.js +31 -16
  672. package/lib/chevre/service/task/payment/invalidatePaymentUrlByTask.js +28 -15
  673. package/lib/chevre/service/task/payment/payByTask.js +81 -44
  674. package/lib/chevre/service/task/payment/refundByTask.js +34 -21
  675. package/lib/chevre/service/task/payment/voidPaymentByTask.js +33 -19
  676. package/lib/chevre/service/task/placeOrder.js +6 -12
  677. package/lib/chevre/service/task/publishPaymentUrl.js +32 -14
  678. package/lib/chevre/service/task/refund.js +31 -16
  679. package/lib/chevre/service/task/registerService.js +3 -12
  680. package/lib/chevre/service/task/reserve.js +3 -12
  681. package/lib/chevre/service/task/returnMoneyTransfer.js +26 -12
  682. package/lib/chevre/service/task/returnOrder.js +6 -12
  683. package/lib/chevre/service/task/returnPayTransaction.js +83 -52
  684. package/lib/chevre/service/task/returnPointAward.js +27 -13
  685. package/lib/chevre/service/task/returnReserveTransaction.js +60 -35
  686. package/lib/chevre/service/task/sendEmailMessage.js +6 -13
  687. package/lib/chevre/service/task/sendOrder.js +35 -15
  688. package/lib/chevre/service/task/syncResourcesFromCOA.js +74 -52
  689. package/lib/chevre/service/task/triggerWebhook.js +6 -12
  690. package/lib/chevre/service/task/useReservation.js +11 -14
  691. package/lib/chevre/service/task/voidMoneyTransferTransaction.js +3 -12
  692. package/lib/chevre/service/task/voidPayTransaction.js +7 -12
  693. package/lib/chevre/service/task/voidPayment.js +26 -12
  694. package/lib/chevre/service/task/voidRegisterServiceTransaction.js +3 -12
  695. package/lib/chevre/service/task/voidReserveTransaction.js +34 -17
  696. package/lib/chevre/service/task.js +43 -27
  697. package/lib/chevre/service/taskHandler/onOperationFailed/informTaskIfNeeded.js +37 -22
  698. package/lib/chevre/service/taskHandler/onOperationFailed.js +43 -17
  699. package/lib/chevre/service/taskHandler.js +50 -26
  700. package/lib/chevre/service/transaction/deleteTransaction.js +127 -88
  701. package/lib/chevre/service/transaction/moneyTransfer/exportTasks/factory.js +45 -13
  702. package/lib/chevre/service/transaction/moneyTransfer/factory.js +37 -5
  703. package/lib/chevre/service/transaction/moneyTransfer/potentialActions.js +35 -24
  704. package/lib/chevre/service/transaction/moneyTransfer.js +151 -104
  705. package/lib/chevre/service/transaction/placeOrder/confirm/factory/result.js +24 -1
  706. package/lib/chevre/service/transaction/placeOrder/confirm/potentialActions/sendEmailMessage.js +73 -52
  707. package/lib/chevre/service/transaction/placeOrder/confirm/potentialActions.js +14 -25
  708. package/lib/chevre/service/transaction/placeOrder/confirm/publishCode.js +27 -14
  709. package/lib/chevre/service/transaction/placeOrder/confirm/validation/validateInvoiceReferencesOrder.js +32 -7
  710. package/lib/chevre/service/transaction/placeOrder/confirm/validation/validateMovieTicket.js +32 -9
  711. package/lib/chevre/service/transaction/placeOrder/confirm/validation/validatePrice.js +26 -4
  712. package/lib/chevre/service/transaction/placeOrder/confirm/validation.js +59 -50
  713. package/lib/chevre/service/transaction/placeOrder/confirm.js +108 -66
  714. package/lib/chevre/service/transaction/placeOrder/exportTasks/factory.js +61 -19
  715. package/lib/chevre/service/transaction/placeOrder/exportTasksById.js +34 -17
  716. package/lib/chevre/service/transaction/placeOrder/publishConfirmationNumberIfNotExist.js +29 -15
  717. package/lib/chevre/service/transaction/placeOrder/publishOrderNumberIfNotExist.js +30 -16
  718. package/lib/chevre/service/transaction/placeOrder/start/factory.js +51 -8
  719. package/lib/chevre/service/transaction/placeOrder/start/validateStartRequest.js +77 -61
  720. package/lib/chevre/service/transaction/placeOrder/start.js +37 -18
  721. package/lib/chevre/service/transaction/returnOrder/exportTasks/factory.js +43 -11
  722. package/lib/chevre/service/transaction/returnOrder/potentialActions/returnPaymentMethod.js +200 -191
  723. package/lib/chevre/service/transaction/returnOrder/potentialActions/returnPointAward.js +98 -89
  724. package/lib/chevre/service/transaction/returnOrder/potentialActions/sendEmailMessage.js +64 -49
  725. package/lib/chevre/service/transaction/returnOrder/potentialActions.js +75 -56
  726. package/lib/chevre/service/transaction/returnOrder/preStart/findApplicableReturnPolicy.js +142 -120
  727. package/lib/chevre/service/transaction/returnOrder/preStart/getReturnPolicyByProject.js +83 -80
  728. package/lib/chevre/service/transaction/returnOrder/preStart.js +70 -49
  729. package/lib/chevre/service/transaction/returnOrder.js +60 -39
  730. package/lib/chevre/service/transaction.js +101 -49
  731. package/lib/chevre/service/validation/validateEvent.js +3 -12
  732. package/lib/chevre/service/validation/validateOrder.js +41 -26
  733. package/lib/chevre/service.js +113 -136
  734. package/lib/chevre/settings/aggregation.js +4 -0
  735. package/lib/chevre/settings.js +7 -1
  736. package/lib/index.js +24 -2
  737. package/package.json +18 -19
  738. package/example/src/chevre/addEventBySchedule.ts +0 -46
  739. package/example/src/chevre/event/upsertManyScreeningEventByIdentifier.ts +0 -191
  740. package/example/src/chevre/eventSeries/migrateEventSeriesOffers.ts +0 -75
  741. package/example/src/chevre/eventSeries/migrateEventSeriesUnacceptedPaymentMethod.ts +0 -93
  742. package/example/src/chevre/offers/createSampleOffers.ts +0 -154
  743. package/example/src/chevre/settings/addSettings.ts +0 -46
  744. package/example/src/chevre/upsertScreeningEventSeriesByVersion.ts +0 -102
  745. package/example/src/idaas/auth0/adminApplications.ts +0 -183
  746. package/example/src/idaas/auth0/getToken.ts +0 -55
  747. package/example/src/idaas/auth0/getTokenByPrivateKeyJWT.ts +0 -84
  748. package/lib/chevre/service/eventOld.d.ts +0 -60
  749. package/lib/chevre/service/eventOld.js +0 -864
  750. package/lib/chevre/service/task/createEvent/createEvent.d.ts +0 -25
  751. package/lib/chevre/service/task/createEvent/createEvent.js +0 -45
  752. package/lib/chevre/service/task/createEvent/createEventBySchedule/factory.d.ts +0 -22
  753. package/lib/chevre/service/task/createEvent/createEventBySchedule/factory.js +0 -188
  754. package/lib/chevre/service/task/createEvent/createEventBySchedule/schedule2events.d.ts +0 -15
  755. package/lib/chevre/service/task/createEvent/createEventBySchedule/schedule2events.js +0 -116
  756. package/lib/chevre/service/task/createEvent/createEventBySchedule.d.ts +0 -25
  757. package/lib/chevre/service/task/createEvent/createEventBySchedule.js +0 -107
  758. package/lib/chevre/service/task/createEvent/createEventSeries.d.ts +0 -13
  759. package/lib/chevre/service/task/createEvent/createEventSeries.js +0 -118
  760. package/lib/chevre/service/task/createEvent.d.ts +0 -6
  761. package/lib/chevre/service/task/createEvent.js +0 -46
  762. package/lib/chevre/service/task/onResourceUpdated/onResourceDeleted.d.ts +0 -45
  763. package/lib/chevre/service/task/onResourceUpdated/onResourceDeleted.js +0 -447
@@ -1,16 +1,30 @@
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
25
  Object.defineProperty(exports, "__esModule", { value: true });
12
26
  exports.OrderRepo = void 0;
13
- const factory = require("../factory");
27
+ const factory = __importStar(require("../factory"));
14
28
  const order_1 = require("./mongoose/schemas/order");
15
29
  const errorHandler_1 = require("../errorHandler");
16
30
  const settings_1 = require("../settings");
@@ -28,23 +42,20 @@ const AVAILABLE_PROJECT_FIELDS = [
28
42
  * 注文リポジトリ
29
43
  */
30
44
  class OrderRepo {
45
+ orderModel;
31
46
  constructor(connection) {
32
47
  this.orderModel = connection.model(order_1.modelName, (0, order_1.createSchema)());
33
48
  }
34
- // tslint:disable-next-line:cyclomatic-complexity max-func-body-length
35
49
  static CREATE_MONGO_CONDITIONS(params) {
36
- 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;
37
50
  const andConditions = [
38
51
  { typeOf: { $eq: factory.order.OrderType.Order } }
39
52
  ];
40
- const projectIdEq = (_b = (_a = params.project) === null || _a === void 0 ? void 0 : _a.id) === null || _b === void 0 ? void 0 : _b.$eq;
53
+ const projectIdEq = params.project?.id?.$eq;
41
54
  if (typeof projectIdEq === 'string') {
42
55
  andConditions.push({ 'project.id': { $eq: projectIdEq } });
43
56
  }
44
- // tslint:disable-next-line:no-single-line-block-comment
45
57
  /* istanbul ignore else */
46
58
  if (params.identifier !== undefined) {
47
- // tslint:disable-next-line:no-single-line-block-comment
48
59
  /* istanbul ignore else */
49
60
  if (Array.isArray(params.identifier.$all)) {
50
61
  andConditions.push({
@@ -54,7 +65,6 @@ class OrderRepo {
54
65
  }
55
66
  });
56
67
  }
57
- // tslint:disable-next-line:no-single-line-block-comment
58
68
  /* istanbul ignore else */
59
69
  if (Array.isArray(params.identifier.$in)) {
60
70
  andConditions.push({
@@ -65,15 +75,15 @@ class OrderRepo {
65
75
  });
66
76
  }
67
77
  }
68
- const providerIdEq = (_d = (_c = params.provider) === null || _c === void 0 ? void 0 : _c.id) === null || _d === void 0 ? void 0 : _d.$eq;
78
+ const providerIdEq = params.provider?.id?.$eq;
69
79
  if (typeof providerIdEq === 'string') {
70
80
  andConditions.push({ 'seller.id': { $exists: true, $eq: providerIdEq } });
71
81
  }
72
- const sellerIdEq = (_f = (_e = params.seller) === null || _e === void 0 ? void 0 : _e.id) === null || _f === void 0 ? void 0 : _f.$eq;
82
+ const sellerIdEq = params.seller?.id?.$eq;
73
83
  if (typeof sellerIdEq === 'string') {
74
84
  andConditions.push({ 'seller.id': { $exists: true, $eq: sellerIdEq } });
75
85
  }
76
- const sellerIds = (_g = params.seller) === null || _g === void 0 ? void 0 : _g.ids;
86
+ const sellerIds = params.seller?.ids;
77
87
  if (Array.isArray(sellerIds)) {
78
88
  if (sellerIds.length === 1) {
79
89
  // use $eq(2025-04-01~)
@@ -83,7 +93,7 @@ class OrderRepo {
83
93
  andConditions.push({ 'seller.id': { $exists: true, $in: sellerIds } });
84
94
  }
85
95
  }
86
- const brokerIdEq = (_j = (_h = params.broker) === null || _h === void 0 ? void 0 : _h.id) === null || _j === void 0 ? void 0 : _j.$eq;
96
+ const brokerIdEq = params.broker?.id?.$eq;
87
97
  if (typeof brokerIdEq === 'string') {
88
98
  andConditions.push({
89
99
  'broker.id': {
@@ -92,10 +102,8 @@ class OrderRepo {
92
102
  }
93
103
  });
94
104
  }
95
- // tslint:disable-next-line:no-single-line-block-comment
96
105
  /* istanbul ignore else */
97
106
  if (params.customer !== undefined) {
98
- // tslint:disable-next-line:no-single-line-block-comment
99
107
  /* istanbul ignore else */
100
108
  if (params.customer.typeOf !== undefined) {
101
109
  andConditions.push({
@@ -105,7 +113,6 @@ class OrderRepo {
105
113
  }
106
114
  });
107
115
  }
108
- // tslint:disable-next-line:no-single-line-block-comment
109
116
  /* istanbul ignore else */
110
117
  if (Array.isArray(params.customer.ids)) {
111
118
  andConditions.push({
@@ -115,7 +122,6 @@ class OrderRepo {
115
122
  }
116
123
  });
117
124
  }
118
- // tslint:disable-next-line:no-single-line-block-comment
119
125
  /* istanbul ignore else */
120
126
  if (Array.isArray(params.customer.identifiers)) {
121
127
  andConditions.push({
@@ -125,10 +131,8 @@ class OrderRepo {
125
131
  }
126
132
  });
127
133
  }
128
- // tslint:disable-next-line:no-single-line-block-comment
129
134
  /* istanbul ignore else */
130
135
  if (params.customer.identifier !== undefined) {
131
- // tslint:disable-next-line:no-single-line-block-comment
132
136
  /* istanbul ignore else */
133
137
  if (Array.isArray(params.customer.identifier.$all)) {
134
138
  andConditions.push({
@@ -138,7 +142,6 @@ class OrderRepo {
138
142
  }
139
143
  });
140
144
  }
141
- // tslint:disable-next-line:no-single-line-block-comment
142
145
  /* istanbul ignore else */
143
146
  if (Array.isArray(params.customer.identifier.$in)) {
144
147
  andConditions.push({
@@ -300,7 +303,7 @@ class OrderRepo {
300
303
  }
301
304
  }
302
305
  }
303
- const nameEq = (_k = params.name) === null || _k === void 0 ? void 0 : _k.$eq;
306
+ const nameEq = params.name?.$eq;
304
307
  if (typeof nameEq === 'string') {
305
308
  andConditions.push({
306
309
  name: {
@@ -309,7 +312,7 @@ class OrderRepo {
309
312
  }
310
313
  });
311
314
  }
312
- const nameRegex = (_l = params.name) === null || _l === void 0 ? void 0 : _l.$regex;
315
+ const nameRegex = params.name?.$regex;
313
316
  if (typeof nameRegex === 'string' && nameRegex.length > 0) {
314
317
  andConditions.push({
315
318
  name: {
@@ -345,19 +348,19 @@ class OrderRepo {
345
348
  andConditions.push({ confirmationNumber: { $exists: true, $in: params.confirmationNumbers } });
346
349
  }
347
350
  }
348
- const orderedItemSize = (_m = params.orderedItem) === null || _m === void 0 ? void 0 : _m.$size;
351
+ const orderedItemSize = params.orderedItem?.$size;
349
352
  if (typeof orderedItemSize === 'number') {
350
353
  andConditions.push({ orderedItem: { $size: orderedItemSize } });
351
354
  }
352
- const acceptedOffersSize = (_o = params.acceptedOffers) === null || _o === void 0 ? void 0 : _o.$size;
355
+ const acceptedOffersSize = params.acceptedOffers?.$size;
353
356
  if (typeof acceptedOffersSize === 'number') {
354
357
  andConditions.push({ acceptedOffers: { $size: acceptedOffersSize } });
355
358
  }
356
- const serialNumberEq = (_q = (_p = params.acceptedOffers) === null || _p === void 0 ? void 0 : _p.serialNumber) === null || _q === void 0 ? void 0 : _q.$eq;
359
+ const serialNumberEq = params.acceptedOffers?.serialNumber?.$eq;
357
360
  if (typeof serialNumberEq === 'string') {
358
361
  andConditions.push({ 'acceptedOffers.serialNumber': { $exists: true, $eq: serialNumberEq } });
359
362
  }
360
- const itemOfferedIdentifierIn = (_t = (_s = (_r = params.acceptedOffers) === null || _r === void 0 ? void 0 : _r.itemOffered) === null || _s === void 0 ? void 0 : _s.identifier) === null || _t === void 0 ? void 0 : _t.$in;
363
+ const itemOfferedIdentifierIn = params.acceptedOffers?.itemOffered?.identifier?.$in;
361
364
  if (Array.isArray(itemOfferedIdentifierIn)) {
362
365
  andConditions.push({
363
366
  'acceptedOffers.itemOffered.identifier': {
@@ -366,7 +369,7 @@ class OrderRepo {
366
369
  }
367
370
  });
368
371
  }
369
- const itemOfferedTypeOfIn = (_w = (_v = (_u = params.acceptedOffers) === null || _u === void 0 ? void 0 : _u.itemOffered) === null || _v === void 0 ? void 0 : _v.typeOf) === null || _w === void 0 ? void 0 : _w.$in;
372
+ const itemOfferedTypeOfIn = params.acceptedOffers?.itemOffered?.typeOf?.$in;
370
373
  if (Array.isArray(itemOfferedTypeOfIn)) {
371
374
  andConditions.push({
372
375
  'acceptedOffers.itemOffered.typeOf': {
@@ -375,7 +378,7 @@ class OrderRepo {
375
378
  }
376
379
  });
377
380
  }
378
- const itemOfferedIssuedThroughTypeOfEq = (_0 = (_z = (_y = (_x = params.acceptedOffers) === null || _x === void 0 ? void 0 : _x.itemOffered) === null || _y === void 0 ? void 0 : _y.issuedThrough) === null || _z === void 0 ? void 0 : _z.typeOf) === null || _0 === void 0 ? void 0 : _0.$eq;
381
+ const itemOfferedIssuedThroughTypeOfEq = params.acceptedOffers?.itemOffered?.issuedThrough?.typeOf?.$eq;
379
382
  if (typeof itemOfferedIssuedThroughTypeOfEq === 'string') {
380
383
  andConditions.push({
381
384
  'acceptedOffers.itemOffered.issuedThrough.typeOf': {
@@ -384,7 +387,7 @@ class OrderRepo {
384
387
  }
385
388
  });
386
389
  }
387
- const itemOfferedIssuedThroughIdIn = (_4 = (_3 = (_2 = (_1 = params.acceptedOffers) === null || _1 === void 0 ? void 0 : _1.itemOffered) === null || _2 === void 0 ? void 0 : _2.issuedThrough) === null || _3 === void 0 ? void 0 : _3.id) === null || _4 === void 0 ? void 0 : _4.$in;
390
+ const itemOfferedIssuedThroughIdIn = params.acceptedOffers?.itemOffered?.issuedThrough?.id?.$in;
388
391
  if (Array.isArray(itemOfferedIssuedThroughIdIn)) {
389
392
  andConditions.push({
390
393
  'acceptedOffers.itemOffered.issuedThrough.id': {
@@ -393,7 +396,7 @@ class OrderRepo {
393
396
  }
394
397
  });
395
398
  }
396
- const itemOfferedProgramMembershipUsedIdentifierEq = (_8 = (_7 = (_6 = (_5 = params.acceptedOffers) === null || _5 === void 0 ? void 0 : _5.itemOffered) === null || _6 === void 0 ? void 0 : _6.programMembershipUsed) === null || _7 === void 0 ? void 0 : _7.identifier) === null || _8 === void 0 ? void 0 : _8.$eq;
399
+ const itemOfferedProgramMembershipUsedIdentifierEq = params.acceptedOffers?.itemOffered?.programMembershipUsed?.identifier?.$eq;
397
400
  if (typeof itemOfferedProgramMembershipUsedIdentifierEq === 'string') {
398
401
  andConditions.push({
399
402
  'acceptedOffers.itemOffered.programMembershipUsed.identifier': {
@@ -402,7 +405,7 @@ class OrderRepo {
402
405
  }
403
406
  });
404
407
  }
405
- const itemOfferedProgramMembershipUsedIssuedThroughServiceTypeCodeValueEq = (_14 = (_13 = (_12 = (_11 = (_10 = (_9 = params.acceptedOffers) === null || _9 === void 0 ? void 0 : _9.itemOffered) === null || _10 === void 0 ? void 0 : _10.programMembershipUsed) === null || _11 === void 0 ? void 0 : _11.issuedThrough) === null || _12 === void 0 ? void 0 : _12.serviceType) === null || _13 === void 0 ? void 0 : _13.codeValue) === null || _14 === void 0 ? void 0 : _14.$eq;
408
+ const itemOfferedProgramMembershipUsedIssuedThroughServiceTypeCodeValueEq = params.acceptedOffers?.itemOffered?.programMembershipUsed?.issuedThrough?.serviceType?.codeValue?.$eq;
406
409
  if (typeof itemOfferedProgramMembershipUsedIssuedThroughServiceTypeCodeValueEq === 'string') {
407
410
  andConditions.push({
408
411
  'acceptedOffers.itemOffered.programMembershipUsed.issuedThrough.serviceType.codeValue': {
@@ -411,7 +414,7 @@ class OrderRepo {
411
414
  }
412
415
  });
413
416
  }
414
- const itemOfferedReservedTicketIdentifierEq = (_18 = (_17 = (_16 = (_15 = params.acceptedOffers) === null || _15 === void 0 ? void 0 : _15.itemOffered) === null || _16 === void 0 ? void 0 : _16.reservedTicket) === null || _17 === void 0 ? void 0 : _17.identifier) === null || _18 === void 0 ? void 0 : _18.$eq;
417
+ const itemOfferedReservedTicketIdentifierEq = params.acceptedOffers?.itemOffered?.reservedTicket?.identifier?.$eq;
415
418
  if (typeof itemOfferedReservedTicketIdentifierEq === 'string') {
416
419
  andConditions.push({
417
420
  'acceptedOffers.itemOffered.reservedTicket.identifier': {
@@ -420,13 +423,10 @@ class OrderRepo {
420
423
  }
421
424
  });
422
425
  }
423
- // tslint:disable-next-line:no-single-line-block-comment
424
426
  /* istanbul ignore else */
425
427
  if (params.acceptedOffers !== undefined) {
426
- // tslint:disable-next-line:no-single-line-block-comment
427
428
  /* istanbul ignore else */
428
429
  if (params.acceptedOffers.itemOffered !== undefined) {
429
- // tslint:disable-next-line:no-single-line-block-comment
430
430
  /* istanbul ignore else */
431
431
  if (Array.isArray(params.acceptedOffers.itemOffered.ids)) {
432
432
  andConditions.push({
@@ -436,7 +436,6 @@ class OrderRepo {
436
436
  }
437
437
  });
438
438
  }
439
- // tslint:disable-next-line:no-single-line-block-comment
440
439
  /* istanbul ignore else */
441
440
  if (Array.isArray(params.acceptedOffers.itemOffered.reservationNumbers)) {
442
441
  andConditions.push({
@@ -447,10 +446,8 @@ class OrderRepo {
447
446
  });
448
447
  }
449
448
  const reservationForConditions = params.acceptedOffers.itemOffered.reservationFor;
450
- // tslint:disable-next-line:no-single-line-block-comment
451
449
  /* istanbul ignore else */
452
450
  if (reservationForConditions !== undefined) {
453
- // tslint:disable-next-line:no-single-line-block-comment
454
451
  /* istanbul ignore else */
455
452
  if (Array.isArray(reservationForConditions.ids)) {
456
453
  andConditions.push({
@@ -460,7 +457,6 @@ class OrderRepo {
460
457
  }
461
458
  });
462
459
  }
463
- // tslint:disable-next-line:no-single-line-block-comment
464
460
  /* istanbul ignore else */
465
461
  if (typeof reservationForConditions.name === 'string' && reservationForConditions.name.length > 0) {
466
462
  andConditions.push({
@@ -480,7 +476,6 @@ class OrderRepo {
480
476
  ]
481
477
  });
482
478
  }
483
- // tslint:disable-next-line:no-single-line-block-comment
484
479
  /* istanbul ignore else */
485
480
  if (reservationForConditions.location !== undefined) {
486
481
  if (Array.isArray(reservationForConditions.location.branchCodes)) {
@@ -503,10 +498,8 @@ class OrderRepo {
503
498
  }
504
499
  }
505
500
  }
506
- // tslint:disable-next-line:no-single-line-block-comment
507
501
  /* istanbul ignore else */
508
502
  if (reservationForConditions.superEvent !== undefined) {
509
- // tslint:disable-next-line:no-single-line-block-comment
510
503
  /* istanbul ignore else */
511
504
  if (Array.isArray(reservationForConditions.superEvent.ids)) {
512
505
  andConditions.push({
@@ -516,7 +509,6 @@ class OrderRepo {
516
509
  }
517
510
  });
518
511
  }
519
- // tslint:disable-next-line:no-single-line-block-comment
520
512
  /* istanbul ignore else */
521
513
  if (reservationForConditions.superEvent.location !== undefined) {
522
514
  if (Array.isArray(reservationForConditions.superEvent.location.branchCodes)) {
@@ -539,7 +531,6 @@ class OrderRepo {
539
531
  }
540
532
  }
541
533
  }
542
- // tslint:disable-next-line:no-single-line-block-comment
543
534
  /* istanbul ignore else */
544
535
  if (reservationForConditions.superEvent.workPerformed !== undefined) {
545
536
  if (Array.isArray(reservationForConditions.superEvent.workPerformed.identifiers)) {
@@ -552,7 +543,6 @@ class OrderRepo {
552
543
  }
553
544
  }
554
545
  }
555
- // tslint:disable-next-line:no-single-line-block-comment
556
546
  /* istanbul ignore else */
557
547
  if (reservationForConditions.inSessionFrom instanceof Date) {
558
548
  andConditions.push({
@@ -562,7 +552,6 @@ class OrderRepo {
562
552
  }
563
553
  });
564
554
  }
565
- // tslint:disable-next-line:no-single-line-block-comment
566
555
  /* istanbul ignore else */
567
556
  if (reservationForConditions.inSessionThrough instanceof Date) {
568
557
  andConditions.push({
@@ -572,7 +561,6 @@ class OrderRepo {
572
561
  }
573
562
  });
574
563
  }
575
- // tslint:disable-next-line:no-single-line-block-comment
576
564
  /* istanbul ignore else */
577
565
  if (reservationForConditions.startFrom instanceof Date) {
578
566
  andConditions.push({
@@ -582,7 +570,6 @@ class OrderRepo {
582
570
  }
583
571
  });
584
572
  }
585
- // tslint:disable-next-line:no-single-line-block-comment
586
573
  /* istanbul ignore else */
587
574
  if (reservationForConditions.startThrough instanceof Date) {
588
575
  andConditions.push({
@@ -595,20 +582,18 @@ class OrderRepo {
595
582
  }
596
583
  }
597
584
  }
598
- const paymentMethodIdentifierIn = (_21 = (_20 = (_19 = params.paymentMethods) === null || _19 === void 0 ? void 0 : _19.paymentMethod) === null || _20 === void 0 ? void 0 : _20.identifier) === null || _21 === void 0 ? void 0 : _21.$in;
585
+ const paymentMethodIdentifierIn = params.paymentMethods?.paymentMethod?.identifier?.$in;
599
586
  if (Array.isArray(paymentMethodIdentifierIn)) {
600
587
  andConditions.push({ 'paymentMethods.paymentMethod.identifier': { $exists: true, $in: paymentMethodIdentifierIn } });
601
588
  }
602
- const paymentMethodsTypeOfIn = (_22 = params.paymentMethods) === null || _22 === void 0 ? void 0 : _22.typeOfs;
589
+ const paymentMethodsTypeOfIn = params.paymentMethods?.typeOfs;
603
590
  if (Array.isArray(paymentMethodsTypeOfIn)) {
604
591
  // paymentMethod.identifierで検索(2023-11-15~)
605
592
  // andConditions.push({ 'paymentMethods.typeOf': { $exists: true, $in: paymentMethodsTypeOfIn } });
606
593
  andConditions.push({ 'paymentMethods.paymentMethod.identifier': { $exists: true, $in: paymentMethodsTypeOfIn } });
607
594
  }
608
- // tslint:disable-next-line:no-single-line-block-comment
609
595
  /* istanbul ignore else */
610
596
  if (params.paymentMethods !== undefined) {
611
- // tslint:disable-next-line:no-single-line-block-comment
612
597
  /* istanbul ignore else */
613
598
  if (Array.isArray(params.paymentMethods.accountIds)) {
614
599
  andConditions.push({
@@ -618,7 +603,6 @@ class OrderRepo {
618
603
  }
619
604
  });
620
605
  }
621
- // tslint:disable-next-line:no-single-line-block-comment
622
606
  /* istanbul ignore else */
623
607
  if (Array.isArray(params.paymentMethods.paymentMethodIds)) {
624
608
  andConditions.push({
@@ -629,7 +613,7 @@ class OrderRepo {
629
613
  });
630
614
  }
631
615
  }
632
- const paymentMethodAdditionalPropertyAll = (_24 = (_23 = params.paymentMethods) === null || _23 === void 0 ? void 0 : _23.additionalProperty) === null || _24 === void 0 ? void 0 : _24.$all;
616
+ const paymentMethodAdditionalPropertyAll = params.paymentMethods?.additionalProperty?.$all;
633
617
  if (Array.isArray(paymentMethodAdditionalPropertyAll)) {
634
618
  andConditions.push({
635
619
  'paymentMethods.additionalProperty': {
@@ -638,7 +622,7 @@ class OrderRepo {
638
622
  }
639
623
  });
640
624
  }
641
- const paymentMethodAdditionalPropertyIn = (_26 = (_25 = params.paymentMethods) === null || _25 === void 0 ? void 0 : _25.additionalProperty) === null || _26 === void 0 ? void 0 : _26.$in;
625
+ const paymentMethodAdditionalPropertyIn = params.paymentMethods?.additionalProperty?.$in;
642
626
  if (Array.isArray(paymentMethodAdditionalPropertyIn)) {
643
627
  andConditions.push({
644
628
  'paymentMethods.additionalProperty': {
@@ -647,14 +631,12 @@ class OrderRepo {
647
631
  }
648
632
  });
649
633
  }
650
- // tslint:disable-next-line:no-single-line-block-comment
651
634
  /* istanbul ignore else */
652
635
  if (params.orderDateFrom instanceof Date) {
653
636
  andConditions.push({
654
637
  orderDate: { $gte: params.orderDateFrom }
655
638
  });
656
639
  }
657
- // tslint:disable-next-line:no-single-line-block-comment
658
640
  /* istanbul ignore else */
659
641
  if (params.orderDateThrough instanceof Date) {
660
642
  andConditions.push({
@@ -696,622 +678,615 @@ class OrderRepo {
696
678
  /**
697
679
  * なければ作成する
698
680
  */
699
- createIfNotExist(order) {
700
- return __awaiter(this, void 0, void 0, function* () {
701
- try {
702
- // 存在しなければ上書き
703
- // updateOneに変更(2024-01-14~)
704
- // await this.orderModel.findOneAndUpdate(
705
- yield this.orderModel.updateOne({ orderNumber: order.orderNumber }, { $setOnInsert: order }, {
706
- // new: true,
707
- upsert: true
708
- })
709
- .exec();
710
- }
711
- catch (error) {
712
- let throwsError = true;
713
- if (yield (0, errorHandler_1.isMongoError)(error)) {
714
- // すでにorderNumberが存在する場合ok
715
- if (error.code === errorHandler_1.MongoErrorCode.DuplicateKey) {
716
- throwsError = false;
717
- }
718
- }
719
- if (throwsError) {
720
- throw error;
681
+ async createIfNotExist(order) {
682
+ try {
683
+ // 存在しなければ上書き
684
+ // updateOneに変更(2024-01-14~)
685
+ // await this.orderModel.findOneAndUpdate(
686
+ await this.orderModel.updateOne({ orderNumber: order.orderNumber }, { $setOnInsert: order }, {
687
+ // new: true,
688
+ upsert: true
689
+ })
690
+ .exec();
691
+ }
692
+ catch (error) {
693
+ let throwsError = true;
694
+ if (await (0, errorHandler_1.isMongoError)(error)) {
695
+ // すでにorderNumberが存在する場合ok
696
+ if (error.code === errorHandler_1.MongoErrorCode.DuplicateKey) {
697
+ throwsError = false;
721
698
  }
722
699
  }
723
- });
700
+ if (throwsError) {
701
+ throw error;
702
+ }
703
+ }
724
704
  }
725
705
  /**
726
706
  * 注文ステータスを変更する
727
707
  */
728
- changeStatus(params) {
729
- return __awaiter(this, void 0, void 0, function* () {
730
- const { orderNumber, previousOrderStatus, orderStatus } = params;
731
- const doc = yield this.orderModel.findOneAndUpdate({
732
- orderNumber: { $eq: orderNumber },
733
- orderStatus: { $eq: previousOrderStatus },
734
- 'project.id': { $eq: params.project.id },
735
- typeOf: { $eq: factory.order.OrderType.Order }
736
- }, {
737
- $set: {
738
- previousOrderStatus, // 追加(2023-08-31~)
739
- orderStatus
740
- }
741
- }, {
742
- new: true,
743
- // inclusion projection(2024-07-25~)
744
- projection: {
745
- _id: 0, // hide _id(2024-07-25~)
746
- id: { $toString: '$_id' },
747
- orderNumber: 1, broker: 1, confirmationNumber: 1, customer: 1, dateReturned: 1,
748
- name: 1, orderDate: 1, orderStatus: 1, orderedItem: 1, paymentMethods: 1,
749
- previousOrderStatus: 1, price: 1, priceCurrency: 1, project: 1, returner: 1, seller: 1, typeOf: 1
750
- }
751
- // projection: {
752
- // __v: 0,
753
- // createdAt: 0,
754
- // updatedAt: 0,
755
- // acceptedOffers: 0 // 除外(2023-12-08~)
756
- // }
757
- })
758
- .lean() // lean(2024-07-25~)
759
- .exec();
760
- // NotFoundであれば状態確認
761
- if (doc === null) {
762
- const order = yield this.projectFieldsByOrderNumber({
763
- orderNumber: params.orderNumber,
764
- project: { id: params.project.id },
765
- inclusion: [
766
- 'orderNumber', 'broker', 'confirmationNumber', 'customer', 'dateReturned',
767
- 'name', 'orderDate', 'orderStatus', 'orderedItem', 'paymentMethods',
768
- 'previousOrderStatus', 'price', 'priceCurrency', 'project', 'returner', 'seller', 'typeOf'
769
- ] // inclusion projection(2024-07-25~)
770
- });
771
- // tslint:disable-next-line:no-single-line-block-comment
708
+ async changeStatus(params) {
709
+ const { orderNumber, previousOrderStatus, orderStatus } = params;
710
+ const doc = await this.orderModel.findOneAndUpdate({
711
+ orderNumber: { $eq: orderNumber },
712
+ orderStatus: { $eq: previousOrderStatus },
713
+ 'project.id': { $eq: params.project.id },
714
+ typeOf: { $eq: factory.order.OrderType.Order }
715
+ }, {
716
+ $set: {
717
+ previousOrderStatus, // 追加(2023-08-31~)
718
+ orderStatus
719
+ }
720
+ }, {
721
+ new: true,
722
+ // inclusion projection(2024-07-25~)
723
+ projection: {
724
+ _id: 0, // hide _id(2024-07-25~)
725
+ id: { $toString: '$_id' },
726
+ orderNumber: 1, broker: 1, confirmationNumber: 1, customer: 1, dateReturned: 1,
727
+ name: 1, orderDate: 1, orderStatus: 1, orderedItem: 1, paymentMethods: 1,
728
+ previousOrderStatus: 1, price: 1, priceCurrency: 1, project: 1, returner: 1, seller: 1, typeOf: 1
729
+ }
730
+ // projection: {
731
+ // __v: 0,
732
+ // createdAt: 0,
733
+ // updatedAt: 0,
734
+ // acceptedOffers: 0 // 除外(2023-12-08~)
735
+ // }
736
+ })
737
+ .lean() // lean(2024-07-25~)
738
+ .exec();
739
+ // NotFoundであれば状態確認
740
+ if (doc === null) {
741
+ const order = await this.projectFieldsByOrderNumber({
742
+ orderNumber: params.orderNumber,
743
+ project: { id: params.project.id },
744
+ inclusion: [
745
+ 'orderNumber', 'broker', 'confirmationNumber', 'customer', 'dateReturned',
746
+ 'name', 'orderDate', 'orderStatus', 'orderedItem', 'paymentMethods',
747
+ 'previousOrderStatus', 'price', 'priceCurrency', 'project', 'returner', 'seller', 'typeOf'
748
+ ] // inclusion projection(2024-07-25~)
749
+ });
750
+ /* istanbul ignore next */
751
+ if (order.orderStatus === params.orderStatus) {
752
+ // すでに変更済の場合
753
+ return order;
772
754
  /* istanbul ignore next */
773
- if (order.orderStatus === params.orderStatus) {
774
- // すでに変更済の場合
775
- return order;
776
- // tslint:disable-next-line:no-single-line-block-comment
777
- /* istanbul ignore next */
778
- }
779
- else {
780
- throw new factory.errors.Argument('orderNumber', `Order ${order.orderNumber} already changed -> ${order.orderStatus}`);
781
- }
782
755
  }
783
- return doc;
784
- });
756
+ else {
757
+ throw new factory.errors.Argument('orderNumber', `Order ${order.orderNumber} already changed -> ${order.orderStatus}`);
758
+ }
759
+ }
760
+ return doc;
785
761
  }
786
762
  /**
787
763
  * 注文を返品する
788
764
  */
789
- returnOrder(params) {
790
- return __awaiter(this, void 0, void 0, function* () {
791
- const { dateReturned, returner, orderNumber, project } = params;
792
- const doc = yield this.orderModel.findOneAndUpdate({
793
- orderNumber: { $eq: orderNumber },
794
- orderStatus: { $eq: factory.orderStatus.OrderDelivered },
795
- 'project.id': { $eq: project.id },
796
- typeOf: { $eq: factory.order.OrderType.Order }
797
- }, {
798
- $set: {
799
- previousOrderStatus: factory.orderStatus.OrderDelivered,
800
- orderStatus: factory.orderStatus.OrderReturned,
801
- dateReturned,
802
- returner
803
- }
804
- }, {
805
- new: true,
806
- projection: {
807
- _id: 0, // hide _id(2024-07-30~)
808
- id: { $toString: '$_id' },
809
- // _id: 1,
810
- project: 1, typeOf: 1, orderNumber: 1, dateReturned: 1,
811
- customer: 1, returner: 1, seller: 1, price: 1, priceCurrency: 1, orderDate: 1 // optimize(2023-12-07~)
812
- // __v: 0,
813
- // createdAt: 0,
814
- // updatedAt: 0
815
- }
816
- })
817
- .lean() // lean(2024-07-30~)
818
- .exec();
819
- // NotFoundであれば状態確認
820
- if (doc === null) {
821
- const order = yield this.projectFieldsByOrderNumber({
822
- orderNumber: params.orderNumber,
823
- project: { id: params.project.id },
824
- inclusion: [
825
- 'project', 'typeOf', 'orderNumber', 'dateReturned',
826
- 'customer', 'returner', 'seller', 'price', 'priceCurrency', 'orderDate'
827
- ]
828
- });
829
- // tslint:disable-next-line:no-single-line-block-comment
765
+ async returnOrder(params) {
766
+ const { dateReturned, returner, orderNumber, project } = params;
767
+ const doc = await this.orderModel.findOneAndUpdate({
768
+ orderNumber: { $eq: orderNumber },
769
+ orderStatus: { $eq: factory.orderStatus.OrderDelivered },
770
+ 'project.id': { $eq: project.id },
771
+ typeOf: { $eq: factory.order.OrderType.Order }
772
+ }, {
773
+ $set: {
774
+ previousOrderStatus: factory.orderStatus.OrderDelivered,
775
+ orderStatus: factory.orderStatus.OrderReturned,
776
+ dateReturned,
777
+ returner
778
+ }
779
+ }, {
780
+ new: true,
781
+ projection: {
782
+ _id: 0, // hide _id(2024-07-30~)
783
+ id: { $toString: '$_id' },
784
+ // _id: 1,
785
+ project: 1, typeOf: 1, orderNumber: 1, dateReturned: 1,
786
+ customer: 1, returner: 1, seller: 1, price: 1, priceCurrency: 1, orderDate: 1 // optimize(2023-12-07~)
787
+ // __v: 0,
788
+ // createdAt: 0,
789
+ // updatedAt: 0
790
+ }
791
+ })
792
+ .lean() // lean(2024-07-30~)
793
+ .exec();
794
+ // NotFoundであれば状態確認
795
+ if (doc === null) {
796
+ const order = await this.projectFieldsByOrderNumber({
797
+ orderNumber: params.orderNumber,
798
+ project: { id: params.project.id },
799
+ inclusion: [
800
+ 'project', 'typeOf', 'orderNumber', 'dateReturned',
801
+ 'customer', 'returner', 'seller', 'price', 'priceCurrency', 'orderDate'
802
+ ]
803
+ });
804
+ /* istanbul ignore next */
805
+ if (order.orderStatus === factory.orderStatus.OrderReturned) {
806
+ // すでに変更済の場合
807
+ return order;
830
808
  /* istanbul ignore next */
831
- if (order.orderStatus === factory.orderStatus.OrderReturned) {
832
- // すでに変更済の場合
833
- return order;
834
- // tslint:disable-next-line:no-single-line-block-comment
835
- /* istanbul ignore next */
836
- }
837
- else {
838
- throw new factory.errors.Argument('orderNumber', `Order ${order.orderNumber} already changed -> ${order.orderStatus}`);
839
- }
840
809
  }
841
- return doc;
842
- });
810
+ else {
811
+ throw new factory.errors.Argument('orderNumber', `Order ${order.orderNumber} already changed -> ${order.orderStatus}`);
812
+ }
813
+ }
814
+ return doc;
843
815
  }
844
816
  /**
845
817
  * 変更可能な属性を更新する
846
818
  */
847
- updateChangeableAttributes(params) {
848
- return __awaiter(this, void 0, void 0, function* () {
849
- const updatedAt = new Date();
850
- const { orderNumber, project, name } = params;
851
- const doc = yield this.orderModel.findOneAndUpdate({
852
- orderNumber: { $eq: orderNumber },
853
- 'project.id': { $eq: project.id },
854
- typeOf: { $eq: factory.order.OrderType.Order }
855
- }, {
856
- $set: Object.assign({}, (typeof name === 'string') ? { name } : undefined)
857
- }, {
858
- new: false,
859
- projection: {
860
- _id: 1
861
- // updatedAt: 1 // discontinue(2024-06-17~)
862
- }
863
- })
864
- .lean() // lean(2024-07-30~)
865
- .exec();
866
- if (doc === null) {
867
- throw new factory.errors.NotFound(this.orderModel.modelName);
819
+ async updateChangeableAttributes(params) {
820
+ const updatedAt = new Date();
821
+ const { orderNumber, project, name } = params;
822
+ const doc = await this.orderModel.findOneAndUpdate({
823
+ orderNumber: { $eq: orderNumber },
824
+ 'project.id': { $eq: project.id },
825
+ typeOf: { $eq: factory.order.OrderType.Order }
826
+ }, {
827
+ $set: {
828
+ ...(typeof name === 'string') ? { name } : undefined
868
829
  }
869
- return { updatedAt };
870
- });
830
+ }, {
831
+ new: false,
832
+ projection: {
833
+ _id: 1
834
+ // updatedAt: 1 // discontinue(2024-06-17~)
835
+ }
836
+ })
837
+ .lean() // lean(2024-07-30~)
838
+ .exec();
839
+ if (doc === null) {
840
+ throw new factory.errors.NotFound(this.orderModel.modelName);
841
+ }
842
+ return { updatedAt };
871
843
  }
872
844
  /**
873
845
  * 注文後に決済方法区分を確定する
874
846
  */
875
- fixPaymentMethodIdentifier(params) {
876
- return __awaiter(this, void 0, void 0, function* () {
877
- const doc = yield this.orderModel.findOneAndUpdate({
878
- orderNumber: { $eq: params.orderNumber },
879
- 'project.id': { $eq: params.project.id },
880
- typeOf: { $eq: factory.order.OrderType.Order },
881
- 'paymentMethods.paymentMethodId': { $exists: true, $eq: params.invoice.paymentMethodId }
882
- }, {
883
- $set: {
884
- 'paymentMethods.$[invoice].paymentMethod.identifier': params.invoice.paymentMethod.identifier,
885
- // tslint:disable-next-line:no-suspicious-comment
886
- // TODO 互換性維持対応としてtypeOfも変更しているが、そのうち廃止(2023-08-30)
887
- 'paymentMethods.$[invoice].typeOf': params.invoice.paymentMethod.identifier
888
- }
889
- }, {
890
- arrayFilters: [{ 'invoice.paymentMethodId': { $eq: params.invoice.paymentMethodId } }],
891
- new: true,
892
- projection: {
893
- _id: 1
894
- }
895
- })
896
- .lean() // lean(2024-07-30~)
897
- .exec();
898
- if (doc === null) {
899
- throw new factory.errors.NotFound(this.orderModel.modelName);
900
- }
901
- });
902
- }
903
- projectFieldsById(params) {
904
- return __awaiter(this, void 0, void 0, function* () {
905
- const projection = {
906
- // _id: 1
907
- _id: 0, // hide _id(2024-07-25~)
908
- id: { $toString: '$_id' }
909
- };
910
- if (Array.isArray(params.inclusion) && params.inclusion.length > 0) {
911
- params.inclusion.forEach((field) => {
912
- // if (String(field) !== 'acceptedOffers' && field !== '_id' && field !== 'id') {
913
- // projection[field] = 1;
914
- // }
915
- if (AVAILABLE_PROJECT_FIELDS.includes(field)) {
916
- projection[field] = 1;
917
- }
918
- });
847
+ async fixPaymentMethodIdentifier(params) {
848
+ const doc = await this.orderModel.findOneAndUpdate({
849
+ orderNumber: { $eq: params.orderNumber },
850
+ 'project.id': { $eq: params.project.id },
851
+ typeOf: { $eq: factory.order.OrderType.Order },
852
+ 'paymentMethods.paymentMethodId': { $exists: true, $eq: params.invoice.paymentMethodId }
853
+ }, {
854
+ $set: {
855
+ 'paymentMethods.$[invoice].paymentMethod.identifier': params.invoice.paymentMethod.identifier,
856
+ // TODO 互換性維持対応としてtypeOfも変更しているが、そのうち廃止(2023-08-30)
857
+ 'paymentMethods.$[invoice].typeOf': params.invoice.paymentMethod.identifier
919
858
  }
920
- else {
921
- // discontinue(2024-07-25~)
922
- throw new factory.errors.ArgumentNull('inclusion', 'inclusion must be specified');
923
- }
924
- const doc = yield this.orderModel.findOne({
925
- _id: { $eq: params.id },
926
- typeOf: { $eq: factory.order.OrderType.Order }
927
- }, projection)
928
- .lean() // lean(2024-07-25~)
929
- .exec();
930
- if (doc === null) {
931
- throw new factory.errors.NotFound(this.orderModel.modelName);
859
+ }, {
860
+ arrayFilters: [{ 'invoice.paymentMethodId': { $eq: params.invoice.paymentMethodId } }],
861
+ new: true,
862
+ projection: {
863
+ _id: 1
932
864
  }
933
- return doc;
934
- });
865
+ })
866
+ .lean() // lean(2024-07-30~)
867
+ .exec();
868
+ if (doc === null) {
869
+ throw new factory.errors.NotFound(this.orderModel.modelName);
870
+ }
871
+ }
872
+ async projectFieldsById(params) {
873
+ const projection = {
874
+ // _id: 1
875
+ _id: 0, // hide _id(2024-07-25~)
876
+ id: { $toString: '$_id' }
877
+ };
878
+ if (Array.isArray(params.inclusion) && params.inclusion.length > 0) {
879
+ params.inclusion.forEach((field) => {
880
+ // if (String(field) !== 'acceptedOffers' && field !== '_id' && field !== 'id') {
881
+ // projection[field] = 1;
882
+ // }
883
+ if (AVAILABLE_PROJECT_FIELDS.includes(field)) {
884
+ projection[field] = 1;
885
+ }
886
+ });
887
+ }
888
+ else {
889
+ // discontinue(2024-07-25~)
890
+ throw new factory.errors.ArgumentNull('inclusion', 'inclusion must be specified');
891
+ }
892
+ const doc = await this.orderModel.findOne({
893
+ _id: { $eq: params.id },
894
+ typeOf: { $eq: factory.order.OrderType.Order }
895
+ }, projection)
896
+ .lean() // lean(2024-07-25~)
897
+ .exec();
898
+ if (doc === null) {
899
+ throw new factory.errors.NotFound(this.orderModel.modelName);
900
+ }
901
+ return doc;
935
902
  }
936
903
  /**
937
904
  * 注文番号から注文を取得する
938
905
  */
939
- projectFieldsByOrderNumber(
906
+ async projectFieldsByOrderNumber(
940
907
  // public async findByOrderNumber(
941
908
  params) {
942
- return __awaiter(this, void 0, void 0, function* () {
943
- const projection = {
944
- _id: 0, // hide _id(2024-07-25~)
945
- id: { $toString: '$_id' }
946
- };
947
- if (Array.isArray(params.inclusion) && params.inclusion.length > 0) {
948
- params.inclusion.forEach((field) => {
949
- // if (String(field) !== 'acceptedOffers' && field !== '_id' && field !== 'id') {
950
- // projection[field] = 1;
951
- // }
952
- if (AVAILABLE_PROJECT_FIELDS.includes(field)) {
953
- projection[field] = 1;
954
- }
955
- });
956
- }
957
- else {
958
- // discontinue(2024-07-25~)
959
- throw new factory.errors.ArgumentNull('inclusion', 'inclusion must be specified');
960
- }
961
- const doc = yield this.orderModel.findOne({
962
- orderNumber: { $eq: params.orderNumber },
963
- 'project.id': { $eq: params.project.id },
964
- typeOf: { $eq: factory.order.OrderType.Order }
965
- }, projection)
966
- .lean() // lean(2024-07-25~)
967
- .exec();
968
- if (doc === null) {
969
- throw new factory.errors.NotFound(this.orderModel.modelName);
970
- }
971
- return doc;
972
- });
909
+ const projection = {
910
+ _id: 0, // hide _id(2024-07-25~)
911
+ id: { $toString: '$_id' }
912
+ };
913
+ if (Array.isArray(params.inclusion) && params.inclusion.length > 0) {
914
+ params.inclusion.forEach((field) => {
915
+ // if (String(field) !== 'acceptedOffers' && field !== '_id' && field !== 'id') {
916
+ // projection[field] = 1;
917
+ // }
918
+ if (AVAILABLE_PROJECT_FIELDS.includes(field)) {
919
+ projection[field] = 1;
920
+ }
921
+ });
922
+ }
923
+ else {
924
+ // discontinue(2024-07-25~)
925
+ throw new factory.errors.ArgumentNull('inclusion', 'inclusion must be specified');
926
+ }
927
+ const doc = await this.orderModel.findOne({
928
+ orderNumber: { $eq: params.orderNumber },
929
+ 'project.id': { $eq: params.project.id },
930
+ typeOf: { $eq: factory.order.OrderType.Order }
931
+ }, projection)
932
+ .lean() // lean(2024-07-25~)
933
+ .exec();
934
+ if (doc === null) {
935
+ throw new factory.errors.NotFound(this.orderModel.modelName);
936
+ }
937
+ return doc;
973
938
  }
974
- findByOrderNumberAndReservationId(params) {
975
- return __awaiter(this, void 0, void 0, function* () {
976
- var _a;
977
- const projection = {
978
- orderStatus: 1,
979
- typeOf: 1,
980
- orderNumber: 1,
981
- _id: 0
982
- };
983
- const doc = yield this.orderModel.findOne(Object.assign({ orderNumber: { $eq: params.orderNumber }, 'project.id': { $eq: params.project.id }, typeOf: { $eq: factory.order.OrderType.Order }, acceptedOffers: {
984
- $elemMatch: {
985
- 'itemOffered.typeOf': { $in: [factory.reservationType.BusReservation, factory.reservationType.EventReservation] },
986
- 'itemOffered.id': { $eq: params.reservationId }
987
- }
988
- } }, (typeof ((_a = params.seller) === null || _a === void 0 ? void 0 : _a.id) === 'string')
939
+ async findByOrderNumberAndReservationId(params) {
940
+ const projection = {
941
+ orderStatus: 1,
942
+ typeOf: 1,
943
+ orderNumber: 1,
944
+ _id: 0
945
+ };
946
+ const doc = await this.orderModel.findOne({
947
+ orderNumber: { $eq: params.orderNumber },
948
+ 'project.id': { $eq: params.project.id },
949
+ typeOf: { $eq: factory.order.OrderType.Order },
950
+ acceptedOffers: {
951
+ $elemMatch: {
952
+ 'itemOffered.typeOf': { $in: [factory.reservationType.BusReservation, factory.reservationType.EventReservation] },
953
+ 'itemOffered.id': { $eq: params.reservationId }
954
+ }
955
+ },
956
+ ...(typeof params.seller?.id === 'string')
989
957
  ? { 'seller.id': { $exists: true, $eq: params.seller.id } }
990
- : undefined), projection)
991
- // projection的にleanで十分
992
- .lean()
993
- .exec();
994
- if (doc === null) {
995
- throw new factory.errors.NotFound(this.orderModel.modelName);
996
- }
997
- return doc;
998
- });
958
+ : undefined
959
+ }, projection)
960
+ // projection的にleanで十分
961
+ .lean()
962
+ .exec();
963
+ if (doc === null) {
964
+ throw new factory.errors.NotFound(this.orderModel.modelName);
965
+ }
966
+ return doc;
999
967
  }
1000
968
  /**
1001
969
  * 注文番号で削除する
1002
970
  */
1003
- deleteByOrderNumber(params) {
1004
- return __awaiter(this, void 0, void 0, function* () {
1005
- yield this.orderModel.deleteOne({
1006
- orderNumber: { $eq: params.orderNumber },
1007
- typeOf: { $eq: factory.order.OrderType.Order }
1008
- })
1009
- .exec();
1010
- });
971
+ async deleteByOrderNumber(params) {
972
+ await this.orderModel.deleteOne({
973
+ orderNumber: { $eq: params.orderNumber },
974
+ typeOf: { $eq: factory.order.OrderType.Order }
975
+ })
976
+ .exec();
1011
977
  }
1012
- count(params) {
1013
- return __awaiter(this, void 0, void 0, function* () {
1014
- const conditions = OrderRepo.CREATE_MONGO_CONDITIONS(params);
1015
- return this.orderModel.countDocuments((conditions.length > 0) ? { $and: conditions } : {})
1016
- .setOptions({ maxTimeMS: settings_1.MONGO_MAX_TIME_MS })
1017
- .exec();
1018
- });
978
+ async count(params) {
979
+ const conditions = OrderRepo.CREATE_MONGO_CONDITIONS(params);
980
+ return this.orderModel.countDocuments((conditions.length > 0) ? { $and: conditions } : {})
981
+ .setOptions({ maxTimeMS: settings_1.MONGO_MAX_TIME_MS })
982
+ .exec();
1019
983
  }
1020
984
  /**
1021
985
  * 注文を検索する(inclusion projection)
1022
986
  * redefine from search(2024-07-31~)
1023
987
  */
1024
- projectFields(params, options) {
1025
- return __awaiter(this, void 0, void 0, function* () {
1026
- var _a;
1027
- const { inclusion } = options;
1028
- const conditions = OrderRepo.CREATE_MONGO_CONDITIONS(params);
1029
- let projectStage = {};
1030
- const positiveProjectionFields = (Array.isArray(inclusion))
1031
- ? inclusion.filter((key) => AVAILABLE_PROJECT_FIELDS.includes(key))
1032
- : [];
1033
- if (Array.isArray(positiveProjectionFields) && positiveProjectionFields.length > 0) {
1034
- projectStage = Object.assign({ _id: 0, id: { $toString: '$_id' } }, Object.fromEntries(positiveProjectionFields.map((key) => ([key, 1]))));
1035
- }
1036
- else {
1037
- throw new factory.errors.ArgumentNull('inclusion', 'inclusion must be specified');
1038
- }
1039
- const query = this.orderModel.find((conditions.length > 0) ? { $and: conditions } : {}, projectStage);
1040
- if (typeof params.limit === 'number' && params.limit > 0) {
1041
- const page = (typeof params.page === 'number' && params.page > 0) ? params.page : 1;
1042
- query.limit(params.limit)
1043
- .skip(params.limit * (page - 1));
1044
- }
1045
- // tslint:disable-next-line:no-single-line-block-comment
1046
- /* istanbul ignore else */
1047
- if (((_a = params.sort) === null || _a === void 0 ? void 0 : _a.orderDate) !== undefined) {
1048
- query.sort({ orderDate: params.sort.orderDate });
1049
- }
1050
- // const explainResult = await (<any>query).explain();
1051
- // console.log(explainResult[0].executionStats.allPlansExecution.map((e: any) => e.executionStages.inputStage));
1052
- return query.setOptions({ maxTimeMS: settings_1.MONGO_MAX_TIME_MS })
1053
- .lean() // lean(2024-07-25~)
1054
- .exec();
1055
- });
988
+ async projectFields(params, options) {
989
+ const { inclusion } = options;
990
+ const conditions = OrderRepo.CREATE_MONGO_CONDITIONS(params);
991
+ let projectStage = {};
992
+ const positiveProjectionFields = (Array.isArray(inclusion))
993
+ ? inclusion.filter((key) => AVAILABLE_PROJECT_FIELDS.includes(key))
994
+ : [];
995
+ if (Array.isArray(positiveProjectionFields) && positiveProjectionFields.length > 0) {
996
+ projectStage = {
997
+ _id: 0, // hide _id(2024-07-25~)
998
+ id: { $toString: '$_id' },
999
+ ...Object.fromEntries(positiveProjectionFields.map((key) => ([key, 1])))
1000
+ };
1001
+ }
1002
+ else {
1003
+ throw new factory.errors.ArgumentNull('inclusion', 'inclusion must be specified');
1004
+ }
1005
+ const query = this.orderModel.find((conditions.length > 0) ? { $and: conditions } : {}, projectStage);
1006
+ if (typeof params.limit === 'number' && params.limit > 0) {
1007
+ const page = (typeof params.page === 'number' && params.page > 0) ? params.page : 1;
1008
+ query.limit(params.limit)
1009
+ .skip(params.limit * (page - 1));
1010
+ }
1011
+ /* istanbul ignore else */
1012
+ if (params.sort?.orderDate !== undefined) {
1013
+ query.sort({ orderDate: params.sort.orderDate });
1014
+ }
1015
+ // const explainResult = await (<any>query).explain();
1016
+ // console.log(explainResult[0].executionStats.allPlansExecution.map((e: any) => e.executionStages.inputStage));
1017
+ return query.setOptions({ maxTimeMS: settings_1.MONGO_MAX_TIME_MS })
1018
+ .lean() // lean(2024-07-25~)
1019
+ .exec();
1056
1020
  }
1057
1021
  getCursor(conditions, projection) {
1058
1022
  return this.orderModel.find(conditions, projection)
1059
1023
  .sort({ orderDate: factory.sortType.Descending })
1060
1024
  .cursor();
1061
1025
  }
1062
- unsetUnnecessaryFields(params) {
1063
- return __awaiter(this, void 0, void 0, function* () {
1064
- return this.orderModel.updateMany(params.filter, { $unset: params.$unset }, { timestamps: false })
1065
- .exec();
1066
- });
1026
+ async unsetUnnecessaryFields(params) {
1027
+ return this.orderModel.updateMany(params.filter, { $unset: params.$unset }, { timestamps: false })
1028
+ .exec();
1067
1029
  }
1068
- // tslint:disable-next-line:max-func-body-length
1069
- aggregateOrder(params) {
1070
- return __awaiter(this, void 0, void 0, function* () {
1071
- var _a, _b;
1072
- const matchConditions = Object.assign({ orderDate: {
1073
- $gte: params.orderDate.$gte,
1074
- $lte: params.orderDate.$lte
1075
- }, typeOf: { $eq: factory.order.OrderType.Order } }, (typeof ((_b = (_a = params.project) === null || _a === void 0 ? void 0 : _a.id) === null || _b === void 0 ? void 0 : _b.$ne) === 'string')
1030
+ async aggregateOrder(params) {
1031
+ const matchConditions = {
1032
+ orderDate: {
1033
+ $gte: params.orderDate.$gte,
1034
+ $lte: params.orderDate.$lte
1035
+ },
1036
+ typeOf: { $eq: factory.order.OrderType.Order },
1037
+ ...(typeof params.project?.id?.$ne === 'string')
1076
1038
  ? { 'project.id': { $ne: params.project.id.$ne } }
1077
- : undefined);
1078
- const aggregations = yield this.orderModel.aggregate([
1079
- { $match: matchConditions },
1080
- {
1081
- $project: {
1082
- typeOf: '$typeOf',
1083
- price: '$price',
1084
- numAcceptedOffers: { $size: '$acceptedOffers' }
1085
- }
1086
- },
1087
- {
1088
- $group: {
1089
- _id: '$typeOf',
1090
- orderCount: { $sum: 1 },
1091
- totalNumAcceptedOffer: { $sum: '$numAcceptedOffers' },
1092
- maxNumAcceptedOffer: { $max: '$numAcceptedOffers' },
1093
- minNumAcceptedOffer: { $min: '$numAcceptedOffers' },
1094
- avgNumAcceptedOffer: { $avg: '$numAcceptedOffers' },
1095
- totalPrice: { $sum: '$price' },
1096
- maxPrice: { $max: '$price' },
1097
- minPrice: { $min: '$price' },
1098
- avgPrice: { $avg: '$price' }
1099
- }
1100
- },
1101
- {
1102
- $project: {
1103
- _id: 0,
1104
- orderCount: '$orderCount',
1105
- totalNumAcceptedOffer: '$totalNumAcceptedOffer',
1106
- maxNumAcceptedOffer: '$maxNumAcceptedOffer',
1107
- minNumAcceptedOffer: '$minNumAcceptedOffer',
1108
- avgNumAcceptedOffer: '$avgNumAcceptedOffer',
1109
- totalPrice: '$totalPrice',
1110
- maxPrice: '$maxPrice',
1111
- minPrice: '$minPrice',
1112
- avgPrice: '$avgPrice'
1113
- }
1039
+ : undefined
1040
+ };
1041
+ const aggregations = await this.orderModel.aggregate([
1042
+ { $match: matchConditions },
1043
+ {
1044
+ $project: {
1045
+ typeOf: '$typeOf',
1046
+ price: '$price',
1047
+ numAcceptedOffers: { $size: '$acceptedOffers' }
1048
+ }
1049
+ },
1050
+ {
1051
+ $group: {
1052
+ _id: '$typeOf',
1053
+ orderCount: { $sum: 1 },
1054
+ totalNumAcceptedOffer: { $sum: '$numAcceptedOffers' },
1055
+ maxNumAcceptedOffer: { $max: '$numAcceptedOffers' },
1056
+ minNumAcceptedOffer: { $min: '$numAcceptedOffers' },
1057
+ avgNumAcceptedOffer: { $avg: '$numAcceptedOffers' },
1058
+ totalPrice: { $sum: '$price' },
1059
+ maxPrice: { $max: '$price' },
1060
+ minPrice: { $min: '$price' },
1061
+ avgPrice: { $avg: '$price' }
1062
+ }
1063
+ },
1064
+ {
1065
+ $project: {
1066
+ _id: 0,
1067
+ orderCount: '$orderCount',
1068
+ totalNumAcceptedOffer: '$totalNumAcceptedOffer',
1069
+ maxNumAcceptedOffer: '$maxNumAcceptedOffer',
1070
+ minNumAcceptedOffer: '$minNumAcceptedOffer',
1071
+ avgNumAcceptedOffer: '$avgNumAcceptedOffer',
1072
+ totalPrice: '$totalPrice',
1073
+ maxPrice: '$maxPrice',
1074
+ minPrice: '$minPrice',
1075
+ avgPrice: '$avgPrice'
1114
1076
  }
1115
- ])
1116
- .exec();
1117
- if (aggregations.length === 0) {
1118
- return {
1119
- aggregation: {
1120
- orderCount: 0,
1121
- totalNumAcceptedOffer: 0,
1122
- maxNumAcceptedOffer: 0,
1123
- minNumAcceptedOffer: 0,
1124
- avgNumAcceptedOffer: 0,
1125
- totalPrice: 0,
1126
- maxPrice: 0,
1127
- minPrice: 0,
1128
- avgPrice: 0
1129
- }
1130
- };
1131
1077
  }
1132
- return { aggregation: aggregations[0] };
1133
- });
1078
+ ])
1079
+ .exec();
1080
+ if (aggregations.length === 0) {
1081
+ return {
1082
+ aggregation: {
1083
+ orderCount: 0,
1084
+ totalNumAcceptedOffer: 0,
1085
+ maxNumAcceptedOffer: 0,
1086
+ minNumAcceptedOffer: 0,
1087
+ avgNumAcceptedOffer: 0,
1088
+ totalPrice: 0,
1089
+ maxPrice: 0,
1090
+ minPrice: 0,
1091
+ avgPrice: 0
1092
+ }
1093
+ };
1094
+ }
1095
+ return { aggregation: aggregations[0] };
1134
1096
  }
1135
- aggregateOrderOfSeat(params) {
1136
- return __awaiter(this, void 0, void 0, function* () {
1137
- var _a, _b;
1138
- const seatNumber = params.acceptedOffers.itemOffered.reservedTicket.ticketedSeat.seatNumber;
1139
- const screenCode = params.acceptedOffers.itemOffered.reservationFor.location.branchCode;
1140
- const movieTheaterCode = params.acceptedOffers.itemOffered.reservationFor.superEvent.location.branchCode;
1141
- const customerEmailIn = (_b = (_a = params.customer) === null || _a === void 0 ? void 0 : _a.email) === null || _b === void 0 ? void 0 : _b.$in;
1142
- const matchConditions = Object.assign({ orderDate: {
1143
- $gte: params.orderDate.$gte,
1144
- $lte: params.orderDate.$lte
1145
- }, typeOf: { $eq: factory.order.OrderType.Order }, 'project.id': { $eq: params.project.id.$eq }, 'acceptedOffers.itemOffered.reservationFor.superEvent.location.branchCode': { $exists: true, $eq: movieTheaterCode }, 'acceptedOffers.itemOffered.reservationFor.location.branchCode': { $exists: true, $eq: screenCode }, 'acceptedOffers.itemOffered.reservedTicket.ticketedSeat.seatNumber': { $exists: true, $eq: seatNumber } }, (Array.isArray(customerEmailIn))
1097
+ async aggregateOrderOfSeat(params) {
1098
+ const seatNumber = params.acceptedOffers.itemOffered.reservedTicket.ticketedSeat.seatNumber;
1099
+ const screenCode = params.acceptedOffers.itemOffered.reservationFor.location.branchCode;
1100
+ const movieTheaterCode = params.acceptedOffers.itemOffered.reservationFor.superEvent.location.branchCode;
1101
+ const customerEmailIn = params.customer?.email?.$in;
1102
+ const matchConditions = {
1103
+ orderDate: {
1104
+ $gte: params.orderDate.$gte,
1105
+ $lte: params.orderDate.$lte
1106
+ },
1107
+ typeOf: { $eq: factory.order.OrderType.Order },
1108
+ 'project.id': { $eq: params.project.id.$eq },
1109
+ 'acceptedOffers.itemOffered.reservationFor.superEvent.location.branchCode': { $exists: true, $eq: movieTheaterCode },
1110
+ 'acceptedOffers.itemOffered.reservationFor.location.branchCode': { $exists: true, $eq: screenCode },
1111
+ 'acceptedOffers.itemOffered.reservedTicket.ticketedSeat.seatNumber': { $exists: true, $eq: seatNumber },
1112
+ ...(Array.isArray(customerEmailIn))
1146
1113
  ? { 'customer.email': { $exists: true, $in: customerEmailIn } }
1147
- : undefined);
1148
- const aggregations4email = yield this.orderModel.aggregate([
1149
- { $match: matchConditions },
1150
- {
1151
- $group: {
1152
- _id: '$customer.email'
1153
- }
1154
- },
1155
- {
1156
- $count: 'emailCount'
1114
+ : undefined
1115
+ };
1116
+ const aggregations4email = await this.orderModel.aggregate([
1117
+ { $match: matchConditions },
1118
+ {
1119
+ $group: {
1120
+ _id: '$customer.email'
1157
1121
  }
1158
- ])
1159
- .exec();
1160
- const emailCount = (aggregations4email.length > 0) ? aggregations4email[0].emailCount : 0;
1161
- const aggregations = yield this.orderModel.aggregate([
1162
- { $match: matchConditions },
1163
- {
1164
- $project: {
1165
- typeOf: '$typeOf',
1166
- graceTime: {
1167
- $subtract: [
1168
- { $first: '$acceptedOffers.itemOffered.reservationFor.startDate' },
1169
- '$orderDate'
1170
- ]
1171
- }
1172
- }
1173
- },
1174
- {
1175
- $group: {
1176
- _id: '$typeOf',
1177
- orderCount: { $sum: 1 },
1178
- sumGraceTime: { $sum: '$graceTime' }
1179
- }
1180
- },
1181
- {
1182
- $project: {
1183
- _id: 0,
1184
- orderCount: '$orderCount',
1185
- sumGraceTime: '$sumGraceTime'
1122
+ },
1123
+ {
1124
+ $count: 'emailCount'
1125
+ }
1126
+ ])
1127
+ .exec();
1128
+ const emailCount = (aggregations4email.length > 0) ? aggregations4email[0].emailCount : 0;
1129
+ const aggregations = await this.orderModel.aggregate([
1130
+ { $match: matchConditions },
1131
+ {
1132
+ $project: {
1133
+ typeOf: '$typeOf',
1134
+ graceTime: {
1135
+ $subtract: [
1136
+ { $first: '$acceptedOffers.itemOffered.reservationFor.startDate' },
1137
+ '$orderDate'
1138
+ ]
1186
1139
  }
1187
1140
  }
1188
- ])
1189
- .exec();
1190
- if (aggregations.length === 0) {
1191
- return {
1192
- aggregation: {
1193
- orderCount: 0
1194
- }
1195
- };
1141
+ },
1142
+ {
1143
+ $group: {
1144
+ _id: '$typeOf',
1145
+ orderCount: { $sum: 1 },
1146
+ sumGraceTime: { $sum: '$graceTime' }
1147
+ }
1148
+ },
1149
+ {
1150
+ $project: {
1151
+ _id: 0,
1152
+ orderCount: '$orderCount',
1153
+ sumGraceTime: '$sumGraceTime'
1154
+ }
1196
1155
  }
1156
+ ])
1157
+ .exec();
1158
+ if (aggregations.length === 0) {
1197
1159
  return {
1198
- aggregation: Object.assign(Object.assign({}, aggregations[0]), { emailCount })
1160
+ aggregation: {
1161
+ orderCount: 0
1162
+ }
1199
1163
  };
1200
- });
1164
+ }
1165
+ return {
1166
+ aggregation: {
1167
+ ...aggregations[0],
1168
+ emailCount
1169
+ }
1170
+ };
1201
1171
  }
1202
- aggregateOrderOfCustomerByProject(params) {
1203
- return __awaiter(this, void 0, void 0, function* () {
1204
- var _a;
1205
- const matchConditions = Object.assign(Object.assign({ orderDate: {
1206
- $gte: params.orderDate.$gte,
1207
- $lte: params.orderDate.$lte
1208
- }, typeOf: { $eq: factory.order.OrderType.Order } }, (typeof ((_a = params.project) === null || _a === void 0 ? void 0 : _a.id.$eq) === 'string') ? { 'project.id': { $eq: params.project.id.$eq } } : undefined), { 'customer.email': { $exists: true, $eq: params.customer.email.$eq } });
1209
- const aggregations = yield this.orderModel.aggregate([
1210
- { $match: matchConditions },
1211
- {
1212
- $project: {
1213
- typeOf: '$typeOf',
1214
- graceTime: {
1215
- $subtract: [
1216
- { $first: '$acceptedOffers.itemOffered.reservationFor.startDate' },
1217
- '$orderDate'
1218
- ]
1219
- }
1220
- }
1221
- },
1222
- {
1223
- $group: {
1224
- _id: '$typeOf',
1225
- orderCount: { $sum: 1 },
1226
- sumGraceTime: { $sum: '$graceTime' }
1227
- }
1228
- },
1229
- {
1230
- $project: {
1231
- _id: 0,
1232
- orderCount: '$orderCount',
1233
- sumGraceTime: '$sumGraceTime'
1172
+ async aggregateOrderOfCustomerByProject(params) {
1173
+ const matchConditions = {
1174
+ orderDate: {
1175
+ $gte: params.orderDate.$gte,
1176
+ $lte: params.orderDate.$lte
1177
+ },
1178
+ typeOf: { $eq: factory.order.OrderType.Order },
1179
+ ...(typeof params.project?.id.$eq === 'string') ? { 'project.id': { $eq: params.project.id.$eq } } : undefined,
1180
+ 'customer.email': { $exists: true, $eq: params.customer.email.$eq }
1181
+ };
1182
+ const aggregations = await this.orderModel.aggregate([
1183
+ { $match: matchConditions },
1184
+ {
1185
+ $project: {
1186
+ typeOf: '$typeOf',
1187
+ graceTime: {
1188
+ $subtract: [
1189
+ { $first: '$acceptedOffers.itemOffered.reservationFor.startDate' },
1190
+ '$orderDate'
1191
+ ]
1234
1192
  }
1235
1193
  }
1236
- ])
1237
- .exec();
1238
- if (aggregations.length === 0) {
1239
- return {
1240
- aggregation: {
1241
- orderCount: 0
1242
- }
1243
- };
1194
+ },
1195
+ {
1196
+ $group: {
1197
+ _id: '$typeOf',
1198
+ orderCount: { $sum: 1 },
1199
+ sumGraceTime: { $sum: '$graceTime' }
1200
+ }
1201
+ },
1202
+ {
1203
+ $project: {
1204
+ _id: 0,
1205
+ orderCount: '$orderCount',
1206
+ sumGraceTime: '$sumGraceTime'
1207
+ }
1244
1208
  }
1209
+ ])
1210
+ .exec();
1211
+ if (aggregations.length === 0) {
1245
1212
  return {
1246
- aggregation: Object.assign({}, aggregations[0])
1213
+ aggregation: {
1214
+ orderCount: 0
1215
+ }
1247
1216
  };
1248
- });
1217
+ }
1218
+ return {
1219
+ aggregation: {
1220
+ ...aggregations[0]
1221
+ }
1222
+ };
1249
1223
  }
1250
- aggregateOrderOfCustomerGlobally(params) {
1251
- return __awaiter(this, void 0, void 0, function* () {
1252
- const matchConditions = {
1253
- orderDate: {
1254
- $gte: params.orderDate.$gte,
1255
- $lte: params.orderDate.$lte
1256
- },
1257
- typeOf: { $eq: factory.order.OrderType.Order },
1258
- 'customer.email': { $exists: true, $eq: params.customer.email.$eq }
1259
- };
1260
- const aggregations = yield this.orderModel.aggregate([
1261
- { $match: matchConditions },
1262
- {
1263
- $project: {
1264
- typeOf: '$typeOf'
1265
- }
1266
- },
1267
- {
1268
- $group: {
1269
- _id: '$typeOf',
1270
- orderCount: { $sum: 1 }
1271
- }
1272
- },
1273
- {
1274
- $project: {
1275
- _id: 0,
1276
- orderCount: '$orderCount'
1277
- }
1224
+ async aggregateOrderOfCustomerGlobally(params) {
1225
+ const matchConditions = {
1226
+ orderDate: {
1227
+ $gte: params.orderDate.$gte,
1228
+ $lte: params.orderDate.$lte
1229
+ },
1230
+ typeOf: { $eq: factory.order.OrderType.Order },
1231
+ 'customer.email': { $exists: true, $eq: params.customer.email.$eq }
1232
+ };
1233
+ const aggregations = await this.orderModel.aggregate([
1234
+ { $match: matchConditions },
1235
+ {
1236
+ $project: {
1237
+ typeOf: '$typeOf'
1278
1238
  }
1279
- ])
1280
- .exec();
1281
- if (aggregations.length === 0) {
1282
- return {
1283
- aggregation: {
1284
- orderCount: 0,
1285
- aggregateProject: { projectCount: 0 }
1286
- }
1287
- };
1288
- }
1289
- const aggregations2 = yield this.orderModel.aggregate([
1290
- { $match: matchConditions },
1291
- {
1292
- $project: {
1293
- project: '$project'
1294
- }
1295
- },
1296
- {
1297
- $group: {
1298
- _id: '$project.id'
1299
- }
1300
- },
1301
- {
1302
- $count: 'projectCount'
1303
- },
1304
- {
1305
- $project: {
1306
- aggregateProject: { projectCount: '$projectCount' }
1307
- }
1239
+ },
1240
+ {
1241
+ $group: {
1242
+ _id: '$typeOf',
1243
+ orderCount: { $sum: 1 }
1308
1244
  }
1309
- ])
1310
- .exec();
1245
+ },
1246
+ {
1247
+ $project: {
1248
+ _id: 0,
1249
+ orderCount: '$orderCount'
1250
+ }
1251
+ }
1252
+ ])
1253
+ .exec();
1254
+ if (aggregations.length === 0) {
1311
1255
  return {
1312
- aggregation: Object.assign(Object.assign({}, aggregations[0]), aggregations2[0])
1256
+ aggregation: {
1257
+ orderCount: 0,
1258
+ aggregateProject: { projectCount: 0 }
1259
+ }
1313
1260
  };
1314
- });
1261
+ }
1262
+ const aggregations2 = await this.orderModel.aggregate([
1263
+ { $match: matchConditions },
1264
+ {
1265
+ $project: {
1266
+ project: '$project'
1267
+ }
1268
+ },
1269
+ {
1270
+ $group: {
1271
+ _id: '$project.id'
1272
+ }
1273
+ },
1274
+ {
1275
+ $count: 'projectCount'
1276
+ },
1277
+ {
1278
+ $project: {
1279
+ aggregateProject: { projectCount: '$projectCount' }
1280
+ }
1281
+ }
1282
+ ])
1283
+ .exec();
1284
+ return {
1285
+ aggregation: {
1286
+ ...aggregations[0],
1287
+ ...aggregations2[0]
1288
+ }
1289
+ };
1315
1290
  }
1316
1291
  }
1317
1292
  exports.OrderRepo = OrderRepo;