@chevre/domain 23.2.0 → 24.0.0-alpha.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 (240) hide show
  1. package/lib/chevre/index.d.ts +2 -1
  2. package/lib/chevre/index.js +3 -1
  3. package/lib/chevre/repo/assetTransaction.d.ts +1 -1
  4. package/lib/chevre/repo/identityProvider.d.ts +4 -4
  5. package/lib/chevre/repo/potentialAction.d.ts +4 -4
  6. package/lib/chevre/repo/seller.d.ts +8 -8
  7. package/lib/chevre/repo/task.d.ts +25 -28
  8. package/lib/chevre/repo/transaction.d.ts +5 -5
  9. package/lib/chevre/service/assetTransaction/reserve/start/createSubReservations.js +3 -2
  10. package/lib/chevre/service/assetTransaction/reserve/start/factory/addOffers2seat.d.ts +14 -0
  11. package/lib/chevre/service/assetTransaction/reserve/start/factory/addOffers2seat.js +63 -0
  12. package/lib/chevre/service/assetTransaction/reserve/start.js +2 -2
  13. package/lib/chevre/service/offer.d.ts +0 -12
  14. package/lib/chevre/service/offer.js +0 -37
  15. package/lib/chevre/service/task.d.ts +1 -1
  16. package/lib/chevre/service/taskHandler/onOperationFailed/informTaskIfNeeded.d.ts +2 -1
  17. package/lib/chevre/service/taskHandler/onOperationFailed.d.ts +2 -1
  18. package/lib/chevre/service/taskHandler.d.ts +2 -20
  19. package/lib/chevre/settings.d.ts +1 -2
  20. package/lib/chevre/settings.js +1 -3
  21. package/lib/chevre/taskSettings.d.ts +58 -0
  22. package/package.json +14 -16
  23. package/example/src/chevre/acceptedPaymentMethodOffer/adminAcceptedPaymentMethodOffers.ts +0 -76
  24. package/example/src/chevre/actions/checkAcceptPayActions.ts +0 -60
  25. package/example/src/chevre/actions/checkAuthorizePaymentActions.ts +0 -55
  26. package/example/src/chevre/activateOptionalAggregationSettings.ts +0 -19
  27. package/example/src/chevre/adminIdentities.ts +0 -71
  28. package/example/src/chevre/aggreateOwnershipInfosByOrder.ts +0 -24
  29. package/example/src/chevre/aggregateEventPublicFields.ts +0 -47
  30. package/example/src/chevre/aggregateOfferCatalogItemList.ts +0 -36
  31. package/example/src/chevre/aggregateScreeningEventMaxVersion.ts +0 -36
  32. package/example/src/chevre/aggregation/aggregateOffersOnEvent.ts +0 -86
  33. package/example/src/chevre/aggregation/aggregateOrderOfCustomer.ts +0 -138
  34. package/example/src/chevre/aggregation/aggregateOrderOfCustomerGlobally.ts +0 -34
  35. package/example/src/chevre/aggregation/aggregateOrderOfSeatByRoyalCustomers.ts +0 -172
  36. package/example/src/chevre/aggregation/aggregateOrderOnSystem.ts +0 -40
  37. package/example/src/chevre/aggregation/aggregateReservationByProject.ts +0 -79
  38. package/example/src/chevre/aggregation/aggregateSystem.ts +0 -201
  39. package/example/src/chevre/aggregation/aggregateTasks.ts +0 -41
  40. package/example/src/chevre/aggregation/createAggregateEventTasks.ts +0 -71
  41. package/example/src/chevre/aggregation/searchAggregateReservations.ts +0 -33
  42. package/example/src/chevre/assetTransaction/checkPayTransactionsTicketToken.ts +0 -67
  43. package/example/src/chevre/assetTransaction/processReserve.ts +0 -149
  44. package/example/src/chevre/attendIfNotAttended.ts +0 -31
  45. package/example/src/chevre/authorizeEventServiceOffer.ts +0 -122
  46. package/example/src/chevre/categoryCode/checkUniqueness.ts +0 -69
  47. package/example/src/chevre/changeOrderStatus.ts +0 -29
  48. package/example/src/chevre/checkCustomerAttributesLength.ts +0 -109
  49. package/example/src/chevre/checkEventDuration.ts +0 -59
  50. package/example/src/chevre/checkPaymentServiceUniqueness.ts +0 -79
  51. package/example/src/chevre/checkProjectMembers.ts +0 -55
  52. package/example/src/chevre/checkReserveTransactionSizes.ts +0 -46
  53. package/example/src/chevre/cleanActions.ts +0 -23
  54. package/example/src/chevre/cleanReservations.ts +0 -69
  55. package/example/src/chevre/cleanTransactions.ts +0 -39
  56. package/example/src/chevre/concurrentLock/lockOfferRateLimit.ts +0 -64
  57. package/example/src/chevre/concurrentLock/lockTransactionProcess.ts +0 -44
  58. package/example/src/chevre/confirmationNumber/testRandomness.ts +0 -49
  59. package/example/src/chevre/countPotentiallyExportTasks.ts +0 -42
  60. package/example/src/chevre/countTransactions.ts +0 -30
  61. package/example/src/chevre/createProject.ts +0 -19
  62. package/example/src/chevre/createTaskIfNotExistByAlternateName.ts +0 -57
  63. package/example/src/chevre/db/stats.ts +0 -35
  64. package/example/src/chevre/deleteDiscontinuedPeople.ts +0 -153
  65. package/example/src/chevre/deleteDiscontinuedPeopleByFetch.ts +0 -38
  66. package/example/src/chevre/deleteOwnershipInfosByOwnedThrough.ts +0 -79
  67. package/example/src/chevre/deleteStartDatePassedCertainPeriod.ts +0 -27
  68. package/example/src/chevre/deleteTasksByName.ts +0 -30
  69. package/example/src/chevre/emailMessage/createEmailMessageText.ts +0 -63
  70. package/example/src/chevre/event/checkEventAdditionalPropertyUniqueness.ts +0 -108
  71. package/example/src/chevre/event/importEventSeriesFromCOAByTitle.ts +0 -83
  72. package/example/src/chevre/event/importEventsFromCOAByTitle.ts +0 -148
  73. package/example/src/chevre/event/migrateEventAdditionalProperty2identifier.ts +0 -121
  74. package/example/src/chevre/event/migrateEventMaximumPhysicalAttendeeCapacity.ts +0 -76
  75. package/example/src/chevre/event/unsetSuperEventVideoFormat.ts +0 -30
  76. package/example/src/chevre/event/updateSellerMakesOffersByIdentifier.ts +0 -106
  77. package/example/src/chevre/eventSeries/unsetVideoFormat.ts +0 -31
  78. package/example/src/chevre/eventSeries/upsertScreeningEventSeriesByVersion.ts +0 -106
  79. package/example/src/chevre/findAnyEventById.ts +0 -24
  80. package/example/src/chevre/findAuthorizePaymentAction.ts +0 -34
  81. package/example/src/chevre/findAvailableChannelMovieTicket.ts +0 -25
  82. package/example/src/chevre/findCheckAction.ts +0 -34
  83. package/example/src/chevre/findCustomerByOrderNumber.ts +0 -19
  84. package/example/src/chevre/findItemListElementByCatalogId.ts +0 -30
  85. package/example/src/chevre/findItemListElementById.ts +0 -23
  86. package/example/src/chevre/findJWTSetting.ts +0 -19
  87. package/example/src/chevre/findOneAvailableHours.ts +0 -39
  88. package/example/src/chevre/findReservationByCode.ts +0 -64
  89. package/example/src/chevre/findSchedule.ts +0 -43
  90. package/example/src/chevre/giveUpStartDatePassedCertainPeriod.ts +0 -56
  91. package/example/src/chevre/identity/getCommonClients.ts +0 -126
  92. package/example/src/chevre/identity/migrateClients2oauth.ts +0 -200
  93. package/example/src/chevre/importCategoryCodesFromCOA.ts +0 -34
  94. package/example/src/chevre/importEventsFromCOA.ts +0 -66
  95. package/example/src/chevre/investigateEvents.ts +0 -86
  96. package/example/src/chevre/investigateTransaction.ts +0 -66
  97. package/example/src/chevre/isPaymentAcceptedBySeller.ts +0 -24
  98. package/example/src/chevre/issuer/adminMemberProgramTiers.ts +0 -55
  99. package/example/src/chevre/issuer/migrateIssuerUrls.ts +0 -62
  100. package/example/src/chevre/issuer/renameIssuerIdentifier.ts +0 -61
  101. package/example/src/chevre/maintenance/checkTransactionStatuses.ts +0 -105
  102. package/example/src/chevre/makeExpiredManyTasks.ts +0 -27
  103. package/example/src/chevre/makeTransactionExpired.ts +0 -28
  104. package/example/src/chevre/member/migrateMemberIdentifier.ts +0 -99
  105. package/example/src/chevre/migrateAuthorizeEventServiceOfferChevre.ts +0 -84
  106. package/example/src/chevre/migrateCancelReservationObject.ts +0 -71
  107. package/example/src/chevre/migrateCognitoUser.ts +0 -153
  108. package/example/src/chevre/migrateCustomerAdditionalProperties.ts +0 -116
  109. package/example/src/chevre/migrateEventSellerMakesOfferAvailableAt.ts +0 -101
  110. package/example/src/chevre/migrateIdentities.ts +0 -69
  111. package/example/src/chevre/migrateProjectSettings.ts +0 -64
  112. package/example/src/chevre/migrateRoomAdditionalProperties.ts +0 -118
  113. package/example/src/chevre/migrateRoomSectionAdditionalProperties.ts +0 -121
  114. package/example/src/chevre/note/findNotes.ts +0 -34
  115. package/example/src/chevre/note/upsertNotesByIdentifier.ts +0 -63
  116. package/example/src/chevre/notifyAbortedTasksByEmail.ts +0 -56
  117. package/example/src/chevre/notifyByEmail.ts +0 -43
  118. package/example/src/chevre/offerCatalog/updateManyOfferCatalogsByIds.ts +0 -49
  119. package/example/src/chevre/offerCatalog/upsertOfferCatalogItemsByIdentifier.ts +0 -49
  120. package/example/src/chevre/offerCatalog/upsertOfferCatalogsByIdentifier.ts +0 -51
  121. package/example/src/chevre/offers/checkIncludedInCatalogCount.ts +0 -47
  122. package/example/src/chevre/offers/projectItemListElement.ts +0 -54
  123. package/example/src/chevre/offers/searchAvaialbleAppliesToMovieTicketByOfferCatalogId.ts +0 -51
  124. package/example/src/chevre/offers/searchByOfferCatalogIdWithSortIndex.ts +0 -44
  125. package/example/src/chevre/offers/searchOfferCatalogItemAvailability.ts +0 -68
  126. package/example/src/chevre/offers/upsertOffersByIdentifier.ts +0 -63
  127. package/example/src/chevre/optimizeActions.ts +0 -61
  128. package/example/src/chevre/orderNumber/testRandomness.ts +0 -54
  129. package/example/src/chevre/orders/searchOrders.ts +0 -28
  130. package/example/src/chevre/orders/searchWithUnwoundAcceptedOffers.ts +0 -73
  131. package/example/src/chevre/paymentServices/findPaymentServices.ts +0 -37
  132. package/example/src/chevre/pendingReservation/findEventSeatOffersBySection.ts +0 -46
  133. package/example/src/chevre/person/checkUserPoolClients.ts +0 -120
  134. package/example/src/chevre/person/cleanUpCognitoUsers.ts +0 -140
  135. package/example/src/chevre/person/cleanUpCognitoUsersByFetch.ts +0 -162
  136. package/example/src/chevre/person/cleanUpCreditCard.ts +0 -113
  137. package/example/src/chevre/person/updateProfile.ts +0 -56
  138. package/example/src/chevre/place/adminEntranceGates.ts +0 -69
  139. package/example/src/chevre/place/adminHasPOS.ts +0 -44
  140. package/example/src/chevre/place/aggregateSeatingTypes.ts +0 -29
  141. package/example/src/chevre/place/checkEntranceGatesCount.ts +0 -82
  142. package/example/src/chevre/place/checkSectionCount.ts +0 -27
  143. package/example/src/chevre/place/findRooms.ts +0 -24
  144. package/example/src/chevre/place/findSections.ts +0 -28
  145. package/example/src/chevre/place/findSectionsByRoom.ts +0 -50
  146. package/example/src/chevre/place/migrateSectionIdentifier.ts +0 -92
  147. package/example/src/chevre/place/seatsJson2csv.ts +0 -63
  148. package/example/src/chevre/place/upsertMovieTheatersByBranchCode.ts +0 -41
  149. package/example/src/chevre/place/upsertRoomsByBranchCode.ts +0 -40
  150. package/example/src/chevre/place/upsertSeatSectionsByBranchCode.ts +0 -56
  151. package/example/src/chevre/processAction.ts +0 -44
  152. package/example/src/chevre/processOrder.ts +0 -90
  153. package/example/src/chevre/product/findHasOfferCatalog.ts +0 -31
  154. package/example/src/chevre/productOffer/publishMemberTierToken.ts +0 -92
  155. package/example/src/chevre/project/unsetProjectSettings.ts +0 -73
  156. package/example/src/chevre/projectEventFieldsById.ts +0 -23
  157. package/example/src/chevre/projectFields.ts +0 -28
  158. package/example/src/chevre/projectFieldsById.ts +0 -30
  159. package/example/src/chevre/projectOwnershipInfoFieldsById.ts +0 -24
  160. package/example/src/chevre/pushIncludedInDataCatalog.ts +0 -47
  161. package/example/src/chevre/reExportAction.ts +0 -40
  162. package/example/src/chevre/reIndex.ts +0 -20
  163. package/example/src/chevre/recreateRefundTasks.ts +0 -187
  164. package/example/src/chevre/roles/addAdminAcceptedPaymentMethodReadPermissionIfNotExists.ts +0 -33
  165. package/example/src/chevre/roles/addAdminAcceptedPaymentMethodWritePermissionIfNotExists.ts +0 -33
  166. package/example/src/chevre/roles/addAdminEventSeriesReadPermissionIfNotExists.ts +0 -49
  167. package/example/src/chevre/roles/addAdminMovieReadPermissionIfNotExists.ts +0 -49
  168. package/example/src/chevre/roles/addAdminNotePermissionIfNotExists.ts +0 -48
  169. package/example/src/chevre/roles/addAdminPaymentServiceReadPermissionIfNotExists.ts +0 -49
  170. package/example/src/chevre/roles/addAdminProductHasOfferCatalogReadPermissionIfNotExists.ts +0 -33
  171. package/example/src/chevre/roles/addAdminRoomReadPermissionIfNotExists.ts +0 -34
  172. package/example/src/chevre/roles/addAdminRoomWritePermissionIfNotExists.ts +0 -34
  173. package/example/src/chevre/roles/addAdminSellerEventOfferIfNotExists.ts +0 -48
  174. package/example/src/chevre/roles/addProjectCreatorRole.ts +0 -48
  175. package/example/src/chevre/roles/assignGlobalRoles.ts +0 -72
  176. package/example/src/chevre/roles/findPermissions.ts +0 -84
  177. package/example/src/chevre/roles/findRoleNames.ts +0 -117
  178. package/example/src/chevre/roles/removeConsolePermissionIfExists.ts +0 -34
  179. package/example/src/chevre/roles/removePermissionFromAPIRoles.ts +0 -46
  180. package/example/src/chevre/roles/removePermissionIfExists.ts +0 -34
  181. package/example/src/chevre/saveOfferCatalogItem.ts +0 -40
  182. package/example/src/chevre/saveWebSite.ts +0 -56
  183. package/example/src/chevre/searchAcceptedOfferIds.ts +0 -57
  184. package/example/src/chevre/searchActionsByOrderNumber.ts +0 -29
  185. package/example/src/chevre/searchActionsByPurpose.ts +0 -38
  186. package/example/src/chevre/searchActionsBySameAs.ts +0 -27
  187. package/example/src/chevre/searchAggregateOffers.ts +0 -51
  188. package/example/src/chevre/searchAggregations.ts +0 -50
  189. package/example/src/chevre/searchAuthorizations.ts +0 -36
  190. package/example/src/chevre/searchCheckMovieTicketResultYkknInfo.ts +0 -56
  191. package/example/src/chevre/searchEventHasOfferCatalog.ts +0 -43
  192. package/example/src/chevre/searchEventSeats.ts +0 -45
  193. package/example/src/chevre/searchIdsByReservationNumber.ts +0 -16
  194. package/example/src/chevre/searchMembers.ts +0 -55
  195. package/example/src/chevre/searchOfferCatalogItemListElement.ts +0 -26
  196. package/example/src/chevre/searchOffers.ts +0 -68
  197. package/example/src/chevre/searchProducts.ts +0 -28
  198. package/example/src/chevre/searchProjects.ts +0 -36
  199. package/example/src/chevre/searchReservationsByOrder.ts +0 -42
  200. package/example/src/chevre/searchSellersByAggregate.ts +0 -33
  201. package/example/src/chevre/searchSlicedAcceptedOffersByOrderNumber.ts +0 -31
  202. package/example/src/chevre/seller/adminMakesOffer.ts +0 -113
  203. package/example/src/chevre/sendEmailMessage.ts +0 -60
  204. package/example/src/chevre/sendGrid/filterEmailActivity.ts +0 -31
  205. package/example/src/chevre/settings/addOrderNumberSetting.ts +0 -44
  206. package/example/src/chevre/settings/addTransactionNumberSetting.ts +0 -40
  207. package/example/src/chevre/stockHolder/findSeatsBySection.ts +0 -59
  208. package/example/src/chevre/stockHolder/getSize.ts +0 -97
  209. package/example/src/chevre/stockHolder/projectPendingReservation.ts +0 -43
  210. package/example/src/chevre/stockHolder/searchSeats.ts +0 -61
  211. package/example/src/chevre/task/countPotentiallyRunning.ts +0 -41
  212. package/example/src/chevre/task/countTasks.ts +0 -51
  213. package/example/src/chevre/task/deleteRunsAtPassedCertainPeriod.ts +0 -43
  214. package/example/src/chevre/task/deleteUnexpectedTasks.ts +0 -23
  215. package/example/src/chevre/task/emitRunning.ts +0 -89
  216. package/example/src/chevre/transaction/processPlaceOrder.ts +0 -57
  217. package/example/src/chevre/transaction/processReturnOrder.ts +0 -43
  218. package/example/src/chevre/transaction/startExportTasks.ts +0 -21
  219. package/example/src/chevre/transactionNumber/publishByTimestamp.ts +0 -23
  220. package/example/src/chevre/transactionNumber/testRandomness.ts +0 -42
  221. package/example/src/chevre/unsetUnnecessaryFields.ts +0 -35
  222. package/example/src/chevre/updateEventPartiallyById.ts +0 -22
  223. package/example/src/chevre/updateProjectAggregateReservation.ts +0 -21
  224. package/example/src/chevre/validateCheckMovieTicketActions.ts +0 -70
  225. package/example/src/customSearch.ts +0 -48
  226. package/example/src/duration.ts +0 -22
  227. package/example/src/fetch.ts +0 -45
  228. package/example/src/moment.ts +0 -22
  229. package/example/src/mongoConnectionList.ts +0 -81
  230. package/example/src/mvtkMessage.ts +0 -11
  231. package/example/src/objectId.ts +0 -12
  232. package/example/src/redisClientList.ts +0 -80
  233. package/example/src/redisMulti.ts +0 -63
  234. package/example/src/regex.ts +0 -31
  235. package/example/src/signPayload.ts +0 -50
  236. package/example/src/verifyToken.ts +0 -44
  237. package/lib/chevre/repo/mongoose/onIndexCreated.d.ts +0 -2
  238. package/lib/chevre/repo/mongoose/onIndexCreated.js +0 -10
  239. package/lib/chevre/settings/aggregation.d.ts +0 -35
  240. /package/lib/chevre/{settings/aggregation.js → taskSettings.js} +0 -0
