@chevre/domain 21.2.0-alpha.6 → 21.2.0-alpha.61

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 (232) hide show
  1. package/example/src/chevre/aggregation/aggregateSystem.ts +58 -31
  2. package/example/src/chevre/countDelayedTasks.ts +17 -0
  3. package/example/src/chevre/countDelayedTransactions.ts +60 -0
  4. package/example/src/chevre/countMoneyTransferTransaction.ts +36 -0
  5. package/example/src/chevre/createManyEventsIfNotExist.ts +4 -1
  6. package/example/src/chevre/deleteTasksByName.ts +4 -2
  7. package/example/src/chevre/importEventsFromCOA.ts +3 -4
  8. package/example/src/chevre/migrateOrderAdditionalProperties.ts +85 -0
  9. package/example/src/chevre/migrateStockHolderKeys.ts +89 -0
  10. package/example/src/chevre/saveTasks.ts +13 -10
  11. package/example/src/chevre/searchAbortedTasks.ts +36 -0
  12. package/example/src/chevre/searchSendEmailActions.ts +44 -0
  13. package/example/src/chevre/task/executeTasks.ts +26 -0
  14. package/example/src/chevre/transaction/findCreditCard.ts +1 -1
  15. package/example/src/chevre/transaction/orderMembershipService.ts +1 -1
  16. package/example/src/chevre/transaction/startExportTasks.ts +20 -0
  17. package/example/src/chevre/updateTransaction.ts +1 -1
  18. package/lib/chevre/credentials.d.ts +1 -0
  19. package/lib/chevre/credentials.js +2 -1
  20. package/lib/chevre/eventEmitter/assetTransaction.d.ts +21 -0
  21. package/lib/chevre/eventEmitter/assetTransaction.js +25 -0
  22. package/lib/chevre/eventEmitter/task.d.ts +18 -0
  23. package/lib/chevre/eventEmitter/task.js +25 -0
  24. package/lib/chevre/eventEmitter/transaction.d.ts +21 -0
  25. package/lib/chevre/eventEmitter/transaction.js +25 -0
  26. package/lib/chevre/eventEmitter.d.ts +4 -0
  27. package/lib/chevre/eventEmitter.js +9 -0
  28. package/lib/chevre/index.d.ts +3 -2
  29. package/lib/chevre/index.js +5 -3
  30. package/lib/chevre/repo/account.js +0 -4
  31. package/lib/chevre/repo/accountTitle.js +0 -4
  32. package/lib/chevre/repo/accountTransaction.d.ts +3 -11
  33. package/lib/chevre/repo/accountTransaction.js +1 -58
  34. package/lib/chevre/repo/accountingReport.js +0 -4
  35. package/lib/chevre/repo/action.d.ts +29 -1
  36. package/lib/chevre/repo/action.js +32 -29
  37. package/lib/chevre/repo/additionalProperty.js +0 -4
  38. package/lib/chevre/repo/aggregation.js +0 -4
  39. package/lib/chevre/repo/assetTransaction.d.ts +23 -8
  40. package/lib/chevre/repo/assetTransaction.js +207 -68
  41. package/lib/chevre/repo/categoryCode.js +0 -4
  42. package/lib/chevre/repo/code.js +0 -4
  43. package/lib/chevre/repo/comment.d.ts +4 -1
  44. package/lib/chevre/repo/comment.js +20 -9
  45. package/lib/chevre/repo/confirmationNumber.d.ts +0 -1
  46. package/lib/chevre/repo/confirmationNumber.js +3 -15
  47. package/lib/chevre/repo/creativeWork.d.ts +1 -3
  48. package/lib/chevre/repo/creativeWork.js +0 -4
  49. package/lib/chevre/repo/customer.js +0 -4
  50. package/lib/chevre/repo/emailMessage.d.ts +1 -27
  51. package/lib/chevre/repo/emailMessage.js +0 -4
  52. package/lib/chevre/repo/event.d.ts +5 -1
  53. package/lib/chevre/repo/event.js +0 -4
  54. package/lib/chevre/repo/member.js +0 -4
  55. package/lib/chevre/repo/merchantReturnPolicy.d.ts +1 -3
  56. package/lib/chevre/repo/merchantReturnPolicy.js +0 -4
  57. package/lib/chevre/repo/mongoose/schemas/account.d.ts +5 -2
  58. package/lib/chevre/repo/mongoose/schemas/account.js +1 -0
  59. package/lib/chevre/repo/mongoose/schemas/accountTitle.d.ts +30 -3
  60. package/lib/chevre/repo/mongoose/schemas/accountTitle.js +1 -0
  61. package/lib/chevre/repo/mongoose/schemas/accountTransaction.d.ts +32 -3
  62. package/lib/chevre/repo/mongoose/schemas/accountTransaction.js +2 -1
  63. package/lib/chevre/repo/mongoose/schemas/accountingReport.d.ts +14 -3
  64. package/lib/chevre/repo/mongoose/schemas/accountingReport.js +1 -0
  65. package/lib/chevre/repo/mongoose/schemas/action.d.ts +44 -3
  66. package/lib/chevre/repo/mongoose/schemas/action.js +2 -1
  67. package/lib/chevre/repo/mongoose/schemas/additionalProperty.d.ts +18 -3
  68. package/lib/chevre/repo/mongoose/schemas/additionalProperty.js +1 -0
  69. package/lib/chevre/repo/mongoose/schemas/aggregation.d.ts +5 -2
  70. package/lib/chevre/repo/mongoose/schemas/aggregation.js +1 -0
  71. package/lib/chevre/repo/mongoose/schemas/assetTransaction.d.ts +45 -3
  72. package/lib/chevre/repo/mongoose/schemas/assetTransaction.js +3 -1
  73. package/lib/chevre/repo/mongoose/schemas/authorization.d.ts +20 -3
  74. package/lib/chevre/repo/mongoose/schemas/authorization.js +2 -1
  75. package/lib/chevre/repo/mongoose/schemas/categoryCode.d.ts +26 -3
  76. package/lib/chevre/repo/mongoose/schemas/categoryCode.js +1 -0
  77. package/lib/chevre/repo/mongoose/schemas/comments.d.ts +28 -3
  78. package/lib/chevre/repo/mongoose/schemas/comments.js +2 -1
  79. package/lib/chevre/repo/mongoose/schemas/creativeWork.d.ts +44 -3
  80. package/lib/chevre/repo/mongoose/schemas/creativeWork.js +1 -0
  81. package/lib/chevre/repo/mongoose/schemas/customer.d.ts +26 -3
  82. package/lib/chevre/repo/mongoose/schemas/customer.js +1 -0
  83. package/lib/chevre/repo/mongoose/schemas/emailMessages.d.ts +22 -3
  84. package/lib/chevre/repo/mongoose/schemas/emailMessages.js +1 -0
  85. package/lib/chevre/repo/mongoose/schemas/event.d.ts +72 -3
  86. package/lib/chevre/repo/mongoose/schemas/event.js +1 -0
  87. package/lib/chevre/repo/mongoose/schemas/member.d.ts +14 -3
  88. package/lib/chevre/repo/mongoose/schemas/member.js +1 -0
  89. package/lib/chevre/repo/mongoose/schemas/merchantReturnPolicy.d.ts +22 -3
  90. package/lib/chevre/repo/mongoose/schemas/merchantReturnPolicy.js +1 -0
  91. package/lib/chevre/repo/mongoose/schemas/offer.d.ts +66 -3
  92. package/lib/chevre/repo/mongoose/schemas/offer.js +1 -0
  93. package/lib/chevre/repo/mongoose/schemas/offerCatalog.d.ts +28 -3
  94. package/lib/chevre/repo/mongoose/schemas/offerCatalog.js +1 -0
  95. package/lib/chevre/repo/mongoose/schemas/offerItemCondition.d.ts +74 -0
  96. package/lib/chevre/repo/mongoose/schemas/offerItemCondition.js +45 -0
  97. package/lib/chevre/repo/mongoose/schemas/order.d.ts +52 -3
  98. package/lib/chevre/repo/mongoose/schemas/order.js +2 -1
  99. package/lib/chevre/repo/mongoose/schemas/ownershipInfo.d.ts +26 -3
  100. package/lib/chevre/repo/mongoose/schemas/ownershipInfo.js +2 -1
  101. package/lib/chevre/repo/mongoose/schemas/place.d.ts +50 -3
  102. package/lib/chevre/repo/mongoose/schemas/place.js +1 -0
  103. package/lib/chevre/repo/mongoose/schemas/priceSpecification.d.ts +30 -3
  104. package/lib/chevre/repo/mongoose/schemas/priceSpecification.js +1 -0
  105. package/lib/chevre/repo/mongoose/schemas/product.d.ts +32 -3
  106. package/lib/chevre/repo/mongoose/schemas/product.js +1 -0
  107. package/lib/chevre/repo/mongoose/schemas/project.d.ts +24 -3
  108. package/lib/chevre/repo/mongoose/schemas/project.js +1 -0
  109. package/lib/chevre/repo/mongoose/schemas/reservation.d.ts +62 -3
  110. package/lib/chevre/repo/mongoose/schemas/reservation.js +2 -1
  111. package/lib/chevre/repo/mongoose/schemas/role.d.ts +12 -3
  112. package/lib/chevre/repo/mongoose/schemas/role.js +1 -0
  113. package/lib/chevre/repo/mongoose/schemas/seller.d.ts +32 -3
  114. package/lib/chevre/repo/mongoose/schemas/seller.js +1 -0
  115. package/lib/chevre/repo/mongoose/schemas/serviceOutput.d.ts +12 -3
  116. package/lib/chevre/repo/mongoose/schemas/serviceOutput.js +2 -1
  117. package/lib/chevre/repo/mongoose/schemas/task.d.ts +31 -3
  118. package/lib/chevre/repo/mongoose/schemas/task.js +3 -1
  119. package/lib/chevre/repo/mongoose/schemas/telemetry.d.ts +22 -3
  120. package/lib/chevre/repo/mongoose/schemas/telemetry.js +1 -0
  121. package/lib/chevre/repo/mongoose/schemas/transaction.d.ts +41 -3
  122. package/lib/chevre/repo/mongoose/schemas/transaction.js +3 -1
  123. package/lib/chevre/repo/mongoose/schemas/trip.d.ts +12 -3
  124. package/lib/chevre/repo/mongoose/schemas/trip.js +1 -0
  125. package/lib/chevre/repo/offer.js +0 -5
  126. package/lib/chevre/repo/offerCatalog.js +0 -4
  127. package/lib/chevre/repo/offerItemCondition.d.ts +39 -0
  128. package/lib/chevre/repo/offerItemCondition.js +112 -0
  129. package/lib/chevre/repo/order.d.ts +25 -0
  130. package/lib/chevre/repo/order.js +5 -4
  131. package/lib/chevre/repo/ownershipInfo.js +0 -4
  132. package/lib/chevre/repo/permit.js +0 -4
  133. package/lib/chevre/repo/place.js +0 -4
  134. package/lib/chevre/repo/priceSpecification.js +0 -4
  135. package/lib/chevre/repo/product.js +0 -4
  136. package/lib/chevre/repo/project.js +0 -4
  137. package/lib/chevre/repo/reservation.js +0 -4
  138. package/lib/chevre/repo/role.js +0 -4
  139. package/lib/chevre/repo/seller.js +0 -4
  140. package/lib/chevre/repo/serviceOutput.js +0 -4
  141. package/lib/chevre/repo/stockHolder.js +30 -0
  142. package/lib/chevre/repo/task.d.ts +41 -2
  143. package/lib/chevre/repo/task.js +97 -12
  144. package/lib/chevre/repo/telemetry.js +0 -4
  145. package/lib/chevre/repo/transaction.d.ts +23 -3
  146. package/lib/chevre/repo/transaction.js +174 -58
  147. package/lib/chevre/repo/trip.js +0 -4
  148. package/lib/chevre/repository.d.ts +5 -2
  149. package/lib/chevre/repository.js +8 -4
  150. package/lib/chevre/service/aggregation/system.d.ts +67 -22
  151. package/lib/chevre/service/aggregation/system.js +101 -89
  152. package/lib/chevre/service/assetTransaction/cancelReservation.js +23 -25
  153. package/lib/chevre/service/assetTransaction/moneyTransfer.js +23 -21
  154. package/lib/chevre/service/assetTransaction/pay/potentialActions.js +17 -1
  155. package/lib/chevre/service/assetTransaction/pay.js +32 -24
  156. package/lib/chevre/service/assetTransaction/refund.js +23 -21
  157. package/lib/chevre/service/assetTransaction/registerService.js +23 -22
  158. package/lib/chevre/service/assetTransaction/reserve.js +23 -21
  159. package/lib/chevre/service/assetTransaction.d.ts +6 -2
  160. package/lib/chevre/service/assetTransaction.js +9 -5
  161. package/lib/chevre/service/event.js +3 -1
  162. package/lib/chevre/service/notification/factory.js +2 -2
  163. package/lib/chevre/service/notification.d.ts +3 -1
  164. package/lib/chevre/service/notification.js +41 -7
  165. package/lib/chevre/service/offer/event/voidTransaction.d.ts +2 -0
  166. package/lib/chevre/service/offer/event/voidTransaction.js +17 -1
  167. package/lib/chevre/service/offer.js +1 -1
  168. package/lib/chevre/service/order/deleteOrder.js +8 -8
  169. package/lib/chevre/service/order/onOrderStatusChanged/factory.js +25 -36
  170. package/lib/chevre/service/order/onOrderStatusChanged.js +1 -1
  171. package/lib/chevre/service/order/placeOrder.js +1 -1
  172. package/lib/chevre/service/order/returnOrder.js +1 -5
  173. package/lib/chevre/service/order/sendOrder.js +1 -1
  174. package/lib/chevre/service/payment/any/onPaid.js +1 -1
  175. package/lib/chevre/service/payment/any/onRefund.js +1 -1
  176. package/lib/chevre/service/payment/any.js +60 -10
  177. package/lib/chevre/service/payment/movieTicket/validation.d.ts +3 -2
  178. package/lib/chevre/service/payment/movieTicket/validation.js +12 -25
  179. package/lib/chevre/service/payment/movieTicket.d.ts +1 -1
  180. package/lib/chevre/service/payment/movieTicket.js +4 -3
  181. package/lib/chevre/service/product.js +1 -5
  182. package/lib/chevre/service/report/telemetry.d.ts +0 -11
  183. package/lib/chevre/service/report/telemetry.js +21 -24
  184. package/lib/chevre/service/reserve/cancelReservation.js +0 -2
  185. package/lib/chevre/service/reserve/potentialActions/onReservationCanceled.d.ts +0 -3
  186. package/lib/chevre/service/reserve/potentialActions/onReservationCanceled.js +20 -20
  187. package/lib/chevre/service/reserve/potentialActions/onReservationCheckedIn.js +2 -3
  188. package/lib/chevre/service/reserve/potentialActions/onReservationConfirmed.js +2 -31
  189. package/lib/chevre/service/reserve/potentialActions/onReservationUsed.js +2 -3
  190. package/lib/chevre/service/reserve/useReservation.js +1 -8
  191. package/lib/chevre/service/task/confirmRegisterServiceTransaction.js +1 -1
  192. package/lib/chevre/service/task/deleteTransaction.js +10 -8
  193. package/lib/chevre/service/task/importOffersFromCOA.js +4 -0
  194. package/lib/chevre/service/task/returnPayTransaction.js +2 -12
  195. package/lib/chevre/service/task/voidReserveTransaction.js +3 -1
  196. package/lib/chevre/service/task.d.ts +9 -0
  197. package/lib/chevre/service/task.js +43 -4
  198. package/lib/chevre/service/transaction/deleteTransaction.d.ts +21 -0
  199. package/lib/chevre/service/transaction/deleteTransaction.js +226 -0
  200. package/lib/chevre/service/transaction/moneyTransfer/exportTasks/factory.js +11 -1
  201. package/lib/chevre/service/transaction/moneyTransfer/factory.js +3 -1
  202. package/lib/chevre/service/transaction/moneyTransfer/potentialActions.d.ts +1 -0
  203. package/lib/chevre/service/transaction/moneyTransfer/potentialActions.js +1 -1
  204. package/lib/chevre/service/transaction/moneyTransfer.js +9 -12
  205. package/lib/chevre/service/transaction/orderProgramMembership.js +2 -1
  206. package/lib/chevre/service/transaction/placeOrder/exportTasks/factory.js +42 -30
  207. package/lib/chevre/service/transaction/placeOrder.js +1 -5
  208. package/lib/chevre/service/transaction/placeOrderInProgress/factory.js +1 -1
  209. package/lib/chevre/service/transaction/placeOrderInProgress/potentialActions/moneyTransfer.d.ts +1 -0
  210. package/lib/chevre/service/transaction/placeOrderInProgress/potentialActions/moneyTransfer.js +1 -1
  211. package/lib/chevre/service/transaction/placeOrderInProgress/potentialActions/registerService.d.ts +1 -0
  212. package/lib/chevre/service/transaction/placeOrderInProgress/potentialActions/registerService.js +1 -1
  213. package/lib/chevre/service/transaction/placeOrderInProgress/potentialActions.d.ts +1 -0
  214. package/lib/chevre/service/transaction/placeOrderInProgress/result/acceptedOffers.d.ts +3 -0
  215. package/lib/chevre/service/transaction/placeOrderInProgress/result/acceptedOffers.js +7 -3
  216. package/lib/chevre/service/transaction/placeOrderInProgress/result.d.ts +1 -0
  217. package/lib/chevre/service/transaction/placeOrderInProgress/result.js +2 -2
  218. package/lib/chevre/service/transaction/placeOrderInProgress/validation/validateMovieTicket.d.ts +1 -1
  219. package/lib/chevre/service/transaction/placeOrderInProgress/validation/validateMovieTicket.js +2 -2
  220. package/lib/chevre/service/transaction/placeOrderInProgress/validation.d.ts +2 -1
  221. package/lib/chevre/service/transaction/placeOrderInProgress/validation.js +23 -17
  222. package/lib/chevre/service/transaction/placeOrderInProgress.d.ts +1 -3
  223. package/lib/chevre/service/transaction/placeOrderInProgress.js +22 -11
  224. package/lib/chevre/service/transaction/returnOrder/exportTasks/factory.js +10 -1
  225. package/lib/chevre/service/transaction/returnOrder.js +1 -5
  226. package/lib/chevre/service/transaction.d.ts +8 -13
  227. package/lib/chevre/service/transaction.js +12 -145
  228. package/lib/chevre/settings.d.ts +6 -1
  229. package/lib/chevre/settings.js +17 -5
  230. package/package.json +5 -5
  231. package/example/src/chevre/migrateMoneyTransferPendingTransactionIdentifier.ts +0 -96
  232. package/example/src/chevre/migrateMovieAdditionalProperties.ts +0 -98
