@chevre/domain 26.0.0-alpha.3 → 26.0.0-alpha.30

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 (189) hide show
  1. package/lib/chevre/eventEmitter/task.d.ts +8 -23
  2. package/lib/chevre/eventEmitter/task.js +2 -2
  3. package/lib/chevre/repo/acceptedOffer.d.ts +0 -7
  4. package/lib/chevre/repo/acceptedOffer.js +27 -27
  5. package/lib/chevre/repo/action/actionProcess.d.ts +1 -1
  6. package/lib/chevre/repo/action/inform.d.ts +45 -0
  7. package/lib/chevre/repo/action/inform.js +159 -0
  8. package/lib/chevre/repo/action/update.d.ts +56 -0
  9. package/lib/chevre/repo/action/update.js +173 -0
  10. package/lib/chevre/repo/action.d.ts +3 -19
  11. package/lib/chevre/repo/action.js +0 -298
  12. package/lib/chevre/repo/adminAssetTransaction.d.ts +126 -0
  13. package/lib/chevre/repo/adminAssetTransaction.js +491 -0
  14. package/lib/chevre/repo/adminAsyncAction.d.ts +2 -2
  15. package/lib/chevre/repo/adminScheduledTask.d.ts +1 -1
  16. package/lib/chevre/repo/adminTask.d.ts +25 -8
  17. package/lib/chevre/repo/adminTask.js +31 -32
  18. package/lib/chevre/repo/adminTransaction.d.ts +131 -0
  19. package/lib/chevre/repo/adminTransaction.js +237 -0
  20. package/lib/chevre/repo/aggregateAssetTransaction.d.ts +43 -0
  21. package/lib/chevre/repo/aggregateAssetTransaction.js +166 -0
  22. package/lib/chevre/repo/aggregateScheduledTask.d.ts +32 -0
  23. package/lib/chevre/repo/aggregateScheduledTask.js +136 -0
  24. package/lib/chevre/repo/aggregateTransaction.d.ts +39 -0
  25. package/lib/chevre/repo/aggregateTransaction.js +166 -0
  26. package/lib/chevre/repo/aggregation.d.ts +0 -8
  27. package/lib/chevre/repo/aggregation.js +0 -10
  28. package/lib/chevre/repo/assetTransaction.d.ts +10 -235
  29. package/lib/chevre/repo/assetTransaction.js +48 -636
  30. package/lib/chevre/repo/asyncAction.d.ts +2 -2
  31. package/lib/chevre/repo/authorization.d.ts +0 -6
  32. package/lib/chevre/repo/authorization.js +15 -27
  33. package/lib/chevre/repo/message.d.ts +0 -7
  34. package/lib/chevre/repo/message.js +0 -38
  35. package/lib/chevre/repo/mongoose/schemas/{ownershipInfo.d.ts → action/inform.d.ts} +5 -5
  36. package/lib/chevre/repo/mongoose/schemas/action/inform.js +81 -0
  37. package/lib/chevre/repo/mongoose/schemas/action/update.d.ts +12 -0
  38. package/lib/chevre/repo/mongoose/schemas/action/update.js +107 -0
  39. package/lib/chevre/repo/mongoose/schemas/action.d.ts +1 -1
  40. package/lib/chevre/repo/mongoose/schemas/action.js +8 -1
  41. package/lib/chevre/repo/mongoose/schemas/actionRecipe.js +7 -0
  42. package/lib/chevre/repo/mongoose/schemas/aggregateReservation.js +8 -9
  43. package/lib/chevre/repo/mongoose/schemas/aggregation.js +8 -1
  44. package/lib/chevre/repo/mongoose/schemas/assetTransaction.js +95 -76
  45. package/lib/chevre/repo/mongoose/schemas/authorization.js +25 -18
  46. package/lib/chevre/repo/mongoose/schemas/event.js +7 -0
  47. package/lib/chevre/repo/mongoose/schemas/eventOffer.js +7 -0
  48. package/lib/chevre/repo/mongoose/schemas/message.js +8 -1
  49. package/lib/chevre/repo/mongoose/schemas/pendingReservation.js +11 -4
  50. package/lib/chevre/repo/mongoose/schemas/setting.d.ts +1 -0
  51. package/lib/chevre/repo/mongoose/schemas/task.d.ts +2 -5
  52. package/lib/chevre/repo/mongoose/schemas/task.js +134 -118
  53. package/lib/chevre/repo/mongoose/schemas/ticket.js +8 -1
  54. package/lib/chevre/repo/orderInTransaction.d.ts +0 -3
  55. package/lib/chevre/repo/orderInTransaction.js +30 -22
  56. package/lib/chevre/repo/scheduledTask.d.ts +5 -2
  57. package/lib/chevre/repo/scheduledTask.js +3 -25
  58. package/lib/chevre/repo/task.d.ts +45 -171
  59. package/lib/chevre/repo/task.js +20 -475
  60. package/lib/chevre/repo/taskDelayed.d.ts +74 -0
  61. package/lib/chevre/repo/taskDelayed.js +195 -0
  62. package/lib/chevre/repo/taskRunning.d.ts +35 -0
  63. package/lib/chevre/repo/taskRunning.js +89 -0
  64. package/lib/chevre/repo/ticket.d.ts +0 -6
  65. package/lib/chevre/repo/ticket.js +0 -11
  66. package/lib/chevre/repo/transaction.d.ts +1 -187
  67. package/lib/chevre/repo/transaction.js +2 -383
  68. package/lib/chevre/repository.d.ts +35 -5
  69. package/lib/chevre/repository.js +79 -13
  70. package/lib/chevre/service/aggregation/system.d.ts +17 -9
  71. package/lib/chevre/service/aggregation/system.js +46 -4
  72. package/lib/chevre/service/assetTransaction/cancelReservation/start.js +10 -17
  73. package/lib/chevre/service/assetTransaction/refund.js +2 -2
  74. package/lib/chevre/service/asyncAction.d.ts +2 -2
  75. package/lib/chevre/service/asyncAction.js +1 -4
  76. package/lib/chevre/service/asyncActionHandler/onOperationFailed.d.ts +2 -2
  77. package/lib/chevre/service/asyncActionHandler/onOperationFailed.js +0 -2
  78. package/lib/chevre/service/asyncActionHandler.d.ts +4 -4
  79. package/lib/chevre/service/asyncActionHandler.js +11 -13
  80. package/lib/chevre/service/event/processUpdateMovieTheater.d.ts +4 -2
  81. package/lib/chevre/service/event/processUpdateMovieTheater.js +3 -3
  82. package/lib/chevre/service/event.d.ts +4 -2
  83. package/lib/chevre/service/event.js +3 -3
  84. package/lib/chevre/service/notification/triggerWebhook.d.ts +4 -2
  85. package/lib/chevre/service/notification/triggerWebhook.js +5 -16
  86. package/lib/chevre/service/offer/event/voidTransaction/processVoidTransaction4chevre.js +1 -3
  87. package/lib/chevre/service/offer/eventServiceByCOA/findAcceptAction.d.ts +0 -4
  88. package/lib/chevre/service/offer/eventServiceByCOA/findAcceptAction.js +19 -19
  89. package/lib/chevre/service/offer/onEventChanged.js +0 -2
  90. package/lib/chevre/service/order/confirmPayTransaction.js +4 -1
  91. package/lib/chevre/service/order/deleteOrder.js +0 -1
  92. package/lib/chevre/service/order/onAssetTransactionStatusChanged/isDeliverable.js +1 -49
  93. package/lib/chevre/service/order/onAssetTransactionStatusChanged/onPayTransactionConfirmed.js +2 -2
  94. package/lib/chevre/service/order/onOrderStatusChanged/onOrderDelivered/factory.js +2 -4
  95. package/lib/chevre/service/order/onOrderStatusChanged/onOrderDeliveredPartially/factory.js +2 -4
  96. package/lib/chevre/service/order/onOrderStatusChanged/onOrderInTransit.js +4 -4
  97. package/lib/chevre/service/order/onOrderStatusChanged/onOrderPaymentDue.js +2 -2
  98. package/lib/chevre/service/order/onOrderStatusChanged/onOrderProcessing/createSendEmailMessageTaskIfNotExist.js +2 -2
  99. package/lib/chevre/service/order/onOrderStatusChanged/onOrderProcessing/factory.d.ts +2 -2
  100. package/lib/chevre/service/order/onOrderStatusChanged/onOrderProcessing/factory.js +3 -5
  101. package/lib/chevre/service/order/onOrderStatusChanged/onOrderProcessing/processOrder.js +2 -2
  102. package/lib/chevre/service/order/onOrderStatusChanged/onOrderProcessing.js +1 -1
  103. package/lib/chevre/service/order/onOrderStatusChanged/onOrderReturned/factory.js +5 -7
  104. package/lib/chevre/service/order/onOrderUpdated/factory.js +0 -3
  105. package/lib/chevre/service/order/returnOrder.d.ts +0 -2
  106. package/lib/chevre/service/order/returnOrder.js +8 -40
  107. package/lib/chevre/service/order/sendOrder.d.ts +0 -2
  108. package/lib/chevre/service/order/sendOrder.js +41 -55
  109. package/lib/chevre/service/payment/any/findAcceptAction.d.ts +0 -4
  110. package/lib/chevre/service/payment/any/findAcceptAction.js +19 -19
  111. package/lib/chevre/service/payment/any/findAuthorizeAction.d.ts +0 -4
  112. package/lib/chevre/service/payment/any/findAuthorizeAction.js +19 -19
  113. package/lib/chevre/service/payment/any/findCheckAction.d.ts +0 -4
  114. package/lib/chevre/service/payment/any/findCheckAction.js +19 -19
  115. package/lib/chevre/service/payment/any/processVoidPayTransaction.js +1 -1
  116. package/lib/chevre/service/payment/any/publishPaymentUrl.d.ts +0 -2
  117. package/lib/chevre/service/payment/any/publishPaymentUrl.js +2 -2
  118. package/lib/chevre/service/project.d.ts +0 -3
  119. package/lib/chevre/service/project.js +0 -1
  120. package/lib/chevre/service/reserve/cancelReservation.js +3 -3
  121. package/lib/chevre/service/reserve/checkInReservation.js +2 -2
  122. package/lib/chevre/service/reserve/confirmReservation.js +1 -1
  123. package/lib/chevre/service/reserve/potentialActions/onReservationConfirmed.js +2 -2
  124. package/lib/chevre/service/reserve/useReservation.js +1 -1
  125. package/lib/chevre/service/scheduledTask.d.ts +1 -4
  126. package/lib/chevre/service/scheduledTask.js +3 -10
  127. package/lib/chevre/service/scheduledTaskHandler/onOperationFailed.js +1 -2
  128. package/lib/chevre/service/scheduledTaskHandler.js +0 -13
  129. package/lib/chevre/service/task/acceptCOAOffer.js +1 -14
  130. package/lib/chevre/service/task/authorizePayment.js +1 -7
  131. package/lib/chevre/service/task/checkMovieTicket.js +1 -7
  132. package/lib/chevre/service/task/confirmReserveTransaction.js +3 -1
  133. package/lib/chevre/service/task/deleteTransaction.js +8 -39
  134. package/lib/chevre/service/task/importEventsFromCOA.js +4 -2
  135. package/lib/chevre/service/task/onAuthorizationCreated.js +2 -2
  136. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByAggregateOffer.d.ts +4 -2
  137. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByAggregateOffer.js +4 -4
  138. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByEventSeries.d.ts +4 -2
  139. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByEventSeries.js +4 -4
  140. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByMovieTheater.d.ts +4 -2
  141. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByMovieTheater.js +4 -4
  142. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByOfferCatalog.d.ts +4 -2
  143. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByOfferCatalog.js +4 -4
  144. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByProduct.d.ts +4 -2
  145. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByProduct.js +4 -4
  146. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByRoom.d.ts +4 -2
  147. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByRoom.js +4 -4
  148. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesBySeller.d.ts +4 -2
  149. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesBySeller.js +4 -4
  150. package/lib/chevre/service/task/onResourceDeleted.js +4 -3
  151. package/lib/chevre/service/task/onResourceUpdated/onAggregateOfferUpdated.js +0 -1
  152. package/lib/chevre/service/task/onResourceUpdated/onHasPOSUpdated.js +0 -1
  153. package/lib/chevre/service/task/onResourceUpdated/onOfferCatalogUpdated.js +0 -1
  154. package/lib/chevre/service/task/onResourceUpdated.js +0 -8
  155. package/lib/chevre/service/task/publishPaymentUrl.js +2 -13
  156. package/lib/chevre/service/task/returnOrder.js +2 -5
  157. package/lib/chevre/service/task/returnPayTransaction.js +2 -2
  158. package/lib/chevre/service/task/sendOrder.js +2 -2
  159. package/lib/chevre/service/task/syncResourcesFromCOA.js +31 -23
  160. package/lib/chevre/service/task/triggerWebhook.js +4 -2
  161. package/lib/chevre/service/task/voidReserveTransaction.js +5 -8
  162. package/lib/chevre/service/task.d.ts +3 -22
  163. package/lib/chevre/service/task.js +8 -40
  164. package/lib/chevre/service/taskHandler/onOperationFailed/informTaskIfNeeded.js +0 -1
  165. package/lib/chevre/service/taskHandler/onOperationFailed.d.ts +3 -2
  166. package/lib/chevre/service/taskHandler/onOperationFailed.js +5 -16
  167. package/lib/chevre/service/taskHandler.d.ts +1 -2
  168. package/lib/chevre/service/taskHandler.js +7 -19
  169. package/lib/chevre/service/transaction/deleteTransaction/deletePayTransactionsByPlaceOrder.js +2 -2
  170. package/lib/chevre/service/transaction/deleteTransaction/deleteReservationsByPlaceOrder.js +2 -2
  171. package/lib/chevre/service/transaction/deleteTransaction.d.ts +6 -2
  172. package/lib/chevre/service/transaction/deleteTransaction.js +5 -5
  173. package/lib/chevre/service/transaction/placeOrder/confirm.js +1 -1
  174. package/lib/chevre/service/transaction/placeOrder/exportTasks/factory.d.ts +8 -4
  175. package/lib/chevre/service/transaction/placeOrder/exportTasks/factory.js +55 -103
  176. package/lib/chevre/service/transaction/placeOrder/exportTasksById.d.ts +2 -0
  177. package/lib/chevre/service/transaction/placeOrder/exportTasksById.js +14 -10
  178. package/lib/chevre/service/transaction/returnOrder/exportTasks/factory.d.ts +13 -3
  179. package/lib/chevre/service/transaction/returnOrder/exportTasks/factory.js +48 -51
  180. package/lib/chevre/service/transaction/returnOrder.d.ts +2 -0
  181. package/lib/chevre/service/transaction/returnOrder.js +15 -13
  182. package/lib/chevre/service/transaction.d.ts +2 -0
  183. package/lib/chevre/service/transaction.js +0 -2
  184. package/lib/chevre/service/validation/validateOrder.js +2 -2
  185. package/lib/chevre/taskSettings.d.ts +4 -4
  186. package/package.json +2 -2
  187. package/lib/chevre/repo/mongoose/schemas/ownershipInfo.js +0 -227
  188. package/lib/chevre/repo/ownershipInfo.d.ts +0 -122
  189. package/lib/chevre/repo/ownershipInfo.js +0 -466
