@chevre/domain 21.2.0-alpha.32 → 21.2.0-alpha.33

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.
@@ -111,6 +111,13 @@ export declare class MongoRepository {
111
111
  reexportTasks(params: {
112
112
  intervalInMinutes: number;
113
113
  }): Promise<void>;
114
+ /**
115
+ * タスクエクスポートの遅延している取引について明示的にemitTransactionStatusChangedを実行する
116
+ */
117
+ exportTasks(params: {
118
+ now: Date;
119
+ delayInSeconds: number;
120
+ }): Promise<Pick<import("@chevre/factory/lib/assetTransaction/cancelReservation").ITransaction | import("@chevre/factory/lib/assetTransaction/moneyTransfer").ITransaction | import("@chevre/factory/lib/assetTransaction/reserve").ITransaction | import("@chevre/factory/lib/assetTransaction/pay").ITransaction | import("@chevre/factory/lib/assetTransaction/refund").ITransaction | import("@chevre/factory/lib/assetTransaction/registerService").ITransaction, "typeOf" | "id" | "status">[]>;
114
121
  /**
115
122
  * set task status exported by transaction id
116
123
  * IDでタスクをエクスポート済に変更する
@@ -436,6 +436,46 @@ class MongoRepository {
436
436
  // .exec();
437
437
  });
438
438
  }
439
+ /**
440
+ * タスクエクスポートの遅延している取引について明示的にemitTransactionStatusChangedを実行する
441
+ */
442
+ exportTasks(params) {
443
+ return __awaiter(this, void 0, void 0, function* () {
444
+ const delayedTransactions = yield this.transactionModel.find({
445
+ status: {
446
+ $in: [
447
+ factory.transactionStatusType.Canceled,
448
+ factory.transactionStatusType.Confirmed,
449
+ factory.transactionStatusType.Expired
450
+ ]
451
+ },
452
+ tasksExportationStatus: { $eq: factory.transactionTasksExportationStatus.Unexported },
453
+ endDate: {
454
+ $exists: true,
455
+ $lt: moment(params.now)
456
+ .add(-params.delayInSeconds, 'seconds')
457
+ .toDate()
458
+ }
459
+ })
460
+ .select({
461
+ _id: 1,
462
+ typeOf: 1,
463
+ status: 1
464
+ })
465
+ .setOptions({ maxTimeMS: 10000 })
466
+ .exec();
467
+ if (delayedTransactions.length > 0) {
468
+ delayedTransactions.forEach((delayedTransaction) => {
469
+ assetTransaction_2.assetTransactionEventEmitter.emitAssetTransactionStatusChanged({
470
+ id: delayedTransaction.id,
471
+ typeOf: delayedTransaction.typeOf,
472
+ status: delayedTransaction.status
473
+ });
474
+ });
475
+ }
476
+ return delayedTransactions;
477
+ });
478
+ }
439
479
  /**
440
480
  * set task status exported by transaction id
441
481
  * IDでタスクをエクスポート済に変更する
@@ -127,6 +127,13 @@ export declare class MongoRepository {
127
127
  reexportTasks(params: {
128
128
  intervalInMinutes: number;
129
129
  }): Promise<void>;
130
+ /**
131
+ * タスクエクスポートの遅延している取引について明示的にemitTransactionStatusChangedを実行する
132
+ */
133
+ exportTasks(params: {
134
+ now: Date;
135
+ delayInSeconds: number;
136
+ }): Promise<Pick<import("@chevre/factory/lib/transaction/moneyTransfer").ITransaction | import("@chevre/factory/lib/transaction/placeOrder").ITransaction | import("@chevre/factory/lib/transaction/returnOrder").ITransaction, "typeOf" | "id" | "status">[]>;
130
137
  /**
131
138
  * set task status exported by transaction id
132
139
  * IDでタスクをエクスポート済に変更する
@@ -547,6 +547,46 @@ class MongoRepository {
547
547
  // .exec();
548
548
  });
549
549
  }
550
+ /**
551
+ * タスクエクスポートの遅延している取引について明示的にemitTransactionStatusChangedを実行する
552
+ */
553
+ exportTasks(params) {
554
+ return __awaiter(this, void 0, void 0, function* () {
555
+ const delayedTransactions = yield this.transactionModel.find({
556
+ status: {
557
+ $in: [
558
+ factory.transactionStatusType.Canceled,
559
+ factory.transactionStatusType.Confirmed,
560
+ factory.transactionStatusType.Expired
561
+ ]
562
+ },
563
+ tasksExportationStatus: { $eq: factory.transactionTasksExportationStatus.Unexported },
564
+ endDate: {
565
+ $exists: true,
566
+ $lt: moment(params.now)
567
+ .add(-params.delayInSeconds, 'seconds')
568
+ .toDate()
569
+ }
570
+ })
571
+ .select({
572
+ _id: 1,
573
+ typeOf: 1,
574
+ status: 1
575
+ })
576
+ .setOptions({ maxTimeMS: 10000 })
577
+ .exec();
578
+ if (delayedTransactions.length > 0) {
579
+ delayedTransactions.forEach((delayedTransaction) => {
580
+ transaction_2.transactionEventEmitter.emitTransactionStatusChanged({
581
+ id: delayedTransaction.id,
582
+ typeOf: delayedTransaction.typeOf,
583
+ status: delayedTransaction.status
584
+ });
585
+ });
586
+ }
587
+ return delayedTransactions;
588
+ });
589
+ }
550
590
  /**
551
591
  * set task status exported by transaction id
552
592
  * IDでタスクをエクスポート済に変更する
package/package.json CHANGED
@@ -117,5 +117,5 @@
117
117
  "postversion": "git push origin --tags",
118
118
  "prepublishOnly": "npm run clean && npm run build && npm test && npm run doc"
119
119
  },
120
- "version": "21.2.0-alpha.32"
120
+ "version": "21.2.0-alpha.33"
121
121
  }