@@ -1,109 +0,0 @@
1
- // tslint:disable:no-console
2
- import moment from 'moment';
3
- import mongoose from 'mongoose';
4
-
5
- import { chevre } from '../../../lib/index';
6
-
7
- // const project = { id: String(process.env.PROJECT_ID) };
8
- const MAX_LENGTH = 50;
9
- const CHECK_DAYS = 60;
10
-
11
- async function main() {
12
- await mongoose.connect(<string>process.env.MONGOLAB_URI, { autoIndex: false });
13
-
14
- const orderRepo = await chevre.repository.Order.createInstance(mongoose.connection);
15
-
16
- const cursor = orderRepo.getCursor(
17
- {
18
- typeOf: { $eq: chevre.factory.order.OrderType.Order },
19
- orderDate: {
20
- $gte: moment()
21
- .add(-CHECK_DAYS, 'days')
22
- .toDate()
23
- }
24
- // _id: { $eq: '67de46777ec0510590b68922' }
25
- },
26
- {
27
- customer: 1,
28
- project: 1,
29
- orderDate: 1
30
- }
31
- );
32
- console.log('docs found');
33
-
34
- let i = 0;
35
- let exceededCount = 0;
36
- await cursor.eachAsync(async (doc) => {
37
- i += 1;
38
- const order: Pick<
39
- chevre.factory.order.IOrder,
40
- 'customer' | 'project' | 'orderDate'
41
- > = doc.toObject();
42
-
43
- const attributesNames: (keyof chevre.factory.order.ICustomer)[] = [
44
- 'address',
45
- 'age',
46
- 'email',
47
- 'givenName',
48
- 'familyName',
49
- 'gender',
50
- 'name',
51
- 'url',
52
- 'telephone'
53
- ];
54
-
55
- const maxLengthNotExceeded = attributesNames.every((attributesName) => {
56
- const attributesValue = order.customer[attributesName];
57
- if (attributesValue === undefined) {
58
- return true;
59
- }
60
- if (typeof attributesValue !== 'string') {
61
- throw new Error(`${attributesName}: ${attributesValue} must be string. ${order.project.id}`);
62
- }
63
-
64
- return attributesValue.length <= MAX_LENGTH;
65
- });
66
-
67
- if (maxLengthNotExceeded) {
68
- // no op
69
- process.stdout.write('-');
70
- } else {
71
- exceededCount += 1;
72
- console.log('\n');
73
- console.log('maxLengthExceeded.', order.project.id, order.customer, order.orderDate, i);
74
- }
75
- });
76
-
77
- console.log('\n');
78
- console.log(i, 'docs checked');
79
- console.log(exceededCount, 'docs exceeded');
80
-
81
- // let result: any;
82
- // const attributesNames = [
83
- // // 'customer.address',
84
- // // 'customer.age',
85
- // 'customer.email',
86
- // 'customer.givenName',
87
- // 'customer.familyName'
88
- // // 'customer.gender',
89
- // // 'customer.name',
90
- // // 'customer.url',
91
- // ];
92
- // for (const attributesName of attributesNames) {
93
- // console.log('how is', attributesName, '?');
94
- // result = await orderRepo.checkCustomerAttributesLength({
95
- // attributesName,
96
- // length: MAX_LENGTH
97
- // });
98
- // // tslint:disable-next-line:no-null-keyword
99
- // console.dir(result, { depth: null });
100
- // console.log('how is', attributesName, '?', result.length, 'results found');
101
- // }
102
- }
103
-
104
- main()
105
- .then(() => {
106
- console.log('\n');
107
- console.log('success!');
108
- })
109
- .catch(console.error);
@@ -1,59 +0,0 @@
1
- // tslint:disable:no-console
2
- import moment from 'moment';
3
- import mongoose from 'mongoose';
4
-
5
- import { chevre } from '../../../lib/index';
6
-
7
- // const project = { id: String(process.env.PROJECT_ID) };
8
- // const EXCLUDED_PROJECT_ID = process.env.EXCLUDED_PROJECT_ID;
9
-
10
- // tslint:disable-next-line:max-func-body-length
11
- async function main() {
12
- await mongoose.connect(<string>process.env.MONGOLAB_URI);
13
-
14
- const eventRepo = await chevre.repository.Event.createInstance(mongoose.connection);
15
-
16
- const cursor = eventRepo.getCursor(
17
- {
18
- endDate: { $gte: new Date() },
19
- typeOf: { $eq: chevre.factory.eventType.ScreeningEvent },
20
- eventStatus: { $eq: chevre.factory.eventStatusType.EventScheduled }
21
- // 'project.id': { $eq: project.id },
22
- // 'project.id': { $ne: EXCLUDED_PROJECT_ID },
23
- },
24
- {
25
- startDate: 1,
26
- endDate: 1,
27
- 'project.id': 1,
28
- _id: 1
29
- }
30
- );
31
- console.log('events found');
32
-
33
- let i = 0;
34
- let numLongEvents = 0;
35
- await cursor.eachAsync(async (doc) => {
36
- i += 1;
37
- const event: Pick<
38
- chevre.factory.event.screeningEvent.IEvent,
39
- 'startDate' | 'endDate' | 'project' | 'id'
40
- > = doc.toObject();
41
-
42
- const endDateShouldBe = moment(event.startDate)
43
- // tslint:disable-next-line:no-magic-numbers
44
- .add(31, 'days');
45
- // const duration = moment(event.endDate)
46
- // .diff(moment(event.startDate));
47
- if (moment(event.endDate)
48
- .isAfter(endDateShouldBe)) {
49
- numLongEvents += 1;
50
- console.log(event.project.id, event.id, 'is long');
51
- }
52
- });
53
- console.log(i, 'events checked');
54
- console.log(numLongEvents, 'long events found');
55
- }
56
-
57
- main()
58
- .then()
59
- .catch(console.error);
@@ -1,79 +0,0 @@
1
- // tslint:disable:no-console
2
- import mongoose from 'mongoose';
3
-
4
- import { chevre } from '../../../lib/index';
5
-
6
- // const project = { id: String(process.env.PROJECT_ID) };
7
- // const excludedProject = { id: String(process.env.EXCLUDED_PROJECT_ID) };
8
-
9
- // tslint:disable-next-line:max-func-body-length
10
- async function main() {
11
- await mongoose.connect(<string>process.env.MONGOLAB_URI, { autoIndex: false });
12
-
13
- const paymentServiceRepo = await chevre.repository.PaymentService.createInstance(mongoose.connection);
14
-
15
- const cursor = paymentServiceRepo.getCursor(
16
- {
17
- typeOf: {
18
- $in: [
19
- chevre.factory.service.paymentService.PaymentServiceType.CreditCard,
20
- chevre.factory.service.paymentService.PaymentServiceType.MovieTicket
21
- ]
22
- }
23
- // _id: { $eq: '5f9a4fed4f3709000abe6415' }
24
- },
25
- {
26
- _id: 1,
27
- availableChannel: 1,
28
- productID: 1,
29
- project: 1,
30
- typeOf: 1,
31
- serviceType: 1
32
- }
33
- );
34
- console.log('docs found');
35
-
36
- let i = 0;
37
- // let updateCount = 0;
38
- const unexpectedIds: string[] = [];
39
- await cursor.eachAsync(async (doc) => {
40
- i += 1;
41
- const paymentService: Pick<
42
- chevre.factory.service.paymentService.IService,
43
- 'availableChannel' | 'id' | 'productID' | 'project' | 'typeOf' | 'serviceType'
44
- > = doc.toObject();
45
-
46
- console.log(
47
- 'alreadyMigrated?', paymentService.project.id, paymentService.productID, i);
48
- if (typeof paymentService.id !== 'string') {
49
- throw new Error('id must be string');
50
- }
51
-
52
- let isUnique = false;
53
- const existingServices = await paymentServiceRepo.projectFields(
54
- {
55
- project: { id: { $eq: paymentService.project.id } },
56
- serviceType: { codeValue: { $eq: paymentService.serviceType.codeValue } }
57
- },
58
- ['id']
59
- );
60
- if (existingServices.length === 1 && existingServices.at(0)?.id === paymentService.id) {
61
- isUnique = true;
62
- }
63
-
64
- if (isUnique) {
65
- console.log(
66
- 'unique.', paymentService.project.id, paymentService.productID, i);
67
- } else {
68
- unexpectedIds.push(paymentService.productID);
69
- }
70
- });
71
-
72
- console.log(unexpectedIds);
73
- console.log(i, 'docs checked');
74
- console.log(unexpectedIds.length, 'docs unexpected');
75
- }
76
-
77
- main()
78
- .then()
79
- .catch(console.error);
@@ -1,55 +0,0 @@
1
- // tslint:disable:no-console
2
- import mongoose from 'mongoose';
3
-
4
- import { chevre } from '../../../lib/index';
5
-
6
- // tslint:disable-next-line:max-func-body-length
7
- async function main() {
8
- await mongoose.connect(<string>process.env.MONGOLAB_URI, { autoIndex: false });
9
-
10
- const memberRepo = await chevre.repository.Member.createInstance(mongoose.connection);
11
-
12
- const cursor = memberRepo.getCursor(
13
- {
14
- 'member.memberOf.typeOf': { $eq: 'Project' },
15
- 'member.typeOf': { $eq: 'Person' }
16
- },
17
- {
18
- _id: 1,
19
- member: 1,
20
- project: 1
21
- }
22
- );
23
- console.log('docs found');
24
-
25
- let i = 0;
26
- let sellerMemberCount = 0;
27
- await cursor.eachAsync(async (doc) => {
28
- i += 1;
29
- const member = <Pick<chevre.factory.iam.IMember, 'member' | 'project'>>doc.toObject();
30
-
31
- console.log('checking...', member.project.id, member.member?.id, i);
32
- const sellerMembers = await memberRepo.projectFieldsByProjectId(
33
- { id: member.project.id },
34
- {
35
- member: {
36
- id: { $eq: member.member.id },
37
- typeOf: { $eq: 'Person' },
38
- memberOf: { typeOf: { $eq: chevre.factory.organizationType.Corporation } }
39
- }
40
- },
41
- ['member']
42
- );
43
- console.log(sellerMembers.length, 'sellerMember found', member.project.id, member.member?.id, i);
44
- if (sellerMembers.length > 0) {
45
- sellerMemberCount += 1;
46
- }
47
- });
48
-
49
- console.log(i, 'docs checked');
50
- console.log(sellerMemberCount, 'members sellerMember');
51
- }
52
-
53
- main()
54
- .then()
55
- .catch(console.error);
@@ -1,46 +0,0 @@
1
- // tslint:disable:no-console
2
- import moment from 'moment';
3
- import mongoose from 'mongoose';
4
-
5
- import { chevre } from '../../../lib/index';
6
-
7
- // tslint:disable-next-line:max-func-body-length
8
- async function main() {
9
- await mongoose.connect(<string>process.env.MONGOLAB_URI, { autoIndex: false });
10
-
11
- const assetTransactionRepo = await chevre.repository.AssetTransaction.createInstance(mongoose.connection);
12
- const cursor = assetTransactionRepo.getCursor(
13
- {
14
- // typeOf: { $eq: chevre.factory.assetTransactionType.Pay },
15
- status: { $eq: chevre.factory.transactionStatusType.Confirmed },
16
- startDate: {
17
- // $lte: moment()
18
- // // tslint:disable-next-line:no-magic-numbers
19
- // .add(-28, 'days'),
20
- $gte: moment()
21
- // tslint:disable-next-line:no-magic-numbers
22
- .add(-180, 'days')
23
- }
24
- },
25
- {
26
- }
27
- );
28
- console.log('transactions found');
29
-
30
- let i = 0;
31
- // tslint:disable-next-line:max-func-body-length
32
- await cursor.eachAsync(async (doc) => {
33
- i += 1;
34
- const reserveTransaction = <chevre.factory.assetTransaction.reserve.ITransaction>doc.toObject();
35
- console.log(
36
- 'size:', JSON.stringify(reserveTransaction).length,
37
- reserveTransaction.typeOf, reserveTransaction.project.id, reserveTransaction.transactionNumber,
38
- reserveTransaction.startDate, i);
39
- });
40
-
41
- console.log(i, 'transactions checked');
42
- }
43
-
44
- main()
45
- .then()
46
- .catch(console.error);
@@ -1,23 +0,0 @@
1
- // tslint:disable:no-console
2
- import moment from 'moment';
3
- import mongoose from 'mongoose';
4
-
5
- import { chevre } from '../../../lib/index';
6
-
7
- async function main() {
8
- await mongoose.connect(<string>process.env.MONGOLAB_URI, { autoIndex: false });
9
-
10
- const actionRepo = await chevre.repository.Action.createInstance(mongoose.connection);
11
-
12
- const result = await actionRepo.deleteStartDatePassedCertainPeriod({
13
- $lt: moment()
14
- // tslint:disable-next-line:no-magic-numbers
15
- .add(-548, 'days')
16
- .toDate()
17
- });
18
- console.log(result);
19
- }
20
-
21
- main()
22
- .then()
23
- .catch(console.error);
@@ -1,69 +0,0 @@
1
- // tslint:disable:no-console
2
- import moment from 'moment';
3
- import mongoose from 'mongoose';
4
-
5
- import { chevre } from '../../../lib/index';
6
-
7
- // const project = { id: String(process.env.PROJECT_ID) };
8
- // const EXCLUDED_PROJECT_ID = process.env.EXCLUDED_PROJECT_ID;
9
-
10
- // tslint:disable-next-line:max-func-body-length
11
- async function main() {
12
- await mongoose.connect(<string>process.env.MONGOLAB_URI, { autoIndex: false });
13
-
14
- const reservationsRepo = await chevre.repository.Reservation.createInstance(mongoose.connection);
15
-
16
- const cursor = reservationsRepo.getCursor(
17
- {
18
- bookingTime: {
19
- $lte: moment()
20
- // tslint:disable-next-line:no-magic-numbers
21
- .add(-365, 'days')
22
- .toDate()
23
- },
24
- reservationStatus: {
25
- $in: [
26
- chevre.factory.reservationStatusType.ReservationCancelled
27
- // chevre.factory.reservationStatusType.ReservationConfirmed
28
- ]
29
- }
30
- // 'project.id': { $eq: project.id },
31
- // 'project.id': { $ne: EXCLUDED_PROJECT_ID },
32
- },
33
- {
34
- // paymentMethods: 1,
35
- // project: 1,
36
- // orderDate: 1
37
- }
38
- );
39
- console.log('docs found');
40
-
41
- let i = 0;
42
- let updatedCount = 0;
43
- await cursor.eachAsync(async (doc) => {
44
- i += 1;
45
- const reservation: chevre.factory.reservation.eventReservation.IReservation & {
46
- previousReservationStatus: string;
47
- } = doc.toObject();
48
- console.log(
49
- 'checking...',
50
- reservation.project.id, reservation.id,
51
- reservation.previousReservationStatus, reservation.reservationStatus, reservation.bookingTime, i
52
- );
53
- if (reservation.previousReservationStatus !== chevre.factory.reservationStatusType.ReservationPending) {
54
- // throw new Error('invalid previousReservationStatus');
55
- } else {
56
- await reservationsRepo.deleteByIds({
57
- project: { id: reservation.project.id },
58
- ids: [reservation.id]
59
- });
60
- updatedCount += 1;
61
- }
62
- });
63
- console.log(i, 'docs checked');
64
- console.log(updatedCount, 'docs updated');
65
- }
66
-
67
- main()
68
- .then()
69
- .catch(console.error);
@@ -1,39 +0,0 @@
1
- // tslint:disable:no-console
2
- import moment from 'moment';
3
- import mongoose from 'mongoose';
4
-
5
- import { chevre } from '../../../lib/index';
6
-
7
- // const project = { id: String(process.env.PROJECT_ID) };
8
-
9
- const STORAGE_PERIOD_IN_DAYS = 365;
10
-
11
- // tslint:disable-next-line:max-func-body-length
12
- async function main() {
13
- await mongoose.connect(<string>process.env.MONGOLAB_URI, { autoIndex: false });
14
-
15
- const transactionRepo = await chevre.repository.Transaction.createInstance(mongoose.connection);
16
-
17
- // tslint:disable-next-line:no-increment-decrement no-magic-numbers
18
- for (let index = 0; index < 1800; index++) {
19
- const updateResult = await transactionRepo.deleteEndDatePassedCertainPeriod({
20
- typeOf: chevre.factory.transactionType.MoneyTransfer,
21
- endDate: {
22
- $gte: moment()
23
- .add(-(index + STORAGE_PERIOD_IN_DAYS + 1), 'days')
24
- .toDate(),
25
- $lt: moment()
26
- .add(-(index + STORAGE_PERIOD_IN_DAYS), 'days')
27
- .toDate()
28
- }
29
- });
30
- console.log(
31
- 'unset processed.', updateResult, -(index + STORAGE_PERIOD_IN_DAYS), 'days',
32
- moment.duration(index + STORAGE_PERIOD_IN_DAYS, 'days')
33
- .humanize());
34
- }
35
- }
36
-
37
- main()
38
- .then()
39
- .catch(console.error);
@@ -1,64 +0,0 @@
1
- // tslint:disable:no-console
2
- import * as redis from 'redis';
3
-
4
- import { chevre } from '../../../../lib/index';
5
-
6
- const project = { id: String(process.env.PROJECT_ID) };
7
-
8
- const client = redis.createClient<redis.RedisDefaultModules, Record<string, never>, Record<string, never>>({
9
- socket: {
10
- port: Number(<string>process.env.REDIS_PORT),
11
- host: <string>process.env.REDIS_HOST
12
- },
13
- password: <string>process.env.REDIS_KEY
14
- })
15
- .on('error', (err) => {
16
- // eslint-disable-next-line no-console
17
- console.error('createDefaultRedisClient: client onError:', err);
18
- // reject(err);
19
- });
20
- client.connect();
21
-
22
- // tslint:disable-next-line:max-func-body-length
23
- async function main() {
24
- const rateLimitRepo = await chevre.repository.rateLimit.Offer.createInstance(
25
- client
26
- );
27
-
28
- // await rateLimitRepo.unlock({
29
- // project: { id: project.id },
30
- // reservedTicket: {
31
- // ticketType: {
32
- // validRateLimit: {
33
- // scope: 'scope2',
34
- // unitInSeconds: 60
35
- // }
36
- // }
37
- // },
38
- // reservationFor: {
39
- // startDate: new Date()
40
- // },
41
- // reservationNumber: 'xxx'
42
- // });
43
- // console.log('unlocked');
44
- await rateLimitRepo.lock({
45
- project: { id: project.id },
46
- reservedTicket: {
47
- ticketType: {
48
- validRateLimit: {
49
- scope: 'scope2',
50
- unitInSeconds: 60
51
- }
52
- }
53
- },
54
- reservationFor: {
55
- startDate: new Date()
56
- },
57
- reservationNumber: 'xxx'
58
- });
59
- console.log('locked');
60
- }
61
-
62
- main()
63
- .then()
64
- .catch(console.error);
@@ -1,44 +0,0 @@
1
- // tslint:disable:no-console
2
- import * as redis from 'redis';
3
-
4
- import { chevre } from '../../../../lib/index';
5
-
6
- const project = { id: String(process.env.PROJECT_ID) };
7
-
8
- const client = redis.createClient<redis.RedisDefaultModules, Record<string, never>, Record<string, never>>({
9
- socket: {
10
- port: Number(<string>process.env.REDIS_PORT),
11
- host: <string>process.env.REDIS_HOST
12
- },
13
- password: <string>process.env.REDIS_KEY
14
- })
15
- .on('error', (err) => {
16
- // eslint-disable-next-line no-console
17
- console.error('createDefaultRedisClient: client onError:', err);
18
- // reject(err);
19
- });
20
- client.connect();
21
-
22
- // tslint:disable-next-line:max-func-body-length
23
- async function main() {
24
- const processRepo = await chevre.repository.TransactionProcess.createInstance(
25
- client,
26
- { lockExpiresInSeconds: 60 }
27
- );
28
-
29
- // await processRepo.unlock({
30
- // id: 'xxx',
31
- // typeOf: chevre.factory.transactionType.PlaceOrder
32
- // });
33
- // console.log('unlocked');
34
- await processRepo.lock({
35
- id: 'xxx',
36
- typeOf: chevre.factory.transactionType.PlaceOrder,
37
- project: { id: project.id }
38
- });
39
- console.log('locked');
40
- }
41
-
42
- main()
43
- .then()
44
- .catch(console.error);
@@ -1,49 +0,0 @@
1
- // tslint:disable:object-literal-key-quotes no-console
2
- import mongoose from 'mongoose';
3
-
4
- import { chevre } from '../../../../lib/index';
5
-
6
- async function testGeneration() {
7
- await mongoose.connect(<string>process.env.MONGOLAB_URI, { autoIndex: false });
8
-
9
- const confirmationNumberRepo = await chevre.repository.ConfirmationNumber.createInstance({
10
- connection: mongoose.connection
11
- });
12
-
13
- const ts = new Date(); // 同一ミリ秒固定
14
- const results: Record<string, string>[] = [];
15
-
16
- console.log(`--- 同一ミリ秒(${ts})内での連続生成テスト ---`);
17
-
18
- // tslint:disable-next-line:no-magic-numbers
19
- for (let i = 0; i < 100; i += 1) {
20
- // 同一ミリ秒内でシーケンス(00-99)だけが変わる状況を再現
21
- const confirmationNumber = await confirmationNumberRepo.publish({
22
- orderDate: ts
23
-
24
- });
25
-
26
- // 復号して元のデータに戻るかチェック
27
- const decoded = await confirmationNumberRepo.decrypt(confirmationNumber);
28
- const decodedShouldBe = `${i.toString()
29
- // tslint:disable-next-line:no-magic-numbers
30
- .padStart(4, '0')}`;
31
- const isSuccess = decoded === decodedShouldBe;
32
-
33
- results.push({
34
- timestamp: ts.valueOf()
35
- .toString(),
36
- 'シーケンス': i.toString(),
37
- '生成された番号': confirmationNumber,
38
- // tslint:disable-next-line:no-magic-numbers
39
- 'ソルト': confirmationNumber[0],
40
- '復号結果': decoded,
41
- '復号結果(should be)': decodedShouldBe,
42
- '復号確認': isSuccess ? '✅OK' : '❌NG'
43
- });
44
- }
45
-
46
- console.table(results);
47
- }
48
-
49
- testGeneration();
@@ -1,42 +0,0 @@
1
- // tslint:disable:no-console
2
- import moment from 'moment';
3
- import mongoose from 'mongoose';
4
-
5
- import { chevre } from '../../../lib/index';
6
-
7
- // const project = { id: String(process.env.PROJECT_ID) };
8
-
9
- // tslint:disable-next-line:max-func-body-length
10
- async function main() {
11
- await mongoose.connect(<string>process.env.MONGOLAB_URI, { autoIndex: false });
12
-
13
- const transactionRepo = await chevre.repository.Transaction.createInstance(mongoose.connection);
14
- const taskRepo = await chevre.repository.Task.createInstance(mongoose.connection);
15
-
16
- let result = await transactionRepo.countPotentiallyExportTasks({
17
- endDate: {
18
- $lt: moment()
19
- // tslint:disable-next-line:no-magic-numbers
20
- .add(-60, 'seconds')
21
- .toDate()
22
- },
23
- limit: 10
24
- });
25
- console.log('result', result);
26
-
27
- result = await taskRepo.countPotentiallyRunning({
28
- runsAt: {
29
- $lt: moment()
30
- // tslint:disable-next-line:no-magic-numbers
31
- .add(-60, 'seconds')
32
- .toDate()
33
- },
34
- name: { $eq: chevre.factory.taskName.DeleteTransaction },
35
- limit: 10
36
- });
37
- console.log('result', result);
38
- }
39
-
40
- main()
41
- .then()
42
- .catch(console.error);