@@ -1,48 +1,16 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
3
  exports.TransactionRepo = void 0;
7
- const moment_1 = __importDefault(require("moment"));
8
- const transaction_1 = require("../eventEmitter/transaction");
9
4
  const factory_1 = require("../factory");
10
5
  const settings_1 = require("../settings");
11
- const transaction_2 = require("./mongoose/schemas/transaction");
6
+ const transaction_1 = require("./mongoose/schemas/transaction");
12
7
  /**
13
8
  * 取引リポジトリ
14
9
  */
15
10
  class TransactionRepo {
16
11
  transactionModel;
17
12
  constructor(connection) {
18
- this.transactionModel = connection.model(transaction_2.modelName, (0, transaction_2.createSchema)());
19
- }
20
- async countPotentiallyExportTasks(params) {
21
- const { endDate, limit } = params;
22
- const endDateLt = endDate?.$lt;
23
- if (!(endDateLt instanceof Date)) {
24
- throw new factory_1.factory.errors.Argument('endDate.$lt', 'must be Date');
25
- }
26
- const query = this.transactionModel.countDocuments({
27
- status: {
28
- $in: [
29
- factory_1.factory.transactionStatusType.Canceled,
30
- factory_1.factory.transactionStatusType.Confirmed,
31
- factory_1.factory.transactionStatusType.Expired
32
- ]
33
- },
34
- 'tasksExportAction.actionStatus': {
35
- $exists: true,
36
- $eq: factory_1.factory.actionStatusType.PotentialActionStatus
37
- },
38
- endDate: { $exists: true, $lt: endDateLt }
39
- });
40
- if (typeof limit === 'number' && limit >= 0) {
41
- query.limit(limit);
42
- }
43
- const count = await query.setOptions({ maxTimeMS: settings_1.MONGO_MAX_TIME_MS })
44
- .exec();
45
- return { count };
13
+ this.transactionModel = connection.model(transaction_1.modelName, (0, transaction_1.createSchema)());
46
14
  }
47
15
  /**
48
16
  * タスク未エクスポートの取引をひとつ取得してエクスポートを開始する
@@ -101,72 +69,6 @@ class TransactionRepo {
101
69
  .exec()
102
70
  .then((doc) => (doc === null) ? null : doc);
103
71
  }
104
- /**
105
- * tasksExportAction.actionStatusがActiveActionStatusのまま一定時間経過した取引について
106
- * PotentialActionStatusに変更する
107
- * 2025-03-10~
108
- */
109
- async reExportAction(params) {
110
- const { startDate } = params;
111
- if (!(startDate.$lt instanceof Date)) {
112
- throw new factory_1.factory.errors.Argument('startDate.$lt', 'must be Date');
113
- }
114
- return this.transactionModel.updateMany({
115
- 'tasksExportAction.actionStatus': {
116
- $exists: true,
117
- $eq: factory_1.factory.actionStatusType.ActiveActionStatus
118
- },
119
- 'tasksExportAction.startDate': {
120
- $exists: true,
121
- $lt: startDate.$lt
122
- }
123
- }, {
124
- $set: {
125
- tasksExportAction: {
126
- actionStatus: factory_1.factory.actionStatusType.PotentialActionStatus
127
- }
128
- }
129
- })
130
- .exec();
131
- }
132
- /**
133
- * タスクエクスポートの遅延している取引について明示的にemitTransactionStatusChangedを実行する
134
- */
135
- async exportTasksMany(params) {
136
- const delayedTransactions = await this.transactionModel.find({
137
- status: { $in: params.status.$in },
138
- 'tasksExportAction.actionStatus': {
139
- $exists: true,
140
- $eq: factory_1.factory.actionStatusType.PotentialActionStatus
141
- },
142
- endDate: {
143
- $exists: true,
144
- $lt: (0, moment_1.default)(params.now)
145
- .add(-params.delayInSeconds, 'seconds')
146
- .toDate()
147
- }
148
- })
149
- .select({
150
- _id: 0,
151
- id: { $toString: '$_id' },
152
- typeOf: 1,
153
- status: 1
154
- })
155
- .limit(params.limit)
156
- .setOptions({ maxTimeMS: settings_1.MONGO_MAX_TIME_MS })
157
- .lean()
158
- .exec();
159
- if (delayedTransactions.length > 0) {
160
- delayedTransactions.forEach((delayedTransaction) => {
161
- transaction_1.transactionEventEmitter.emitTransactionStatusChanged({
162
- id: delayedTransaction.id,
163
- typeOf: delayedTransaction.typeOf,
164
- status: delayedTransaction.status
165
- });
166
- });
167
- }
168
- return delayedTransactions;
169
- }
170
72
  /**
171
73
  * set task status exported by transaction id
172
74
  * IDでタスクをエクスポート済に変更する
@@ -189,288 +91,5 @@ class TransactionRepo {
189
91
  })
190
92
  .exec();
191
93
  }
192
- /**
193
- * add(2025-03-13~)
194
- */
195
- async countPotentiallyExpired(params) {
196
- const { expires, limit } = params;
197
- const query = this.transactionModel.countDocuments({
198
- status: { $eq: factory_1.factory.transactionStatusType.InProgress },
199
- expires: { $lt: expires.$lt }
200
- });
201
- if (typeof limit === 'number' && limit >= 0) {
202
- query.limit(limit);
203
- }
204
- const count = await query.setOptions({ maxTimeMS: settings_1.MONGO_MAX_TIME_MS })
205
- .exec();
206
- return { count };
207
- }
208
- /**
209
- * add(2025-03-03~)
210
- */
211
- async makeOneExpiredIfExists(params) {
212
- const endDate = new Date();
213
- const sort = {
214
- expires: factory_1.factory.sortType.Ascending
215
- };
216
- const doc = await this.transactionModel.findOneAndUpdate({
217
- status: { $eq: factory_1.factory.transactionStatusType.InProgress },
218
- expires: { $lt: params.expires.$lt }
219
- }, {
220
- status: factory_1.factory.transactionStatusType.Expired,
221
- endDate
222
- }, {
223
- new: true,
224
- projection: {
225
- _id: 0,
226
- id: { $toString: '$_id' },
227
- typeOf: 1
228
- }
229
- })
230
- .sort(sort)
231
- .lean()
232
- .exec();
233
- if (doc === null) {
234
- // no op
235
- return;
236
- }
237
- else {
238
- transaction_1.transactionEventEmitter.emitTransactionStatusChanged({
239
- id: doc.id,
240
- typeOf: doc.typeOf,
241
- status: factory_1.factory.transactionStatusType.Expired
242
- });
243
- return doc;
244
- }
245
- }
246
- /**
247
- * 取引を期限切れにする
248
- */
249
- async makeExpired(params) {
250
- if (typeof params.limit !== 'number' || params.limit === 0) {
251
- throw new factory_1.factory.errors.ArgumentNull('limit');
252
- }
253
- const sort = {
254
- expires: factory_1.factory.sortType.Ascending
255
- };
256
- // IDをemitしたいのでまずリスト検索(2023-04-27~)
257
- const expiringTransactions = await this.transactionModel.find({
258
- status: { $eq: factory_1.factory.transactionStatusType.InProgress },
259
- expires: { $lt: params.expires.$lt }
260
- })
261
- .select({
262
- _id: 0,
263
- id: { $toString: '$_id' },
264
- typeOf: 1
265
- })
266
- .limit(params.limit)
267
- .sort(sort) // sort(2025-03-03~)
268
- .setOptions({ maxTimeMS: settings_1.MONGO_MAX_TIME_MS })
269
- .lean()
270
- .exec();
271
- if (expiringTransactions.length > 0) {
272
- // ステータスと期限を見て更新
273
- await this.transactionModel.updateMany({
274
- _id: { $in: expiringTransactions.map((t) => t.id) },
275
- status: { $eq: factory_1.factory.transactionStatusType.InProgress },
276
- expires: { $lt: params.expires.$lt }
277
- }, {
278
- status: factory_1.factory.transactionStatusType.Expired,
279
- endDate: new Date()
280
- })
281
- .exec();
282
- expiringTransactions.forEach((expiringTransaction) => {
283
- transaction_1.transactionEventEmitter.emitTransactionStatusChanged({
284
- id: expiringTransaction.id,
285
- typeOf: expiringTransaction.typeOf,
286
- status: factory_1.factory.transactionStatusType.Expired
287
- });
288
- });
289
- }
290
- return expiringTransactions;
291
- }
292
- async findByIdAndDelete(params) {
293
- await this.transactionModel.findByIdAndDelete(params.id)
294
- .exec();
295
- }
296
- async unsetUnnecessaryFields(params) {
297
- return this.transactionModel.updateMany(params.filter, { $unset: params.$unset }, { timestamps: false })
298
- .exec();
299
- }
300
- async updateById4migration(params) {
301
- return this.transactionModel.updateOne({ _id: { $eq: params.id } }, params.update)
302
- .exec();
303
- }
304
- /**
305
- * 終了日時を一定期間過ぎたアクションを削除する
306
- */
307
- async deleteEndDatePassedCertainPeriod(params) {
308
- return this.transactionModel.deleteMany({
309
- typeOf: { $eq: params.typeOf },
310
- // 終了日時を一定期間過ぎたもの
311
- endDate: {
312
- $exists: true,
313
- $gte: params.endDate.$gte,
314
- $lt: params.endDate.$lt
315
- }
316
- })
317
- .exec();
318
- }
319
- getCursor(conditions, projection, sort) {
320
- return this.transactionModel.find(conditions, projection)
321
- .sort({ startDate: (sort === factory_1.factory.sortType.Ascending) ? sort : factory_1.factory.sortType.Descending })
322
- .cursor();
323
- }
324
- async aggregatePlaceOrder(params) {
325
- const statuses = await Promise.all([
326
- factory_1.factory.transactionStatusType.Confirmed,
327
- factory_1.factory.transactionStatusType.Canceled,
328
- factory_1.factory.transactionStatusType.Expired
329
- ].map(async (transactionStatus) => {
330
- const matchConditions = {
331
- startDate: {
332
- $gte: params.startFrom,
333
- $lte: params.startThrough
334
- },
335
- typeOf: { $eq: params.typeOf },
336
- status: { $eq: transactionStatus },
337
- ...(typeof params.project?.id?.$ne === 'string')
338
- ? { 'project.id': { $ne: params.project.id.$ne } }
339
- : undefined,
340
- ...(typeof params.clientId === 'string')
341
- // customerIdentifierAll.push();
342
- ? {
343
- 'agent.identifier': {
344
- $exists: true,
345
- $all: [{ name: 'clientId', value: params.clientId }]
346
- }
347
- }
348
- : undefined
349
- };
350
- return this.agggregateByStatus({ matchConditions, status: transactionStatus });
351
- }));
352
- return { statuses };
353
- }
354
- async agggregateByStatus(params) {
355
- const matchConditions = params.matchConditions;
356
- const transactionStatus = params.status;
357
- const aggregations = await this.transactionModel.aggregate([
358
- {
359
- $match: matchConditions
360
- },
361
- {
362
- $project: {
363
- duration: { $subtract: ['$endDate', '$startDate'] },
364
- status: '$status',
365
- startDate: '$startDate',
366
- endDate: '$endDate',
367
- typeOf: '$typeOf'
368
- }
369
- },
370
- {
371
- $group: {
372
- _id: '$typeOf',
373
- transactionCount: { $sum: 1 },
374
- maxDuration: { $max: '$duration' },
375
- minDuration: { $min: '$duration' },
376
- avgDuration: { $avg: '$duration' }
377
- }
378
- },
379
- {
380
- $project: {
381
- _id: 0,
382
- transactionCount: '$transactionCount',
383
- avgDuration: '$avgDuration',
384
- maxDuration: '$maxDuration',
385
- minDuration: '$minDuration'
386
- }
387
- }
388
- ])
389
- .exec();
390
- const percents = [50, 95, 99];
391
- if (aggregations.length === 0) {
392
- return {
393
- status: transactionStatus,
394
- aggregation: {
395
- transactionCount: 0,
396
- avgDuration: 0,
397
- maxDuration: 0,
398
- minDuration: 0,
399
- percentilesDuration: percents.map((percent) => {
400
- return {
401
- name: String(percent),
402
- value: 0
403
- };
404
- })
405
- // totalPrice: 0,
406
- // maxPrice: 0,
407
- // minPrice: 0,
408
- // avgPrice: 0
409
- }
410
- };
411
- }
412
- const ranks4percentile = percents.map((percentile) => {
413
- return {
414
- percentile,
415
- rank: Math.floor(aggregations[0].transactionCount * percentile / 100)
416
- };
417
- });
418
- const aggregations2 = await this.transactionModel.aggregate([
419
- {
420
- $match: matchConditions
421
- },
422
- {
423
- $project: {
424
- duration: { $subtract: ['$endDate', '$startDate'] },
425
- status: '$status',
426
- startDate: '$startDate',
427
- endDate: '$endDate',
428
- typeOf: '$typeOf'
429
- // result: '$result',
430
- // price: {
431
- // $cond: {
432
- // if: { $isNumber: '$result.order.price' },
433
- // then: '$result.order.price',
434
- // else: 0
435
- // }
436
- // }
437
- }
438
- },
439
- { $sort: { duration: 1 } },
440
- {
441
- $group: {
442
- _id: '$typeOf',
443
- durations: { $push: '$duration' }
444
- // totalPrice: { $sum: '$price' },
445
- // maxPrice: { $max: '$price' },
446
- // minPrice: { $min: '$price' },
447
- // avgPrice: { $avg: '$price' }
448
- }
449
- },
450
- {
451
- $project: {
452
- _id: 0,
453
- percentilesDuration: ranks4percentile.map((rank) => {
454
- return {
455
- name: String(rank.percentile),
456
- value: { $arrayElemAt: ['$durations', rank.rank] }
457
- };
458
- })
459
- // totalPrice: '$totalPrice',
460
- // maxPrice: '$maxPrice',
461
- // minPrice: '$minPrice',
462
- // avgPrice: '$avgPrice'
463
- }
464
- }
465
- ])
466
- .exec();
467
- return {
468
- status: transactionStatus,
469
- aggregation: {
470
- ...aggregations[0],
471
- ...aggregations2[0]
472
- }
473
- };
474
- }
475
94
  }
