@chevre/domain 23.2.0-alpha.9 → 23.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (763) hide show
  1. package/example/src/chevre/acceptedPaymentMethodOffer/adminAcceptedPaymentMethodOffers.ts +27 -19
  2. package/example/src/chevre/actions/checkAcceptPayActions.ts +2 -2
  3. package/example/src/chevre/actions/checkAuthorizePaymentActions.ts +2 -2
  4. package/example/src/chevre/activateOptionalAggregationSettings.ts +1 -1
  5. package/example/src/chevre/adminIdentities.ts +1 -1
  6. package/example/src/chevre/aggreateOwnershipInfosByOrder.ts +1 -1
  7. package/example/src/chevre/aggregateEventPublicFields.ts +2 -2
  8. package/example/src/chevre/aggregateOfferCatalogItemList.ts +1 -1
  9. package/example/src/chevre/aggregateScreeningEventMaxVersion.ts +1 -1
  10. package/example/src/chevre/aggregation/aggregateOffersOnEvent.ts +1 -1
  11. package/example/src/chevre/aggregation/aggregateOrderOfCustomer.ts +2 -2
  12. package/example/src/chevre/aggregation/aggregateOrderOfCustomerGlobally.ts +2 -2
  13. package/example/src/chevre/aggregation/aggregateOrderOfSeatByRoyalCustomers.ts +2 -2
  14. package/example/src/chevre/aggregation/aggregateOrderOnSystem.ts +2 -2
  15. package/example/src/chevre/aggregation/aggregateReservationByProject.ts +2 -2
  16. package/example/src/chevre/aggregation/aggregateSystem.ts +1 -1
  17. package/example/src/chevre/aggregation/aggregateTasks.ts +2 -2
  18. package/example/src/chevre/aggregation/createAggregateEventTasks.ts +2 -2
  19. package/example/src/chevre/aggregation/searchAggregateReservations.ts +1 -1
  20. package/example/src/chevre/assetTransaction/checkPayTransactionsTicketToken.ts +2 -2
  21. package/example/src/chevre/assetTransaction/processReserve.ts +2 -2
  22. package/example/src/chevre/attendIfNotAttended.ts +1 -1
  23. package/example/src/chevre/authorizeEventServiceOffer.ts +1 -1
  24. package/example/src/chevre/categoryCode/checkUniqueness.ts +1 -1
  25. package/example/src/chevre/changeOrderStatus.ts +1 -1
  26. package/example/src/chevre/checkCustomerAttributesLength.ts +2 -2
  27. package/example/src/chevre/checkEventDuration.ts +2 -2
  28. package/example/src/chevre/checkPaymentServiceUniqueness.ts +1 -1
  29. package/example/src/chevre/checkProjectMembers.ts +1 -1
  30. package/example/src/chevre/checkReserveTransactionSizes.ts +2 -2
  31. package/example/src/chevre/cleanActions.ts +2 -2
  32. package/example/src/chevre/cleanReservations.ts +2 -2
  33. package/example/src/chevre/cleanTransactions.ts +2 -2
  34. package/example/src/chevre/confirmationNumber/testRandomness.ts +49 -0
  35. package/example/src/chevre/countPotentiallyExportTasks.ts +2 -2
  36. package/example/src/chevre/countTransactions.ts +1 -1
  37. package/example/src/chevre/createProject.ts +1 -1
  38. package/example/src/chevre/createTaskIfNotExistByAlternateName.ts +1 -1
  39. package/example/src/chevre/db/stats.ts +1 -1
  40. package/example/src/chevre/deleteDiscontinuedPeople.ts +2 -2
  41. package/example/src/chevre/deleteDiscontinuedPeopleByFetch.ts +1 -1
  42. package/example/src/chevre/deleteOwnershipInfosByOwnedThrough.ts +2 -2
  43. package/example/src/chevre/deleteStartDatePassedCertainPeriod.ts +2 -2
  44. package/example/src/chevre/deleteTasksByName.ts +2 -2
  45. package/example/src/chevre/emailMessage/createEmailMessageText.ts +63 -0
  46. package/example/src/chevre/event/checkEventAdditionalPropertyUniqueness.ts +2 -2
  47. package/example/src/chevre/event/importEventSeriesFromCOAByTitle.ts +1 -1
  48. package/example/src/chevre/event/importEventsFromCOAByTitle.ts +4 -4
  49. package/example/src/chevre/event/migrateEventAdditionalProperty2identifier.ts +2 -2
  50. package/example/src/chevre/event/migrateEventMaximumPhysicalAttendeeCapacity.ts +1 -1
  51. package/example/src/chevre/event/unsetSuperEventVideoFormat.ts +30 -0
  52. package/example/src/chevre/event/updateSellerMakesOffersByIdentifier.ts +2 -2
  53. package/example/src/chevre/eventSeries/unsetVideoFormat.ts +31 -0
  54. package/example/src/chevre/eventSeries/upsertScreeningEventSeriesByVersion.ts +106 -0
  55. package/example/src/chevre/findAnyEventById.ts +1 -1
  56. package/example/src/chevre/findAuthorizePaymentAction.ts +1 -1
  57. package/example/src/chevre/findAvailableChannelMovieTicket.ts +1 -1
  58. package/example/src/chevre/findCheckAction.ts +1 -1
  59. package/example/src/chevre/findCustomerByOrderNumber.ts +1 -1
  60. package/example/src/chevre/findItemListElementByCatalogId.ts +1 -1
  61. package/example/src/chevre/findItemListElementById.ts +1 -1
  62. package/example/src/chevre/findJWTSetting.ts +1 -1
  63. package/example/src/chevre/findOneAvailableHours.ts +2 -2
  64. package/example/src/chevre/findReservationByCode.ts +1 -1
  65. package/example/src/chevre/findSchedule.ts +1 -1
  66. package/example/src/chevre/giveUpStartDatePassedCertainPeriod.ts +2 -2
  67. package/example/src/chevre/identity/getCommonClients.ts +1 -1
  68. package/example/src/chevre/identity/migrateClients2oauth.ts +1 -1
  69. package/example/src/chevre/importCategoryCodesFromCOA.ts +1 -1
  70. package/example/src/chevre/importEventsFromCOA.ts +2 -2
  71. package/example/src/chevre/investigateEvents.ts +1 -1
  72. package/example/src/chevre/investigateTransaction.ts +2 -2
  73. package/example/src/chevre/isPaymentAcceptedBySeller.ts +1 -1
  74. package/example/src/chevre/issuer/adminMemberProgramTiers.ts +1 -1
  75. package/example/src/chevre/issuer/migrateIssuerUrls.ts +1 -1
  76. package/example/src/chevre/issuer/renameIssuerIdentifier.ts +1 -1
  77. package/example/src/chevre/maintenance/checkTransactionStatuses.ts +1 -1
  78. package/example/src/chevre/makeExpiredManyTasks.ts +1 -1
  79. package/example/src/chevre/makeTransactionExpired.ts +2 -2
  80. package/example/src/chevre/member/migrateMemberIdentifier.ts +2 -2
  81. package/example/src/chevre/migrateAuthorizeEventServiceOfferChevre.ts +1 -1
  82. package/example/src/chevre/migrateCancelReservationObject.ts +1 -1
  83. package/example/src/chevre/migrateCustomerAdditionalProperties.ts +2 -2
  84. package/example/src/chevre/migrateEventSellerMakesOfferAvailableAt.ts +2 -2
  85. package/example/src/chevre/migrateIdentities.ts +1 -1
  86. package/example/src/chevre/migrateProjectSettings.ts +1 -1
  87. package/example/src/chevre/migrateRoomAdditionalProperties.ts +2 -2
  88. package/example/src/chevre/migrateRoomSectionAdditionalProperties.ts +2 -2
  89. package/example/src/chevre/note/findNotes.ts +1 -1
  90. package/example/src/chevre/note/upsertNotesByIdentifier.ts +1 -1
  91. package/example/src/chevre/notifyAbortedTasksByEmail.ts +2 -2
  92. package/example/src/chevre/notifyByEmail.ts +1 -1
  93. package/example/src/chevre/offerCatalog/updateManyOfferCatalogsByIds.ts +1 -1
  94. package/example/src/chevre/{upsertOfferCatalogItemsByIdentifier.ts → offerCatalog/upsertOfferCatalogItemsByIdentifier.ts} +7 -4
  95. package/example/src/chevre/{upsertOfferCatalogsByIdentifier.ts → offerCatalog/upsertOfferCatalogsByIdentifier.ts} +9 -4
  96. package/example/src/chevre/offers/checkIncludedInCatalogCount.ts +1 -1
  97. package/example/src/chevre/offers/projectItemListElement.ts +1 -1
  98. package/example/src/chevre/offers/searchAvaialbleAppliesToMovieTicketByOfferCatalogId.ts +1 -1
  99. package/example/src/chevre/offers/searchByOfferCatalogIdWithSortIndex.ts +1 -1
  100. package/example/src/chevre/offers/searchOfferCatalogItemAvailability.ts +1 -1
  101. package/example/src/chevre/{upsertOffersByIdentifier.ts → offers/upsertOffersByIdentifier.ts} +6 -4
  102. package/example/src/chevre/optimizeActions.ts +2 -2
  103. package/example/src/chevre/orderNumber/testRandomness.ts +54 -0
  104. package/example/src/chevre/orders/searchOrders.ts +1 -1
  105. package/example/src/chevre/orders/searchWithUnwoundAcceptedOffers.ts +1 -1
  106. package/example/src/chevre/pendingReservation/findEventSeatOffersBySection.ts +1 -1
  107. package/example/src/chevre/person/checkUserPoolClients.ts +1 -1
  108. package/example/src/chevre/person/cleanUpCognitoUsers.ts +2 -2
  109. package/example/src/chevre/person/cleanUpCognitoUsersByFetch.ts +2 -2
  110. package/example/src/chevre/person/cleanUpCreditCard.ts +1 -1
  111. package/example/src/chevre/place/adminEntranceGates.ts +69 -0
  112. package/example/src/chevre/place/adminHasPOS.ts +1 -1
  113. package/example/src/chevre/place/aggregateSeatingTypes.ts +1 -1
  114. package/example/src/chevre/place/checkEntranceGatesCount.ts +82 -0
  115. package/example/src/chevre/place/checkSectionCount.ts +1 -1
  116. package/example/src/chevre/place/findRooms.ts +24 -0
  117. package/example/src/chevre/place/findSections.ts +28 -0
  118. package/example/src/chevre/place/findSectionsByRoom.ts +1 -1
  119. package/example/src/chevre/place/migrateSectionIdentifier.ts +2 -2
  120. package/example/src/chevre/place/seatsJson2csv.ts +63 -0
  121. package/example/src/chevre/place/upsertMovieTheatersByBranchCode.ts +41 -0
  122. package/example/src/chevre/place/upsertRoomsByBranchCode.ts +40 -0
  123. package/example/src/chevre/place/upsertSeatSectionsByBranchCode.ts +56 -0
  124. package/example/src/chevre/processAction.ts +1 -1
  125. package/example/src/chevre/processOrder.ts +2 -2
  126. package/example/src/chevre/product/findHasOfferCatalog.ts +1 -1
  127. package/example/src/chevre/productOffer/publishMemberTierToken.ts +1 -1
  128. package/example/src/chevre/project/unsetProjectSettings.ts +1 -1
  129. package/example/src/chevre/projectEventFieldsById.ts +1 -1
  130. package/example/src/chevre/projectFields.ts +1 -1
  131. package/example/src/chevre/projectFieldsById.ts +1 -1
  132. package/example/src/chevre/projectOwnershipInfoFieldsById.ts +1 -1
  133. package/example/src/chevre/pushIncludedInDataCatalog.ts +1 -1
  134. package/example/src/chevre/reExportAction.ts +2 -2
  135. package/example/src/chevre/reIndex.ts +2 -2
  136. package/example/src/chevre/recreateRefundTasks.ts +2 -2
  137. package/example/src/chevre/roles/{addAdminSeatReadPermissionIfNotExists.ts → addAdminAcceptedPaymentMethodReadPermissionIfNotExists.ts} +2 -2
  138. package/example/src/chevre/roles/{addAdminSeatWritePermissionIfNotExists.ts → addAdminAcceptedPaymentMethodWritePermissionIfNotExists.ts} +2 -2
  139. package/example/src/chevre/roles/addAdminEventSeriesReadPermissionIfNotExists.ts +1 -1
  140. package/example/src/chevre/roles/addAdminMovieReadPermissionIfNotExists.ts +1 -1
  141. package/example/src/chevre/roles/addAdminNotePermissionIfNotExists.ts +1 -1
  142. package/example/src/chevre/roles/addAdminPaymentServiceReadPermissionIfNotExists.ts +1 -1
  143. package/example/src/chevre/roles/addAdminProductHasOfferCatalogReadPermissionIfNotExists.ts +1 -1
  144. package/example/src/chevre/roles/addAdminRoomReadPermissionIfNotExists.ts +34 -0
  145. package/example/src/chevre/roles/addAdminRoomWritePermissionIfNotExists.ts +34 -0
  146. package/example/src/chevre/roles/addAdminSellerEventOfferIfNotExists.ts +1 -1
  147. package/example/src/chevre/roles/addProjectCreatorRole.ts +1 -1
  148. package/example/src/chevre/roles/assignGlobalRoles.ts +1 -1
  149. package/example/src/chevre/roles/findPermissions.ts +2 -2
  150. package/example/src/chevre/roles/findRoleNames.ts +2 -2
  151. package/example/src/chevre/roles/removeConsolePermissionIfExists.ts +1 -1
  152. package/example/src/chevre/roles/removePermissionFromAPIRoles.ts +1 -1
  153. package/example/src/chevre/roles/removePermissionIfExists.ts +1 -1
  154. package/example/src/chevre/saveOfferCatalogItem.ts +1 -1
  155. package/example/src/chevre/saveWebSite.ts +1 -1
  156. package/example/src/chevre/searchAcceptedOfferIds.ts +1 -1
  157. package/example/src/chevre/searchActionsByPurpose.ts +1 -1
  158. package/example/src/chevre/searchAggregateOffers.ts +1 -1
  159. package/example/src/chevre/searchAggregations.ts +1 -1
  160. package/example/src/chevre/searchAuthorizations.ts +1 -1
  161. package/example/src/chevre/searchCheckMovieTicketResultYkknInfo.ts +1 -1
  162. package/example/src/chevre/searchEventHasOfferCatalog.ts +1 -1
  163. package/example/src/chevre/searchIdsByReservationNumber.ts +1 -1
  164. package/example/src/chevre/searchOfferCatalogItemListElement.ts +1 -1
  165. package/example/src/chevre/searchOffers.ts +1 -1
  166. package/example/src/chevre/searchProducts.ts +1 -1
  167. package/example/src/chevre/searchProjects.ts +1 -1
  168. package/example/src/chevre/searchReservationsByOrder.ts +1 -1
  169. package/example/src/chevre/searchSellersByAggregate.ts +1 -1
  170. package/example/src/chevre/searchSlicedAcceptedOffersByOrderNumber.ts +1 -1
  171. package/example/src/chevre/seller/adminMakesOffer.ts +1 -1
  172. package/example/src/chevre/sendEmailMessage.ts +1 -1
  173. package/example/src/chevre/settings/addOrderNumberSetting.ts +44 -0
  174. package/example/src/chevre/settings/addTransactionNumberSetting.ts +40 -0
  175. package/example/src/chevre/stockHolder/findSeatsBySection.ts +1 -1
  176. package/example/src/chevre/stockHolder/getSize.ts +2 -2
  177. package/example/src/chevre/stockHolder/projectPendingReservation.ts +1 -1
  178. package/example/src/chevre/stockHolder/searchSeats.ts +1 -1
  179. package/example/src/chevre/task/countPotentiallyRunning.ts +1 -1
  180. package/example/src/chevre/task/countTasks.ts +1 -1
  181. package/example/src/chevre/task/deleteRunsAtPassedCertainPeriod.ts +2 -2
  182. package/example/src/chevre/task/deleteUnexpectedTasks.ts +1 -1
  183. package/example/src/chevre/task/emitRunning.ts +2 -2
  184. package/example/src/chevre/transaction/processPlaceOrder.ts +1 -1
  185. package/example/src/chevre/transaction/processReturnOrder.ts +1 -1
  186. package/example/src/chevre/transaction/startExportTasks.ts +1 -1
  187. package/example/src/chevre/transactionNumber/publishByTimestamp.ts +23 -0
  188. package/example/src/chevre/transactionNumber/testRandomness.ts +42 -0
  189. package/example/src/chevre/unsetUnnecessaryFields.ts +10 -6
  190. package/example/src/chevre/updateEventPartiallyById.ts +1 -1
  191. package/example/src/chevre/updateProjectAggregateReservation.ts +1 -1
  192. package/example/src/chevre/validateCheckMovieTicketActions.ts +2 -2
  193. package/example/src/duration.ts +1 -1
  194. package/example/src/moment.ts +1 -1
  195. package/example/src/mongoConnectionList.ts +1 -1
  196. package/example/src/objectId.ts +1 -1
  197. package/lib/chevre/credentials/customSearch.js +2 -0
  198. package/lib/chevre/credentials/lineNotify.js +4 -0
  199. package/lib/chevre/credentials/sendGrid.js +2 -0
  200. package/lib/chevre/credentials.js +37 -29
  201. package/lib/chevre/emailMessageBuilder.js +250 -251
  202. package/lib/chevre/errorHandler.js +60 -58
  203. package/lib/chevre/eventEmitter/assetTransaction.js +0 -1
  204. package/lib/chevre/eventEmitter/task.js +0 -1
  205. package/lib/chevre/eventEmitter/transaction.js +0 -1
  206. package/lib/chevre/eventEmitter.js +24 -1
  207. package/lib/chevre/factory/accountTransactionIdentifier.js +24 -1
  208. package/lib/chevre/factory/availableProductTypes.js +24 -1
  209. package/lib/chevre/factory/event.d.ts +1 -1
  210. package/lib/chevre/factory/event.js +93 -37
  211. package/lib/chevre/factory/taskIdentifier.js +25 -2
  212. package/lib/chevre/factory/transactionNumber.d.ts +19 -0
  213. package/lib/chevre/factory/transactionNumber.js +80 -0
  214. package/lib/chevre/index.js +43 -35
  215. package/lib/chevre/repo/acceptedOffer.js +200 -197
  216. package/lib/chevre/repo/acceptedPaymentMethod.d.ts +41 -8
  217. package/lib/chevre/repo/acceptedPaymentMethod.js +163 -108
  218. package/lib/chevre/repo/account.js +217 -238
  219. package/lib/chevre/repo/accountTitle.js +32 -21
  220. package/lib/chevre/repo/accountTransaction.js +213 -194
  221. package/lib/chevre/repo/accountingReport.js +111 -107
  222. package/lib/chevre/repo/action.js +875 -883
  223. package/lib/chevre/repo/additionalProperty.js +87 -92
  224. package/lib/chevre/repo/advanceBookingRequirement.js +92 -91
  225. package/lib/chevre/repo/aggregateOffer.d.ts +6 -1
  226. package/lib/chevre/repo/aggregateOffer.js +419 -423
  227. package/lib/chevre/repo/aggregateOrder.js +73 -155
  228. package/lib/chevre/repo/aggregateReservation.d.ts +0 -1
  229. package/lib/chevre/repo/aggregateReservation.js +99 -91
  230. package/lib/chevre/repo/aggregation.js +65 -63
  231. package/lib/chevre/repo/assetTransaction.js +719 -730
  232. package/lib/chevre/repo/authorization.js +143 -136
  233. package/lib/chevre/repo/categoryCode.js +137 -147
  234. package/lib/chevre/repo/comment.js +96 -82
  235. package/lib/chevre/repo/concurrentLock.js +40 -29
  236. package/lib/chevre/repo/confirmationNumber.d.ts +1 -0
  237. package/lib/chevre/repo/confirmationNumber.js +48 -54
  238. package/lib/chevre/repo/creativeWork.js +175 -180
  239. package/lib/chevre/repo/credentials.js +39 -51
  240. package/lib/chevre/repo/customer.js +87 -88
  241. package/lib/chevre/repo/customerType.js +52 -62
  242. package/lib/chevre/repo/emailMessage.js +74 -80
  243. package/lib/chevre/repo/event.d.ts +3 -18
  244. package/lib/chevre/repo/event.js +734 -744
  245. package/lib/chevre/repo/eventOffer.d.ts +8 -0
  246. package/lib/chevre/repo/eventOffer.js +149 -118
  247. package/lib/chevre/repo/eventSellerMakesOffer.js +87 -76
  248. package/lib/chevre/repo/eventSeries.d.ts +17 -30
  249. package/lib/chevre/repo/eventSeries.js +391 -347
  250. package/lib/chevre/repo/identity.js +117 -107
  251. package/lib/chevre/repo/identityProvider.js +95 -96
  252. package/lib/chevre/repo/issuer.js +125 -135
  253. package/lib/chevre/repo/member.js +261 -259
  254. package/lib/chevre/repo/memberProgram.js +180 -177
  255. package/lib/chevre/repo/merchantReturnPolicy.js +84 -94
  256. package/lib/chevre/repo/message.js +145 -135
  257. package/lib/chevre/repo/mongoose/onIndexCreated.js +0 -1
  258. package/lib/chevre/repo/mongoose/schemas/acceptedPaymentMethod.js +1 -1
  259. package/lib/chevre/repo/mongoose/schemas/account.js +1 -1
  260. package/lib/chevre/repo/mongoose/schemas/accountTitle.js +1 -1
  261. package/lib/chevre/repo/mongoose/schemas/accountTransaction.js +1 -1
  262. package/lib/chevre/repo/mongoose/schemas/accountingReport.js +1 -1
  263. package/lib/chevre/repo/mongoose/schemas/action.js +1 -1
  264. package/lib/chevre/repo/mongoose/schemas/actionRecipe.js +1 -1
  265. package/lib/chevre/repo/mongoose/schemas/additionalProperty.js +1 -1
  266. package/lib/chevre/repo/mongoose/schemas/advanceBookingRequirement.js +1 -1
  267. package/lib/chevre/repo/mongoose/schemas/aggregateOffer.js +1 -1
  268. package/lib/chevre/repo/mongoose/schemas/aggregateOrder.js +1 -1
  269. package/lib/chevre/repo/mongoose/schemas/aggregateReservation.js +1 -2
  270. package/lib/chevre/repo/mongoose/schemas/aggregation.js +1 -1
  271. package/lib/chevre/repo/mongoose/schemas/assetTransaction.js +1 -1
  272. package/lib/chevre/repo/mongoose/schemas/authorization.js +1 -1
  273. package/lib/chevre/repo/mongoose/schemas/categoryCode.js +1 -1
  274. package/lib/chevre/repo/mongoose/schemas/civicStructure.js +1 -1
  275. package/lib/chevre/repo/mongoose/schemas/creativeWork.js +1 -1
  276. package/lib/chevre/repo/mongoose/schemas/customer.js +1 -1
  277. package/lib/chevre/repo/mongoose/schemas/customerType.js +1 -1
  278. package/lib/chevre/repo/mongoose/schemas/event.js +1 -1
  279. package/lib/chevre/repo/mongoose/schemas/eventOffer.js +1 -1
  280. package/lib/chevre/repo/mongoose/schemas/eventSeries.js +45 -7
  281. package/lib/chevre/repo/mongoose/schemas/identity.js +1 -1
  282. package/lib/chevre/repo/mongoose/schemas/identityProvider.js +1 -1
  283. package/lib/chevre/repo/mongoose/schemas/issuer.js +1 -1
  284. package/lib/chevre/repo/mongoose/schemas/member/global.js +1 -1
  285. package/lib/chevre/repo/mongoose/schemas/member.js +25 -2
  286. package/lib/chevre/repo/mongoose/schemas/merchantReturnPolicy.js +1 -1
  287. package/lib/chevre/repo/mongoose/schemas/message.js +1 -1
  288. package/lib/chevre/repo/mongoose/schemas/movieTicketTypes.js +1 -1
  289. package/lib/chevre/repo/mongoose/schemas/note.js +1 -1
  290. package/lib/chevre/repo/mongoose/schemas/offerCatalog.js +3 -9
  291. package/lib/chevre/repo/mongoose/schemas/offerCatalogItem.js +29 -3
  292. package/lib/chevre/repo/mongoose/schemas/offerItemCondition.js +1 -1
  293. package/lib/chevre/repo/mongoose/schemas/order.js +1 -1
  294. package/lib/chevre/repo/mongoose/schemas/paymentService.js +1 -1
  295. package/lib/chevre/repo/mongoose/schemas/paymentServiceChannel.js +1 -1
  296. package/lib/chevre/repo/mongoose/schemas/pendingReservation.js +1 -1
  297. package/lib/chevre/repo/mongoose/schemas/pendingReservationAggregate.js +1 -1
  298. package/lib/chevre/repo/mongoose/schemas/place.d.ts +6 -2
  299. package/lib/chevre/repo/mongoose/schemas/place.js +1 -1
  300. package/lib/chevre/repo/mongoose/schemas/potentialAction.js +1 -1
  301. package/lib/chevre/repo/mongoose/schemas/product.js +1 -1
  302. package/lib/chevre/repo/mongoose/schemas/productModel.js +1 -1
  303. package/lib/chevre/repo/mongoose/schemas/productOffer.js +1 -1
  304. package/lib/chevre/repo/mongoose/schemas/reservation.js +1 -1
  305. package/lib/chevre/repo/mongoose/schemas/reserveInterface.js +1 -1
  306. package/lib/chevre/repo/mongoose/schemas/role.js +1 -1
  307. package/lib/chevre/repo/mongoose/schemas/schedule.js +1 -1
  308. package/lib/chevre/repo/mongoose/schemas/seller.js +1 -1
  309. package/lib/chevre/repo/mongoose/schemas/sellerReturnPolicy.js +1 -1
  310. package/lib/chevre/repo/mongoose/schemas/service/availableHour.js +1 -1
  311. package/lib/chevre/repo/mongoose/schemas/setting.d.ts +40 -0
  312. package/lib/chevre/repo/mongoose/schemas/setting.js +4 -1
  313. package/lib/chevre/repo/mongoose/schemas/task.js +1 -2
  314. package/lib/chevre/repo/mongoose/schemas/ticket.js +1 -1
  315. package/lib/chevre/repo/mongoose/schemas/transaction.js +25 -2
  316. package/lib/chevre/repo/mongoose/schemas/transactionNumber.js +1 -1
  317. package/lib/chevre/repo/mongoose/schemas/trip.js +1 -1
  318. package/lib/chevre/repo/mongoose/schemas/webSite.js +1 -1
  319. package/lib/chevre/repo/movieTicketType.js +90 -94
  320. package/lib/chevre/repo/note.js +166 -147
  321. package/lib/chevre/repo/noteAboutOrder.js +135 -113
  322. package/lib/chevre/repo/offer/unitPriceInCatalog.js +353 -314
  323. package/lib/chevre/repo/offerCatalog.d.ts +14 -1
  324. package/lib/chevre/repo/offerCatalog.js +313 -300
  325. package/lib/chevre/repo/offerCatalogItem.d.ts +10 -1
  326. package/lib/chevre/repo/offerCatalogItem.js +302 -292
  327. package/lib/chevre/repo/offerItemCondition.js +83 -85
  328. package/lib/chevre/repo/order.js +582 -607
  329. package/lib/chevre/repo/orderInTransaction.js +136 -136
  330. package/lib/chevre/repo/orderNumber.d.ts +6 -0
  331. package/lib/chevre/repo/orderNumber.js +142 -58
  332. package/lib/chevre/repo/ownershipInfo.js +236 -241
  333. package/lib/chevre/repo/passport.js +123 -106
  334. package/lib/chevre/repo/paymentMethod/creditCard.js +175 -170
  335. package/lib/chevre/repo/paymentService.js +202 -200
  336. package/lib/chevre/repo/paymentServiceChannel.js +99 -100
  337. package/lib/chevre/repo/paymentServiceProvider.js +209 -201
  338. package/lib/chevre/repo/pendingReservation.js +300 -307
  339. package/lib/chevre/repo/permit.js +70 -42
  340. package/lib/chevre/repo/person.js +240 -256
  341. package/lib/chevre/repo/place/busStop.js +99 -106
  342. package/lib/chevre/repo/place/entranceGate.d.ts +57 -0
  343. package/lib/chevre/repo/place/entranceGate.js +190 -0
  344. package/lib/chevre/repo/place/hasPOS.js +131 -120
  345. package/lib/chevre/repo/place/movieTheater.d.ts +40 -3
  346. package/lib/chevre/repo/place/movieTheater.js +220 -161
  347. package/lib/chevre/repo/place/screeningRoom.d.ts +49 -41
  348. package/lib/chevre/repo/place/screeningRoom.js +469 -345
  349. package/lib/chevre/repo/place/seat.d.ts +32 -1
  350. package/lib/chevre/repo/place/seat.js +589 -357
  351. package/lib/chevre/repo/place/section.d.ts +34 -3
  352. package/lib/chevre/repo/place/section.js +510 -292
  353. package/lib/chevre/repo/potentialAction.js +90 -87
  354. package/lib/chevre/repo/priceSpecification.js +125 -146
  355. package/lib/chevre/repo/product.js +226 -239
  356. package/lib/chevre/repo/productHasOfferCatalog.js +62 -50
  357. package/lib/chevre/repo/productModel.js +117 -127
  358. package/lib/chevre/repo/productOffer.js +142 -118
  359. package/lib/chevre/repo/project.js +146 -141
  360. package/lib/chevre/repo/projectMakesOffer.js +119 -108
  361. package/lib/chevre/repo/rateLimit/offer.js +71 -59
  362. package/lib/chevre/repo/reservation.js +392 -398
  363. package/lib/chevre/repo/reserveInterface.js +31 -42
  364. package/lib/chevre/repo/role.js +116 -112
  365. package/lib/chevre/repo/schedule.js +25 -36
  366. package/lib/chevre/repo/seller.js +137 -147
  367. package/lib/chevre/repo/sellerMakesOffer.js +118 -110
  368. package/lib/chevre/repo/sellerPaymentAccepted.js +115 -109
  369. package/lib/chevre/repo/sellerReturnPolicy.js +97 -97
  370. package/lib/chevre/repo/service/availableHour.js +27 -38
  371. package/lib/chevre/repo/serviceOutput.js +77 -67
  372. package/lib/chevre/repo/serviceOutputIdentifier.d.ts +3 -1
  373. package/lib/chevre/repo/serviceOutputIdentifier.js +80 -51
  374. package/lib/chevre/repo/setting/jwt.js +63 -50
  375. package/lib/chevre/repo/setting.d.ts +1 -1
  376. package/lib/chevre/repo/setting.js +48 -48
  377. package/lib/chevre/repo/stockHolder.js +202 -199
  378. package/lib/chevre/repo/task.d.ts +1 -1
  379. package/lib/chevre/repo/task.js +636 -619
  380. package/lib/chevre/repo/telemetry.js +1 -0
  381. package/lib/chevre/repo/ticket.js +75 -65
  382. package/lib/chevre/repo/transaction.js +781 -816
  383. package/lib/chevre/repo/transactionNumber.d.ts +5 -0
  384. package/lib/chevre/repo/transactionNumber.js +100 -51
  385. package/lib/chevre/repo/transactionNumberCounter.js +91 -79
  386. package/lib/chevre/repo/transactionProcess.js +65 -50
  387. package/lib/chevre/repo/trip.js +167 -164
  388. package/lib/chevre/repo/webSite.js +114 -107
  389. package/lib/chevre/repository.d.ts +8 -0
  390. package/lib/chevre/repository.js +486 -639
  391. package/lib/chevre/service/account.js +32 -21
  392. package/lib/chevre/service/accountTransaction/deposit.js +39 -17
  393. package/lib/chevre/service/accountTransaction/factory.js +24 -1
  394. package/lib/chevre/service/accountTransaction/transfer.js +41 -22
  395. package/lib/chevre/service/accountTransaction/withdraw.js +39 -17
  396. package/lib/chevre/service/accountTransaction.js +30 -19
  397. package/lib/chevre/service/aggregation/event/aggregateOffers.js +95 -66
  398. package/lib/chevre/service/aggregation/event/aggregateScreeningEvent.js +84 -61
  399. package/lib/chevre/service/aggregation/event/findEventOffers.js +30 -17
  400. package/lib/chevre/service/aggregation/event/importFromCOA.js +11 -18
  401. package/lib/chevre/service/aggregation/project.js +48 -31
  402. package/lib/chevre/service/aggregation/system.js +256 -147
  403. package/lib/chevre/service/aggregation.js +26 -3
  404. package/lib/chevre/service/assetTransaction/cancelReservation/factory.js +55 -18
  405. package/lib/chevre/service/assetTransaction/cancelReservation/start.js +40 -24
  406. package/lib/chevre/service/assetTransaction/cancelReservation/startAndConfirm.js +40 -15
  407. package/lib/chevre/service/assetTransaction/cancelReservation.js +30 -18
  408. package/lib/chevre/service/assetTransaction/cancelReservationCOA/factory.js +35 -5
  409. package/lib/chevre/service/assetTransaction/cancelReservationCOA.js +4 -13
  410. package/lib/chevre/service/assetTransaction/fixInformAction.d.ts +3 -0
  411. package/lib/chevre/service/assetTransaction/fixInformAction.js +32 -16
  412. package/lib/chevre/service/assetTransaction/moneyTransfer/potentialActions.js +36 -25
  413. package/lib/chevre/service/assetTransaction/moneyTransfer.js +131 -94
  414. package/lib/chevre/service/assetTransaction/pay/cancel.d.ts +12 -0
  415. package/lib/chevre/service/assetTransaction/pay/cancel.js +39 -0
  416. package/lib/chevre/service/assetTransaction/pay/check.d.ts +23 -0
  417. package/lib/chevre/service/assetTransaction/pay/check.js +50 -0
  418. package/lib/chevre/service/assetTransaction/pay/confirm.d.ts +24 -0
  419. package/lib/chevre/service/assetTransaction/pay/confirm.js +92 -0
  420. package/lib/chevre/service/assetTransaction/pay/exportTasksById.d.ts +18 -0
  421. package/lib/chevre/service/assetTransaction/pay/exportTasksById.js +127 -0
  422. package/lib/chevre/service/assetTransaction/pay/publishPaymentUrl.d.ts +48 -0
  423. package/lib/chevre/service/assetTransaction/pay/publishPaymentUrl.js +186 -0
  424. package/lib/chevre/service/assetTransaction/pay/searchGMOTrade.d.ts +20 -0
  425. package/lib/chevre/service/assetTransaction/pay/searchGMOTrade.js +72 -0
  426. package/lib/chevre/service/assetTransaction/pay/{account → start/account}/validation.d.ts +2 -2
  427. package/lib/chevre/service/assetTransaction/pay/{account → start/account}/validation.js +29 -16
  428. package/lib/chevre/service/assetTransaction/pay/{factory.d.ts → start/factory.d.ts} +1 -1
  429. package/lib/chevre/service/assetTransaction/pay/{factory.js → start/factory.js} +88 -38
  430. package/lib/chevre/service/assetTransaction/pay/{validateAcceptedPaymentMethodIfNeeded.d.ts → start/preStart/validateAcceptedPaymentMethodIfNeeded.d.ts} +4 -4
  431. package/lib/chevre/service/assetTransaction/pay/{validateAcceptedPaymentMethodIfNeeded.js → start/preStart/validateAcceptedPaymentMethodIfNeeded.js} +35 -24
  432. package/lib/chevre/service/assetTransaction/pay/start/preStart/validateSeller.d.ts +8 -0
  433. package/lib/chevre/service/assetTransaction/pay/start/preStart/validateSeller.js +67 -0
  434. package/lib/chevre/service/assetTransaction/pay/start/processAuthorizeAccount.d.ts +13 -0
  435. package/lib/chevre/service/assetTransaction/pay/start/processAuthorizeAccount.js +62 -0
  436. package/lib/chevre/service/assetTransaction/pay/start/processAuthorizeCreditCard.d.ts +29 -0
  437. package/lib/chevre/service/assetTransaction/pay/start/processAuthorizeCreditCard.js +54 -0
  438. package/lib/chevre/service/assetTransaction/pay/start/processAuthorizeMovieTicket.d.ts +42 -0
  439. package/lib/chevre/service/assetTransaction/pay/start/processAuthorizeMovieTicket.js +45 -0
  440. package/lib/chevre/service/assetTransaction/pay/start.d.ts +60 -0
  441. package/lib/chevre/service/assetTransaction/pay/start.js +162 -0
  442. package/lib/chevre/service/assetTransaction/pay.d.ts +8 -170
  443. package/lib/chevre/service/assetTransaction/pay.js +16 -623
  444. package/lib/chevre/service/assetTransaction/refund/factory.js +60 -17
  445. package/lib/chevre/service/assetTransaction/refund/potentialActions.js +35 -21
  446. package/lib/chevre/service/assetTransaction/refund.js +63 -43
  447. package/lib/chevre/service/assetTransaction/registerService/factory.js +96 -33
  448. package/lib/chevre/service/assetTransaction/registerService/potentialActions.js +80 -47
  449. package/lib/chevre/service/assetTransaction/registerService.js +70 -58
  450. package/lib/chevre/service/assetTransaction/reserve/cancel.js +28 -14
  451. package/lib/chevre/service/assetTransaction/reserve/confirm/factory.js +15 -4
  452. package/lib/chevre/service/assetTransaction/reserve/confirm.js +44 -26
  453. package/lib/chevre/service/assetTransaction/reserve/exportTasksById.js +26 -13
  454. package/lib/chevre/service/assetTransaction/reserve/start/createSubReservations.js +138 -96
  455. package/lib/chevre/service/assetTransaction/reserve/start/factory/createPointAward.js +41 -13
  456. package/lib/chevre/service/assetTransaction/reserve/start/factory/createReservation.js +142 -80
  457. package/lib/chevre/service/assetTransaction/reserve/start/factory/createStartParams.js +93 -23
  458. package/lib/chevre/service/assetTransaction/reserve/start/factory/price.js +53 -21
  459. package/lib/chevre/service/assetTransaction/reserve/start.js +131 -122
  460. package/lib/chevre/service/assetTransaction/reserve/validateStartRequest/fixExtendedEventOffer.js +33 -17
  461. package/lib/chevre/service/assetTransaction/reserve/validateStartRequest/validateIssuedOfferIfExists.js +72 -59
  462. package/lib/chevre/service/assetTransaction/reserve/validateStartRequest/validateMemberTierIfExists.js +71 -59
  463. package/lib/chevre/service/assetTransaction/reserve/validateStartRequest/verifyTicketTokenAsNeeded.js +30 -19
  464. package/lib/chevre/service/assetTransaction/reserve/validateStartRequest.js +45 -31
  465. package/lib/chevre/service/assetTransaction/reserveCOA/cancel.js +47 -24
  466. package/lib/chevre/service/assetTransaction/reserveCOA/factory.js +36 -5
  467. package/lib/chevre/service/assetTransaction/reserveCOA.js +4 -13
  468. package/lib/chevre/service/assetTransaction.js +46 -27
  469. package/lib/chevre/service/delivery/factory.js +33 -8
  470. package/lib/chevre/service/delivery/product/factory.js +48 -13
  471. package/lib/chevre/service/delivery/reservation/factory.js +44 -7
  472. package/lib/chevre/service/delivery.js +78 -56
  473. package/lib/chevre/service/event/processUpdateMovieTheater.d.ts +1 -1
  474. package/lib/chevre/service/event/processUpdateMovieTheater.js +56 -36
  475. package/lib/chevre/service/event/saveScreeningEventSeries.js +98 -58
  476. package/lib/chevre/service/event/saveScreeningEvents.d.ts +2 -2
  477. package/lib/chevre/service/event/saveScreeningEvents.js +65 -50
  478. package/lib/chevre/service/event.js +70 -40
  479. package/lib/chevre/service/iam.js +8 -17
  480. package/lib/chevre/service/moneyTransfer.js +158 -116
  481. package/lib/chevre/service/notification/factory.js +42 -15
  482. package/lib/chevre/service/notification/notifyAbortedTasksByEmail.js +39 -17
  483. package/lib/chevre/service/notification/notifyByEmail.js +31 -20
  484. package/lib/chevre/service/notification/sendEmailMessage.js +47 -27
  485. package/lib/chevre/service/notification/triggerWebhook.js +82 -57
  486. package/lib/chevre/service/offer/any.js +34 -17
  487. package/lib/chevre/service/offer/event/authorize/defaultOffer.js +24 -1
  488. package/lib/chevre/service/offer/event/authorize/factory.js +173 -63
  489. package/lib/chevre/service/offer/event/authorize/processStartReserve4chevre/requestedProgramMembershipUsed2permit.js +31 -19
  490. package/lib/chevre/service/offer/event/authorize/processStartReserve4chevre.js +67 -28
  491. package/lib/chevre/service/offer/event/authorize.js +137 -71
  492. package/lib/chevre/service/offer/event/checkAvailability.js +33 -17
  493. package/lib/chevre/service/offer/event/importFromCOA/factory.js +34 -5
  494. package/lib/chevre/service/offer/event/importFromCOA.js +36 -19
  495. package/lib/chevre/service/offer/event/issueEventOfferTicket.js +66 -41
  496. package/lib/chevre/service/offer/event/searchEventTicketOffers.js +53 -42
  497. package/lib/chevre/service/offer/event/searchOfferAppliesToMovieTicket.js +38 -23
  498. package/lib/chevre/service/offer/event/searchOfferCatalogItemAvailability.js +36 -26
  499. package/lib/chevre/service/offer/event/searchOfferCatalogItems.js +38 -23
  500. package/lib/chevre/service/offer/event/searchOffersByIds.js +56 -42
  501. package/lib/chevre/service/offer/event/searchPriceSpecs4event.js +28 -14
  502. package/lib/chevre/service/offer/event/voidTransaction/processVoidTransaction4chevre.js +27 -13
  503. package/lib/chevre/service/offer/event/voidTransaction/processVoidTransaction4coa.js +6 -15
  504. package/lib/chevre/service/offer/event/voidTransaction.js +58 -41
  505. package/lib/chevre/service/offer/event/voidTransactionByActionId.js +37 -20
  506. package/lib/chevre/service/offer/eventServiceByCOA/acceptOffer/authorize.js +76 -43
  507. package/lib/chevre/service/offer/eventServiceByCOA/acceptOffer/factory.js +29 -2
  508. package/lib/chevre/service/offer/eventServiceByCOA/acceptOffer.js +57 -37
  509. package/lib/chevre/service/offer/eventServiceByCOA/authorize/factory.js +81 -30
  510. package/lib/chevre/service/offer/eventServiceByCOA/authorize/validateAcceptedOffers.js +90 -62
  511. package/lib/chevre/service/offer/eventServiceByCOA/authorize.js +44 -29
  512. package/lib/chevre/service/offer/eventServiceByCOA/authorizeByAcceptAction.js +31 -18
  513. package/lib/chevre/service/offer/eventServiceByCOA/changeOffers.js +70 -45
  514. package/lib/chevre/service/offer/eventServiceByCOA/findAcceptAction.js +45 -25
  515. package/lib/chevre/service/offer/factory.js +42 -9
  516. package/lib/chevre/service/offer/moneyTransfer/authorize.js +60 -39
  517. package/lib/chevre/service/offer/moneyTransfer/returnMoneyTransfer.js +39 -22
  518. package/lib/chevre/service/offer/moneyTransfer/settleTransaction.js +34 -20
  519. package/lib/chevre/service/offer/moneyTransfer/voidTransaction.js +38 -25
  520. package/lib/chevre/service/offer/onEventChanged.js +106 -72
  521. package/lib/chevre/service/offer/product/factory.js +83 -35
  522. package/lib/chevre/service/offer/product/searchProductOffers.js +53 -24
  523. package/lib/chevre/service/offer/product.js +130 -83
  524. package/lib/chevre/service/offer.d.ts +5 -0
  525. package/lib/chevre/service/offer.js +111 -57
  526. package/lib/chevre/service/order/confirmPayTransaction.js +52 -28
  527. package/lib/chevre/service/order/createAccountingReportIfNotExist.js +81 -42
  528. package/lib/chevre/service/order/deleteOrder.js +51 -36
  529. package/lib/chevre/service/order/findPlaceOrderTransaction.js +26 -12
  530. package/lib/chevre/service/order/onAssetTransactionStatusChanged.js +92 -72
  531. package/lib/chevre/service/order/onOrderStatusChanged/onOrderCancelled/factory.d.ts +1 -1
  532. package/lib/chevre/service/order/onOrderStatusChanged/onOrderCancelled/factory.js +25 -3
  533. package/lib/chevre/service/order/onOrderStatusChanged/onOrderCancelled.js +31 -14
  534. package/lib/chevre/service/order/onOrderStatusChanged/onOrderDelivered/factory.js +35 -7
  535. package/lib/chevre/service/order/onOrderStatusChanged/onOrderDelivered.js +33 -16
  536. package/lib/chevre/service/order/onOrderStatusChanged/onOrderDeliveredPartially/factory.d.ts +1 -1
  537. package/lib/chevre/service/order/onOrderStatusChanged/onOrderDeliveredPartially/factory.js +46 -10
  538. package/lib/chevre/service/order/onOrderStatusChanged/onOrderDeliveredPartially.js +33 -16
  539. package/lib/chevre/service/order/onOrderStatusChanged/onOrderInTransit.js +51 -28
  540. package/lib/chevre/service/order/onOrderStatusChanged/onOrderPaymentDue.js +41 -21
  541. package/lib/chevre/service/order/onOrderStatusChanged/onOrderProcessing/createSendEmailMessageTaskIfNotExist.js +29 -15
  542. package/lib/chevre/service/order/onOrderStatusChanged/onOrderProcessing/factory.js +49 -16
  543. package/lib/chevre/service/order/onOrderStatusChanged/onOrderProcessing/processOrder.js +52 -35
  544. package/lib/chevre/service/order/onOrderStatusChanged/onOrderProcessing.js +36 -20
  545. package/lib/chevre/service/order/onOrderStatusChanged/onOrderReturned/factory.d.ts +1 -1
  546. package/lib/chevre/service/order/onOrderStatusChanged/onOrderReturned/factory.js +34 -10
  547. package/lib/chevre/service/order/onOrderStatusChanged/onOrderReturned.js +51 -30
  548. package/lib/chevre/service/order/onOrderUpdated/factory.js +27 -6
  549. package/lib/chevre/service/order/onOrderUpdated.js +36 -15
  550. package/lib/chevre/service/order/payOrder.js +26 -12
  551. package/lib/chevre/service/order/placeOrder/createPlacingOrderFromExistingTransaction.js +32 -20
  552. package/lib/chevre/service/order/placeOrder/factory/orderedItem.js +55 -16
  553. package/lib/chevre/service/order/placeOrder/factory.js +63 -24
  554. package/lib/chevre/service/order/placeOrder/voidAcceptedOfferIfNecessary.js +7 -13
  555. package/lib/chevre/service/order/placeOrder.js +35 -23
  556. package/lib/chevre/service/order/placeOrderWithoutTransaction.js +33 -18
  557. package/lib/chevre/service/order/returnOrder.js +55 -32
  558. package/lib/chevre/service/order/sendOrder.js +65 -39
  559. package/lib/chevre/service/payment/any/authorize/fixTransactionNumber.js +42 -25
  560. package/lib/chevre/service/payment/any/authorize/handlePrePublishedPaymentMethodIdOnAuthorizing.js +52 -41
  561. package/lib/chevre/service/payment/any/factory.js +137 -55
  562. package/lib/chevre/service/payment/any/fixOrderAsNeeded.js +27 -13
  563. package/lib/chevre/service/payment/any/onPayActionCompleted.js +36 -18
  564. package/lib/chevre/service/payment/any/onPaymentStatusChanged/onPaid.js +61 -38
  565. package/lib/chevre/service/payment/any/onPaymentStatusChanged/onRefunded.js +45 -25
  566. package/lib/chevre/service/payment/any/onPaymentStatusChanged.js +39 -16
  567. package/lib/chevre/service/payment/any/onRefundActionCompletedOrFailed.js +38 -21
  568. package/lib/chevre/service/payment/any/person2username.js +55 -45
  569. package/lib/chevre/service/payment/any/publishPaymentUrl/fixTransactionNumberOnPublishPaymentUrl.js +31 -18
  570. package/lib/chevre/service/payment/any/verifyTicketTokenAsNeeded.js +28 -17
  571. package/lib/chevre/service/payment/any.js +206 -144
  572. package/lib/chevre/service/payment/creditCard/authorize/handleAuthorizeError.js +31 -5
  573. package/lib/chevre/service/payment/creditCard/authorize/processAuthorizeCreditCard.js +68 -26
  574. package/lib/chevre/service/payment/creditCard/authorize/processAuthorizeCreditCard3ds.js +29 -15
  575. package/lib/chevre/service/payment/creditCard/authorize/processAuthorizeCreditCard3dsResult2recipe.js +29 -2
  576. package/lib/chevre/service/payment/creditCard/authorize/processAuthorizeCreditCardResult2recipe.js +34 -3
  577. package/lib/chevre/service/payment/creditCard/authorize.js +49 -25
  578. package/lib/chevre/service/payment/creditCard/factory.js +46 -5
  579. package/lib/chevre/service/payment/creditCard/getGMOInfoFromSeller.js +31 -18
  580. package/lib/chevre/service/payment/creditCard/payCreditCard.js +55 -37
  581. package/lib/chevre/service/payment/creditCard/refundCreditCard.js +64 -52
  582. package/lib/chevre/service/payment/creditCard/searchGMOTrade.js +57 -46
  583. package/lib/chevre/service/payment/creditCard/voidTransaction.js +39 -27
  584. package/lib/chevre/service/payment/faceToFace.js +37 -23
  585. package/lib/chevre/service/payment/factory/createPayObjectServiceOutput.js +68 -26
  586. package/lib/chevre/service/payment/factory.js +74 -25
  587. package/lib/chevre/service/payment/movieTicket/authorize.js +58 -30
  588. package/lib/chevre/service/payment/movieTicket/checkMovieTicket.js +45 -25
  589. package/lib/chevre/service/payment/movieTicket/factory.js +64 -15
  590. package/lib/chevre/service/payment/movieTicket/getCredentials.js +28 -15
  591. package/lib/chevre/service/payment/movieTicket/payMovieTicket.js +53 -41
  592. package/lib/chevre/service/payment/movieTicket/processPurchaseNumberAuth.js +37 -21
  593. package/lib/chevre/service/payment/movieTicket/refundMovieTicket.js +90 -64
  594. package/lib/chevre/service/payment/movieTicket/validation.js +69 -39
  595. package/lib/chevre/service/payment/movieTicket/voidTransaction.js +31 -18
  596. package/lib/chevre/service/payment/paymentCard.js +117 -108
  597. package/lib/chevre/service/permit.js +60 -36
  598. package/lib/chevre/service/product.js +50 -29
  599. package/lib/chevre/service/project.js +22 -31
  600. package/lib/chevre/service/report/ownershipInfo.js +9 -7
  601. package/lib/chevre/service/report/telemetry.js +86 -79
  602. package/lib/chevre/service/report.js +25 -2
  603. package/lib/chevre/service/reserve/cancelReservation.js +122 -97
  604. package/lib/chevre/service/reserve/checkInReservation.js +52 -31
  605. package/lib/chevre/service/reserve/confirmReservation.js +61 -41
  606. package/lib/chevre/service/reserve/factory.js +66 -21
  607. package/lib/chevre/service/reserve/findByCode.js +36 -18
  608. package/lib/chevre/service/reserve/potentialActions/onPendingReservationCanceled.js +41 -24
  609. package/lib/chevre/service/reserve/potentialActions/onReservationCanceled.js +40 -25
  610. package/lib/chevre/service/reserve/potentialActions/onReservationCheckedIn.js +61 -30
  611. package/lib/chevre/service/reserve/potentialActions/onReservationConfirmed.js +68 -37
  612. package/lib/chevre/service/reserve/potentialActions/onReservationUsed.js +67 -37
  613. package/lib/chevre/service/reserve/potentialActions/onReservationsCreated.js +40 -23
  614. package/lib/chevre/service/reserve/searchByOrder.js +33 -20
  615. package/lib/chevre/service/reserve/useReservation.js +75 -36
  616. package/lib/chevre/service/reserve/verifyToken4reservation.js +30 -14
  617. package/lib/chevre/service/reserveCOA/cancelReservation.js +30 -17
  618. package/lib/chevre/service/reserveCOA/factory.js +29 -2
  619. package/lib/chevre/service/task/acceptCOAOffer.js +44 -26
  620. package/lib/chevre/service/task/aggregateOffers.js +26 -12
  621. package/lib/chevre/service/task/aggregateOnSystem.js +4 -14
  622. package/lib/chevre/service/task/aggregateScreeningEvent.js +27 -13
  623. package/lib/chevre/service/task/authorizePayment.js +32 -15
  624. package/lib/chevre/service/task/cancelMoneyTransfer.js +3 -12
  625. package/lib/chevre/service/task/cancelPendingReservation.js +34 -21
  626. package/lib/chevre/service/task/cancelReservation.js +26 -12
  627. package/lib/chevre/service/task/checkMovieTicket.js +39 -19
  628. package/lib/chevre/service/task/checkResource.js +30 -16
  629. package/lib/chevre/service/task/confirmMoneyTransfer.js +3 -12
  630. package/lib/chevre/service/task/confirmPayTransaction.js +6 -12
  631. package/lib/chevre/service/task/confirmRegisterService.js +3 -12
  632. package/lib/chevre/service/task/confirmRegisterServiceTransaction.js +51 -32
  633. package/lib/chevre/service/task/confirmReserveTransaction.js +72 -46
  634. package/lib/chevre/service/task/createAccountingReport.js +37 -20
  635. package/lib/chevre/service/task/deletePerson.js +77 -63
  636. package/lib/chevre/service/task/deleteTransaction.js +26 -12
  637. package/lib/chevre/service/task/givePointAward.js +27 -13
  638. package/lib/chevre/service/task/handleNotification.js +4 -14
  639. package/lib/chevre/service/task/importEventCapacitiesFromCOA.js +31 -18
  640. package/lib/chevre/service/task/importEventsFromCOA.js +31 -18
  641. package/lib/chevre/service/task/importOffersFromCOA.js +33 -20
  642. package/lib/chevre/service/task/invalidatePaymentUrl.js +6 -12
  643. package/lib/chevre/service/task/moneyTransfer.js +27 -13
  644. package/lib/chevre/service/task/onAssetTransactionStatusChanged.js +3 -12
  645. package/lib/chevre/service/task/onAuthorizationCreated.js +34 -19
  646. package/lib/chevre/service/task/onEventChanged.js +3 -12
  647. package/lib/chevre/service/task/onOrderPaymentCompleted.js +3 -12
  648. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByAggregateOffer.d.ts +13 -0
  649. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByAggregateOffer.js +67 -0
  650. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByEventSeries.d.ts +13 -0
  651. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByEventSeries.js +70 -0
  652. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByMovieTheater.d.ts +15 -0
  653. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByMovieTheater.js +72 -0
  654. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByOfferCatalog.d.ts +17 -0
  655. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByOfferCatalog.js +89 -0
  656. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByProduct.d.ts +19 -0
  657. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByProduct.js +74 -0
  658. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByRoom.d.ts +20 -0
  659. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByRoom.js +65 -0
  660. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesBySeller.d.ts +27 -0
  661. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesBySeller.js +113 -0
  662. package/lib/chevre/service/task/onResourceDeleted.d.ts +6 -0
  663. package/lib/chevre/service/task/onResourceDeleted.js +181 -0
  664. package/lib/chevre/service/task/onResourceUpdated/onAggregateOfferUpdated.js +32 -21
  665. package/lib/chevre/service/task/onResourceUpdated/onCategoryCodeUpdated.js +3 -12
  666. package/lib/chevre/service/task/onResourceUpdated/onHasPOSUpdated.js +34 -23
  667. package/lib/chevre/service/task/onResourceUpdated/onOfferCatalogUpdated.js +36 -25
  668. package/lib/chevre/service/task/onResourceUpdated/syncCategoryCode.js +32 -15
  669. package/lib/chevre/service/task/onResourceUpdated/syncOfferCatalog.js +44 -27
  670. package/lib/chevre/service/task/onResourceUpdated.js +285 -144
  671. package/lib/chevre/service/task/pay.js +31 -16
  672. package/lib/chevre/service/task/payment/invalidatePaymentUrlByTask.js +28 -15
  673. package/lib/chevre/service/task/payment/payByTask.js +81 -44
  674. package/lib/chevre/service/task/payment/refundByTask.js +34 -21
  675. package/lib/chevre/service/task/payment/voidPaymentByTask.js +33 -19
  676. package/lib/chevre/service/task/placeOrder.js +6 -12
  677. package/lib/chevre/service/task/publishPaymentUrl.js +32 -14
  678. package/lib/chevre/service/task/refund.js +31 -16
  679. package/lib/chevre/service/task/registerService.js +3 -12
  680. package/lib/chevre/service/task/reserve.js +3 -12
  681. package/lib/chevre/service/task/returnMoneyTransfer.js +26 -12
  682. package/lib/chevre/service/task/returnOrder.js +6 -12
  683. package/lib/chevre/service/task/returnPayTransaction.js +83 -52
  684. package/lib/chevre/service/task/returnPointAward.js +27 -13
  685. package/lib/chevre/service/task/returnReserveTransaction.js +60 -35
  686. package/lib/chevre/service/task/sendEmailMessage.js +6 -13
  687. package/lib/chevre/service/task/sendOrder.js +35 -15
  688. package/lib/chevre/service/task/syncResourcesFromCOA.js +74 -52
  689. package/lib/chevre/service/task/triggerWebhook.js +6 -12
  690. package/lib/chevre/service/task/useReservation.js +11 -14
  691. package/lib/chevre/service/task/voidMoneyTransferTransaction.js +3 -12
  692. package/lib/chevre/service/task/voidPayTransaction.js +7 -12
  693. package/lib/chevre/service/task/voidPayment.js +26 -12
  694. package/lib/chevre/service/task/voidRegisterServiceTransaction.js +3 -12
  695. package/lib/chevre/service/task/voidReserveTransaction.js +34 -17
  696. package/lib/chevre/service/task.js +43 -27
  697. package/lib/chevre/service/taskHandler/onOperationFailed/informTaskIfNeeded.js +37 -22
  698. package/lib/chevre/service/taskHandler/onOperationFailed.js +43 -17
  699. package/lib/chevre/service/taskHandler.js +50 -26
  700. package/lib/chevre/service/transaction/deleteTransaction.js +127 -88
  701. package/lib/chevre/service/transaction/moneyTransfer/exportTasks/factory.js +45 -13
  702. package/lib/chevre/service/transaction/moneyTransfer/factory.js +37 -5
  703. package/lib/chevre/service/transaction/moneyTransfer/potentialActions.js +35 -24
  704. package/lib/chevre/service/transaction/moneyTransfer.js +151 -104
  705. package/lib/chevre/service/transaction/placeOrder/confirm/factory/result.js +24 -1
  706. package/lib/chevre/service/transaction/placeOrder/confirm/potentialActions/sendEmailMessage.js +73 -52
  707. package/lib/chevre/service/transaction/placeOrder/confirm/potentialActions.js +14 -25
  708. package/lib/chevre/service/transaction/placeOrder/confirm/publishCode.js +27 -14
  709. package/lib/chevre/service/transaction/placeOrder/confirm/validation/validateInvoiceReferencesOrder.js +32 -7
  710. package/lib/chevre/service/transaction/placeOrder/confirm/validation/validateMovieTicket.js +32 -9
  711. package/lib/chevre/service/transaction/placeOrder/confirm/validation/validatePrice.js +26 -4
  712. package/lib/chevre/service/transaction/placeOrder/confirm/validation.js +59 -50
  713. package/lib/chevre/service/transaction/placeOrder/confirm.js +108 -66
  714. package/lib/chevre/service/transaction/placeOrder/exportTasks/factory.js +61 -19
  715. package/lib/chevre/service/transaction/placeOrder/exportTasksById.js +34 -17
  716. package/lib/chevre/service/transaction/placeOrder/publishConfirmationNumberIfNotExist.js +29 -15
  717. package/lib/chevre/service/transaction/placeOrder/publishOrderNumberIfNotExist.js +30 -16
  718. package/lib/chevre/service/transaction/placeOrder/start/factory.js +51 -8
  719. package/lib/chevre/service/transaction/placeOrder/start/validateStartRequest.js +77 -61
  720. package/lib/chevre/service/transaction/placeOrder/start.js +37 -18
  721. package/lib/chevre/service/transaction/returnOrder/exportTasks/factory.js +43 -11
  722. package/lib/chevre/service/transaction/returnOrder/potentialActions/returnPaymentMethod.js +200 -191
  723. package/lib/chevre/service/transaction/returnOrder/potentialActions/returnPointAward.js +98 -89
  724. package/lib/chevre/service/transaction/returnOrder/potentialActions/sendEmailMessage.js +64 -49
  725. package/lib/chevre/service/transaction/returnOrder/potentialActions.js +75 -56
  726. package/lib/chevre/service/transaction/returnOrder/preStart/findApplicableReturnPolicy.js +142 -120
  727. package/lib/chevre/service/transaction/returnOrder/preStart/getReturnPolicyByProject.js +83 -80
  728. package/lib/chevre/service/transaction/returnOrder/preStart.js +70 -49
  729. package/lib/chevre/service/transaction/returnOrder.js +60 -39
  730. package/lib/chevre/service/transaction.js +101 -49
  731. package/lib/chevre/service/validation/validateEvent.js +3 -12
  732. package/lib/chevre/service/validation/validateOrder.js +41 -26
  733. package/lib/chevre/service.js +113 -136
  734. package/lib/chevre/settings/aggregation.js +4 -0
  735. package/lib/chevre/settings.js +7 -1
  736. package/lib/index.js +24 -2
  737. package/package.json +18 -19
  738. package/example/src/chevre/addEventBySchedule.ts +0 -46
  739. package/example/src/chevre/event/upsertManyScreeningEventByIdentifier.ts +0 -191
  740. package/example/src/chevre/eventSeries/migrateEventSeriesOffers.ts +0 -75
  741. package/example/src/chevre/eventSeries/migrateEventSeriesUnacceptedPaymentMethod.ts +0 -93
  742. package/example/src/chevre/offers/createSampleOffers.ts +0 -154
  743. package/example/src/chevre/settings/addSettings.ts +0 -46
  744. package/example/src/chevre/upsertScreeningEventSeriesByVersion.ts +0 -102
  745. package/example/src/idaas/auth0/adminApplications.ts +0 -183
  746. package/example/src/idaas/auth0/getToken.ts +0 -55
  747. package/example/src/idaas/auth0/getTokenByPrivateKeyJWT.ts +0 -84
  748. package/lib/chevre/service/eventOld.d.ts +0 -60
  749. package/lib/chevre/service/eventOld.js +0 -864
  750. package/lib/chevre/service/task/createEvent/createEvent.d.ts +0 -25
  751. package/lib/chevre/service/task/createEvent/createEvent.js +0 -45
  752. package/lib/chevre/service/task/createEvent/createEventBySchedule/factory.d.ts +0 -22
  753. package/lib/chevre/service/task/createEvent/createEventBySchedule/factory.js +0 -188
  754. package/lib/chevre/service/task/createEvent/createEventBySchedule/schedule2events.d.ts +0 -15
  755. package/lib/chevre/service/task/createEvent/createEventBySchedule/schedule2events.js +0 -116
  756. package/lib/chevre/service/task/createEvent/createEventBySchedule.d.ts +0 -25
  757. package/lib/chevre/service/task/createEvent/createEventBySchedule.js +0 -107
  758. package/lib/chevre/service/task/createEvent/createEventSeries.d.ts +0 -13
  759. package/lib/chevre/service/task/createEvent/createEventSeries.js +0 -118
  760. package/lib/chevre/service/task/createEvent.d.ts +0 -6
  761. package/lib/chevre/service/task/createEvent.js +0 -46
  762. package/lib/chevre/service/task/onResourceUpdated/onResourceDeleted.d.ts +0 -45
  763. package/lib/chevre/service/task/onResourceUpdated/onResourceDeleted.js +0 -447
