@chevre/domain 21.2.0-alpha.98 → 21.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 (171) hide show
  1. package/example/src/chevre/aggregateEventReservation.ts +1 -1
  2. package/example/src/chevre/aggregateSellerPaymentAccepted.ts +27 -0
  3. package/example/src/chevre/aggregation/aggregateSystem.ts +53 -22
  4. package/example/src/chevre/countDelayedTasks.ts +7 -2
  5. package/example/src/chevre/createManyEventsIfNotExist.ts +199 -46
  6. package/example/src/chevre/findScreeningRoomsByBranchCode.ts +4 -3
  7. package/example/src/chevre/giveUpStartDatePassedCertainPeriod.ts +56 -0
  8. package/example/src/chevre/lockStockHolder.ts +5 -2
  9. package/example/src/chevre/migrateCategoryCodeAdditionalProperties.ts +116 -0
  10. package/example/src/chevre/migrateScreeningEventSeriesVersion.ts +79 -0
  11. package/example/src/chevre/processPay.ts +5 -2
  12. package/example/src/chevre/processRegisterMembership.ts +8 -4
  13. package/example/src/chevre/processRegisterPaymentCard.ts +8 -4
  14. package/example/src/chevre/processReserve.ts +1 -1
  15. package/example/src/chevre/searchAbortedTasks.ts +4 -6
  16. package/example/src/chevre/searchActions.ts +33 -0
  17. package/example/src/chevre/searchEventSeats.ts +5 -2
  18. package/example/src/chevre/searchHoldReservations.ts +38 -0
  19. package/example/src/chevre/searchPermissions.ts +54 -0
  20. package/example/src/chevre/searchScreeningRooms.ts +35 -0
  21. package/example/src/chevre/sendEmailMessage.ts +1 -2
  22. package/example/src/chevre/syncScreeningRooms.ts +22 -0
  23. package/example/src/chevre/syncScreeningRoomsAll.ts +44 -0
  24. package/example/src/chevre/unsetContainsInPlaceFromMovieTheater.ts +41 -0
  25. package/lib/chevre/factory/order.d.ts +4 -1
  26. package/lib/chevre/factory/order.js +19 -6
  27. package/lib/chevre/repo/account.js +3 -2
  28. package/lib/chevre/repo/accountTransaction.js +2 -1
  29. package/lib/chevre/repo/accountingReport.d.ts +1 -3
  30. package/lib/chevre/repo/action.d.ts +50 -1
  31. package/lib/chevre/repo/action.js +103 -34
  32. package/lib/chevre/repo/additionalProperty.js +2 -1
  33. package/lib/chevre/repo/aggregation.d.ts +3 -0
  34. package/lib/chevre/repo/aggregation.js +3 -0
  35. package/lib/chevre/repo/assetTransaction.js +6 -5
  36. package/lib/chevre/repo/categoryCode.d.ts +1 -1
  37. package/lib/chevre/repo/categoryCode.js +37 -25
  38. package/lib/chevre/repo/code.js +3 -2
  39. package/lib/chevre/repo/comment.js +2 -1
  40. package/lib/chevre/repo/creativeWork.d.ts +1 -1
  41. package/lib/chevre/repo/creativeWork.js +35 -12
  42. package/lib/chevre/repo/customer.js +2 -1
  43. package/lib/chevre/repo/emailMessage.js +2 -1
  44. package/lib/chevre/repo/event.d.ts +30 -2
  45. package/lib/chevre/repo/event.js +87 -36
  46. package/lib/chevre/repo/member.d.ts +14 -0
  47. package/lib/chevre/repo/member.js +31 -3
  48. package/lib/chevre/repo/merchantReturnPolicy.js +2 -1
  49. package/lib/chevre/repo/mongoose/schemas/action.js +12 -0
  50. package/lib/chevre/repo/mongoose/schemas/assetTransaction.d.ts +3 -3
  51. package/lib/chevre/repo/mongoose/schemas/holdReservation.d.ts +75 -0
  52. package/lib/chevre/repo/mongoose/schemas/holdReservation.js +93 -0
  53. package/lib/chevre/repo/mongoose/schemas/offer.d.ts +3 -3
  54. package/lib/chevre/repo/mongoose/schemas/order.d.ts +21 -21
  55. package/lib/chevre/repo/mongoose/schemas/place.d.ts +6 -0
  56. package/lib/chevre/repo/mongoose/schemas/place.js +16 -1
  57. package/lib/chevre/repo/mongoose/schemas/product.js +6 -0
  58. package/lib/chevre/repo/mongoose/schemas/reservation.d.ts +9 -9
  59. package/lib/chevre/repo/mongoose/schemas/transaction.d.ts +3 -3
  60. package/lib/chevre/repo/offer.js +3 -2
  61. package/lib/chevre/repo/offerCatalog.js +0 -27
  62. package/lib/chevre/repo/offerItemCondition.js +2 -1
  63. package/lib/chevre/repo/order.js +8 -7
  64. package/lib/chevre/repo/ownershipInfo.js +2 -7
  65. package/lib/chevre/repo/paymentServiceProvider.d.ts +65 -0
  66. package/lib/chevre/repo/paymentServiceProvider.js +156 -0
  67. package/lib/chevre/repo/place.d.ts +203 -27
  68. package/lib/chevre/repo/place.js +1726 -694
  69. package/lib/chevre/repo/priceSpecification.js +3 -2
  70. package/lib/chevre/repo/product.d.ts +5 -3
  71. package/lib/chevre/repo/product.js +92 -5
  72. package/lib/chevre/repo/project.js +2 -1
  73. package/lib/chevre/repo/reservation.d.ts +9 -1
  74. package/lib/chevre/repo/reservation.js +29 -20
  75. package/lib/chevre/repo/role.d.ts +7 -0
  76. package/lib/chevre/repo/role.js +39 -2
  77. package/lib/chevre/repo/seller.d.ts +21 -1
  78. package/lib/chevre/repo/seller.js +59 -4
  79. package/lib/chevre/repo/serviceOutput.js +2 -1
  80. package/lib/chevre/repo/stockHolder.d.ts +143 -7
  81. package/lib/chevre/repo/stockHolder.js +622 -104
  82. package/lib/chevre/repo/task.d.ts +12 -1
  83. package/lib/chevre/repo/task.js +17 -7
  84. package/lib/chevre/repo/transaction.js +6 -5
  85. package/lib/chevre/repo/trip.js +2 -1
  86. package/lib/chevre/repository.d.ts +6 -0
  87. package/lib/chevre/repository.js +8 -1
  88. package/lib/chevre/service/aggregation/event/aggregateScreeningEvent.js +18 -8
  89. package/lib/chevre/service/aggregation/event/aggregateUseActionsOnEvent.js +19 -8
  90. package/lib/chevre/service/aggregation/system.d.ts +43 -1
  91. package/lib/chevre/service/aggregation/system.js +112 -2
  92. package/lib/chevre/service/assetTransaction/moneyTransfer.js +1 -1
  93. package/lib/chevre/service/assetTransaction/pay/account/validation.js +1 -1
  94. package/lib/chevre/service/assetTransaction/pay.d.ts +5 -1
  95. package/lib/chevre/service/assetTransaction/pay.js +7 -7
  96. package/lib/chevre/service/assetTransaction/refund.js +1 -1
  97. package/lib/chevre/service/assetTransaction/reserve.js +10 -3
  98. package/lib/chevre/service/event.d.ts +3 -0
  99. package/lib/chevre/service/event.js +52 -21
  100. package/lib/chevre/service/iam.d.ts +6 -2
  101. package/lib/chevre/service/iam.js +23 -9
  102. package/lib/chevre/service/offer/event/factory.js +22 -13
  103. package/lib/chevre/service/offer/event/importFromCOA.js +2 -2
  104. package/lib/chevre/service/offer/eventServiceByCOA/factory.js +15 -8
  105. package/lib/chevre/service/offer/eventServiceByCOA.js +7 -9
  106. package/lib/chevre/service/offer/product/factory.js +13 -6
  107. package/lib/chevre/service/offer/product.js +2 -2
  108. package/lib/chevre/service/offer.d.ts +16 -8
  109. package/lib/chevre/service/offer.js +71 -8
  110. package/lib/chevre/service/order/createAccountingReportIfNotExist.js +31 -17
  111. package/lib/chevre/service/order/onOrderStatusChanged/factory.js +1 -1
  112. package/lib/chevre/service/order/onOrderStatusChanged.js +2 -2
  113. package/lib/chevre/service/order/placeOrder.js +4 -4
  114. package/lib/chevre/service/order/returnOrder.js +1 -1
  115. package/lib/chevre/service/order/sendOrder.js +3 -3
  116. package/lib/chevre/service/payment/any/onPaymentStatusChanged.js +4 -6
  117. package/lib/chevre/service/payment/any/onRefund.js +46 -42
  118. package/lib/chevre/service/payment/any.d.ts +9 -6
  119. package/lib/chevre/service/payment/any.js +6 -2
  120. package/lib/chevre/service/payment/creditCard.js +2 -2
  121. package/lib/chevre/service/payment/movieTicket/checkByIdentifier.d.ts +8 -7
  122. package/lib/chevre/service/payment/movieTicket/factory.d.ts +1 -1
  123. package/lib/chevre/service/payment/movieTicket/getCredentials.d.ts +1 -1
  124. package/lib/chevre/service/payment/movieTicket/getCredentials.js +1 -1
  125. package/lib/chevre/service/payment/movieTicket/validation.d.ts +3 -4
  126. package/lib/chevre/service/payment/movieTicket/validation.js +53 -12
  127. package/lib/chevre/service/payment/movieTicket.d.ts +1 -1
  128. package/lib/chevre/service/payment/movieTicket.js +4 -4
  129. package/lib/chevre/service/reserve/cancelReservation.js +15 -3
  130. package/lib/chevre/service/reserve/confirmReservation.js +19 -11
  131. package/lib/chevre/service/task/aggregateScreeningEvent.js +1 -1
  132. package/lib/chevre/service/task/cancelPendingReservation.js +1 -1
  133. package/lib/chevre/service/task/cancelReservation.js +1 -1
  134. package/lib/chevre/service/task/deleteTransaction.js +2 -0
  135. package/lib/chevre/service/task/onEventChanged.d.ts +7 -0
  136. package/lib/chevre/service/task/onEventChanged.js +29 -0
  137. package/lib/chevre/service/task/onResourceUpdated.d.ts +7 -0
  138. package/lib/chevre/service/task/onResourceUpdated.js +396 -0
  139. package/lib/chevre/service/task/syncScreeningRooms.d.ts +7 -0
  140. package/lib/chevre/service/task/syncScreeningRooms.js +24 -0
  141. package/lib/chevre/service/task/voidReserveTransaction.js +1 -1
  142. package/lib/chevre/service/transaction/deleteTransaction.d.ts +2 -0
  143. package/lib/chevre/service/transaction/deleteTransaction.js +129 -1
  144. package/lib/chevre/service/transaction/moneyTransfer/exportTasks/factory.js +1 -0
  145. package/lib/chevre/service/transaction/moneyTransfer/factory.d.ts +1 -1
  146. package/lib/chevre/service/transaction/moneyTransfer.js +1 -1
  147. package/lib/chevre/service/transaction/orderProgramMembership/findCreditCard.js +1 -1
  148. package/lib/chevre/service/transaction/orderProgramMembership/findPaymentCardPermit.js +1 -1
  149. package/lib/chevre/service/transaction/orderProgramMembership.js +7 -4
  150. package/lib/chevre/service/transaction/placeOrder/exportTasks/factory.js +1 -0
  151. package/lib/chevre/service/transaction/placeOrderInProgress/potentialActions/givePointAward.js +1 -1
  152. package/lib/chevre/service/transaction/placeOrderInProgress/potentialActions/moneyTransfer.js +1 -1
  153. package/lib/chevre/service/transaction/placeOrderInProgress/potentialActions/registerService.js +1 -1
  154. package/lib/chevre/service/transaction/placeOrderInProgress/potentialActions/sendEmailMessage.js +4 -4
  155. package/lib/chevre/service/transaction/placeOrderInProgress/potentialActions.js +3 -4
  156. package/lib/chevre/service/transaction/placeOrderInProgress/result/acceptedOffers.js +8 -12
  157. package/lib/chevre/service/transaction/placeOrderInProgress.js +6 -4
  158. package/lib/chevre/service/transaction/returnOrder/exportTasks/factory.js +1 -0
  159. package/lib/chevre/service/transaction/returnOrder/potentialActions/returnMoneyTransfer.js +2 -2
  160. package/lib/chevre/service/transaction/returnOrder/potentialActions/returnPaymentMethod.js +5 -5
  161. package/lib/chevre/service/transaction/returnOrder/potentialActions/returnPointAward.js +2 -2
  162. package/lib/chevre/service/transaction/returnOrder/potentialActions/sendEmailMessage.js +3 -3
  163. package/lib/chevre/service/transaction/returnOrder/potentialActions.js +1 -1
  164. package/lib/chevre/service/transaction/returnOrder.js +3 -1
  165. package/lib/chevre/settings.d.ts +11 -0
  166. package/lib/chevre/settings.js +44 -2
  167. package/package.json +3 -3
  168. package/example/src/chevre/eventCatalog2eventService.ts +0 -123
  169. package/example/src/chevre/migrateOrderAdditionalProperties.ts +0 -85
  170. package/example/src/chevre/migrateStockHolderKeys.ts +0 -89
  171. package/example/src/chevre/searchAssetTransactions.ts +0 -30