476
95
  exports.TransactionRepo = TransactionRepo;
@@ -17,14 +17,19 @@ import type { PayActionRepo } from './repo/action/pay';
17
17
  import type { RefundActionRepo } from './repo/action/refund';
18
18
  import type { AsyncActionRepo } from './repo/asyncAction';
19
19
  import type { AdditionalPropertyRepo } from './repo/additionalProperty';
20
+ import type { AdminAssetTransactionRepo } from './repo/adminAssetTransaction';
20
21
  import type { AdminAsyncActionRepo } from './repo/adminAsyncAction';
21
22
  import type { AdminScheduledTaskRepo } from './repo/adminScheduledTask';
22
23
  import type { AdminTaskRepo } from './repo/adminTask';
24
+ import type { AdminTransactionRepo } from './repo/adminTransaction';
23
25
  import type { AggregateActionRepo } from './repo/aggregateAction';
26
+ import type { AggregateAssetTransactionRepo } from './repo/aggregateAssetTransaction';
24
27
  import type { AggregateOfferRepo } from './repo/aggregateOffer';
25
28
  import type { AggregateOrderRepo } from './repo/aggregateOrder';
26
29
  import type { AggregateReservationRepo } from './repo/aggregateReservation';
30
+ import type { AggregateScheduledTaskRepo } from './repo/aggregateScheduledTask';
27
31
  import type { AggregateTaskRepo } from './repo/aggregateTask';