@@ -1,30 +1,33 @@
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
- });
10
- };
11
- var __rest = (this && this.__rest) || function (s, e) {
12
- var t = {};
13
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
14
- t[p] = s[p];
15
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
16
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
17
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
18
- t[p[i]] = s[p[i]];
19
- }
20
- return t;
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;
21
24
  };
22
25
  Object.defineProperty(exports, "__esModule", { value: true });
23
26
  exports.EventRepo = void 0;
24
27
  const mongoose_1 = require("mongoose");
25
28
  const errorHandler_1 = require("../errorHandler");
26
- const factory = require("../factory");
27
- const EventFactory = require("../factory/event");
29
+ const factory = __importStar(require("../factory"));
30
+ const EventFactory = __importStar(require("../factory/event"));
28
31
  const settings_1 = require("../settings");
29
32
  const event_1 = require("./mongoose/schemas/event");
30
33
  const AVAILABLE_PUBLIC_PROJECT_FIELDS = [
@@ -39,6 +42,7 @@ const AVAILABLE_PUBLIC_PROJECT_FIELDS = [
39
42
  * イベントリポジトリ
40
43
  */
41
44
  class EventRepo {
45
+ eventModel;
42
46
  constructor(connection) {
43
47
  this.eventModel = connection.model(event_1.modelName, (0, event_1.createSchema)());
44
48
  }
@@ -50,9 +54,7 @@ class EventRepo {
50
54
  // return (USE_OBJECT_ID_AS_EVENT_ID) ? new Types.ObjectId().toHexString() : uniqid();
51
55
  return new mongoose_1.Types.ObjectId().toHexString(); // 設定を廃止(2025-11-20~)
52
56
  }
53
- // tslint:disable-next-line:cyclomatic-complexity max-func-body-length
54
57
  static CREATE_MONGO_CONDITIONS(conditions) {
55
- 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;
56
58
  const andConditions = [];
57
59
  const typeOfEq = conditions.typeOf;
58
60
  if (typeof typeOfEq === 'string') {
@@ -66,19 +68,19 @@ class EventRepo {
66
68
  if (typeof typeOfEq !== 'string' && !Array.isArray(typeOfIn)) {
67
69
  throw new factory.errors.ArgumentNull('typeOf');
68
70
  }
69
- const projectIdEq = (_b = (_a = conditions.project) === null || _a === void 0 ? void 0 : _a.id) === null || _b === void 0 ? void 0 : _b.$eq;
71
+ const projectIdEq = conditions.project?.id?.$eq;
70
72
  if (typeof projectIdEq === 'string') {
71
73
  andConditions.push({ 'project.id': { $eq: projectIdEq } });
72
74
  }
73
- const organizerIdEq = (_d = (_c = conditions.organizer) === null || _c === void 0 ? void 0 : _c.id) === null || _d === void 0 ? void 0 : _d.$eq;
75
+ const organizerIdEq = conditions.organizer?.id?.$eq;
74
76
  if (typeof organizerIdEq === 'string') {
75
77
  andConditions.push({ 'organizer.id': { $exists: true, $eq: organizerIdEq } });
76
78
  }
77
- const idEq = (_e = conditions.id) === null || _e === void 0 ? void 0 : _e.$eq;
79
+ const idEq = conditions.id?.$eq;
78
80
  if (typeof idEq === 'string') {
79
81
  andConditions.push({ _id: { $eq: idEq } });
80
82
  }
81
- const idIn = (_f = conditions.id) === null || _f === void 0 ? void 0 : _f.$in;
83
+ const idIn = conditions.id?.$in;
82
84
  if (Array.isArray(idIn)) {
83
85
  andConditions.push({ _id: { $in: idIn } });
84
86
  }
@@ -86,64 +88,57 @@ class EventRepo {
86
88
  if (Array.isArray(identifierIn)) {
87
89
  andConditions.push({ identifier: { $exists: true, $in: identifierIn } });
88
90
  }
89
- // tslint:disable-next-line:no-single-line-block-comment
90
91
  /* istanbul ignore else */
91
92
  if (Array.isArray(conditions.eventStatuses)) {
92
93
  andConditions.push({
93
94
  eventStatus: { $in: conditions.eventStatuses }
94
95
  });
95
96
  }
96
- // tslint:disable-next-line:no-single-line-block-comment
97
97
  /* istanbul ignore else */
98
98
  if (conditions.inSessionFrom !== undefined) {
99
99
  andConditions.push({
100
100
  endDate: { $gte: conditions.inSessionFrom }
101
101
  });
102
102
  }
103
- // tslint:disable-next-line:no-single-line-block-comment
104
103
  /* istanbul ignore else */
105
104
  if (conditions.inSessionThrough !== undefined) {
106
105
  andConditions.push({
107
106
  startDate: { $lte: conditions.inSessionThrough }
108
107
  });
109
108
  }
110
- // tslint:disable-next-line:no-single-line-block-comment
111
109
  /* istanbul ignore else */
112
110
  if (conditions.startFrom !== undefined) {
113
111
  andConditions.push({
114
112
  startDate: { $gte: conditions.startFrom }
115
113
  });
116
114
  }
117
- // tslint:disable-next-line:no-single-line-block-comment
118
115
  /* istanbul ignore else */
119
116
  if (conditions.startThrough !== undefined) {
120
117
  andConditions.push({
121
118
  startDate: { $lte: conditions.startThrough }
122
119
  });
123
120
  }
124
- // tslint:disable-next-line:no-single-line-block-comment
125
121
  /* istanbul ignore else */
126
122
  if (conditions.endFrom !== undefined) {
127
123
  andConditions.push({
128
124
  endDate: { $gte: conditions.endFrom }
129
125
  });
130
126
  }
131
- // tslint:disable-next-line:no-single-line-block-comment
132
127
  /* istanbul ignore else */
133
128
  if (conditions.endThrough !== undefined) {
134
129
  andConditions.push({
135
130
  endDate: { $lte: conditions.endThrough }
136
131
  });
137
132
  }
138
- const locationBranchCodeEq = (_h = (_g = conditions.location) === null || _g === void 0 ? void 0 : _g.branchCode) === null || _h === void 0 ? void 0 : _h.$eq;
133
+ const locationBranchCodeEq = conditions.location?.branchCode?.$eq;
139
134
  if (typeof locationBranchCodeEq === 'string') {
140
135
  andConditions.push({ 'location.branchCode': { $exists: true, $eq: locationBranchCodeEq } });
141
136
  }
142
- const locationBranchCodeIn = (_k = (_j = conditions.location) === null || _j === void 0 ? void 0 : _j.branchCode) === null || _k === void 0 ? void 0 : _k.$in;
137
+ const locationBranchCodeIn = conditions.location?.branchCode?.$in;
143
138
  if (Array.isArray(locationBranchCodeIn)) {
144
139
  andConditions.push({ 'location.branchCode': { $exists: true, $in: locationBranchCodeIn } });
145
140
  }
146
- const additionalPropertyElemMatch = (_l = conditions.additionalProperty) === null || _l === void 0 ? void 0 : _l.$elemMatch;
141
+ const additionalPropertyElemMatch = conditions.additionalProperty?.$elemMatch;
147
142
  if (additionalPropertyElemMatch !== undefined && additionalPropertyElemMatch !== null) {
148
143
  andConditions.push({
149
144
  additionalProperty: {
@@ -156,7 +151,6 @@ class EventRepo {
156
151
  switch (conditions.typeOf) {
157
152
  case factory.eventType.ScreeningEvent:
158
153
  params = conditions;
159
- // tslint:disable-next-line:no-single-line-block-comment
160
154
  /* istanbul ignore else */
161
155
  if (typeof params.name === 'string' && params.name.length > 0) {
162
156
  andConditions.push({
@@ -176,9 +170,8 @@ class EventRepo {
176
170
  ]
177
171
  });
178
172
  }
179
- // tslint:disable-next-line:no-single-line-block-comment
180
173
  /* istanbul ignore else */
181
- const superEventLocationIdEq = (_p = (_o = (_m = params.superEvent) === null || _m === void 0 ? void 0 : _m.location) === null || _o === void 0 ? void 0 : _o.id) === null || _p === void 0 ? void 0 : _p.$eq;
174
+ const superEventLocationIdEq = params.superEvent?.location?.id?.$eq;
182
175
  if (typeof superEventLocationIdEq === 'string') {
183
176
  andConditions.push({
184
177
  'superEvent.location.id': {
@@ -187,10 +180,8 @@ class EventRepo {
187
180
  }
188
181
  });
189
182
  }
190
- // tslint:disable-next-line:no-single-line-block-comment
191
183
  /* istanbul ignore else */
192
184
  if (params.superEvent !== undefined) {
193
- // tslint:disable-next-line:no-single-line-block-comment
194
185
  /* istanbul ignore else */
195
186
  if (Array.isArray(params.superEvent.ids)) {
196
187
  andConditions.push({
@@ -200,7 +191,6 @@ class EventRepo {
200
191
  }
201
192
  });
202
193
  }
203
- // tslint:disable-next-line:no-single-line-block-comment
204
194
  /* istanbul ignore else */
205
195
  if (Array.isArray(params.superEvent.locationBranchCodes)) {
206
196
  andConditions.push({
@@ -210,7 +200,6 @@ class EventRepo {
210
200
  }
211
201
  });
212
202
  }
213
- // tslint:disable-next-line:no-single-line-block-comment
214
203
  /* istanbul ignore else */
215
204
  if (Array.isArray(params.superEvent.workPerformedIdentifiers)) {
216
205
  andConditions.push({
@@ -221,7 +210,7 @@ class EventRepo {
221
210
  });
222
211
  }
223
212
  }
224
- const itemOfferedIdIn = (_s = (_r = (_q = params.offers) === null || _q === void 0 ? void 0 : _q.itemOffered) === null || _r === void 0 ? void 0 : _r.id) === null || _s === void 0 ? void 0 : _s.$in;
213
+ const itemOfferedIdIn = params.offers?.itemOffered?.id?.$in;
225
214
  if (Array.isArray(itemOfferedIdIn)) {
226
215
  andConditions.push({
227
216
  'offers.itemOffered.id': {
@@ -230,7 +219,7 @@ class EventRepo {
230
219
  }
231
220
  });
232
221
  }
233
- const itemOfferedTicketedSeatTypeOfIn = (_x = (_w = (_v = (_u = (_t = params.offers) === null || _t === void 0 ? void 0 : _t.itemOffered) === null || _u === void 0 ? void 0 : _u.serviceOutput) === null || _v === void 0 ? void 0 : _v.reservedTicket) === null || _w === void 0 ? void 0 : _w.ticketedSeat) === null || _x === void 0 ? void 0 : _x.typeOfs;
222
+ const itemOfferedTicketedSeatTypeOfIn = params.offers?.itemOffered?.serviceOutput?.reservedTicket?.ticketedSeat?.typeOfs;
234
223
  if (Array.isArray(itemOfferedTicketedSeatTypeOfIn)) {
235
224
  andConditions.push({
236
225
  'offers.itemOffered.serviceOutput.reservedTicket.ticketedSeat.typeOf': {
@@ -239,7 +228,7 @@ class EventRepo {
239
228
  }
240
229
  });
241
230
  }
242
- const itemOfferedServiceTypeIdIn = (_0 = (_z = (_y = params.offers) === null || _y === void 0 ? void 0 : _y.itemOffered) === null || _z === void 0 ? void 0 : _z.serviceType) === null || _0 === void 0 ? void 0 : _0.ids;
231
+ const itemOfferedServiceTypeIdIn = params.offers?.itemOffered?.serviceType?.ids;
243
232
  if (Array.isArray(itemOfferedServiceTypeIdIn)) {
244
233
  andConditions.push({
245
234
  'offers.itemOffered.serviceType.id': {
@@ -248,8 +237,8 @@ class EventRepo {
248
237
  }
249
238
  });
250
239
  }
251
- const sellerMakesOfferElemMatch = (_3 = (_2 = (_1 = params.offers) === null || _1 === void 0 ? void 0 : _1.seller) === null || _2 === void 0 ? void 0 : _2.makesOffer) === null || _3 === void 0 ? void 0 : _3.$elemMatch;
252
- if (typeof ((_4 = sellerMakesOfferElemMatch === null || sellerMakesOfferElemMatch === void 0 ? void 0 : sellerMakesOfferElemMatch['availableAtOrFrom.id']) === null || _4 === void 0 ? void 0 : _4.$eq) === 'string') {
240
+ const sellerMakesOfferElemMatch = params.offers?.seller?.makesOffer?.$elemMatch;
241
+ if (typeof sellerMakesOfferElemMatch?.['availableAtOrFrom.id']?.$eq === 'string') {
253
242
  andConditions.push({
254
243
  'offers.seller.makesOffer': {
255
244
  $exists: true,
@@ -264,88 +253,110 @@ class EventRepo {
264
253
  }
265
254
  return andConditions;
266
255
  }
267
- /**
268
- * 複数イベントを作成する
269
- */
270
- createManyEvents(params) {
271
- return __awaiter(this, void 0, void 0, function* () {
272
- const insertingDocs = params.attributes.map((p) => {
273
- return Object.assign({ _id: EventRepo.CREATE_ID() }, p);
274
- });
275
- try {
276
- yield this.eventModel.insertMany(insertingDocs, { rawResult: true } // rawResult(2024-08-02~)
277
- );
278
- // console.dir(insertResult, { depth: null });
279
- }
280
- catch (error) {
281
- if (yield (0, errorHandler_1.isMongoError)(error)) {
282
- if (error.code === errorHandler_1.MongoErrorCode.DuplicateKey) {
283
- throw new factory.errors.AlreadyInUse(factory.eventType.ScreeningEvent, ['offeredBy.member.identifier']);
284
- }
285
- }
286
- throw error;
287
- }
288
- if (params.expectsNoContent) {
289
- return;
290
- }
291
- return insertingDocs.map(({ _id }) => _id);
292
- });
293
- }
256
+ // /**
257
+ // * 複数イベントを作成する
258
+ // */
259
+ // public async createManyEvents(params: {
260
+ // attributes: factory.event.screeningEvent.IAttributes[];
261
+ // expectsNoContent: boolean;
262
+ // }): Promise<string[] | void> { // optimize response(only id)(2024-08-02~)
263
+ // const insertingDocs: (factory.event.screeningEvent.IAttributes & { _id: string })[] =
264
+ // params.attributes.map((p) => {
265
+ // return {
266
+ // _id: EventRepo.CREATE_ID(),
267
+ // ...p
268
+ // };
269
+ // });
270
+ // try {
271
+ // await this.eventModel.insertMany<factory.event.screeningEvent.IAttributes & { _id: string }>(
272
+ // insertingDocs,
273
+ // { rawResult: true } // rawResult(2024-08-02~)
274
+ // );
275
+ // // console.dir(insertResult, { depth: null });
276
+ // } catch (error) {
277
+ // if (await isMongoError(error)) {
278
+ // if (error.code === MongoErrorCode.DuplicateKey) {
279
+ // throw new factory.errors.AlreadyInUse(factory.eventType.ScreeningEvent, ['offeredBy.member.identifier']);
280
+ // }
281
+ // }
282
+ // throw error;
283
+ // }
284
+ // if (params.expectsNoContent) {
285
+ // return;
286
+ // }
287
+ // return insertingDocs.map(({ _id }) => _id);
288
+ // }
294
289
  /**
295
290
  * イベントコードをキーにして冪等置換
296
291
  */
297
- upsertManyScreeningEventByIdentifier(params, options) {
298
- return __awaiter(this, void 0, void 0, function* () {
299
- const { update } = options;
300
- const bulkWriteOps = [];
301
- const queryFilters = [];
302
- if (Array.isArray(params)) {
303
- params.forEach(({ $set, $unset }) => {
304
- const { project, identifier } = $set;
305
- if (typeof identifier !== 'string' || identifier.length === 0) {
306
- throw new factory.errors.ArgumentNull('identifier');
307
- }
308
- // リソースのユニークネスを保証するfilter
309
- const filter = {
310
- 'project.id': { $eq: project.id },
311
- identifier: { $exists: true, $eq: identifier }
312
- };
313
- queryFilters.push({
314
- 'project.id': { $eq: project.id },
315
- identifier: { $exists: true, $eq: identifier }
316
- });
317
- if (update === true) {
318
- const { maximumPhysicalAttendeeCapacity, additionalProperty, eventStatus, location, name, superEvent, offers, doorTime, endDate, startDate } = $set;
319
- const setFields = {
320
- maximumPhysicalAttendeeCapacity, additionalProperty,
321
- eventStatus, location, name, superEvent, offers,
322
- doorTime, endDate, startDate
323
- };
324
- const updateOne = {
325
- filter,
326
- update: Object.assign({ $set: setFields }, ($unset !== undefined) ? { $unset } : undefined),
327
- upsert: false
328
- };
329
- bulkWriteOps.push({ updateOne });
330
- }
331
- else {
332
- const { id, coaInfo, description, maximumAttendeeCapacity, remainingAttendeeCapacity, checkInCount, attendeeCount, aggregateReservation } = $set, setOnInsertFields = __rest($set, ["id", "coaInfo", "description", "maximumAttendeeCapacity", "remainingAttendeeCapacity", "checkInCount", "attendeeCount", "aggregateReservation"]);
333
- const setOnInsert = Object.assign(Object.assign({}, setOnInsertFields), { identifier, _id: EventRepo.CREATE_ID() });
334
- const updateOne = {
335
- filter,
336
- update: {
337
- $setOnInsert: setOnInsert
338
- },
339
- upsert: true
340
- };
341
- bulkWriteOps.push({ updateOne });
342
- }
292
+ async upsertManyScreeningEventByIdentifier(params, options) {
293
+ const { update } = options;
294
+ const bulkWriteOps = [];
295
+ const queryFilters = [];
296
+ if (Array.isArray(params)) {
297
+ params.forEach(({ $set, $unset }) => {
298
+ const { project, identifier } = $set;
299
+ if (typeof identifier !== 'string' || identifier.length === 0) {
300
+ throw new factory.errors.ArgumentNull('identifier');
301
+ }
302
+ // リソースのユニークネスを保証するfilter
303
+ const filter = {
304
+ 'project.id': { $eq: project.id },
305
+ identifier: { $exists: true, $eq: identifier }
306
+ };
307
+ queryFilters.push({
308
+ 'project.id': { $eq: project.id },
309
+ identifier: { $exists: true, $eq: identifier }
343
310
  });
311
+ if (update === true) {
312
+ const { maximumPhysicalAttendeeCapacity, additionalProperty, eventStatus, location, name, superEvent, offers, doorTime, endDate, startDate } = $set;
313
+ const setFields = {
314
+ maximumPhysicalAttendeeCapacity, additionalProperty,
315
+ eventStatus, location, name, superEvent, offers,
316
+ doorTime, endDate, startDate
317
+ };
318
+ const updateOne = {
319
+ filter,
320
+ update: {
321
+ $set: setFields,
322
+ ...($unset !== undefined) ? { $unset } : undefined
323
+ },
324
+ upsert: false
325
+ };
326
+ bulkWriteOps.push({ updateOne });
327
+ }
328
+ else {
329
+ const { id, coaInfo, description, maximumAttendeeCapacity, remainingAttendeeCapacity, checkInCount, attendeeCount, aggregateReservation, ...setOnInsertFields } = $set;
330
+ const setOnInsert = {
331
+ ...setOnInsertFields,
332
+ identifier,
333
+ _id: EventRepo.CREATE_ID()
334
+ };
335
+ const updateOne = {
336
+ filter,
337
+ update: {
338
+ $setOnInsert: setOnInsert
339
+ },
340
+ upsert: true
341
+ };
342
+ bulkWriteOps.push({ updateOne });
343
+ }
344
+ });
345
+ }
346
+ if (bulkWriteOps.length > 0) {
347
+ const bulkWriteResult = await this.eventModel.bulkWrite(bulkWriteOps, { ordered: false });
348
+ // update:falseの場合、upsertedIdsのみmodifiedEventsとして返せばよい(2026-01-16~)
349
+ if (!update) {
350
+ // BulkWriteResult -> upsertedIds: { '0': '7iri6p4m54k0r3g' }
351
+ return {
352
+ bulkWriteResult,
353
+ modifiedEvents: Object.values(bulkWriteResult.upsertedIds)
354
+ .map((id) => ({ id: String(id) }))
355
+ };
344
356
  }
345
- if (bulkWriteOps.length > 0) {
346
- const bulkWriteResult = yield this.eventModel.bulkWrite(bulkWriteOps, { ordered: false });
357
+ else {
347
358
  // modifiedの場合upsertedIdsに含まれないので、idを検索する
348
- const modifiedEvents = yield this.eventModel.find({ $or: queryFilters }, {
359
+ const modifiedEvents = await this.eventModel.find({ $or: queryFilters }, {
349
360
  _id: 0,
350
361
  id: { $toString: '$_id' }
351
362
  })
@@ -353,709 +364,688 @@ class EventRepo {
353
364
  .exec();
354
365
  return { bulkWriteResult, modifiedEvents };
355
366
  }
356
- });
367
+ }
368
+ return { modifiedEvents: [] };
357
369
  }
358
370
  /**
359
371
  * イベント部分更新
360
372
  */
361
- updatePartiallyById(params) {
362
- return __awaiter(this, void 0, void 0, function* () {
363
- // let doc: Document | null;
364
- const _a = params.attributes, { typeOf } = _a, updateFields = __rest(_a, ["typeOf"]);
365
- if (typeof typeOf !== 'string' || typeOf.length === 0) {
366
- throw new factory.errors.ArgumentNull('attributes.typeOf');
367
- }
368
- const doc = yield this.eventModel.findOneAndUpdate({
373
+ async updatePartiallyById(params) {
374
+ // let doc: Document | null;
375
+ const { typeOf, ...updateFields } = params.attributes;
376
+ if (typeof typeOf !== 'string' || typeOf.length === 0) {
377
+ throw new factory.errors.ArgumentNull('attributes.typeOf');
378
+ }
379
+ const doc = await this.eventModel.findOneAndUpdate({
380
+ _id: { $eq: params.id },
381
+ 'project.id': { $eq: params.project.id },
382
+ typeOf: { $eq: typeOf }
383
+ }, {
384
+ $set: updateFields
385
+ }, { upsert: false, new: false, projection: { _id: 1 } })
386
+ .lean()
387
+ .exec();
388
+ if (doc === null) {
389
+ throw new factory.errors.NotFound(this.eventModel.modelName);
390
+ }
391
+ }
392
+ /**
393
+ * 単一イベント編集
394
+ */
395
+ async updateEventById(params) {
396
+ let doc;
397
+ const { identifier, project, typeOf, organizer, aggregateReservation, maximumAttendeeCapacity, remainingAttendeeCapacity, checkInCount, attendeeCount, coaInfo, ...updateFields
398
+ // maximumPhysicalAttendeeCapacity, additionalProperty,
399
+ // eventStatus, location, name, superEvent, offers,
400
+ // doorTime, endDate, startDate
401
+ } = params.attributes;
402
+ if (typeof typeOf !== 'string' || typeOf.length === 0) {
403
+ throw new factory.errors.ArgumentNull('attributes.typeOf');
404
+ }
405
+ if (typeof params.id !== 'string' || params.id === '') {
406
+ throw new factory.errors.ArgumentNull('id');
407
+ }
408
+ try {
409
+ doc = await this.eventModel.findOneAndUpdate({
369
410
  _id: { $eq: params.id },
370
- 'project.id': { $eq: params.project.id },
371
411
  typeOf: { $eq: typeOf }
372
412
  }, {
373
- $set: updateFields
374
- }, { upsert: false, new: false, projection: { _id: 1 } })
413
+ // 編集のためのみのメソッドになったので、setOnInsertは廃止(2025-10-27~)
414
+ // 上書き禁止属性を除外(2022-08-24~)
415
+ // $setOnInsert: {
416
+ // typeOf,
417
+ // project,
418
+ // ...(typeof identifier === 'string' && identifier !== '') ? { identifier } : undefined
419
+ // },
420
+ $set: updateFields,
421
+ ...(params.$unset !== undefined) ? { $unset: params.$unset } : undefined
422
+ }, {
423
+ upsert: false,
424
+ new: true,
425
+ projection: { _id: 1 }
426
+ })
375
427
  .lean()
376
428
  .exec();
377
- if (doc === null) {
378
- throw new factory.errors.NotFound(this.eventModel.modelName);
379
- }
380
- });
381
- }
382
- /**
383
- * 単一イベント編集
384
- */
385
- updateEventById(params) {
386
- return __awaiter(this, void 0, void 0, function* () {
387
- let doc;
388
- const _a = params.attributes, { identifier, project, typeOf, organizer, aggregateReservation, maximumAttendeeCapacity, remainingAttendeeCapacity, checkInCount, attendeeCount, coaInfo } = _a, updateFields = __rest(_a, ["identifier", "project", "typeOf", "organizer", "aggregateReservation", "maximumAttendeeCapacity", "remainingAttendeeCapacity", "checkInCount", "attendeeCount", "coaInfo"])
389
- // maximumPhysicalAttendeeCapacity, additionalProperty,
390
- // eventStatus, location, name, superEvent, offers,
391
- // doorTime, endDate, startDate
392
- ;
393
- if (typeof typeOf !== 'string' || typeOf.length === 0) {
394
- throw new factory.errors.ArgumentNull('attributes.typeOf');
395
- }
396
- if (typeof params.id !== 'string' || params.id === '') {
397
- throw new factory.errors.ArgumentNull('id');
398
- }
399
- try {
400
- doc = yield this.eventModel.findOneAndUpdate({
401
- _id: { $eq: params.id },
402
- typeOf: { $eq: typeOf }
403
- }, Object.assign({
404
- // 編集のためのみのメソッドになったので、setOnInsertは廃止(2025-10-27~)
405
- // 上書き禁止属性を除外(2022-08-24~)
406
- // $setOnInsert: {
407
- // typeOf,
408
- // project,
409
- // ...(typeof identifier === 'string' && identifier !== '') ? { identifier } : undefined
410
- // },
411
- $set: updateFields }, (params.$unset !== undefined) ? { $unset: params.$unset } : undefined), {
412
- upsert: false,
413
- new: true,
414
- projection: { _id: 1 }
415
- })
416
- .lean()
417
- .exec();
418
- }
419
- catch (error) {
420
- if (yield (0, errorHandler_1.isMongoError)(error)) {
421
- if (error.code === errorHandler_1.MongoErrorCode.DuplicateKey) {
422
- throw new factory.errors.AlreadyInUse(factory.eventType.ScreeningEvent, ['offeredBy.member.identifier']);
423
- }
429
+ }
430
+ catch (error) {
431
+ if (await (0, errorHandler_1.isMongoError)(error)) {
432
+ if (error.code === errorHandler_1.MongoErrorCode.DuplicateKey) {
433
+ throw new factory.errors.AlreadyInUse(factory.eventType.ScreeningEvent, ['offeredBy.member.identifier']);
424
434
  }
425
- throw error;
426
435
  }
427
- if (doc === null) {
428
- throw new factory.errors.NotFound(this.eventModel.modelName);
429
- }
430
- });
436
+ throw error;
437
+ }
438
+ if (doc === null) {
439
+ throw new factory.errors.NotFound(this.eventModel.modelName);
440
+ }
431
441
  }
432
442
  /**
433
443
  * sskts専用
434
444
  */
435
- saveManyEvents(params) {
436
- return __awaiter(this, void 0, void 0, function* () {
437
- const bulkWriteOps = [];
438
- if (Array.isArray(params)) {
439
- params.forEach((p) => {
440
- const upsert = p.upsert === true;
441
- if (p.attributes.typeOf === factory.eventType.ScreeningEvent) {
442
- // 上書き禁止属性を除外(2022-08-24~)
443
- const _a = p.attributes, { identifier, project, typeOf, remainingAttendeeCapacity } = _a, updateFields = __rest(_a, ["identifier", "project", "typeOf", "remainingAttendeeCapacity"]);
444
- bulkWriteOps.push({
445
- updateOne: {
446
- filter: {
447
- _id: p.id,
448
- typeOf: p.attributes.typeOf
449
- },
450
- update: Object.assign({ $setOnInsert: Object.assign(Object.assign({ typeOf: p.attributes.typeOf, project: p.attributes.project }, (typeof p.attributes.identifier === 'string')
451
- ? { identifier: p.attributes.identifier } : undefined), (typeof p.attributes.remainingAttendeeCapacity === 'number')
445
+ async saveManyEvents(params) {
446
+ const bulkWriteOps = [];
447
+ if (Array.isArray(params)) {
448
+ params.forEach((p) => {
449
+ const upsert = p.upsert === true;
450
+ if (p.attributes.typeOf === factory.eventType.ScreeningEvent) {
451
+ // 上書き禁止属性を除外(2022-08-24~)
452
+ const { identifier, project, typeOf, remainingAttendeeCapacity, ...updateFields } = p.attributes;
453
+ bulkWriteOps.push({
454
+ updateOne: {
455
+ filter: {
456
+ _id: p.id,
457
+ typeOf: p.attributes.typeOf
458
+ },
459
+ update: {
460
+ $setOnInsert: {
461
+ typeOf: p.attributes.typeOf,
462
+ project: p.attributes.project,
463
+ ...(typeof p.attributes.identifier === 'string')
464
+ ? { identifier: p.attributes.identifier } : undefined,
465
+ ...(typeof p.attributes.remainingAttendeeCapacity === 'number')
452
466
  ? { remainingAttendeeCapacity: p.attributes.remainingAttendeeCapacity }
453
- : undefined), $set: updateFields }, (p.$unset !== undefined) ? { $unset: p.$unset } : undefined),
454
- upsert
455
- }
456
- });
457
- }
458
- else if (p.attributes.typeOf === factory.eventType.ScreeningEventSeries) {
459
- throw new factory.errors.Internal('typeOf: ScreeningEventSeries discontinued');
460
- }
461
- });
462
- }
463
- if (bulkWriteOps.length > 0) {
464
- yield this.eventModel.bulkWrite(bulkWriteOps, { ordered: false });
465
- }
466
- });
467
- }
468
- /**
469
- * tttsイベントを識別子によって冪等作成する
470
- */
471
- saveEventByIdentifier4ttts(params) {
472
- return __awaiter(this, void 0, void 0, function* () {
473
- // const { oldEventId } = params;
474
- const _a = params.attributes, { project, typeOf, eventStatus, identifier, organizer } = _a, updateFields = __rest(_a, ["project", "typeOf", "eventStatus", "identifier", "organizer"]);
475
- // const identifier = oldEventId;
476
- if (typeof identifier !== 'string' || identifier.length === 0) {
477
- throw new factory.errors.ArgumentNull('identifier');
478
- }
479
- const id = EventRepo.CREATE_ID();
480
- const doc = yield this.eventModel.findOneAndUpdate(
481
- // 全イベントにidentifierを保証したので、additionalPropertyによるフィルターからidentifierによるフィルターへ変更(2025-09-05~)
482
- // {
483
- // 'project.id': { $eq: project.id },
484
- // typeOf: { $eq: typeOf },
485
- // // 追加特性をキーに更新
486
- // additionalProperty: {
487
- // $exists: true,
488
- // $all: [{ name: 'oldEventId', value: identifier }]
489
- // }
490
- // },
491
- {
492
- 'project.id': { $eq: project.id },
493
- identifier: { $exists: true, $eq: identifier }
494
- },
495
- // upsertの場合、createがありうるので属性を除外しない
496
- {
497
- $setOnInsert: {
498
- _id: id,
499
- typeOf,
500
- project,
501
- eventStatus,
502
- organizer,
503
- identifier // イベントコードを必ず追加(2025-09-03~)
504
- // ...(typeof identifier === 'string' && identifier !== '') ? { identifier } : undefined
505
- },
506
- $set: updateFields
507
- }, { upsert: true, new: true, projection: { _id: 1 } })
508
- .lean()
509
- .exec();
510
- if (doc === null) {
511
- throw new factory.errors.NotFound(this.eventModel.modelName);
512
- }
513
- return { id: doc._id }; // optimize(2024-07-31~)
514
- });
467
+ : undefined
468
+ },
469
+ $set: updateFields,
470
+ // $unsetに対応(2022-08-31~)
471
+ ...(p.$unset !== undefined) ? { $unset: p.$unset } : undefined
472
+ },
473
+ upsert
474
+ }
475
+ });
476
+ }
477
+ else if (p.attributes.typeOf === factory.eventType.ScreeningEventSeries) {
478
+ throw new factory.errors.Internal('typeOf: ScreeningEventSeries discontinued');
479
+ }
480
+ });
481
+ }
482
+ if (bulkWriteOps.length > 0) {
483
+ await this.eventModel.bulkWrite(bulkWriteOps, { ordered: false });
484
+ }
515
485
  }
486
+ // /**
487
+ // * tttsイベントを識別子によって冪等作成する
488
+ // */
489
+ // public async saveEventByIdentifier4ttts(params: {
490
+ // // oldEventId: string;
491
+ // attributes: ICreatingEvent4ttts;
492
+ // }): Promise<{ id: string }> {
493
+ // // const { oldEventId } = params;
494
+ // const { project, typeOf, eventStatus, identifier, organizer, ...updateFields } = params.attributes;
495
+ // // const identifier = oldEventId;
496
+ // if (typeof identifier !== 'string' || identifier.length === 0) {
497
+ // throw new factory.errors.ArgumentNull('identifier');
498
+ // }
499
+ // const id = EventRepo.CREATE_ID();
500
+ // const doc = await this.eventModel.findOneAndUpdate(
501
+ // {
502
+ // 'project.id': { $eq: project.id },
503
+ // identifier: { $exists: true, $eq: identifier }
504
+ // },
505
+ // // upsertの場合、createがありうるので属性を除外しない
506
+ // {
507
+ // $setOnInsert: {
508
+ // _id: id,
509
+ // typeOf,
510
+ // project,
511
+ // eventStatus,
512
+ // organizer,
513
+ // identifier // イベントコードを必ず追加(2025-09-03~)
514
+ // // ...(typeof identifier === 'string' && identifier !== '') ? { identifier } : undefined
515
+ // },
516
+ // $set: updateFields
517
+ // },
518
+ // { upsert: true, new: true, projection: { _id: 1 } }
519
+ // )
520
+ // .lean<{ _id: string }>()
521
+ // .exec();
522
+ // if (doc === null) {
523
+ // throw new factory.errors.NotFound(this.eventModel.modelName);
524
+ // }
525
+ // return { id: doc._id }; // optimize(2024-07-31~)
526
+ // }
516
527
  /**
517
528
  * イベントを検索する(inclusion projection)
518
529
  */
519
- projectEventFields(params, inclusion) {
520
- return __awaiter(this, void 0, void 0, function* () {
521
- var _a;
522
- const conditions = EventRepo.CREATE_MONGO_CONDITIONS(params);
523
- let projection;
524
- const positiveProjectionFields = (Array.isArray(inclusion))
525
- ? inclusion.filter((key) => String(key) !== 'id' && String(key) !== '_id')
526
- : [];
527
- if (Array.isArray(inclusion) && inclusion.length > 0) {
528
- projection = Object.assign(Object.assign({}, Object.fromEntries(positiveProjectionFields.map((key) => ([key, 1])))), { _id: 0, id: { $toString: '$_id' } });
529
- }
530
- else {
531
- // discontinue(2024-07-24~)
532
- throw new factory.errors.ArgumentNull('inclusion', 'inclusion must be specified');
533
- }
534
- const query = this.eventModel.find({ $and: conditions }, projection);
535
- if (typeof params.limit === 'number' && params.limit > 0) {
536
- const page = (typeof params.page === 'number' && params.page > 0) ? params.page : 1;
537
- query.limit(params.limit)
538
- .skip(params.limit * (page - 1));
539
- }
540
- // tslint:disable-next-line:no-single-line-block-comment
541
- /* istanbul ignore else */
542
- if (((_a = params.sort) === null || _a === void 0 ? void 0 : _a.startDate) !== undefined) {
543
- query.sort({ startDate: params.sort.startDate });
544
- }
545
- // const explainResult = await query.explain()
546
- // .exec();
547
- // console.log(explainResult[0].executionStats.allPlansExecution.map((e: any) => e.executionStages.inputStage));
548
- // console.log(explainResult[0].executionStats.allPlansExecution);
549
- // console.log(explainResult[0].queryPlanner?.winningPlan);
550
- // console.log(explainResult[0].queryPlanner?.winningPlan?.inputStage?.inputStage?.inputStage);
551
- // console.log(explainResult);
552
- // return [];
553
- return query.setOptions({ maxTimeMS: settings_1.MONGO_MAX_TIME_MS })
554
- .lean() // lean(2024-08-01~)
555
- .exec();
556
- });
530
+ async projectEventFields(params, inclusion) {
531
+ const conditions = EventRepo.CREATE_MONGO_CONDITIONS(params);
532
+ let projection;
533
+ const positiveProjectionFields = (Array.isArray(inclusion))
534
+ ? inclusion.filter((key) => String(key) !== 'id' && String(key) !== '_id')
535
+ : [];
536
+ if (Array.isArray(inclusion) && inclusion.length > 0) {
537
+ projection = {
538
+ ...Object.fromEntries(positiveProjectionFields.map((key) => ([key, 1]))),
539
+ _id: 0, // hide _id(2024-08-01~)
540
+ id: { $toString: '$_id' }
541
+ };
542
+ }
543
+ else {
544
+ // discontinue(2024-07-24~)
545
+ throw new factory.errors.ArgumentNull('inclusion', 'inclusion must be specified');
546
+ }
547
+ const query = this.eventModel.find({ $and: conditions }, projection);
548
+ if (typeof params.limit === 'number' && params.limit > 0) {
549
+ const page = (typeof params.page === 'number' && params.page > 0) ? params.page : 1;
550
+ query.limit(params.limit)
551
+ .skip(params.limit * (page - 1));
552
+ }
553
+ /* istanbul ignore else */
554
+ if (params.sort?.startDate !== undefined) {
555
+ query.sort({ startDate: params.sort.startDate });
556
+ }
557
+ // const explainResult = await query.explain()
558
+ // .exec();
559
+ // console.log(explainResult[0].executionStats.allPlansExecution.map((e: any) => e.executionStages.inputStage));
560
+ // console.log(explainResult[0].executionStats.allPlansExecution);
561
+ // console.log(explainResult[0].queryPlanner?.winningPlan);
562
+ // console.log(explainResult[0].queryPlanner?.winningPlan?.inputStage?.inputStage?.inputStage);
563
+ // console.log(explainResult);
564
+ // return [];
565
+ return query.setOptions({ maxTimeMS: settings_1.MONGO_MAX_TIME_MS })
566
+ .lean() // lean(2024-08-01~)
567
+ .exec();
557
568
  }
558
- findByAdditionalProperty(params) {
559
- return __awaiter(this, void 0, void 0, function* () {
560
- const query = this.eventModel.find({
561
- 'project.id': { $eq: params.project.id },
562
- additionalProperty: { $eq: params.additionalProperty }
563
- }, { _id: 1 });
564
- // if (typeof params.limit === 'number' && params.limit > 0) {
565
- // const page: number = (typeof params.page === 'number' && params.page > 0) ? params.page : 1;
566
- // query.limit(params.limit)
567
- // .skip(params.limit * (page - 1));
568
- // }
569
- return query.setOptions({ maxTimeMS: settings_1.MONGO_MAX_TIME_MS })
570
- .lean()
571
- .exec();
572
- });
569
+ async findByAdditionalProperty(params) {
570
+ const query = this.eventModel.find({
571
+ 'project.id': { $eq: params.project.id },
572
+ additionalProperty: { $eq: params.additionalProperty }
573
+ }, { _id: 1 });
574
+ // if (typeof params.limit === 'number' && params.limit > 0) {
575
+ // const page: number = (typeof params.page === 'number' && params.page > 0) ? params.page : 1;
576
+ // query.limit(params.limit)
577
+ // .skip(params.limit * (page - 1));
578
+ // }
579
+ return query.setOptions({ maxTimeMS: settings_1.MONGO_MAX_TIME_MS })
580
+ .lean()
581
+ .exec();
573
582
  }
574
583
  /**
575
584
  * apiで公開属性を検索する(2024-10-13~)
576
585
  */
577
- aggregatePublicFields(params, inclusion, options) {
578
- return __awaiter(this, void 0, void 0, function* () {
579
- var _a, _b;
580
- const { includeOffers, includeSellerMakesOffer, sellerMakesOfferAvailableAtIn } = options;
581
- const conditions = EventRepo.CREATE_MONGO_CONDITIONS(params);
582
- let projection;
583
- let positiveProjectionFields;
584
- if (Array.isArray(inclusion) && inclusion.length > 0) {
585
- positiveProjectionFields = inclusion.filter((key) => AVAILABLE_PUBLIC_PROJECT_FIELDS.includes(key));
586
- projection = Object.assign({ _id: 0, id: { $toString: '$_id' } }, Object.fromEntries(positiveProjectionFields.map((key) => ([key, 1]))));
587
- if (includeOffers) {
588
- projection = Object.assign(Object.assign(Object.assign({}, projection), { 'offers.typeOf': 1, 'offers.eligibleQuantity': 1, 'offers.itemOffered': 1, 'offers.identifier': 1, 'offers.offeredThrough': 1, 'offers.unacceptedPaymentMethod': 1, 'offers.seller.typeOf': 1, 'offers.seller.id': 1, 'offers.seller.name': 1 }), (includeSellerMakesOffer)
589
- ? Object.assign({}, (Array.isArray(sellerMakesOfferAvailableAtIn))
590
- ? {
591
- 'offers.seller.makesOffer': {
592
- $filter: {
593
- input: '$offers.seller.makesOffer',
594
- as: 'sellerMakesOffer',
595
- cond: { $in: ['$$sellerMakesOffer.availableAtOrFrom.id', sellerMakesOfferAvailableAtIn] }
586
+ async aggregatePublicFields(params, inclusion, options) {
587
+ const { includeOffers, includeSellerMakesOffer, sellerMakesOfferAvailableAtIn } = options;
588
+ const conditions = EventRepo.CREATE_MONGO_CONDITIONS(params);
589
+ let projection;
590
+ let positiveProjectionFields;
591
+ if (Array.isArray(inclusion) && inclusion.length > 0) {
592
+ positiveProjectionFields = inclusion.filter((key) => AVAILABLE_PUBLIC_PROJECT_FIELDS.includes(key));
593
+ projection = {
594
+ _id: 0,
595
+ id: { $toString: '$_id' },
596
+ ...Object.fromEntries(positiveProjectionFields.map((key) => ([key, 1])))
597
+ };
598
+ if (includeOffers) {
599
+ projection = {
600
+ ...projection,
601
+ 'offers.typeOf': 1,
602
+ 'offers.eligibleQuantity': 1,
603
+ 'offers.itemOffered': 1,
604
+ 'offers.identifier': 1, // support オファーコレクションコード(2025-09-29~)
605
+ 'offers.offeredThrough': 1,
606
+ 'offers.unacceptedPaymentMethod': 1,
607
+ 'offers.seller.typeOf': 1,
608
+ 'offers.seller.id': 1,
609
+ 'offers.seller.name': 1,
610
+ ...(includeSellerMakesOffer)
611
+ ? {
612
+ ...(Array.isArray(sellerMakesOfferAvailableAtIn))
613
+ ? {
614
+ 'offers.seller.makesOffer': {
615
+ $filter: {
616
+ input: '$offers.seller.makesOffer',
617
+ as: 'sellerMakesOffer',
618
+ cond: { $in: ['$$sellerMakesOffer.availableAtOrFrom.id', sellerMakesOfferAvailableAtIn] }
619
+ }
596
620
  }
597
621
  }
598
- }
599
- : { 'offers.seller.makesOffer': 1 }) : undefined);
600
- }
601
- }
602
- else {
603
- // discontinue(2024-07-24~)
604
- throw new factory.errors.ArgumentNull('inclusion', 'inclusion must be specified');
605
- }
606
- const aggregate = this.eventModel.aggregate([
607
- { $match: { $and: conditions } },
608
- ...(((_a = params.sort) === null || _a === void 0 ? void 0 : _a.startDate) !== undefined)
609
- ? [{ $sort: { startDate: params.sort.startDate } }]
610
- : [],
611
- { $project: projection }
612
- ]);
613
- if (typeof params.limit === 'number' && params.limit > 0) {
614
- const page = (typeof params.page === 'number' && params.page > 0) ? params.page : 1;
615
- aggregate.limit(params.limit * page)
616
- .skip(params.limit * (page - 1));
617
- }
618
- // tslint:disable-next-line:no-single-line-block-comment
619
- /* istanbul ignore else */
620
- if (((_b = params.sort) === null || _b === void 0 ? void 0 : _b.startDate) !== undefined) {
621
- aggregate.sort({ startDate: params.sort.startDate });
622
+ : { 'offers.seller.makesOffer': 1 }
623
+ }
624
+ : undefined
625
+ };
622
626
  }
623
- return aggregate
624
- .option({ maxTimeMS: settings_1.MONGO_MAX_TIME_MS })
625
- .exec();
626
- });
627
+ }
628
+ else {
629
+ // discontinue(2024-07-24~)
630
+ throw new factory.errors.ArgumentNull('inclusion', 'inclusion must be specified');
631
+ }
632
+ const aggregate = this.eventModel.aggregate([
633
+ { $match: { $and: conditions } },
634
+ ...(params.sort?.startDate !== undefined)
635
+ ? [{ $sort: { startDate: params.sort.startDate } }]
636
+ : [],
637
+ { $project: projection }
638
+ ]);
639
+ if (typeof params.limit === 'number' && params.limit > 0) {
640
+ const page = (typeof params.page === 'number' && params.page > 0) ? params.page : 1;
641
+ aggregate.limit(params.limit * page)
642
+ .skip(params.limit * (page - 1));
643
+ }
644
+ /* istanbul ignore else */
645
+ if (params.sort?.startDate !== undefined) {
646
+ aggregate.sort({ startDate: params.sort.startDate });
647
+ }
648
+ return aggregate
649
+ .option({ maxTimeMS: settings_1.MONGO_MAX_TIME_MS })
650
+ .exec();
627
651
  }
628
652
  /**
629
653
  * IDのみで検索する
630
654
  * projectionなし
631
655
  */
632
- findAnyEventById(params) {
633
- return __awaiter(this, void 0, void 0, function* () {
634
- var _a;
635
- const doc = yield this.eventModel.findOne(Object.assign({ _id: { $eq: params.id.$eq }, 'project.id': { $eq: params.project.id.$eq }, typeOf: { $in: [factory.eventType.ScreeningEvent] } }, (typeof ((_a = params.organizer) === null || _a === void 0 ? void 0 : _a.id.$eq) === 'string')
656
+ async findAnyEventById(params) {
657
+ const doc = await this.eventModel.findOne({
658
+ _id: { $eq: params.id.$eq },
659
+ 'project.id': { $eq: params.project.id.$eq },
660
+ typeOf: { $in: [factory.eventType.ScreeningEvent] },
661
+ ...(typeof params.organizer?.id.$eq === 'string')
636
662
  ? { 'organizer.id': { $exists: true, $eq: params.organizer.id.$eq } }
637
- : undefined), {
638
- __v: 0,
639
- createdAt: 0,
640
- updatedAt: 0,
641
- // DefaultでaggregateEntranceGateを取得しない(2023-01-25~)
642
- aggregateEntranceGate: 0,
643
- // DefaultでaggregateOfferを取得しない(2023-01-24~)
644
- aggregateOffer: 0
645
- })
646
- .setOptions({ maxTimeMS: settings_1.MONGO_MAX_TIME_MS })
647
- .exec();
648
- if (doc === null) {
649
- throw new factory.errors.NotFound('Event');
650
- }
651
- return doc.toObject();
652
- });
663
+ : undefined
664
+ }, {
665
+ __v: 0,
666
+ createdAt: 0,
667
+ updatedAt: 0,
668
+ // DefaultでaggregateEntranceGateを取得しない(2023-01-25~)
669
+ aggregateEntranceGate: 0,
670
+ // DefaultでaggregateOfferを取得しない(2023-01-24~)
671
+ aggregateOffer: 0
672
+ })
673
+ .setOptions({ maxTimeMS: settings_1.MONGO_MAX_TIME_MS })
674
+ .exec();
675
+ if (doc === null) {
676
+ throw new factory.errors.NotFound('Event');
677
+ }
678
+ return doc.toObject();
653
679
  }
654
- searchEventIds(params) {
655
- return __awaiter(this, void 0, void 0, function* () {
656
- const conditions = EventRepo.CREATE_MONGO_CONDITIONS(params);
657
- const query = this.eventModel.distinct('_id', { $and: conditions });
658
- return query.setOptions({ maxTimeMS: settings_1.MONGO_MAX_TIME_MS })
659
- .exec();
660
- });
680
+ async searchEventIds(params) {
681
+ const conditions = EventRepo.CREATE_MONGO_CONDITIONS(params);
682
+ const query = this.eventModel.distinct('_id', { $and: conditions });
683
+ return query.setOptions({ maxTimeMS: settings_1.MONGO_MAX_TIME_MS })
684
+ .exec();
661
685
  }
662
686
  /**
663
687
  * 特定イベントから指定フィールドのみ取得する
664
688
  * イベント IDは必ず返ります
665
689
  */
666
- projectEventFieldsById(params, inclusion // add projection(2024-07-18~)
690
+ async projectEventFieldsById(params, inclusion // add projection(2024-07-18~)
667
691
  ) {
668
- return __awaiter(this, void 0, void 0, function* () {
669
- const projection = {
670
- _id: 0,
671
- id: { $toString: '$_id' }
672
- };
673
- if (Array.isArray(inclusion) && inclusion.length > 0) {
674
- inclusion.forEach((field) => {
675
- if (String(field) !== '_id' && String(field) !== 'id') {
676
- projection[field] = 1;
677
- }
678
- });
679
- }
680
- else {
681
- // discontinue(2024-07-24~)
682
- throw new factory.errors.ArgumentNull('inclusion', 'inclusion must be specified');
683
- // projection = PROJECTION_MINIMIZED_EVENT;
684
- }
685
- const doc = yield this.eventModel.findOne({ _id: { $eq: params.id } }, projection)
686
- .lean() // lean(2024-07-24~)
687
- .exec();
688
- if (doc === null) {
689
- throw new factory.errors.NotFound(this.eventModel.modelName);
690
- }
691
- return doc;
692
- });
692
+ const projection = {
693
+ _id: 0,
694
+ id: { $toString: '$_id' }
695
+ };
696
+ if (Array.isArray(inclusion) && inclusion.length > 0) {
697
+ inclusion.forEach((field) => {
698
+ if (String(field) !== '_id' && String(field) !== 'id') {
699
+ projection[field] = 1;
700
+ }
701
+ });
702
+ }
703
+ else {
704
+ // discontinue(2024-07-24~)
705
+ throw new factory.errors.ArgumentNull('inclusion', 'inclusion must be specified');
706
+ // projection = PROJECTION_MINIMIZED_EVENT;
707
+ }
708
+ const doc = await this.eventModel.findOne({ _id: { $eq: params.id } }, projection)
709
+ .lean() // lean(2024-07-24~)
710
+ .exec();
711
+ if (doc === null) {
712
+ throw new factory.errors.NotFound(this.eventModel.modelName);
713
+ }
714
+ return doc;
693
715
  }
694
716
  /**
695
717
  * イベントをキャンセルする
696
718
  */
697
- cancelEvent(params) {
698
- return __awaiter(this, void 0, void 0, function* () {
699
- return this.eventModel.updateOne({
700
- _id: { $eq: params.id },
701
- 'project.id': { $eq: params.project.id }
702
- }, { $set: { eventStatus: factory.eventStatusType.EventCancelled } }, { includeResultMetadata: true })
703
- .exec();
704
- });
719
+ async cancelEvent(params) {
720
+ return this.eventModel.updateOne({
721
+ _id: { $eq: params.id },
722
+ 'project.id': { $eq: params.project.id }
723
+ }, { $set: { eventStatus: factory.eventStatusType.EventCancelled } }, { includeResultMetadata: true })
724
+ .exec();
705
725
  }
706
726
  /**
707
727
  * 興行イベントのsuperEventを最新の情報に同期する
708
728
  */
709
- syncScreeningEventSeries2screeningEvents(params) {
710
- return __awaiter(this, void 0, void 0, function* () {
711
- const superEvent = EventFactory.minimizeSuperEvent({ superEventFromDB: params.superEventFromDB });
712
- yield this.eventModel.updateMany({
713
- typeOf: { $eq: factory.eventType.ScreeningEvent },
714
- 'project.id': { $eq: params.project.id },
715
- 'superEvent.id': { $exists: true, $eq: params.superEventFromDB.id },
716
- startDate: { $gte: params.startDate.$gte }
717
- }, {
718
- $set: {
719
- superEvent
720
- }
721
- })
722
- .exec();
723
- });
729
+ async syncScreeningEventSeries2screeningEvents(params) {
730
+ const superEvent = EventFactory.minimizeSuperEvent({ superEventFromDB: params.superEventFromDB });
731
+ await this.eventModel.updateMany({
732
+ typeOf: { $eq: factory.eventType.ScreeningEvent },
733
+ 'project.id': { $eq: params.project.id },
734
+ 'superEvent.id': { $exists: true, $eq: params.superEventFromDB.id },
735
+ startDate: { $gte: params.startDate.$gte }
736
+ }, {
737
+ $set: {
738
+ superEvent
739
+ }
740
+ })
741
+ .exec();
724
742
  }
725
- deleteEventById(params) {
726
- return __awaiter(this, void 0, void 0, function* () {
727
- yield this.eventModel.findOneAndDelete({
728
- _id: params.id,
729
- 'project.id': { $eq: params.project.id }
730
- })
731
- .exec();
732
- });
743
+ async deleteEventById(params) {
744
+ await this.eventModel.findOneAndDelete({
745
+ _id: params.id,
746
+ 'project.id': { $eq: params.project.id }
747
+ })
748
+ .exec();
733
749
  }
734
- deleteManyEventByOrganizerId(params) {
735
- return __awaiter(this, void 0, void 0, function* () {
736
- return this.eventModel.deleteMany({
737
- 'project.id': { $eq: params.project.id },
738
- 'organizer.id': { $exists: true, $eq: params.organizer.id }
739
- })
740
- .exec();
741
- });
750
+ async deleteManyEventByOrganizerId(params) {
751
+ return this.eventModel.deleteMany({
752
+ 'project.id': { $eq: params.project.id },
753
+ 'organizer.id': { $exists: true, $eq: params.organizer.id }
754
+ })
755
+ .exec();
742
756
  }
743
- deleteManyEventsByScreeningRoom(params) {
744
- return __awaiter(this, void 0, void 0, function* () {
745
- return this.eventModel.deleteMany({
746
- 'project.id': { $eq: params.project.id },
747
- 'location.branchCode': { $exists: true, $eq: params.location.branchCode },
748
- 'superEvent.location.id': { $exists: true, $eq: params.location.containedInPlace.id }
749
- })
750
- .exec();
751
- });
757
+ async deleteManyEventsByScreeningRoom(params) {
758
+ return this.eventModel.deleteMany({
759
+ 'project.id': { $eq: params.project.id },
760
+ 'location.branchCode': { $exists: true, $eq: params.location.branchCode },
761
+ 'superEvent.location.id': { $exists: true, $eq: params.location.containedInPlace.id }
762
+ })
763
+ .exec();
752
764
  }
753
- deleteManyBySuperEventId(params) {
754
- return __awaiter(this, void 0, void 0, function* () {
755
- return this.eventModel.deleteMany({
756
- 'project.id': { $eq: params.project.id },
757
- 'superEvent.id': { $exists: true, $eq: params.superEvent.id }
758
- })
759
- .exec();
760
- });
765
+ async deleteManyBySuperEventId(params) {
766
+ return this.eventModel.deleteMany({
767
+ 'project.id': { $eq: params.project.id },
768
+ 'superEvent.id': { $exists: true, $eq: params.superEvent.id }
769
+ })
770
+ .exec();
761
771
  }
762
- deleteManyBySuperEventLocationId(params) {
763
- return __awaiter(this, void 0, void 0, function* () {
764
- return this.eventModel.deleteMany({
765
- 'project.id': { $eq: params.project.id },
766
- 'superEvent.location.id': { $exists: true, $eq: params.superEvent.location.id }
767
- })
768
- .exec();
769
- });
772
+ async deleteManyBySuperEventLocationId(params) {
773
+ return this.eventModel.deleteMany({
774
+ 'project.id': { $eq: params.project.id },
775
+ 'superEvent.location.id': { $exists: true, $eq: params.superEvent.location.id }
776
+ })
777
+ .exec();
770
778
  }
771
779
  /**
772
780
  * 興行(プロダクト)から削除する
773
781
  */
774
- deleteManyEventsByItemOfferedId(params) {
775
- return __awaiter(this, void 0, void 0, function* () {
776
- return this.eventModel.deleteMany({
777
- 'project.id': { $eq: params.project.id },
778
- 'offers.itemOffered.id': { $exists: true, $in: params.offers.itemOffered.id.$in }
779
- })
780
- .exec();
781
- });
782
+ async deleteManyEventsByItemOfferedId(params) {
783
+ return this.eventModel.deleteMany({
784
+ 'project.id': { $eq: params.project.id },
785
+ 'offers.itemOffered.id': { $exists: true, $in: params.offers.itemOffered.id.$in }
786
+ })
787
+ .exec();
782
788
  }
783
- deleteManyEventsEndedByProject(params) {
784
- return __awaiter(this, void 0, void 0, function* () {
785
- return this.eventModel.deleteMany({
786
- typeOf: { $in: params.typeOf.$in },
787
- 'project.id': { $eq: params.project.id },
788
- endDate: { $lte: params.endDate.$lte }
789
- })
790
- .exec();
791
- });
789
+ async deleteManyEventsEndedByProject(params) {
790
+ return this.eventModel.deleteMany({
791
+ typeOf: { $in: params.typeOf.$in },
792
+ 'project.id': { $eq: params.project.id },
793
+ endDate: { $lte: params.endDate.$lte }
794
+ })
795
+ .exec();
792
796
  }
793
- deleteManyEventsEnded(params) {
794
- return __awaiter(this, void 0, void 0, function* () {
795
- return this.eventModel.deleteMany({
796
- typeOf: { $eq: params.typeOf.$eq },
797
- endDate: { $lte: params.endDate.$lte }
798
- })
799
- .exec();
800
- });
797
+ async deleteManyEventsEnded(params) {
798
+ return this.eventModel.deleteMany({
799
+ typeOf: { $eq: params.typeOf.$eq },
800
+ endDate: { $lte: params.endDate.$lte }
801
+ })
802
+ .exec();
801
803
  }
802
- deleteByProject(params) {
803
- return __awaiter(this, void 0, void 0, function* () {
804
- yield this.eventModel.deleteMany({
805
- 'project.id': { $eq: params.project.id }
806
- })
807
- .exec();
808
- });
804
+ async deleteByProject(params) {
805
+ await this.eventModel.deleteMany({
806
+ 'project.id': { $eq: params.project.id }
807
+ })
808
+ .exec();
809
809
  }
810
810
  /**
811
811
  * 集計属性を更新する
812
812
  */
813
- updateAggregationById(params, update) {
814
- return __awaiter(this, void 0, void 0, function* () {
815
- const doc = yield this.eventModel.findOneAndUpdate({ _id: { $eq: params.id } }, update, {
816
- new: false,
817
- projection: { _id: 1 }
818
- })
819
- .lean()
820
- .exec();
821
- if (doc === null) {
822
- throw new factory.errors.NotFound(this.eventModel.modelName);
823
- }
824
- });
813
+ async updateAggregationById(params, update) {
814
+ const doc = await this.eventModel.findOneAndUpdate({ _id: { $eq: params.id } }, update, {
815
+ new: false,
816
+ projection: { _id: 1 }
817
+ })
818
+ .lean()
819
+ .exec();
820
+ if (doc === null) {
821
+ throw new factory.errors.NotFound(this.eventModel.modelName);
822
+ }
825
823
  }
826
- bulkWrite(bulkWriteOps) {
827
- return __awaiter(this, void 0, void 0, function* () {
828
- return this.eventModel.bulkWrite(bulkWriteOps, { ordered: false });
829
- });
824
+ async bulkWrite(bulkWriteOps) {
825
+ return this.eventModel.bulkWrite(bulkWriteOps, { ordered: false });
830
826
  }
831
827
  getCursor(conditions, projection) {
832
828
  return this.eventModel.find(conditions, projection)
833
829
  .sort({ startDate: factory.sortType.Descending })
834
830
  .cursor();
835
831
  }
836
- addAvailableAtOrFrom(params) {
837
- return __awaiter(this, void 0, void 0, function* () {
838
- yield this.eventModel.updateOne({ _id: { $eq: params.id } }, {
839
- $push: {
840
- 'offers.seller.makesOffer': params.offers.seller.makesOffer
841
- }
842
- }, { includeResultMetadata: true })
843
- .exec();
844
- });
832
+ async addAvailableAtOrFrom(params) {
833
+ await this.eventModel.updateOne({ _id: { $eq: params.id } }, {
834
+ $push: {
835
+ 'offers.seller.makesOffer': params.offers.seller.makesOffer
836
+ }
837
+ }, { includeResultMetadata: true })
838
+ .exec();
845
839
  }
846
- unsetUnnecessaryFields(params) {
847
- return __awaiter(this, void 0, void 0, function* () {
848
- return this.eventModel.updateMany(params.filter, { $unset: params.$unset }, { timestamps: false })
849
- .exec();
850
- });
840
+ async unsetUnnecessaryFields(params) {
841
+ return this.eventModel.updateMany(params.filter, { $unset: params.$unset }, { timestamps: false })
842
+ .exec();
851
843
  }
852
- aggregateEvent(params) {
853
- return __awaiter(this, void 0, void 0, function* () {
854
- const statuses = yield Promise.all([
855
- factory.eventStatusType.EventScheduled,
856
- factory.eventStatusType.EventCancelled,
857
- factory.eventStatusType.EventPostponed
858
- ].map((eventStatus) => __awaiter(this, void 0, void 0, function* () {
859
- var _a, _b;
860
- const matchConditions = Object.assign({ startDate: {
861
- $gte: params.startFrom,
862
- $lte: params.startThrough
863
- }, typeOf: { $eq: params.typeOf }, eventStatus: { $eq: eventStatus } }, (typeof ((_b = (_a = params.project) === null || _a === void 0 ? void 0 : _a.id) === null || _b === void 0 ? void 0 : _b.$ne) === 'string')
844
+ async aggregateEvent(params) {
845
+ const statuses = await Promise.all([
846
+ factory.eventStatusType.EventScheduled,
847
+ factory.eventStatusType.EventCancelled,
848
+ factory.eventStatusType.EventPostponed
849
+ ].map(async (eventStatus) => {
850
+ const matchConditions = {
851
+ startDate: {
852
+ $gte: params.startFrom,
853
+ $lte: params.startThrough
854
+ },
855
+ typeOf: { $eq: params.typeOf },
856
+ eventStatus: { $eq: eventStatus },
857
+ ...(typeof params.project?.id?.$ne === 'string')
864
858
  ? { 'project.id': { $ne: params.project.id.$ne } }
865
- : undefined);
866
- return this.agggregateByStatus({ matchConditions, status: eventStatus });
867
- })));
868
- return { statuses };
869
- });
859
+ : undefined
860
+ };
861
+ return this.agggregateByStatus({ matchConditions, status: eventStatus });
862
+ }));
863
+ return { statuses };
870
864
  }
871
- // tslint:disable-next-line:max-func-body-length
872
- agggregateByStatus(params) {
873
- return __awaiter(this, void 0, void 0, function* () {
874
- const matchConditions = params.matchConditions;
875
- const eventStatus = params.status;
876
- const aggregations = yield this.eventModel.aggregate([
877
- {
878
- $match: matchConditions
879
- },
880
- {
881
- $project: {
882
- remainingCapacityRate: {
883
- $cond: {
884
- if: {
885
- $and: [
886
- { $isNumber: '$maximumAttendeeCapacity' },
887
- { $isNumber: '$remainingAttendeeCapacity' }
888
- ]
889
- },
890
- then: {
891
- $cond: {
892
- if: { $gt: ['$maximumAttendeeCapacity', 0] },
893
- then: {
894
- $multiply: [
895
- { $divide: ['$remainingAttendeeCapacity', '$maximumAttendeeCapacity'] },
896
- // tslint:disable-next-line:no-magic-numbers
897
- 100
898
- ]
899
- },
900
- else: 0
901
- }
902
- },
903
- else: 0
904
- }
905
- },
906
- eventStatus: '$eventStatus',
907
- startDate: '$startDate',
908
- endDate: '$endDate',
909
- typeOf: '$typeOf',
910
- maximumAttendeeCapacity: {
911
- $cond: {
912
- if: { $isNumber: '$maximumAttendeeCapacity' },
913
- then: '$maximumAttendeeCapacity',
914
- else: 0
915
- }
916
- },
917
- remainingAttendeeCapacity: {
918
- $cond: {
919
- if: { $isNumber: '$remainingAttendeeCapacity' },
920
- then: '$remainingAttendeeCapacity',
921
- else: 0
922
- }
923
- },
924
- reservationCount: {
925
- $cond: {
926
- if: { $isNumber: '$aggregateReservation.reservationCount' },
927
- then: '$aggregateReservation.reservationCount',
928
- else: 0
929
- }
930
- },
931
- offerCount: {
932
- $cond: {
933
- if: { $isNumber: '$aggregateOffer.offerCount' },
934
- then: '$aggregateOffer.offerCount',
935
- else: 0
936
- }
865
+ async agggregateByStatus(params) {
866
+ const matchConditions = params.matchConditions;
867
+ const eventStatus = params.status;
868
+ const aggregations = await this.eventModel.aggregate([
869
+ {
870
+ $match: matchConditions
871
+ },
872
+ {
873
+ $project: {
874
+ remainingCapacityRate: {
875
+ $cond: {
876
+ if: {
877
+ $and: [
878
+ { $isNumber: '$maximumAttendeeCapacity' },
879
+ { $isNumber: '$remainingAttendeeCapacity' }
880
+ ]
881
+ },
882
+ then: {
883
+ $cond: {
884
+ if: { $gt: ['$maximumAttendeeCapacity', 0] },
885
+ then: {
886
+ $multiply: [
887
+ { $divide: ['$remainingAttendeeCapacity', '$maximumAttendeeCapacity'] },
888
+ 100
889
+ ]
890
+ },
891
+ else: 0
892
+ }
893
+ },
894
+ else: 0
895
+ }
896
+ },
897
+ eventStatus: '$eventStatus',
898
+ startDate: '$startDate',
899
+ endDate: '$endDate',
900
+ typeOf: '$typeOf',
901
+ maximumAttendeeCapacity: {
902
+ $cond: {
903
+ if: { $isNumber: '$maximumAttendeeCapacity' },
904
+ then: '$maximumAttendeeCapacity',
905
+ else: 0
906
+ }
907
+ },
908
+ remainingAttendeeCapacity: {
909
+ $cond: {
910
+ if: { $isNumber: '$remainingAttendeeCapacity' },
911
+ then: '$remainingAttendeeCapacity',
912
+ else: 0
913
+ }
914
+ },
915
+ reservationCount: {
916
+ $cond: {
917
+ if: { $isNumber: '$aggregateReservation.reservationCount' },
918
+ then: '$aggregateReservation.reservationCount',
919
+ else: 0
920
+ }
921
+ },
922
+ offerCount: {
923
+ $cond: {
924
+ if: { $isNumber: '$aggregateOffer.offerCount' },
925
+ then: '$aggregateOffer.offerCount',
926
+ else: 0
937
927
  }
938
- }
939
- },
940
- {
941
- $group: {
942
- _id: '$typeOf',
943
- eventCount: { $sum: 1 },
944
- reservationCount: { $sum: '$reservationCount' },
945
- avgOfferCount: { $avg: '$offerCount' },
946
- maximumAttendeeCapacity: { $sum: '$maximumAttendeeCapacity' },
947
- remainingAttendeeCapacity: { $sum: '$remainingAttendeeCapacity' },
948
- avgRemainingCapacityRate: { $avg: '$remainingCapacityRate' },
949
- maxRemainingCapacityRate: { $max: '$remainingCapacityRate' },
950
- minRemainingCapacityRate: { $min: '$remainingCapacityRate' }
951
- }
952
- },
953
- {
954
- $project: {
955
- _id: 0,
956
- eventCount: '$eventCount',
957
- reservationCount: '$reservationCount',
958
- avgOfferCount: '$avgOfferCount',
959
- maximumAttendeeCapacity: '$maximumAttendeeCapacity',
960
- remainingAttendeeCapacity: '$remainingAttendeeCapacity',
961
- avgRemainingCapacityRate: '$avgRemainingCapacityRate',
962
- maxRemainingCapacityRate: '$maxRemainingCapacityRate',
963
- minRemainingCapacityRate: '$minRemainingCapacityRate'
964
928
  }
965
929
  }
966
- ])
967
- .exec();
968
- // tslint:disable-next-line:no-magic-numbers
969
- const percents = [50, 95, 99];
970
- if (aggregations.length === 0) {
971
- return {
972
- status: eventStatus,
973
- aggregation: {
974
- eventCount: 0,
975
- reservationCount: 0,
976
- avgOfferCount: 0,
977
- maximumAttendeeCapacity: 0,
978
- remainingAttendeeCapacity: 0,
979
- avgRemainingCapacityRate: 0,
980
- maxRemainingCapacityRate: 0,
981
- minRemainingCapacityRate: 0,
982
- percentilesRemainingCapacityRate: percents.map((percent) => {
983
- return {
984
- name: String(percent),
985
- value: 0
986
- };
987
- })
988
- }
989
- };
990
- }
991
- const ranks4percentile = percents.map((percentile) => {
992
- return {
993
- percentile,
994
- // tslint:disable-next-line:no-magic-numbers
995
- rank: Math.floor(aggregations[0].eventCount * percentile / 100)
996
- };
997
- });
998
- const aggregations2 = yield this.eventModel.aggregate([
999
- {
1000
- $match: matchConditions
1001
- },
1002
- {
1003
- $project: {
1004
- remainingCapacityRate: {
1005
- $cond: {
1006
- if: {
1007
- $and: [
1008
- { $isNumber: '$maximumAttendeeCapacity' },
1009
- { $isNumber: '$remainingAttendeeCapacity' }
1010
- ]
1011
- },
1012
- then: {
1013
- $cond: {
1014
- if: { $gt: ['$maximumAttendeeCapacity', 0] },
1015
- then: {
1016
- $multiply: [
1017
- { $divide: ['$remainingAttendeeCapacity', '$maximumAttendeeCapacity'] },
1018
- // tslint:disable-next-line:no-magic-numbers
1019
- 100
1020
- ]
1021
- },
1022
- else: 0
1023
- }
1024
- },
1025
- else: 0
1026
- }
1027
- },
1028
- eventStatus: '$eventStatus',
1029
- startDate: '$startDate',
1030
- endDate: '$endDate',
1031
- typeOf: '$typeOf'
1032
- }
1033
- },
1034
- { $sort: { remainingCapacityRate: 1 } },
1035
- {
1036
- $group: {
1037
- _id: '$typeOf',
1038
- remainingCapacityRates: { $push: '$remainingCapacityRate' }
1039
- }
1040
- },
1041
- {
1042
- $project: {
1043
- _id: 0,
1044
- percentilesRemainingCapacityRate: ranks4percentile.map((rank) => {
1045
- return {
1046
- name: String(rank.percentile),
1047
- value: { $arrayElemAt: ['$remainingCapacityRates', rank.rank] }
1048
- };
1049
- })
1050
- }
930
+ },
931
+ {
932
+ $group: {
933
+ _id: '$typeOf',
934
+ eventCount: { $sum: 1 },
935
+ reservationCount: { $sum: '$reservationCount' },
936
+ avgOfferCount: { $avg: '$offerCount' },
937
+ maximumAttendeeCapacity: { $sum: '$maximumAttendeeCapacity' },
938
+ remainingAttendeeCapacity: { $sum: '$remainingAttendeeCapacity' },
939
+ avgRemainingCapacityRate: { $avg: '$remainingCapacityRate' },
940
+ maxRemainingCapacityRate: { $max: '$remainingCapacityRate' },
941
+ minRemainingCapacityRate: { $min: '$remainingCapacityRate' }
1051
942
  }
1052
- ])
1053
- .exec();
943
+ },
944
+ {
945
+ $project: {
946
+ _id: 0,
947
+ eventCount: '$eventCount',
948
+ reservationCount: '$reservationCount',
949
+ avgOfferCount: '$avgOfferCount',
950
+ maximumAttendeeCapacity: '$maximumAttendeeCapacity',
951
+ remainingAttendeeCapacity: '$remainingAttendeeCapacity',
952
+ avgRemainingCapacityRate: '$avgRemainingCapacityRate',
953
+ maxRemainingCapacityRate: '$maxRemainingCapacityRate',
954
+ minRemainingCapacityRate: '$minRemainingCapacityRate'
955
+ }
956
+ }
957
+ ])
958
+ .exec();
959
+ const percents = [50, 95, 99];
960
+ if (aggregations.length === 0) {
1054
961
  return {
1055
962
  status: eventStatus,
1056
- aggregation: Object.assign(Object.assign({}, aggregations[0]), aggregations2[0])
963
+ aggregation: {
964
+ eventCount: 0,
965
+ reservationCount: 0,
966
+ avgOfferCount: 0,
967
+ maximumAttendeeCapacity: 0,
968
+ remainingAttendeeCapacity: 0,
969
+ avgRemainingCapacityRate: 0,
970
+ maxRemainingCapacityRate: 0,
971
+ minRemainingCapacityRate: 0,
972
+ percentilesRemainingCapacityRate: percents.map((percent) => {
973
+ return {
974
+ name: String(percent),
975
+ value: 0
976
+ };
977
+ })
978
+ }
979
+ };
980
+ }
981
+ const ranks4percentile = percents.map((percentile) => {
982
+ return {
983
+ percentile,
984
+ rank: Math.floor(aggregations[0].eventCount * percentile / 100)
1057
985
  };
1058
986
  });
987
+ const aggregations2 = await this.eventModel.aggregate([
988
+ {
989
+ $match: matchConditions
990
+ },
991
+ {
992
+ $project: {
993
+ remainingCapacityRate: {
994
+ $cond: {
995
+ if: {
996
+ $and: [
997
+ { $isNumber: '$maximumAttendeeCapacity' },
998
+ { $isNumber: '$remainingAttendeeCapacity' }
999
+ ]
1000
+ },
1001
+ then: {
1002
+ $cond: {
1003
+ if: { $gt: ['$maximumAttendeeCapacity', 0] },
1004
+ then: {
1005
+ $multiply: [
1006
+ { $divide: ['$remainingAttendeeCapacity', '$maximumAttendeeCapacity'] },
1007
+ 100
1008
+ ]
1009
+ },
1010
+ else: 0
1011
+ }
1012
+ },
1013
+ else: 0
1014
+ }
1015
+ },
1016
+ eventStatus: '$eventStatus',
1017
+ startDate: '$startDate',
1018
+ endDate: '$endDate',
1019
+ typeOf: '$typeOf'
1020
+ }
1021
+ },
1022
+ { $sort: { remainingCapacityRate: 1 } },
1023
+ {
1024
+ $group: {
1025
+ _id: '$typeOf',
1026
+ remainingCapacityRates: { $push: '$remainingCapacityRate' }
1027
+ }
1028
+ },
1029
+ {
1030
+ $project: {
1031
+ _id: 0,
1032
+ percentilesRemainingCapacityRate: ranks4percentile.map((rank) => {
1033
+ return {
1034
+ name: String(rank.percentile),
1035
+ value: { $arrayElemAt: ['$remainingCapacityRates', rank.rank] }
1036
+ };
1037
+ })
1038
+ }
1039
+ }
1040
+ ])
1041
+ .exec();
1042
+ return {
1043
+ status: eventStatus,
1044
+ aggregation: {
1045
+ ...aggregations[0],
1046
+ ...aggregations2[0]
1047
+ }
1048
+ };
1059
1049
  }
1060
1050
  }
1061
1051
  exports.EventRepo = EventRepo;