@@ -22,7 +22,7 @@ async function main() {
22
22
  id: String(process.env.EVENT_ID)
23
23
  })({
24
24
  event: new chevre.repository.Event(mongoose.connection),
25
- stockHolder: new chevre.repository.StockHolder(client),
25
+ stockHolder: new chevre.repository.StockHolder(client, mongoose.connection),
26
26
  offer: new chevre.repository.Offer(mongoose.connection),
27
27
  offerCatalog: new chevre.repository.OfferCatalog(mongoose.connection),
28
28
  offerRateLimit: new chevre.repository.rateLimit.Offer(client),
@@ -0,0 +1,27 @@
1
+ // tslint:disable:no-console
2
+ // import * as moment from 'moment';
3
+ import * as mongoose from 'mongoose';
4
+
5
+ import { chevre } from '../../../lib/index';
6
+
7
+ const project = { typeOf: chevre.factory.organizationType.Project, id: String(process.env.PROJECT_ID) };
8
+
9
+ async function main() {
10
+ await mongoose.connect(<string>process.env.MONGOLAB_URI, { autoIndex: false });
11
+
12
+ const sellerRepo = new chevre.repository.Seller(mongoose.connection);
13
+
14
+ const paymentMethodTypes = await sellerRepo.searchPaymentAcceptedById({
15
+ limit: 100,
16
+ page: 1,
17
+ id: { $eq: 'xxx' },
18
+ project: { id: { $eq: project.id } }
19
+ });
20
+ console.log(paymentMethodTypes);
21
+ }
22
+
23
+ main()
24
+ .then(() => {
25
+ console.log('success!');
26
+ })
27
+ .catch(console.error);
@@ -4,6 +4,7 @@ import * as mongoose from 'mongoose';
4
4
  import { chevre } from '../../../../lib/index';
5
5
 
6
6
  const EXCLUDED_PROJECT_ID = process.env.EXCLUDED_PROJECT_ID;
7
+ const AGGREGATE_DURATION_UNIT = <'days' | 'hours'>String(process.env.AGGREGATE_DURATION_UNIT);
7
8
  const AGGREGATE_DAYS = Number(process.env.AGGREGATE_DAYS);
8
9
  const AGGREGATE_CLIENT_IDS = (typeof process.env.AGGREGATE_CLIENT_IDS === 'string') ? process.env.AGGREGATE_CLIENT_IDS.split(' ') : [];
9
10
  const ONE_DAY_IN_HOURS = 24;
@@ -22,9 +23,39 @@ async function main() {
22
23
 
23
24
  let result: { aggregationCount: number; aggregateDuration: string };
24
25
 
26
+ result = await chevre.service.aggregation.system.aggregateReserveAction({
27
+ aggregateDurationUnit: AGGREGATE_DURATION_UNIT,
28
+ aggregationCount: (AGGREGATE_DURATION_UNIT === 'hours') ? AGGREGATE_DAYS * ONE_DAY_IN_HOURS : AGGREGATE_DAYS,
29
+ excludedProjectId: EXCLUDED_PROJECT_ID
30
+ })({
31
+ agregation: aggregationRepo,
32
+ action: actionRepo
33
+ });
34
+ console.log('aggregateReserveAction processed.', result);
35
+
36
+ result = await chevre.service.aggregation.system.aggregateOrderAction({
37
+ aggregateDurationUnit: AGGREGATE_DURATION_UNIT,
38
+ aggregationCount: (AGGREGATE_DURATION_UNIT === 'hours') ? AGGREGATE_DAYS * ONE_DAY_IN_HOURS : AGGREGATE_DAYS,
39
+ excludedProjectId: EXCLUDED_PROJECT_ID
40
+ })({
41
+ agregation: aggregationRepo,
42
+ action: actionRepo
43
+ });
44
+ console.log('aggregateReserveAction processed.', result);
45
+
46
+ result = await chevre.service.aggregation.system.aggregateCancelReservationAction({
47
+ aggregateDurationUnit: AGGREGATE_DURATION_UNIT,
48
+ aggregationCount: (AGGREGATE_DURATION_UNIT === 'hours') ? AGGREGATE_DAYS * ONE_DAY_IN_HOURS : AGGREGATE_DAYS,
49
+ excludedProjectId: EXCLUDED_PROJECT_ID
50
+ })({
51
+ agregation: aggregationRepo,
52
+ action: actionRepo
53
+ });
54
+ console.log('aggregateCancelReservationAction processed.', result);
55
+
25
56
  result = await chevre.service.aggregation.system.aggregatePlaceOrder({
26
- aggregateDurationUnit: 'hours',
27
- aggregationCount: AGGREGATE_DAYS * ONE_DAY_IN_HOURS,
57
+ aggregateDurationUnit: AGGREGATE_DURATION_UNIT,
58
+ aggregationCount: (AGGREGATE_DURATION_UNIT === 'hours') ? AGGREGATE_DAYS * ONE_DAY_IN_HOURS : AGGREGATE_DAYS,
28
59
  excludedProjectId: EXCLUDED_PROJECT_ID,
29
60
  clientIds: AGGREGATE_CLIENT_IDS
30
61
  })({
@@ -35,8 +66,8 @@ async function main() {
35
66
  // return;
36
67
 
37
68
  result = await chevre.service.aggregation.system.aggregateTask({
38
- aggregateDurationUnit: 'hours',
39
- aggregationCount: AGGREGATE_DAYS * ONE_DAY_IN_HOURS,
69
+ aggregateDurationUnit: AGGREGATE_DURATION_UNIT,
70
+ aggregationCount: (AGGREGATE_DURATION_UNIT === 'hours') ? AGGREGATE_DAYS * ONE_DAY_IN_HOURS : AGGREGATE_DAYS,
40
71
  excludedProjectId: EXCLUDED_PROJECT_ID
41
72
  })({
42
73
  agregation: aggregationRepo,
@@ -45,8 +76,8 @@ async function main() {
45
76
  console.log('aggregateTask processed.', result);
46
77
 
47
78
  result = await chevre.service.aggregation.system.aggregatePayMovieTicketAction({
48
- aggregateDurationUnit: 'hours',
49
- aggregationCount: AGGREGATE_DAYS * ONE_DAY_IN_HOURS,
79
+ aggregateDurationUnit: AGGREGATE_DURATION_UNIT,
80
+ aggregationCount: (AGGREGATE_DURATION_UNIT === 'hours') ? AGGREGATE_DAYS * ONE_DAY_IN_HOURS : AGGREGATE_DAYS,
50
81
  excludedProjectId: EXCLUDED_PROJECT_ID
51
82
  })({
52
83
  agregation: aggregationRepo,
@@ -55,8 +86,8 @@ async function main() {
55
86
  console.log('aggregatePayMovieTicketAction processed.', result);
56
87
 
57
88
  result = await chevre.service.aggregation.system.aggregatePayTransaction({
58
- aggregateDurationUnit: 'hours',
59
- aggregationCount: AGGREGATE_DAYS * ONE_DAY_IN_HOURS,
89
+ aggregateDurationUnit: AGGREGATE_DURATION_UNIT,
90
+ aggregationCount: (AGGREGATE_DURATION_UNIT === 'hours') ? AGGREGATE_DAYS * ONE_DAY_IN_HOURS : AGGREGATE_DAYS,
60
91
  excludedProjectId: EXCLUDED_PROJECT_ID
61
92
  })({
62
93
  agregation: aggregationRepo,
@@ -65,8 +96,8 @@ async function main() {
65
96
  console.log('aggregatePayTransaction processed.', result);
66
97
 
67
98
  result = await chevre.service.aggregation.system.aggregateEvent({
68
- aggregateDurationUnit: 'hours',
69
- aggregationCount: AGGREGATE_DAYS * ONE_DAY_IN_HOURS,
99
+ aggregateDurationUnit: AGGREGATE_DURATION_UNIT,
100
+ aggregationCount: (AGGREGATE_DURATION_UNIT === 'hours') ? AGGREGATE_DAYS * ONE_DAY_IN_HOURS : AGGREGATE_DAYS,
70
101
  excludedProjectId: EXCLUDED_PROJECT_ID
71
102
  })({
72
103
  agregation: aggregationRepo,
@@ -75,8 +106,8 @@ async function main() {
75
106
  console.log('aggregateEvent processed.', result);
76
107
 
77
108
  result = await chevre.service.aggregation.system.aggregateReserveTransaction({
78
- aggregateDurationUnit: 'hours',
79
- aggregationCount: AGGREGATE_DAYS * ONE_DAY_IN_HOURS,
109
+ aggregateDurationUnit: AGGREGATE_DURATION_UNIT,
110
+ aggregationCount: (AGGREGATE_DURATION_UNIT === 'hours') ? AGGREGATE_DAYS * ONE_DAY_IN_HOURS : AGGREGATE_DAYS,
80
111
  excludedProjectId: EXCLUDED_PROJECT_ID
81
112
  })({
82
113
  agregation: aggregationRepo,
@@ -85,8 +116,8 @@ async function main() {
85
116
  console.log('aggregateReserveTransaction processed.', result);
86
117
 
87
118
  result = await chevre.service.aggregation.system.aggregateAuthorizeOrderAction({
88
- aggregateDurationUnit: 'hours',
89
- aggregationCount: AGGREGATE_DAYS * ONE_DAY_IN_HOURS,
119
+ aggregateDurationUnit: AGGREGATE_DURATION_UNIT,
120
+ aggregationCount: (AGGREGATE_DURATION_UNIT === 'hours') ? AGGREGATE_DAYS * ONE_DAY_IN_HOURS : AGGREGATE_DAYS,
90
121
  excludedProjectId: EXCLUDED_PROJECT_ID
91
122
  })({
92
123
  agregation: aggregationRepo,
@@ -95,8 +126,8 @@ async function main() {
95
126
  console.log('aggregateAuthorizeOrderAction processed.', result);
96
127
 
97
128
  result = await chevre.service.aggregation.system.aggregateAuthorizeEventServiceOfferAction({
98
- aggregateDurationUnit: 'hours',
99
- aggregationCount: AGGREGATE_DAYS * ONE_DAY_IN_HOURS,
129
+ aggregateDurationUnit: AGGREGATE_DURATION_UNIT,
130
+ aggregationCount: (AGGREGATE_DURATION_UNIT === 'hours') ? AGGREGATE_DAYS * ONE_DAY_IN_HOURS : AGGREGATE_DAYS,
100
131
  excludedProjectId: EXCLUDED_PROJECT_ID
101
132
  })({
102
133
  agregation: aggregationRepo,
@@ -105,8 +136,8 @@ async function main() {
105
136
  console.log('aggregateAuthorizeEventServiceOfferAction processed.', result);
106
137
 
107
138
  result = await chevre.service.aggregation.system.aggregateAuthorizePaymentAction({
108
- aggregateDurationUnit: 'hours',
109
- aggregationCount: AGGREGATE_DAYS * ONE_DAY_IN_HOURS,
139
+ aggregateDurationUnit: AGGREGATE_DURATION_UNIT,
140
+ aggregationCount: (AGGREGATE_DURATION_UNIT === 'hours') ? AGGREGATE_DAYS * ONE_DAY_IN_HOURS : AGGREGATE_DAYS,
110
141
  excludedProjectId: EXCLUDED_PROJECT_ID
111
142
  })({
112
143
  agregation: aggregationRepo,
@@ -115,8 +146,8 @@ async function main() {
115
146
  console.log('aggregateAuthorizePaymentAction processed.', result);
116
147
 
117
148
  result = await chevre.service.aggregation.system.aggregateUseAction({
118
- aggregateDurationUnit: 'hours',
119
- aggregationCount: AGGREGATE_DAYS * ONE_DAY_IN_HOURS,
149
+ aggregateDurationUnit: AGGREGATE_DURATION_UNIT,
150
+ aggregationCount: (AGGREGATE_DURATION_UNIT === 'hours') ? AGGREGATE_DAYS * ONE_DAY_IN_HOURS : AGGREGATE_DAYS,
120
151
  excludedProjectId: EXCLUDED_PROJECT_ID
121
152
  })({
122
153
  agregation: aggregationRepo,
@@ -125,8 +156,8 @@ async function main() {
125
156
  console.log('aggregateUseAction processed.', result);
126
157
 
127
158
  result = await chevre.service.aggregation.system.aggregateCheckMovieTicketAction({
128
- aggregateDurationUnit: 'hours',
129
- aggregationCount: AGGREGATE_DAYS * ONE_DAY_IN_HOURS,
159
+ aggregateDurationUnit: AGGREGATE_DURATION_UNIT,
160
+ aggregationCount: (AGGREGATE_DURATION_UNIT === 'hours') ? AGGREGATE_DAYS * ONE_DAY_IN_HOURS : AGGREGATE_DAYS,
130
161
  excludedProjectId: EXCLUDED_PROJECT_ID
131
162
  })({
132
163
  agregation: aggregationRepo,
@@ -4,11 +4,16 @@ import * as mongoose from 'mongoose';
4
4
  import { chevre } from '../../../lib/index';
5
5
 
6
6
  export async function main() {
7
- await mongoose.connect(<string>process.env.MONGOLAB_URI);
7
+ await mongoose.connect(<string>process.env.MONGOLAB_URI, { autoIndex: false });
8
8
 
9
9
  const taskRepo = new chevre.repository.Task(mongoose.connection);
10
10
 
11
- const count = await taskRepo.countDelayedTasks({ delayInSeconds: 60 });
11
+ const count = await taskRepo.countDelayedTasks({
12
+ delayInSeconds: 60,
13
+ name: {
14
+ $nin: [chevre.factory.taskName.OrderProgramMembership]
15
+ }
16
+ });
12
17
  console.log('count:', count);
13
18
  }
14
19
 
@@ -5,7 +5,6 @@ import * as mongoose from 'mongoose';
5
5
  import { chevre } from '../../../lib/index';
6
6
 
7
7
  const PROJECT_ID = String(process.env.PROJECT_ID);
8
- const filterName: string = 'eventIdentifier';
9
8
 
10
9
  // tslint:disable-next-line:max-func-body-length
11
10
  async function main() {
@@ -16,49 +15,33 @@ async function main() {
16
15
  const result = await eventRepo.createManyIfNotExist<chevre.factory.eventType.ScreeningEvent>([
17
16
  {
18
17
  attributes: {
19
- additionalProperty: [{
20
- name: filterName,
21
- value: '20230201143000-03'
22
- }],
23
- project: {
24
- id: PROJECT_ID,
25
- typeOf: chevre.factory.organizationType.Project
26
- },
27
18
  typeOf: chevre.factory.eventType.ScreeningEvent,
28
- doorTime: moment('2023-02-01T05:00:00.000Z')
29
- .toDate(),
30
- startDate: moment('2023-02-01T05:00:00.000Z')
19
+ project: { id: PROJECT_ID, typeOf: chevre.factory.organizationType.Project },
20
+ name: {
21
+ en: 'PetPetPetPet',
22
+ ja: 'ペット'
23
+ },
24
+ doorTime: moment('2023-06-27T00:00:00.000Z')
31
25
  .toDate(),
32
- endDate: moment('2023-02-01T06:00:00.000Z')
26
+ endDate: moment('2023-06-27T01:00:00.000Z')
33
27
  .toDate(),
34
- // workPerformed: {
35
- // typeOf: chevre.factory.creativeWorkType.Movie,
36
- // identifier: '1622100',
37
- // id: '5bfb841d5a78d7948369980a',
38
- // name: {
39
- // en: 'Pet',
40
- // ja: 'ペット'
41
- // },
42
- // duration: 'PT2H3M'
43
- // },
28
+ eventStatus: chevre.factory.eventStatusType.EventCancelled,
44
29
  location: {
45
30
  typeOf: chevre.factory.placeType.ScreeningRoom,
46
- branchCode: '10',
31
+ branchCode: '30',
47
32
  name: {
48
- ja: 'シネマ1',
49
- en: 'CINEMA1'
33
+ ja: 'シネマ3',
34
+ en: 'CINEMA3'
50
35
  },
51
36
  address: {
52
37
  ja: '7階',
53
38
  en: '7F'
54
39
  }
55
40
  },
41
+ startDate: moment('2023-06-27T00:00:00.000Z')
42
+ .toDate(),
56
43
  superEvent: {
57
44
  typeOf: chevre.factory.eventType.ScreeningEventSeries,
58
- project: {
59
- typeOf: chevre.factory.organizationType.Project,
60
- id: 'cinerino'
61
- },
62
45
  id: '7k9ayl8hc',
63
46
  videoFormat: [
64
47
  {
@@ -115,17 +98,181 @@ async function main() {
115
98
  name: 'Japanese'
116
99
  }
117
100
  },
101
+ offers: {
102
+ typeOf: chevre.factory.offerType.Offer,
103
+ priceCurrency: chevre.factory.priceCurrency.JPY,
104
+ availabilityEnds: moment('2023-06-26T14:20:00.000Z')
105
+ .toDate(),
106
+ availabilityStarts: moment('2023-06-23T15:00:00.000Z')
107
+ .toDate(),
108
+ eligibleQuantity: {
109
+ typeOf: 'QuantitativeValue',
110
+ unitCode: chevre.factory.unitCode.C62,
111
+ maxValue: 6,
112
+ value: 1
113
+ },
114
+ itemOffered: {
115
+ id: '6308580bdef565000a9aa1fd',
116
+ name: {
117
+ ja: '通常興行カタログ'
118
+ },
119
+ serviceOutput: {
120
+ typeOf: chevre.factory.reservationType.EventReservation,
121
+ reservedTicket: {
122
+ typeOf: 'Ticket',
123
+ ticketedSeat: {
124
+ typeOf: chevre.factory.placeType.Seat
125
+ }
126
+ }
127
+ },
128
+ typeOf: chevre.factory.product.ProductType.EventService,
129
+ availableChannel: {
130
+ typeOf: 'ServiceChannel',
131
+ serviceLocation: {
132
+ typeOf: chevre.factory.placeType.ScreeningRoom,
133
+ branchCode: '30',
134
+ name: {
135
+ ja: 'シネマ3',
136
+ en: 'CINEMA3'
137
+ },
138
+ containedInPlace: {
139
+ typeOf: chevre.factory.placeType.MovieTheater,
140
+ id: '5bfb841d5a78d7948369979a',
141
+ branchCode: '118',
142
+ name: {
143
+ ja: 'シネモーション赤坂 ',
144
+ en: 'CineMotion Akasaka'
145
+ }
146
+ }
147
+ }
148
+ },
149
+ serviceType: {
150
+ codeValue: '0001',
151
+ id: '5e3361d01dc1ef1a20dd8737',
152
+ inCodeSet: {
153
+ typeOf: 'CategoryCodeSet',
154
+ identifier: chevre.factory.categoryCode.CategorySetIdentifier.ServiceType
155
+ },
156
+ typeOf: 'CategoryCode'
157
+ }
158
+ },
159
+ validFrom: moment('2023-06-23T15:00:00.000Z')
160
+ .toDate(),
161
+ validThrough: moment('2023-06-26T14:20:00.000Z')
162
+ .toDate(),
163
+ seller: {
164
+ typeOf: chevre.factory.organizationType.Corporation,
165
+ id: '59d20831e53ebc2b4e774466',
166
+ name: {
167
+ ja: 'シネモーション赤坂',
168
+ en: 'CineMotion Akasaka'
169
+ },
170
+ makesOffer: [
171
+ ]
172
+ }
173
+ },
174
+ maximumAttendeeCapacity: 90,
175
+ remainingAttendeeCapacity: 90,
176
+ additionalProperty: [{
177
+ name: 'eventIdentifier',
178
+ value: `bySample2023062701`
179
+ }]
180
+ },
181
+ filter: {
182
+ name: 'eventIdentifier'
183
+ }
184
+ },
185
+ {
186
+ attributes: {
187
+ typeOf: chevre.factory.eventType.ScreeningEvent,
188
+ project: { id: PROJECT_ID, typeOf: chevre.factory.organizationType.Project },
118
189
  name: {
119
190
  en: 'PetPetPetPet',
120
191
  ja: 'ペット'
121
192
  },
122
- eventStatus: chevre.factory.eventStatusType.EventScheduled,
193
+ doorTime: moment('2023-06-27T01:00:00.000Z')
194
+ .toDate(),
195
+ endDate: moment('2023-06-27T02:00:00.000Z')
196
+ .toDate(),
197
+ eventStatus: chevre.factory.eventStatusType.EventCancelled,
198
+ location: {
199
+ typeOf: chevre.factory.placeType.ScreeningRoom,
200
+ branchCode: '30',
201
+ name: {
202
+ ja: 'シネマ3',
203
+ en: 'CINEMA3'
204
+ },
205
+ address: {
206
+ ja: '7階',
207
+ en: '7F'
208
+ }
209
+ },
210
+ startDate: moment('2023-06-27T01:00:00.000Z')
211
+ .toDate(),
212
+ superEvent: {
213
+ typeOf: chevre.factory.eventType.ScreeningEventSeries,
214
+ id: '7k9ayl8hc',
215
+ videoFormat: [
216
+ {
217
+ typeOf: '2D',
218
+ name: '2D'
219
+ }
220
+ ],
221
+ soundFormat: [],
222
+ workPerformed: {
223
+ typeOf: chevre.factory.creativeWorkType.Movie,
224
+ identifier: '1622100',
225
+ id: '5bfb841d5a78d7948369980a',
226
+ name: {
227
+ en: 'Pet',
228
+ ja: 'ペット'
229
+ },
230
+ duration: 'PT2H3M'
231
+ },
232
+ location: {
233
+ typeOf: chevre.factory.placeType.MovieTheater,
234
+ id: '5bfb841d5a78d7948369979a',
235
+ branchCode: '118',
236
+ name: {
237
+ ja: 'シネモーション赤坂 ',
238
+ en: 'CineMotion Akasaka'
239
+ },
240
+ kanaName: 'シネモーションアカサカ'
241
+ },
242
+ kanaName: 'ペットカナタイトル',
243
+ name: {
244
+ en: 'PetPetPetPet',
245
+ ja: 'ペット'
246
+ },
247
+ additionalProperty: [
248
+ {
249
+ name: 'sortNumber',
250
+ value: '99'
251
+ }
252
+ ],
253
+ startDate: moment('2020-03-31T15:00:00.000Z')
254
+ .toDate(),
255
+ endDate: moment('2034-12-01T15:00:00.000Z')
256
+ .toDate(),
257
+ description: {
258
+ en: 'english description',
259
+ ja: 'ムビチケ検証用のイベントです。'
260
+ },
261
+ headline: {
262
+ en: 'headlineheadlineheadlineheadlineheadlineheadlineheadline',
263
+ ja: 'サブタイトルkanaName'
264
+ },
265
+ subtitleLanguage: {
266
+ typeOf: 'Language',
267
+ name: 'Japanese'
268
+ }
269
+ },
123
270
  offers: {
124
271
  typeOf: chevre.factory.offerType.Offer,
125
272
  priceCurrency: chevre.factory.priceCurrency.JPY,
126
- availabilityEnds: moment('2023-02-01T01:20:00.000Z')
273
+ availabilityEnds: moment('2023-06-26T14:20:00.000Z')
127
274
  .toDate(),
128
- availabilityStarts: moment('2023-01-30T15:00:00.000Z')
275
+ availabilityStarts: moment('2023-06-23T15:00:00.000Z')
129
276
  .toDate(),
130
277
  eligibleQuantity: {
131
278
  typeOf: 'QuantitativeValue',
@@ -152,10 +299,10 @@ async function main() {
152
299
  typeOf: 'ServiceChannel',
153
300
  serviceLocation: {
154
301
  typeOf: chevre.factory.placeType.ScreeningRoom,
155
- branchCode: '10',
302
+ branchCode: '30',
156
303
  name: {
157
- ja: 'シネマ1',
158
- en: 'CINEMA1'
304
+ ja: 'シネマ3',
305
+ en: 'CINEMA3'
159
306
  },
160
307
  containedInPlace: {
161
308
  typeOf: chevre.factory.placeType.MovieTheater,
@@ -178,9 +325,9 @@ async function main() {
178
325
  typeOf: 'CategoryCode'
179
326
  }
180
327
  },
181
- validFrom: moment('2023-01-29T15:00:00.000Z')
328
+ validFrom: moment('2023-06-23T15:00:00.000Z')
182
329
  .toDate(),
183
- validThrough: moment('2023-02-01T01:20:00.000Z')
330
+ validThrough: moment('2023-06-26T14:20:00.000Z')
184
331
  .toDate(),
185
332
  seller: {
186
333
  typeOf: chevre.factory.organizationType.Corporation,
@@ -189,18 +336,24 @@ async function main() {
189
336
  ja: 'シネモーション赤坂',
190
337
  en: 'CineMotion Akasaka'
191
338
  },
192
- makesOffer: []
339
+ makesOffer: [
340
+ ]
193
341
  }
194
- }
342
+ },
343
+ maximumAttendeeCapacity: 90,
344
+ remainingAttendeeCapacity: 90,
345
+ additionalProperty: [{
346
+ name: 'eventIdentifier',
347
+ value: `bySample2023062702`
348
+ }]
195
349
  },
196
- filter: { name: filterName }
350
+ filter: {
351
+ name: 'eventIdentifier'
352
+ }
197
353
  }
198
354
  ]);
199
- console.log(result);
200
- console.log('upsertedIds:', (Array.isArray(result?.getUpsertedIds()))
201
- ? result?.getUpsertedIds()
202
- .map((u: any) => u._id)
203
- : []);
355
+ console.log('result:', result);
356
+
204
357
  }
205
358
 
206
359
  main()
@@ -8,7 +8,7 @@ async function main() {
8
8
 
9
9
  const placeRepo = new chevre.repository.Place(mongoose.connection);
10
10
 
11
- const event = await placeRepo.findScreeningRoomsByBranchCode({
11
+ const screeningRoom = await placeRepo.findScreeningRoomsByBranchCode({
12
12
  branchCode: {
13
13
  $eq: '20'
14
14
  },
@@ -16,9 +16,10 @@ async function main() {
16
16
  id: {
17
17
  $eq: '5bfb841d5a78d7948369979a'
18
18
  }
19
- }
19
+ },
20
+ useScreeningRoomType: true
20
21
  });
21
- console.log('room found', event);
22
+ console.log('room found', screeningRoom);
22
23
 
23
24
  }
24
25
 
@@ -0,0 +1,56 @@
1
+ // tslint:disable:no-console
2
+ import * as moment from 'moment';
3
+ import * as 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);
12
+
13
+ const actionRepo = new chevre.repository.Action(mongoose.connection);
14
+ const startLte = moment()
15
+ .add(-1, 'week')
16
+ .toDate();
17
+
18
+ const cursor = actionRepo.getCursor(
19
+ {
20
+ // 'project.id': { $ne: EXCLUDED_PROJECT_ID },
21
+ actionStatus: { $eq: chevre.factory.actionStatusType.ActiveActionStatus },
22
+ startDate: { $lt: startLte }
23
+ },
24
+ {
25
+ _id: 1,
26
+ startDate: 1,
27
+ typeOf: 1,
28
+ project: 1
29
+ }
30
+ );
31
+ console.log('actions found');
32
+
33
+ let i = 0;
34
+ // let updateCount = 0;
35
+ await cursor.eachAsync(async (doc) => {
36
+ i += 1;
37
+ // if (i > 1) {
38
+ // return;
39
+ // }
40
+
41
+ console.log('updating...', doc.project.id, doc.typeOf, doc.id, doc.startDate);
42
+ const result = await actionRepo.giveUpStartDatePassedCertainPeriod({
43
+ id: { $eq: doc.id },
44
+ startDate: { $lt: startLte },
45
+ error: new chevre.factory.errors.GatewayTimeout('unexpected timeout')
46
+ });
47
+ console.log('updated', doc.project.id, doc.typeOf, doc.id, doc.startDate, result);
48
+ });
49
+
50
+ console.log(i, 'actions checked');
51
+ // console.log(updateCount, 'events updated');
52
+ }
53
+
54
+ main()
55
+ .then()
56
+ .catch(console.error);
@@ -1,10 +1,11 @@
1
1
  // tslint:disable:no-console
2
2
  import * as moment from 'moment';
3
+ import * as mongoose from 'mongoose';
3
4
  import * as redis from 'redis';
4
5
 
5
6
  import { chevre } from '../../../lib/index';
6
7
 
7
- // const project = { id: String(process.env.PROJECT_ID) };
8
+ const project = { id: String(process.env.PROJECT_ID) };
8
9
 
9
10
  // tslint:disable-next-line:max-func-body-length
10
11
  async function main() {
@@ -19,10 +20,12 @@ async function main() {
19
20
 
20
21
  const startDate = moment('2023-04-18T00:00:00Z');
21
22
 
22
- const stockHolderRepo = new chevre.repository.StockHolder(client);
23
+ const stockHolderRepo = new chevre.repository.StockHolder(client, mongoose.connection);
23
24
  await stockHolderRepo.lock({
25
+ project,
24
26
  eventId: 'sampleEventId',
25
27
  startDate: startDate.toDate(),
28
+ hasTicketedSeat: true,
26
29
  offers: [
27
30
  {
28
31
  seatSection: 'sampleSeatSection',