32
+ import type { AggregateTransactionRepo } from './repo/aggregateTransaction';
28
33
  import type { AggregationRepo } from './repo/aggregation';
29
34
  import type { AssetTransactionRepo } from './repo/assetTransaction';
30
35
  import type { ReserveTransactionRepo } from './repo/assetTransaction/reserve';
@@ -55,7 +60,6 @@ import type { OfferCatalogItemRepo } from './repo/offerCatalogItem';
55
60
  import type { OfferItemConditionRepo } from './repo/offerItemCondition';
56
61
  import type { OrderRepo } from './repo/order';
57
62
  import type { OrderInTransactionRepo } from './repo/orderInTransaction';
58
- import type { OwnershipInfoRepo } from './repo/ownershipInfo';
59
63
  import type { PassportRepo } from './repo/passport';
60
64
  import type { PaymentServiceRepo } from './repo/paymentService';
61
65
  import type { PaymentServiceChannelRepo } from './repo/paymentServiceChannel';
@@ -92,12 +96,14 @@ import type { WaiterSettingRepo } from './repo/setting/waiter';
92
96
  import type { StockHolderRepo } from './repo/stockHolder';
93
97
  import type { ScheduledTaskRepo } from './repo/scheduledTask';
94
98
  import type { TaskRepo } from './repo/task';