@@ -0,0 +1,20 @@
1
+ // tslint:disable:no-console
2
+ import * as mongoose from 'mongoose';
3
+
4
+ import { chevre } from '../../../../lib/index';
5
+
6
+ async function main() {
7
+ await mongoose.connect(<string>process.env.MONGOLAB_URI, { autoIndex: false });
8
+
9
+ const transactionRepo = new chevre.repository.Transaction(mongoose.connection);
10
+ const result = await transactionRepo.startExportTasks({
11
+ typeOf: { $in: [chevre.factory.transactionType.PlaceOrder] },
12
+ status: chevre.factory.transactionStatusType.Confirmed,
13
+ tasksExportAction: { agent: { name: 'xxx' } }
14
+ });
15
+ console.log(result);
16
+ }
17
+
18
+ main()
19
+ .then(console.log)
20
+ .catch(console.error);
@@ -14,7 +14,7 @@ async function main() {
14
14
  };
15
15
 
16
16
  let now = moment();
17
- await transactionRepo.findByIdAndUpdate({
17
+ await transactionRepo.findByIdAndUpdateInProgress({
18
18
  id: transactionId,
19
19
  update
20
20
  });
@@ -27,6 +27,7 @@ export declare const credentials: {
27
27
  lineNotify: {
28
28
  url: string;
29
29
  accessToken: string;
30
+ accessTokenAlert: string;
30
31
  };
31
32
  movieticketReserve: {
32
33
  timeout: number;
@@ -31,7 +31,8 @@ exports.credentials = {
31
31
  },
32
32
  lineNotify: {
33
33
  url: process.env.LINE_NOTIFY_URL,
34
- accessToken: process.env.LINE_NOTIFY_ACCESS_TOKEN
34
+ accessToken: process.env.LINE_NOTIFY_ACCESS_TOKEN,
35
+ accessTokenAlert: process.env.LINE_NOTIFY_ACCESS_TOKEN_ALERT
35
36
  },
36
37
  movieticketReserve: {
37
38
  // tslint:disable-next-line:no-magic-numbers
@@ -0,0 +1,21 @@
1
+ /// <reference types="node" />
2
+ import { EventEmitter } from 'events';
3
+ import * as factory from '../factory';
4
+ interface IListenArgsOnAssetTransactionStatusChanged {
5
+ /**
6
+ * 取引ID
7
+ */
8
+ id: string;
9
+ typeOf: factory.assetTransactionType;
10
+ status: factory.transactionStatusType;
11
+ }
12
+ type IOnAssetTransactionStatusChangedListener = (listenArgs: IListenArgsOnAssetTransactionStatusChanged) => void;
13
+ /**
14
+ * 資産取引イベントエミッター
15
+ */
16
+ declare class AssetTransactionEventEmitter extends EventEmitter {
17
+ onAssetTransactionStatusChanged(listner: IOnAssetTransactionStatusChangedListener): void;
18
+ emitAssetTransactionStatusChanged(args: IListenArgsOnAssetTransactionStatusChanged): void;
19
+ }
20
+ declare const assetTransactionEventEmitter: AssetTransactionEventEmitter;
21
+ export { IListenArgsOnAssetTransactionStatusChanged, assetTransactionEventEmitter };
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.assetTransactionEventEmitter = void 0;
4
+ const events_1 = require("events");
5
+ var EventName;
6
+ (function (EventName) {
7
+ EventName["OnAssetTransactionStatusChanged"] = "OnAssetTransactionStatusChanged";
8
+ })(EventName || (EventName = {}));
9
+ /**
10
+ * 資産取引イベントエミッター
11
+ */
12
+ class AssetTransactionEventEmitter extends events_1.EventEmitter {
13
+ onAssetTransactionStatusChanged(listner) {
14
+ this.on(EventName.OnAssetTransactionStatusChanged, listner);
15
+ }
16
+ emitAssetTransactionStatusChanged(args) {
17
+ this.emit(EventName.OnAssetTransactionStatusChanged, args);
18
+ }
19
+ }
20
+ const assetTransactionEventEmitter = new AssetTransactionEventEmitter();
21
+ exports.assetTransactionEventEmitter = assetTransactionEventEmitter;
22
+ assetTransactionEventEmitter.on('error', (err) => {
23
+ // tslint:disable-next-line:no-console
24
+ console.error('assetTransactionEventEmitter listened an error.', err);
25
+ });
@@ -0,0 +1,18 @@
1
+ /// <reference types="node" />
2
+ import { EventEmitter } from 'events';
3
+ import * as factory from '../factory';
4
+ interface IListenArgsOnTaskStatusChanged {
5
+ id: string;
6
+ name?: factory.taskName;
7
+ status: factory.taskStatus;
8
+ }
9
+ type IOnTaskStatusChangedListener = (listenArgs: IListenArgsOnTaskStatusChanged) => void;
10
+ /**
11
+ * タスクイベントエミッター
12
+ */
13
+ declare class TaskEventEmitter extends EventEmitter {
14
+ onTaskStatusChanged(listner: IOnTaskStatusChangedListener): void;
15
+ emitTaskStatusChanged(args: IListenArgsOnTaskStatusChanged): void;
16
+ }
17
+ declare const taskEventEmitter: TaskEventEmitter;
18
+ export { IOnTaskStatusChangedListener, taskEventEmitter };
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.taskEventEmitter = void 0;
4
+ const events_1 = require("events");
5
+ var EventName;
6
+ (function (EventName) {
7
+ EventName["OnTaskStatusChanged"] = "OnTaskStatusChanged";
8
+ })(EventName || (EventName = {}));
9
+ /**
10
+ * タスクイベントエミッター
11
+ */
12
+ class TaskEventEmitter extends events_1.EventEmitter {
13
+ onTaskStatusChanged(listner) {
14
+ this.on(EventName.OnTaskStatusChanged, listner);
15
+ }
16
+ emitTaskStatusChanged(args) {
17
+ this.emit(EventName.OnTaskStatusChanged, args);
18
+ }
19
+ }
20
+ const taskEventEmitter = new TaskEventEmitter();
21
+ exports.taskEventEmitter = taskEventEmitter;
22
+ taskEventEmitter.on('error', (err) => {
23
+ // tslint:disable-next-line:no-console
24
+ console.error('taskEventEmitter listened an error.', err);
25
+ });
@@ -0,0 +1,21 @@
1
+ /// <reference types="node" />
2
+ import { EventEmitter } from 'events';
3
+ import * as factory from '../factory';
4
+ interface IListenArgsOnTransactionStatusChanged {
5
+ /**
6
+ * 取引ID
7
+ */
8
+ id: string;
9
+ typeOf: factory.transactionType;
10
+ status: factory.transactionStatusType;
11
+ }
12
+ type IOnTransactionStatusChangedListener = (listenArgs: IListenArgsOnTransactionStatusChanged) => void;
13
+ /**
14
+ * 取引イベントエミッター
15
+ */
16
+ declare class TransactionEventEmitter extends EventEmitter {
17
+ onTransactionStatusChanged(listner: IOnTransactionStatusChangedListener): void;
18
+ emitTransactionStatusChanged(args: IListenArgsOnTransactionStatusChanged): void;
19
+ }
20
+ declare const transactionEventEmitter: TransactionEventEmitter;
21
+ export { IListenArgsOnTransactionStatusChanged, transactionEventEmitter };
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.transactionEventEmitter = void 0;
4
+ const events_1 = require("events");
5
+ var EventName;
6
+ (function (EventName) {
7
+ EventName["OnTransactionStatusChanged"] = "OnTransactionStatusChanged";
8
+ })(EventName || (EventName = {}));
9
+ /**
10
+ * 取引イベントエミッター
11
+ */
12
+ class TransactionEventEmitter extends events_1.EventEmitter {
13
+ onTransactionStatusChanged(listner) {
14
+ this.on(EventName.OnTransactionStatusChanged, listner);
15
+ }
16
+ emitTransactionStatusChanged(args) {
17
+ this.emit(EventName.OnTransactionStatusChanged, args);
18
+ }
19
+ }
20
+ const transactionEventEmitter = new TransactionEventEmitter();
21
+ exports.transactionEventEmitter = transactionEventEmitter;
22
+ transactionEventEmitter.on('error', (err) => {
23
+ // tslint:disable-next-line:no-console
24
+ console.error('transactionEventEmitter listened an error.', err);
25
+ });
@@ -0,0 +1,4 @@
1
+ import { assetTransactionEventEmitter } from './eventEmitter/assetTransaction';
2
+ import { taskEventEmitter } from './eventEmitter/task';
3
+ import { transactionEventEmitter } from './eventEmitter/transaction';
4
+ export { assetTransactionEventEmitter as assetTransaction, taskEventEmitter as task, transactionEventEmitter as transaction };
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.transaction = exports.task = exports.assetTransaction = void 0;
4
+ const assetTransaction_1 = require("./eventEmitter/assetTransaction");
5
+ Object.defineProperty(exports, "assetTransaction", { enumerable: true, get: function () { return assetTransaction_1.assetTransactionEventEmitter; } });
6
+ const task_1 = require("./eventEmitter/task");
7
+ Object.defineProperty(exports, "task", { enumerable: true, get: function () { return task_1.taskEventEmitter; } });
8
+ const transaction_1 = require("./eventEmitter/transaction");
9
+ Object.defineProperty(exports, "transaction", { enumerable: true, get: function () { return transaction_1.transactionEventEmitter; } });
@@ -6,9 +6,10 @@ import * as GMO from '@motionpicture/gmo-service';
6
6
  import * as surfrock from '@surfrock/sdk';
7
7
  import { credentials } from './credentials';
8
8
  import * as errorHandler from './errorHandler';
9
+ import * as eventEmitter from './eventEmitter';
9
10
  import * as factory from './factory';
10
11
  import * as pecorinoapi from './pecorinoapi';
11
12
  import * as repository from './repository';
12
13
  import * as service from './service';
13
- import { settings } from './settings';
14
- export { credentials, errorHandler, factory, repository, service, settings, surfrock, pecorinoapi, COA, GMO };
14
+ import * as settings from './settings';
15
+ export { credentials, errorHandler, eventEmitter, factory, repository, service, settings, surfrock, pecorinoapi, COA, GMO };
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.GMO = exports.COA = exports.pecorinoapi = exports.surfrock = exports.settings = exports.service = exports.repository = exports.factory = exports.errorHandler = exports.credentials = void 0;
3
+ exports.GMO = exports.COA = exports.pecorinoapi = exports.surfrock = exports.settings = exports.service = exports.repository = exports.factory = exports.eventEmitter = exports.errorHandler = exports.credentials = void 0;
4
4
  /**
5
5
  * index module
6
6
  */
@@ -14,6 +14,8 @@ const credentials_1 = require("./credentials");
14
14
  Object.defineProperty(exports, "credentials", { enumerable: true, get: function () { return credentials_1.credentials; } });
15
15
  const errorHandler = require("./errorHandler");
16
16
  exports.errorHandler = errorHandler;
17
+ const eventEmitter = require("./eventEmitter");
18
+ exports.eventEmitter = eventEmitter;
17
19
  const factory = require("./factory");
18
20
  exports.factory = factory;
19
21
  const pecorinoapi = require("./pecorinoapi");
@@ -22,5 +24,5 @@ const repository = require("./repository");
22
24
  exports.repository = repository;
23
25
  const service = require("./service");
24
26
  exports.service = service;
25
- const settings_1 = require("./settings");
26
- Object.defineProperty(exports, "settings", { enumerable: true, get: function () { return settings_1.settings; } });
27
+ const settings = require("./settings");
28
+ exports.settings = settings;
@@ -10,7 +10,6 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.MongoRepository = void 0;
13
- const onIndexCreated_1 = require("./mongoose/onIndexCreated");
14
13
  const account_1 = require("./mongoose/schemas/account");
15
14
  const factory = require("../factory");
16
15
  /**
@@ -19,9 +18,6 @@ const factory = require("../factory");
19
18
  class MongoRepository {
20
19
  constructor(connection) {
21
20
  this.accountModel = connection.model(account_1.modelName, account_1.schema);
22
- if (connection.get('autoIndex') === true) {
23
- this.accountModel.on(onIndexCreated_1.INDEX_EVENT, onIndexCreated_1.onIndexCreated);
24
- }
25
21
  }
26
22
  // tslint:disable-next-line:cyclomatic-complexity max-func-body-length
27
23
  static CREATE_MONGO_CONDITIONS(params) {
@@ -11,7 +11,6 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.MongoRepository = void 0;
13
13
  const factory = require("../factory");
14
- const onIndexCreated_1 = require("./mongoose/onIndexCreated");
15
14
  const accountTitle_1 = require("./mongoose/schemas/accountTitle");
16
15
  /**
17
16
  * 科目リポジトリ
@@ -19,9 +18,6 @@ const accountTitle_1 = require("./mongoose/schemas/accountTitle");
19
18
  class MongoRepository {
20
19
  constructor(connection) {
21
20
  this.accountTitleModel = connection.model(accountTitle_1.modelName, accountTitle_1.schema);
22
- if (connection.get('autoIndex') === true) {
23
- this.accountTitleModel.on(onIndexCreated_1.INDEX_EVENT, onIndexCreated_1.onIndexCreated);
24
- }
25
21
  }
26
22
  deleteByProject(params) {
27
23
  return __awaiter(this, void 0, void 0, function* () {
@@ -42,21 +42,13 @@ export declare class MongoRepository {
42
42
  id?: string;
43
43
  transactionNumber?: string;
44
44
  }): Promise<factory.account.transaction.ITransaction<T>>;
45
- /**
46
- * タスク未エクスポートの取引をひとつ取得してエクスポートを開始する
47
- */
48
- /**
49
- * タスクエクスポートリトライ
50
- * TODO updatedAtを基準にしているが、タスクエクスポートトライ日時を持たせた方が安全か?
51
- */
52
- /**
53
- * タスクをエクスポート済に変更する
54
- */
55
45
  /**
56
46
  * 取引を期限切れにする
57
47
  */
58
48
  makeExpired(params: {
59
- expires: Date;
49
+ expires: {
50
+ $lt: Date;
51
+ };
60
52
  }): Promise<void>;
61
53
  /**
62
54
  * 取引を検索する
@@ -11,7 +11,6 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.MongoRepository = void 0;
13
13
  const moment = require("moment");
14
- const onIndexCreated_1 = require("./mongoose/onIndexCreated");
15
14
  const accountTransaction_1 = require("./mongoose/schemas/accountTransaction");
16
15
  const factory = require("../factory");
17
16
  /**
@@ -20,9 +19,6 @@ const factory = require("../factory");
20
19
  class MongoRepository {
21
20
  constructor(connection) {
22
21
  this.transactionModel = connection.model(accountTransaction_1.modelName, accountTransaction_1.schema);
23
- if (connection.get('autoIndex') === true) {
24
- this.transactionModel.on(onIndexCreated_1.INDEX_EVENT, onIndexCreated_1.onIndexCreated);
25
- }
26
22
  }
27
23
  static CREATE_MONGO_CONDITIONS(params) {
28
24
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s;
@@ -225,59 +221,6 @@ class MongoRepository {
225
221
  return doc.toObject();
226
222
  });
227
223
  }
228
- /**
229
- * タスク未エクスポートの取引をひとつ取得してエクスポートを開始する
230
- */
231
- // public async startExportTasks<T extends factory.account.transactionType>(
232
- // status: factory.transactionStatusType
233
- // ): Promise<factory.account.transaction.ITransaction<T> | null> {
234
- // return this.transactionModel.findOneAndUpdate(
235
- // {
236
- // status: status,
237
- // tasksExportationStatus: factory.transactionTasksExportationStatus.Unexported
238
- // },
239
- // { tasksExportationStatus: factory.transactionTasksExportationStatus.Exporting },
240
- // { new: true }
241
- // )
242
- // .exec()
243
- // // tslint:disable-next-line:no-null-keyword
244
- // .then((doc) => (doc === null) ? null : doc.toObject());
245
- // }
246
- // tslint:disable-next-line:no-suspicious-comment
247
- /**
248
- * タスクエクスポートリトライ
249
- * TODO updatedAtを基準にしているが、タスクエクスポートトライ日時を持たせた方が安全か?
250
- */
251
- // public async reexportTasks(params: { intervalInMinutes: number }): Promise<void> {
252
- // await this.transactionModel.updateMany(
253
- // {
254
- // tasksExportationStatus: factory.transactionTasksExportationStatus.Exporting,
255
- // updatedAt: {
256
- // $lt: moment()
257
- // .add(-params.intervalInMinutes, 'minutes')
258
- // .toDate()
259
- // }
260
- // },
261
- // {
262
- // tasksExportationStatus: factory.transactionTasksExportationStatus.Unexported
263
- // }
264
- // )
265
- // .exec();
266
- // }
267
- /**
268
- * タスクをエクスポート済に変更する
269
- */
270
- // public async setTasksExportedById(transactionId: string): Promise<void> {
271
- // await this.transactionModel.findByIdAndUpdate(
272
- // transactionId,
273
- // {
274
- // tasksExportationStatus: factory.transactionTasksExportationStatus.Exported,
275
- // tasksExportedAt: moment()
276
- // .toDate()
277
- // }
278
- // )
279
- // .exec();
280
- // }
281
224
  /**
282
225
  * 取引を期限切れにする
283
226
  */
@@ -286,7 +229,7 @@ class MongoRepository {
286
229
  // ステータスと期限を見て更新
287
230
  yield this.transactionModel.updateMany({
288
231
  status: factory.transactionStatusType.InProgress,
289
- expires: { $lt: params.expires }
232
+ expires: { $lt: params.expires.$lt }
290
233
  }, {
291
234
  status: factory.transactionStatusType.Expired,
292
235
  endDate: new Date()
@@ -10,7 +10,6 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.MongoRepository = void 0;
13
- const onIndexCreated_1 = require("./mongoose/onIndexCreated");
14
13
  const accountingReport_1 = require("./mongoose/schemas/accountingReport");
15
14
  const errorHandler_1 = require("../errorHandler");
16
15
  /**
@@ -19,9 +18,6 @@ const errorHandler_1 = require("../errorHandler");
19
18
  class MongoRepository {
20
19
  constructor(connection) {
21
20
  this.accountingReportModel = connection.model(accountingReport_1.modelName, accountingReport_1.schema);
22
- if (connection.get('autoIndex') === true) {
23
- this.accountingReportModel.on(onIndexCreated_1.INDEX_EVENT, onIndexCreated_1.onIndexCreated);
24
- }
25
21
  }
26
22
  /**
27
23
  * なければ作成する
@@ -82,7 +82,18 @@ export declare class MongoRepository {
82
82
  typeOf?: T;
83
83
  purpose: {
84
84
  typeOf: factory.transactionType;
85
- id?: string;
85
+ id: string;
86
+ };
87
+ object?: {
88
+ typeOf?: {
89
+ $eq?: factory.action.authorize.offer.seatReservation.ObjectType.SeatReservation | factory.action.authorize.paymentMethod.any.ResultType.Payment;
90
+ };
91
+ paymentMethodId?: {
92
+ $eq?: string;
93
+ };
94
+ };
95
+ actionStatus?: {
96
+ $eq?: factory.actionStatusType;
86
97
  };
87
98
  sort?: factory.action.ISortOrder;
88
99
  }): Promise<IAction<T>[]>;
@@ -122,6 +133,23 @@ export declare class MongoRepository {
122
133
  deleteEndDatePassedCertainPeriod(params: {
123
134
  $lt: Date;
124
135
  }): Promise<void>;
136
+ /**
137
+ * 取引からアクションを削除する
138
+ */
139
+ deleteByPurpose(params: {
140
+ project: {
141
+ id: string;
142
+ };
143
+ purpose: {
144
+ typeOf: factory.transactionType;
145
+ id: string;
146
+ };
147
+ typeOf: {
148
+ $in: factory.actionType[];
149
+ };
150
+ }): Promise<{
151
+ deletedCount?: number;
152
+ } | null>;
125
153
  aggregateAuthorizeEventServiceOfferAction(params: {
126
154
  project?: {
127
155
  id?: {
@@ -11,7 +11,6 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.MongoRepository = void 0;
13
13
  const factory = require("../factory");
14
- const onIndexCreated_1 = require("./mongoose/onIndexCreated");
15
14
  const action_1 = require("./mongoose/schemas/action");
16
15
  /**
17
16
  * アクションリポジトリ
@@ -19,9 +18,6 @@ const action_1 = require("./mongoose/schemas/action");
19
18
  class MongoRepository {
20
19
  constructor(connection) {
21
20
  this.actionModel = connection.model(action_1.modelName, action_1.schema);
22
- if (connection.get('autoIndex') === true) {
23
- this.actionModel.on(onIndexCreated_1.INDEX_EVENT, onIndexCreated_1.onIndexCreated);
24
- }
25
21
  }
26
22
  // tslint:disable-next-line:cyclomatic-complexity max-func-body-length
27
23
  static CREATE_MONGO_CONDITIONS(params) {
@@ -532,32 +528,16 @@ class MongoRepository {
532
528
  * 取引に対するアクション検索時などに使用
533
529
  */
534
530
  searchByPurpose(params) {
535
- var _a;
531
+ var _a, _b, _c, _d, _e, _f;
536
532
  return __awaiter(this, void 0, void 0, function* () {
537
- const conditions = {
538
- 'purpose.typeOf': {
539
- $exists: true,
540
- $eq: params.purpose.typeOf
541
- }
542
- };
543
- if (params.typeOf !== undefined) {
544
- conditions.typeOf = params.typeOf;
545
- }
546
- if (params.purpose.id !== undefined) {
547
- conditions['purpose.id'] = {
548
- $exists: true,
549
- $eq: params.purpose.id
550
- };
551
- }
552
- const query = this.actionModel.find(conditions)
553
- .select({ __v: 0, createdAt: 0, updatedAt: 0 });
554
- // tslint:disable-next-line:no-single-line-block-comment
555
- /* istanbul ignore else */
556
- if (((_a = params.sort) === null || _a === void 0 ? void 0 : _a.startDate) !== undefined) {
557
- query.sort({ startDate: params.sort.startDate });
558
- }
559
- return query.exec()
560
- .then((docs) => docs.map((doc) => doc.toObject()));
533
+ return this.search(Object.assign(Object.assign(Object.assign({ purpose: {
534
+ id: { $in: [params.purpose.id] },
535
+ typeOf: { $in: [params.purpose.typeOf] }
536
+ }, object: Object.assign(Object.assign({}, (typeof ((_b = (_a = params.object) === null || _a === void 0 ? void 0 : _a.typeOf) === null || _b === void 0 ? void 0 : _b.$eq) === 'string')
537
+ ? { typeOf: { $eq: params.object.typeOf.$eq } }
538
+ : undefined), (typeof ((_d = (_c = params.object) === null || _c === void 0 ? void 0 : _c.paymentMethodId) === null || _d === void 0 ? void 0 : _d.$eq) === 'string')
539
+ ? { paymentMethodId: { $eq: params.object.paymentMethodId.$eq } }
540
+ : undefined) }, (typeof ((_e = params.actionStatus) === null || _e === void 0 ? void 0 : _e.$eq) === 'string') ? { actionStatus: { $in: [params.actionStatus.$eq] } } : undefined), (typeof params.typeOf === 'string') ? { typeOf: { $eq: params.typeOf } } : undefined), (typeof ((_f = params.sort) === null || _f === void 0 ? void 0 : _f.startDate) === 'number') ? { sort: params.sort } : undefined), [], []);
561
541
  });
562
542
  }
563
543
  /**
@@ -695,6 +675,29 @@ class MongoRepository {
695
675
  .exec();
696
676
  });
697
677
  }
678
+ /**
679
+ * 取引からアクションを削除する
680
+ */
681
+ deleteByPurpose(params) {
682
+ return __awaiter(this, void 0, void 0, function* () {
683
+ return this.actionModel.deleteMany({
684
+ 'project.id': { $eq: params.project.id },
685
+ typeOf: { $in: params.typeOf.$in },
686
+ 'purpose.id': { $exists: true, $eq: params.purpose.id },
687
+ 'purpose.typeOf': { $exists: true, $eq: params.purpose.typeOf }
688
+ })
689
+ .exec()
690
+ .then((result) => {
691
+ return {
692
+ // n: result?.n,
693
+ // opTime: result.opTime,
694
+ // ok: result?.ok,
695
+ // operationTime,
696
+ deletedCount: result === null || result === void 0 ? void 0 : result.deletedCount
697
+ };
698
+ });
699
+ });
700
+ }
698
701
  aggregateAuthorizeEventServiceOfferAction(params) {
699
702
  return __awaiter(this, void 0, void 0, function* () {
700
703
  const statuses = yield Promise.all([
@@ -21,7 +21,6 @@ var __rest = (this && this.__rest) || function (s, e) {
21
21
  };
22
22
  Object.defineProperty(exports, "__esModule", { value: true });
23
23
  exports.MongoRepository = void 0;
24
- const onIndexCreated_1 = require("./mongoose/onIndexCreated");
25
24
  const additionalProperty_1 = require("./mongoose/schemas/additionalProperty");
26
25
  const factory = require("../factory");
27
26
  /**
@@ -30,9 +29,6 @@ const factory = require("../factory");
30
29
  class MongoRepository {
31
30
  constructor(connection) {
32
31
  this.additionalPropertyModel = connection.model(additionalProperty_1.modelName, additionalProperty_1.schema);
33
- if (connection.get('autoIndex') === true) {
34
- this.additionalPropertyModel.on(onIndexCreated_1.INDEX_EVENT, onIndexCreated_1.onIndexCreated);
35
- }
36
32
  }
37
33
  // tslint:disable-next-line:cyclomatic-complexity max-func-body-length
38
34
  static CREATE_MONGO_CONDITIONS(params) {
@@ -21,7 +21,6 @@ var __rest = (this && this.__rest) || function (s, e) {
21
21
  };
22
22
  Object.defineProperty(exports, "__esModule", { value: true });
23
23
  exports.MongoRepository = exports.AggregationType = void 0;
24
- const onIndexCreated_1 = require("./mongoose/onIndexCreated");
25
24
  const aggregation_1 = require("./mongoose/schemas/aggregation");
26
25
  var AggregationType;
27
26
  (function (AggregationType) {
@@ -43,9 +42,6 @@ var AggregationType;
43
42
  class MongoRepository {
44
43
  constructor(connection) {
45
44
  this.aggregationModel = connection.model(aggregation_1.modelName, aggregation_1.schema);
46
- if (connection.get('autoIndex') === true) {
47
- this.aggregationModel.on(onIndexCreated_1.INDEX_EVENT, onIndexCreated_1.onIndexCreated);
48
- }
49
45
  }
50
46
  saveAggregation(params) {
51
47
  return __awaiter(this, void 0, void 0, function* () {