99
+ import type { TaskDelayedRepo } from './repo/taskDelayed';
95
100
  import type { TicketRepo } from './repo/ticket';
96
101
  import type { TransactionRepo } from './repo/transaction';
97
102
  import type { PlaceOrderRepo } from './repo/transaction/placeOrder';
98
103
  import type { ReturnOrderRepo } from './repo/transaction/returnOrder';
99
104
  import type { TransactionNumberRepo } from './repo/transactionNumber';
100
105
  import type { TransactionProcessRepo } from './repo/transactionProcess';
106
+ import type { UpdateActionRepo } from './repo/action/update';
101
107
  import type { WebSiteRepo } from './repo/webSite';
102
108
  import type { ConfirmationNumberRepo } from './repo/confirmationNumber';
103
109
  import type { OrderNumberRepo } from './repo/orderNumber';
@@ -159,11 +165,19 @@ export declare namespace action {
159
165
  namespace Refund {
160
166
  function createInstance(...params: ConstructorParameters<typeof RefundActionRepo>): Promise<RefundActionRepo>;
161
167
  }
168
+ type Update = UpdateActionRepo;
169
+ namespace Update {
170
+ function createInstance(...params: ConstructorParameters<typeof UpdateActionRepo>): Promise<UpdateActionRepo>;
171
+ }
162
172
  }
163
173
  export type AdditionalProperty = AdditionalPropertyRepo;
164
174
  export declare namespace AdditionalProperty {
165
175
  function createInstance(...params: ConstructorParameters<typeof AdditionalPropertyRepo>): Promise<AdditionalPropertyRepo>;
166
176
  }
177
+ export type AdminAssetTransaction = AdminAssetTransactionRepo;
178
+ export declare namespace AdminAssetTransaction {
179
+ function createInstance(...params: ConstructorParameters<typeof AdminAssetTransactionRepo>): Promise<AdminAssetTransactionRepo>;
180
+ }
167
181
  export type AdminAsyncAction = AdminAsyncActionRepo;
168
182
  export declare namespace AdminAsyncAction {
169
183
  function createInstance(...params: ConstructorParameters<typeof AdminAsyncActionRepo>): Promise<AdminAsyncActionRepo>;
@@ -176,14 +190,30 @@ export type AdminTask = AdminTaskRepo;
176
190
  export declare namespace AdminTask {
177
191
  function createInstance(...params: ConstructorParameters<typeof AdminTaskRepo>): Promise<AdminTaskRepo>;
178
192
  }
193
+ export type AdminTransaction = AdminTransactionRepo;
194
+ export declare namespace AdminTransaction {
195
+ function createInstance(...params: ConstructorParameters<typeof AdminTransactionRepo>): Promise<AdminTransactionRepo>;
196
+ }
179
197
  export type AggregateAction = AggregateActionRepo;
180
198
  export declare namespace AggregateAction {
181
199
  function createInstance(...params: ConstructorParameters<typeof AggregateActionRepo>): Promise<AggregateActionRepo>;
182
200
  }
201
+ export type AggregateScheduledTask = AggregateScheduledTaskRepo;
202
+ export declare namespace AggregateScheduledTask {
203
+ function createInstance(...params: ConstructorParameters<typeof AggregateScheduledTaskRepo>): Promise<AggregateScheduledTaskRepo>;
204
+ }
183
205
  export type AggregateTask = AggregateTaskRepo;
184
206
  export declare namespace AggregateTask {
185
207
  function createInstance(...params: ConstructorParameters<typeof AggregateTaskRepo>): Promise<AggregateTaskRepo>;
186
208
  }
209
+ export type AggregateTransaction = AggregateTransactionRepo;
210
+ export declare namespace AggregateTransaction {
211
+ function createInstance(...params: ConstructorParameters<typeof AggregateTransactionRepo>): Promise<AggregateTransactionRepo>;
212
+ }
213
+ export type AggregateAssetTransaction = AggregateAssetTransactionRepo;
214
+ export declare namespace AggregateAssetTransaction {
215
+ function createInstance(...params: ConstructorParameters<typeof AggregateAssetTransactionRepo>): Promise<AggregateAssetTransactionRepo>;
216
+ }
187
217
  export type AggregateOffer = AggregateOfferRepo;
188
218
  export declare namespace AggregateOffer {
189
219
  function createInstance(...params: ConstructorParameters<typeof AggregateOfferRepo>): Promise<AggregateOfferRepo>;
@@ -326,10 +356,6 @@ export type OrderNumber = OrderNumberRepo;
326
356
  export declare namespace OrderNumber {
327
357
  function createInstance(...params: ConstructorParameters<typeof OrderNumberRepo>): Promise<OrderNumberRepo>;
328
358
  }
329
- export type OwnershipInfo = OwnershipInfoRepo;
330
- export declare namespace OwnershipInfo {
331
- function createInstance(...params: ConstructorParameters<typeof OwnershipInfoRepo>): Promise<OwnershipInfoRepo>;
332
- }
333
359
  export type Passport = PassportRepo;
334
360
  export declare namespace Passport {
335
361
  function createInstance(...params: ConstructorParameters<typeof PassportRepo>): Promise<PassportRepo>;
@@ -496,6 +522,10 @@ export type Task = TaskRepo;
496
522
  export declare namespace Task {
497
523
  function createInstance(...params: ConstructorParameters<typeof TaskRepo>): Promise<TaskRepo>;
498
524
  }
525
+ export type TaskDelayed = TaskDelayedRepo;
526
+ export declare namespace TaskDelayed {
527
+ function createInstance(...params: ConstructorParameters<typeof TaskDelayedRepo>): Promise<TaskDelayedRepo>;
528
+ }
499
529
  export type AsyncAction = AsyncActionRepo;
500
530
  export declare namespace AsyncAction {
501
531
  function createInstance(...params: ConstructorParameters<typeof AsyncActionRepo>): Promise<AsyncActionRepo>;
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PaymentServiceChannel = exports.PaymentService = exports.Passport = exports.OwnershipInfo = exports.OrderNumber = exports.OrderInTransaction = exports.Order = exports.Offer = exports.OfferItemCondition = exports.OfferCatalogItem = exports.OfferCatalog = exports.NoteAboutOrder = exports.Note = exports.MovieTicketType = exports.Message = exports.MerchantReturnPolicy = exports.MemberProgram = exports.Member = exports.Issuer = exports.IdentityProvider = exports.Identity = exports.EventSeries = exports.EventSellerMakesOffer = exports.EventOffer = exports.Event = exports.EmailMessage = exports.CustomerType = exports.Customer = exports.Credentials = exports.CreativeWork = exports.ConfirmationNumber = exports.Authorization = exports.CategoryCode = exports.assetTransaction = exports.AssetTransaction = exports.Aggregation = exports.AggregateReservation = exports.AggregateOrder = exports.AggregateOffer = exports.AggregateTask = exports.AggregateAction = exports.AdminTask = exports.AdminScheduledTask = exports.AdminAsyncAction = exports.AdditionalProperty = exports.action = exports.Action = exports.AccountTitle = exports.AccountingReport = exports.AcceptedOffer = void 0;
4
- exports.WebSite = exports.rateLimit = exports.TransactionProcess = exports.TransactionNumber = exports.transaction = exports.Transaction = exports.Ticket = exports.AsyncAction = exports.Task = exports.ScheduledTask = exports.StockHolder = exports.setting = exports.Setting = exports.ServiceAvailableHour = exports.SellerReturnPolicy = exports.SellerPaymentAccepted = exports.SellerMakesOffer = exports.Seller = exports.Schedule = exports.Role = exports.ReserveInterface = exports.Reservation = exports.ProjectMakesOffer = exports.Project = exports.ProductHasOfferCatalog = exports.Product = exports.PriceSpecification = exports.PotentialAction = exports.place = exports.Person = exports.PendingReservation = exports.PaymentServiceProvider = void 0;
3
+ exports.OrderInTransaction = exports.Order = exports.Offer = exports.OfferItemCondition = exports.OfferCatalogItem = exports.OfferCatalog = exports.NoteAboutOrder = exports.Note = exports.MovieTicketType = exports.Message = exports.MerchantReturnPolicy = exports.MemberProgram = exports.Member = exports.Issuer = exports.IdentityProvider = exports.Identity = exports.EventSeries = exports.EventSellerMakesOffer = exports.EventOffer = exports.Event = exports.EmailMessage = exports.CustomerType = exports.Customer = exports.Credentials = exports.CreativeWork = exports.ConfirmationNumber = exports.Authorization = exports.CategoryCode = exports.assetTransaction = exports.AssetTransaction = exports.Aggregation = exports.AggregateReservation = exports.AggregateOrder = exports.AggregateOffer = exports.AggregateAssetTransaction = exports.AggregateTransaction = exports.AggregateTask = exports.AggregateScheduledTask = exports.AggregateAction = exports.AdminTransaction = exports.AdminTask = exports.AdminScheduledTask = exports.AdminAsyncAction = exports.AdminAssetTransaction = exports.AdditionalProperty = exports.action = exports.Action = exports.AccountTitle = exports.AccountingReport = exports.AcceptedOffer = void 0;
4
+ exports.WebSite = exports.rateLimit = exports.TransactionProcess = exports.TransactionNumber = exports.transaction = exports.Transaction = exports.Ticket = exports.AsyncAction = exports.TaskDelayed = exports.Task = exports.ScheduledTask = exports.StockHolder = exports.setting = exports.Setting = exports.ServiceAvailableHour = exports.SellerReturnPolicy = exports.SellerPaymentAccepted = exports.SellerMakesOffer = exports.Seller = exports.Schedule = exports.Role = exports.ReserveInterface = exports.Reservation = exports.ProjectMakesOffer = exports.Project = exports.ProductHasOfferCatalog = exports.Product = exports.PriceSpecification = exports.PotentialAction = exports.place = exports.Person = exports.PendingReservation = exports.PaymentServiceProvider = exports.PaymentServiceChannel = exports.PaymentService = exports.Passport = exports.OrderNumber = void 0;
5
5
  var AcceptedOffer;
6
6
  (function (AcceptedOffer) {
7
7
  let repo;
@@ -158,6 +158,17 @@ var action;
158
158
  }
159
159
  Refund.createInstance = createInstance;
160
160
  })(Refund = action.Refund || (action.Refund = {}));
161
+ let Update;
162
+ (function (Update) {
163
+ let repo;
164
+ async function createInstance(...params) {
165
+ if (repo === undefined) {
166
+ repo = (await import('./repo/action/update.js')).UpdateActionRepo;
167
+ }
168
+ return new repo(...params);
169
+ }
170
+ Update.createInstance = createInstance;
171
+ })(Update = action.Update || (action.Update = {}));
161
172
  })(action || (exports.action = action = {}));
162
173
  var AdditionalProperty;
163
174
  (function (AdditionalProperty) {
@@ -170,6 +181,17 @@ var AdditionalProperty;
170
181
  }
171
182
  AdditionalProperty.createInstance = createInstance;
172
183
  })(AdditionalProperty || (exports.AdditionalProperty = AdditionalProperty = {}));
184
+ var AdminAssetTransaction;
185
+ (function (AdminAssetTransaction) {
186
+ let repo;
187
+ async function createInstance(...params) {
188
+ if (repo === undefined) {
189
+ repo = (await import('./repo/adminAssetTransaction.js')).AdminAssetTransactionRepo;
190
+ }
191
+ return new repo(...params);
192
+ }
193
+ AdminAssetTransaction.createInstance = createInstance;
194
+ })(AdminAssetTransaction || (exports.AdminAssetTransaction = AdminAssetTransaction = {}));
173
195
  var AdminAsyncAction;
174
196
  (function (AdminAsyncAction) {
175
197
  let repo;
@@ -203,6 +225,17 @@ var AdminTask;
203
225
  }
204
226
  AdminTask.createInstance = createInstance;
205
227
  })(AdminTask || (exports.AdminTask = AdminTask = {}));
228
+ var AdminTransaction;
229
+ (function (AdminTransaction) {
230
+ let repo;
231
+ async function createInstance(...params) {
232
+ if (repo === undefined) {
233
+ repo = (await import('./repo/adminTransaction.js')).AdminTransactionRepo;
234
+ }
235
+ return new repo(...params);
236
+ }
237
+ AdminTransaction.createInstance = createInstance;
238
+ })(AdminTransaction || (exports.AdminTransaction = AdminTransaction = {}));
206
239
  var AggregateAction;
207
240
  (function (AggregateAction) {
208
241
  let repo;
@@ -214,6 +247,17 @@ var AggregateAction;
214
247
  }
215
248
  AggregateAction.createInstance = createInstance;
216
249
  })(AggregateAction || (exports.AggregateAction = AggregateAction = {}));
250
+ var AggregateScheduledTask;
251
+ (function (AggregateScheduledTask) {
252
+ let repo;
253
+ async function createInstance(...params) {
254
+ if (repo === undefined) {
255
+ repo = (await import('./repo/aggregateScheduledTask.js')).AggregateScheduledTaskRepo;
256
+ }
257
+ return new repo(...params);
258
+ }
259
+ AggregateScheduledTask.createInstance = createInstance;
260
+ })(AggregateScheduledTask || (exports.AggregateScheduledTask = AggregateScheduledTask = {}));
217
261
  var AggregateTask;
218
262
  (function (AggregateTask) {
219
263
  let repo;
@@ -225,6 +269,28 @@ var AggregateTask;
225
269
  }
226
270
  AggregateTask.createInstance = createInstance;
227
271
  })(AggregateTask || (exports.AggregateTask = AggregateTask = {}));
272
+ var AggregateTransaction;
273
+ (function (AggregateTransaction) {
274
+ let repo;
275
+ async function createInstance(...params) {
276
+ if (repo === undefined) {
277
+ repo = (await import('./repo/aggregateTransaction.js')).AggregateTransactionRepo;
278
+ }
279
+ return new repo(...params);
280
+ }
281
+ AggregateTransaction.createInstance = createInstance;
282
+ })(AggregateTransaction || (exports.AggregateTransaction = AggregateTransaction = {}));
283
+ var AggregateAssetTransaction;
284
+ (function (AggregateAssetTransaction) {
285
+ let repo;
286
+ async function createInstance(...params) {
287
+ if (repo === undefined) {
288
+ repo = (await import('./repo/aggregateAssetTransaction.js')).AggregateAssetTransactionRepo;
289
+ }
290
+ return new repo(...params);
291
+ }
292
+ AggregateAssetTransaction.createInstance = createInstance;
293
+ })(AggregateAssetTransaction || (exports.AggregateAssetTransaction = AggregateAssetTransaction = {}));
228
294
  var AggregateOffer;
229
295
  (function (AggregateOffer) {
230
296
  let repo;
@@ -613,17 +679,6 @@ var OrderNumber;
613
679
  }
614
680
  OrderNumber.createInstance = createInstance;
615
681
  })(OrderNumber || (exports.OrderNumber = OrderNumber = {}));
616
- var OwnershipInfo;
617
- (function (OwnershipInfo) {
618
- let repo;
619
- async function createInstance(...params) {
620
- if (repo === undefined) {
621
- repo = (await import('./repo/ownershipInfo.js')).OwnershipInfoRepo;
622
- }
623
- return new repo(...params);
624
- }
625
- OwnershipInfo.createInstance = createInstance;
626
- })(OwnershipInfo || (exports.OwnershipInfo = OwnershipInfo = {}));
627
682
  var Passport;
628
683
  (function (Passport) {
629
684
  let repo;
@@ -1044,6 +1099,17 @@ var Task;
1044
1099
  }
1045
1100
  Task.createInstance = createInstance;
1046
1101
  })(Task || (exports.Task = Task = {}));
1102
+ var TaskDelayed;
1103
+ (function (TaskDelayed) {
1104
+ let repo;
1105
+ async function createInstance(...params) {
1106
+ if (repo === undefined) {
1107
+ repo = (await import('./repo/taskDelayed.js')).TaskDelayedRepo;
1108
+ }
1109
+ return new repo(...params);
1110
+ }
1111
+ TaskDelayed.createInstance = createInstance;
1112
+ })(TaskDelayed || (exports.TaskDelayed = TaskDelayed = {}));
1047
1113
  var AsyncAction;
1048
1114
  (function (AsyncAction) {
1049
1115
  let repo;