@chevre/domain 26.0.0-alpha.41 → 26.0.0-alpha.43

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 (89) hide show
  1. package/lib/chevre/repo/action/cancel.d.ts +25 -0
  2. package/lib/chevre/repo/action/cancel.js +47 -0
  3. package/lib/chevre/repo/action/confirm.d.ts +11 -0
  4. package/lib/chevre/repo/action/confirm.js +16 -0
  5. package/lib/chevre/repo/action/order.d.ts +21 -0
  6. package/lib/chevre/repo/action/order.js +35 -0
  7. package/lib/chevre/repo/action/reserve.d.ts +21 -0
  8. package/lib/chevre/repo/action/reserve.js +37 -0
  9. package/lib/chevre/repo/action/returnAction.d.ts +11 -0
  10. package/lib/chevre/repo/action/returnAction.js +16 -0
  11. package/lib/chevre/repo/adminAction.d.ts +8 -2
  12. package/lib/chevre/repo/adminAction.js +6 -0
  13. package/lib/chevre/repo/mongoose/schemas/setting.d.ts +4 -14
  14. package/lib/chevre/repository.d.ts +15 -5
  15. package/lib/chevre/repository.js +35 -13
  16. package/lib/chevre/service/assetTransaction/pay/confirm.d.ts +0 -10
  17. package/lib/chevre/service/assetTransaction/pay/start/processAuthorize.d.ts +0 -1
  18. package/lib/chevre/service/assetTransaction/pay/start/processAuthorizeMovieTicket.d.ts +0 -1
  19. package/lib/chevre/service/assetTransaction/pay/start.d.ts +0 -1
  20. package/lib/chevre/service/assetTransaction/refund.d.ts +0 -1
  21. package/lib/chevre/service/assetTransaction/reserve/cancel.d.ts +4 -2
  22. package/lib/chevre/service/assetTransaction/reserve/confirm.d.ts +4 -2
  23. package/lib/chevre/service/assetTransaction/reserveCOA/cancel.d.ts +7 -3
  24. package/lib/chevre/service/offer/event/authorize.d.ts +0 -1
  25. package/lib/chevre/service/offer/event/issueEventOfferTicket.d.ts +0 -1
  26. package/lib/chevre/service/offer/event/voidTransaction/processVoidTransaction4chevre.d.ts +4 -2
  27. package/lib/chevre/service/offer/event/voidTransaction/processVoidTransaction4coa.d.ts +7 -3
  28. package/lib/chevre/service/offer/event/voidTransaction.d.ts +4 -2
  29. package/lib/chevre/service/offer/event/voidTransaction.js +2 -2
  30. package/lib/chevre/service/offer/event/voidTransactionByActionId.d.ts +4 -2
  31. package/lib/chevre/service/offer/event/voidTransactionByActionId.js +1 -1
  32. package/lib/chevre/service/order/confirmPayTransaction.d.ts +4 -10
  33. package/lib/chevre/service/order/confirmPayTransaction.js +3 -10
  34. package/lib/chevre/service/order/placeOrder/createPlacingOrderFromExistingTransaction.d.ts +4 -2
  35. package/lib/chevre/service/order/placeOrder/createPlacingOrderFromExistingTransaction.js +2 -2
  36. package/lib/chevre/service/order/placeOrder.d.ts +6 -4
  37. package/lib/chevre/service/order/placeOrder.js +9 -17
  38. package/lib/chevre/service/order/returnOrder.d.ts +4 -2
  39. package/lib/chevre/service/order/returnOrder.js +3 -3
  40. package/lib/chevre/service/payment/any/authorize/fixTransactionNumber.d.ts +0 -1
  41. package/lib/chevre/service/payment/any/authorize/handlePrePublishedPaymentMethodIdOnAuthorizing.d.ts +0 -1
  42. package/lib/chevre/service/payment/any/authorize.d.ts +0 -1
  43. package/lib/chevre/service/payment/any/invalidatePaymentUrl.d.ts +0 -1
  44. package/lib/chevre/service/payment/any/onPayActionCompleted.d.ts +0 -1
  45. package/lib/chevre/service/payment/any/onRefundActionCompletedOrFailed.d.ts +0 -1
  46. package/lib/chevre/service/payment/any/processVoidPayTransaction.d.ts +0 -1
  47. package/lib/chevre/service/payment/any/voidPayTransaction.d.ts +0 -1
  48. package/lib/chevre/service/payment/creditCard/authorize/processAuthorizeCreditCard.d.ts +0 -1
  49. package/lib/chevre/service/payment/creditCard/authorize/processAuthorizeCreditCard3ds.d.ts +0 -1
  50. package/lib/chevre/service/payment/creditCard/authorize.d.ts +0 -1
  51. package/lib/chevre/service/payment/creditCard/payCreditCard.d.ts +0 -1
  52. package/lib/chevre/service/payment/creditCard/refundCreditCard.d.ts +0 -1
  53. package/lib/chevre/service/payment/faceToFace.d.ts +0 -2
  54. package/lib/chevre/service/payment/movieTicket/authorize.d.ts +0 -1
  55. package/lib/chevre/service/payment/movieTicket/payMovieTicket.d.ts +0 -1
  56. package/lib/chevre/service/payment/movieTicket/refundMovieTicket.d.ts +0 -1
  57. package/lib/chevre/service/reserve/cancelReservation.d.ts +7 -3
  58. package/lib/chevre/service/reserve/cancelReservation.js +12 -22
  59. package/lib/chevre/service/reserve/checkInReservation.d.ts +4 -2
  60. package/lib/chevre/service/reserve/confirmReservation.d.ts +4 -2
  61. package/lib/chevre/service/reserve/confirmReservation.js +9 -35
  62. package/lib/chevre/service/reserve/useReservation.d.ts +2 -2
  63. package/lib/chevre/service/reserveCOA/cancelReservation.d.ts +4 -2
  64. package/lib/chevre/service/reserveCOA/cancelReservation.js +3 -3
  65. package/lib/chevre/service/task/cancelPendingReservation.js +3 -3
  66. package/lib/chevre/service/task/cancelReservation.js +3 -5
  67. package/lib/chevre/service/task/confirmPayTransaction.js +11 -12
  68. package/lib/chevre/service/task/confirmReserveTransaction.d.ts +6 -2
  69. package/lib/chevre/service/task/confirmReserveTransaction.js +9 -5
  70. package/lib/chevre/service/task/invalidatePaymentUrl.js +0 -1
  71. package/lib/chevre/service/task/onAuthorizationCreated.js +4 -13
  72. package/lib/chevre/service/task/onResourceUpdated.js +0 -2
  73. package/lib/chevre/service/task/pay.js +0 -1
  74. package/lib/chevre/service/task/payment/invalidatePaymentUrlByTask.d.ts +0 -1
  75. package/lib/chevre/service/task/payment/payByTask.d.ts +0 -1
  76. package/lib/chevre/service/task/payment/refundByTask.d.ts +0 -1
  77. package/lib/chevre/service/task/payment/voidPaymentByTask.d.ts +0 -2
  78. package/lib/chevre/service/task/placeOrder.js +8 -6
  79. package/lib/chevre/service/task/refund.js +0 -1
  80. package/lib/chevre/service/task/reserve.js +3 -6
  81. package/lib/chevre/service/task/returnOrder.js +2 -3
  82. package/lib/chevre/service/task/returnPayTransaction.js +7 -14
  83. package/lib/chevre/service/task/returnReserveTransaction.js +5 -5
  84. package/lib/chevre/service/task/useReservation.js +3 -3
  85. package/lib/chevre/service/task/voidPayment.js +0 -2
  86. package/lib/chevre/service/task/voidReserveTransaction.js +2 -2
  87. package/package.json +1 -1
  88. package/lib/chevre/repo/action.d.ts +0 -23
  89. package/lib/chevre/repo/action.js +0 -22
@@ -1,7 +1,7 @@
1
1
  import type { COA } from '@motionpicture/coa-service';
2
2
  import { factory } from '../../../factory';
3
3
  import type { IntegrationSettingRepo as Settings } from '../../../repo/setting/integration';
4
- import type { ActionRepo } from '../../../repo/action';
4
+ import type { CancelActionRepo } from '../../../repo/action/cancel';
5
5
  import type { AcceptCOAOfferActionRepo } from '../../../repo/action/acceptCOAOffer';
6
6
  import type { AuthorizeOfferActionRepo } from '../../../repo/action/authorizeOffer';
7
7
  import type { AssetTransactionRepo } from '../../../repo/assetTransaction';
@@ -16,7 +16,9 @@ interface IVoidTransactionRepos {
16
16
  /**
17
17
  * CancelAction開始で使用される
18
18
  */
19
- action: ActionRepo;
19
+ actions: {
20
+ cancel: CancelActionRepo;
21
+ };
20
22
  acceptCOAOfferAction: AcceptCOAOfferActionRepo;
21
23
  authorizeOfferAction: AuthorizeOfferActionRepo;
22
24
  assetTransaction: AssetTransactionRepo;
@@ -88,7 +88,7 @@ function voidTransaction(params) {
88
88
  throw new factory_1.factory.errors.Internal('repos.reserveService required');
89
89
  }
90
90
  await (0, processVoidTransaction4coa_1.processVoidTransaction4coa)({ action }, { asyncCancelPendingReservation: true })({
91
- action: repos.action,
91
+ actions: repos.actions,
92
92
  acceptCOAOfferAction: repos.acceptCOAOfferAction,
93
93
  reserveService,
94
94
  task: repos.task
@@ -171,7 +171,7 @@ function cancelAcceptActions(params) {
171
171
  throw new factory_1.factory.errors.Internal('repos.reserveService required');
172
172
  }
173
173
  await (0, processVoidTransaction4coa_1.processVoidTransactionByAcceptAction4coa)({ action }, { asyncCancelPendingReservation: true })({
174
- action: repos.action,
174
+ actions: repos.actions,
175
175
  acceptCOAOfferAction: repos.acceptCOAOfferAction,
176
176
  reserveService,
177
177
  task: repos.task
@@ -1,7 +1,7 @@
1
1
  import type { COA } from '@motionpicture/coa-service';
2
2
  import { factory } from '../../../factory';
3
3
  import type { IntegrationSettingRepo as Settings } from '../../../repo/setting/integration';
4
- import type { ActionRepo } from '../../../repo/action';
4
+ import type { CancelActionRepo } from '../../../repo/action/cancel';
5
5
  import { AcceptCOAOfferActionRepo } from '../../../repo/action/acceptCOAOffer';
6
6
  import type { AuthorizeOfferActionRepo } from '../../../repo/action/authorizeOffer';
7
7
  import type { AssetTransactionRepo } from '../../../repo/assetTransaction';
@@ -16,7 +16,9 @@ interface IVoidTransactionByActionIdRepos {
16
16
  /**
17
17
  * CancelAction開始で使用される
18
18
  */
19
- action: ActionRepo;
19
+ actions: {
20
+ cancel: CancelActionRepo;
21
+ };
20
22
  acceptCOAOfferAction: AcceptCOAOfferActionRepo;
21
23
  authorizeOfferAction: AuthorizeOfferActionRepo;
22
24
  assetTransaction: AssetTransactionRepo;
@@ -56,7 +56,7 @@ function voidTransactionByActionId(params) {
56
56
  throw new factory_1.factory.errors.Internal('repos.reserveService required');
57
57
  }
58
58
  await (0, processVoidTransaction4coa_1.processVoidTransaction4coa)({ action }, { asyncCancelPendingReservation: false })({
59
- action: repos.action,
59
+ actions: repos.actions,
60
60
  acceptCOAOfferAction: repos.acceptCOAOfferAction,
61
61
  reserveService,
62
62
  task: repos.task
@@ -1,11 +1,7 @@
1
1
  import { factory } from '../../factory';
2
- import type { AcceptedOfferRepo } from '../../repo/acceptedOffer';
3
- import type { AccountingReportRepo } from '../../repo/accountingReport';
4
- import type { ActionRepo } from '../../repo/action';
2
+ import type { ConfirmActionRepo } from '../../repo/action/confirm';
5
3
  import type { AssetTransactionRepo } from '../../repo/assetTransaction';
6
- import type { EventRepo } from '../../repo/event';
7
4
  import type { OrderRepo } from '../../repo/order';
8
- import type { ProjectRepo } from '../../repo/project';
9
5
  import type { TaskRepo } from '../../repo/task';
10
6
  declare function confirmPayTransaction(data: factory.task.IData<factory.taskName.ConfirmPayTransaction> & {
11
7
  project: {
@@ -13,13 +9,11 @@ declare function confirmPayTransaction(data: factory.task.IData<factory.taskName
13
9
  typeOf: factory.organizationType.Project;
14
10
  };
15
11
  }, options: Record<string, never>): (repos: {
16
- acceptedOffer: AcceptedOfferRepo;
17
- action: ActionRepo;
12
+ actions: {
13
+ confirm: ConfirmActionRepo;
14
+ };
18
15
  assetTransaction: AssetTransactionRepo;
19
16
  order: OrderRepo;
20
- accountingReport: AccountingReportRepo;
21
- event: EventRepo;
22
- project: ProjectRepo;
23
17
  task: TaskRepo;
24
18
  }) => Promise<void>;
25
19
  export { confirmPayTransaction };
@@ -36,12 +36,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.confirmPayTransaction = confirmPayTransaction;
37
37
  const util_1 = require("util");
38
38
  const factory_1 = require("../../factory");
39
- // import type { TransactionRepo } from '../../repo/transaction';
40
39
  const PayTransactionService = __importStar(require("../assetTransaction/pay"));
41
40
  function confirmPayTransaction(data, options) {
42
41
  return async (repos) => {
43
42
  // アクション開始
44
- const action = await repos.action.start(data);
43
+ const action = await repos.actions.confirm.start(data);
45
44
  try {
46
45
  for (const confirmingTransaction of data.object) {
47
46
  await PayTransactionService.confirm({
@@ -61,20 +60,14 @@ function confirmPayTransaction(data, options) {
61
60
  ? { object: { paymentMethod: { identifier: confirmingTransaction.object.paymentMethod.identifier } } }
62
61
  : undefined
63
62
  })({
64
- acceptedOffer: repos.acceptedOffer,
65
- action: repos.action,
66
- accountingReport: repos.accountingReport,
67
63
  assetTransaction: repos.assetTransaction,
68
- event: repos.event,
69
64
  order: repos.order,
70
- // project: repos.project,
71
- task: repos.task
72
65
  });
73
66
  }
74
67
  }
75
68
  catch (error) {
76
69
  try {
77
- await repos.action.giveUp({ typeOf: action.typeOf, id: action.id, error });
70
+ await repos.actions.confirm.giveUp({ typeOf: action.typeOf, id: action.id, error });
78
71
  }
79
72
  catch (__) {
80
73
  // 失敗したら仕方ない
@@ -83,7 +76,7 @@ function confirmPayTransaction(data, options) {
83
76
  }
84
77
  // アクション完了
85
78
  const actionResult = {};
86
- await repos.action.completeWithVoid({ typeOf: action.typeOf, id: action.id, result: actionResult });
79
+ await repos.actions.confirm.completeWithVoid({ typeOf: action.typeOf, id: action.id, result: actionResult });
87
80
  // processOrder連携(2023-08-23~)
88
81
  await onConfirmed(data)({
89
82
  task: repos.task
@@ -5,8 +5,10 @@ import type { PlaceOrderRepo } from '../../../repo/transaction/placeOrder';
5
5
  import { factory } from '../../../factory';
6
6
  type IPlaceOrderTransaction = Pick<factory.transaction.placeOrder.ITransaction, 'id' | 'project' | 'typeOf' | 'result' | 'object' | 'seller'>;
7
7
  interface ICreatePlacingOrderFromExistingTransactionRepos {
8
- authorizeOfferAction: AuthorizeOfferActionRepo;
9
- authorizePaymentMethodAction: AuthorizePaymentMethodActionRepo;
8
+ actions: {
9
+ authorizeOffer: AuthorizeOfferActionRepo;
10
+ authorizePaymentMethod: AuthorizePaymentMethodActionRepo;
11
+ };
10
12
  orderInTransaction: OrderInTransactionRepo;
11
13
  placeOrder: PlaceOrderRepo;
12
14
  }
@@ -35,11 +35,11 @@ function createPlacingOrderFromExistingTransaction(params) {
35
35
  const completedAuthorizeActionIds = authorizeActionsAsResult.map(({ id }) => id);
36
36
  /* istanbul ignore else -- @preserve */
37
37
  if (completedAuthorizeActionIds.length > 0) {
38
- authorizePaymentActions = await repos.authorizePaymentMethodAction.findAuthorizePaymentMethodResultsById({
38
+ authorizePaymentActions = await repos.actions.authorizePaymentMethod.findAuthorizePaymentMethodResultsById({
39
39
  purpose: { id: placeOrderTransactionWithResult.id },
40
40
  ids: completedAuthorizeActionIds
41
41
  });
42
- authorizeOfferActionsWithInstrument = await repos.authorizeOfferAction.findAuthorizeOfferInstrumentsByIds({
42
+ authorizeOfferActionsWithInstrument = await repos.actions.authorizeOffer.findAuthorizeOfferInstrumentsByIds({
43
43
  purpose: { id: placeOrderTransactionWithResult.id },
44
44
  ids: completedAuthorizeActionIds
45
45
  });
@@ -1,6 +1,6 @@
1
1
  import type { AcceptedOfferRepo } from '../../repo/acceptedOffer';
2
2
  import type { AccountingReportRepo } from '../../repo/accountingReport';
3
- import type { ActionRepo } from '../../repo/action';
3
+ import type { OrderActionRepo } from '../../repo/action/order';
4
4
  import type { AuthorizeOfferActionRepo } from '../../repo/action/authorizeOffer';
5
5
  import type { AuthorizePaymentMethodActionRepo } from '../../repo/action/authorizePaymentMethod';
6
6
  import type { MessageRepo } from '../../repo/message';
@@ -14,9 +14,11 @@ import type { IntegrationSettingRepo as Settings } from '../../repo/setting/inte
14
14
  interface IPlaceOrderRepos {
15
15
  acceptedOffer: AcceptedOfferRepo;
16
16
  accountingReport: AccountingReportRepo;
17
- action: ActionRepo;
18
- authorizeOfferAction: AuthorizeOfferActionRepo;
19
- authorizePaymentMethodAction: AuthorizePaymentMethodActionRepo;
17
+ actions: {
18
+ order: OrderActionRepo;
19
+ authorizeOffer: AuthorizeOfferActionRepo;
20
+ authorizePaymentMethod: AuthorizePaymentMethodActionRepo;
21
+ };
20
22
  message: MessageRepo;
21
23
  order: OrderRepo;
22
24
  orderInTransaction: OrderInTransactionRepo;
@@ -17,8 +17,7 @@ function placeOrder(params) {
17
17
  confirmationNumber: params.object.confirmationNumber,
18
18
  orderNumber: params.object.orderNumber
19
19
  })({
20
- authorizeOfferAction: repos.authorizeOfferAction,
21
- authorizePaymentMethodAction: repos.authorizePaymentMethodAction,
20
+ actions: repos.actions,
22
21
  orderInTransaction: repos.orderInTransaction,
23
22
  placeOrder: repos.placeOrder,
24
23
  });
@@ -42,19 +41,12 @@ function placeOrder(params) {
42
41
  typeOf: factory_1.factory.actionType.OrderAction
43
42
  };
44
43
  // 冪等性を担保(2023-05-31~)
45
- const completedActions = await repos.action.findActionsByType({
46
- limit: 1,
47
- page: 1,
48
- actionStatus: { $in: [factory_1.factory.actionStatusType.CompletedActionStatus] },
49
- typeOf: { $eq: orderActionAttributes.typeOf },
50
- object: { orderNumber: { $in: [orderActionAttributes.object.orderNumber] } },
51
- purpose: {
52
- id: { $in: [orderActionPurpose.id] },
53
- typeOf: { $in: [orderActionPurpose.typeOf] }
54
- }
55
- }, ['id']);
56
- if (completedActions.length === 0) {
57
- const action = await repos.action.start(orderActionAttributes);
44
+ const completedAction = await repos.actions.order.findCompletedOrderAction({
45
+ object: { orderNumber: orderActionAttributes.object.orderNumber },
46
+ purpose: { id: orderActionPurpose.id }
47
+ });
48
+ if (completedAction === null) {
49
+ const action = await repos.actions.order.start(orderActionAttributes);
58
50
  try {
59
51
  // 冗長なオファーを除外する(念のため)
60
52
  await (0, voidAcceptedOfferIfNecessary_1.voidAcceptedOfferIfNecessary)({
@@ -65,14 +57,14 @@ function placeOrder(params) {
65
57
  }
66
58
  catch (error) {
67
59
  try {
68
- await repos.action.giveUp({ typeOf: orderActionAttributes.typeOf, id: action.id, error });
60
+ await repos.actions.order.giveUp({ typeOf: orderActionAttributes.typeOf, id: action.id, error });
69
61
  }
70
62
  catch (__) {
71
63
  // 失敗したら仕方ない
72
64
  }
73
65
  throw error;
74
66
  }
75
- await repos.action.completeWithVoid({ typeOf: orderActionAttributes.typeOf, id: action.id, result: {} });
67
+ await repos.actions.order.completeWithVoid({ typeOf: orderActionAttributes.typeOf, id: action.id, result: {} });
76
68
  }
77
69
  if (params.useOnOrderStatusChanged) {
78
70
  // 経理レポートを保管->CreateAccountingReportへ移行(2024-02-02~)
@@ -1,5 +1,5 @@
1
1
  import type { AcceptedOfferRepo } from '../../repo/acceptedOffer';
2
- import type { ActionRepo } from '../../repo/action';
2
+ import type { ReturnActionRepo } from '../../repo/action/returnAction';
3
3
  import type { OrderRepo } from '../../repo/order';
4
4
  import type { SettingRepo } from '../../repo/setting';
5
5
  import type { TaskRepo } from '../../repo/task';
@@ -17,7 +17,9 @@ declare function returnOrder(params: {
17
17
  useOnOrderStatusChanged: boolean;
18
18
  }): (repos: {
19
19
  acceptedOffer: AcceptedOfferRepo;
20
- action: ActionRepo;
20
+ actions: {
21
+ returnAction: ReturnActionRepo;
22
+ };
21
23
  order: OrderRepo;
22
24
  setting: SettingRepo;
23
25
  task: TaskRepo;
@@ -80,7 +80,7 @@ function returnOrder(params) {
80
80
  };
81
81
  const returnedOwnershipInfos = [];
82
82
  let returnedOrder;
83
- const action = await repos.action.start(returnOrderActionAttributes);
83
+ const action = await repos.actions.returnAction.start(returnOrderActionAttributes);
84
84
  try {
85
85
  // ひとまず所有権管理を廃止するため、所有権返却処理は不要(2026-08-10)
86
86
  // returnedOwnershipInfos = await processReturnOrder(order, dateReturned)({
@@ -98,7 +98,7 @@ function returnOrder(params) {
98
98
  }
99
99
  catch (error) {
100
100
  try {
101
- await repos.action.giveUp({ typeOf: action.typeOf, id: action.id, error });
101
+ await repos.actions.returnAction.giveUp({ typeOf: action.typeOf, id: action.id, error });
102
102
  }
103
103
  catch (__) {
104
104
  // 失敗したら仕方ない
@@ -106,7 +106,7 @@ function returnOrder(params) {
106
106
  throw error;
107
107
  }
108
108
  const result = returnedOwnershipInfos;
109
- await repos.action.completeWithVoid({ typeOf: action.typeOf, id: action.id, result });
109
+ await repos.actions.returnAction.completeWithVoid({ typeOf: action.typeOf, id: action.id, result });
110
110
  if (params.useOnOrderStatusChanged) {
111
111
  await (0, onOrderStatusChanged_1.onOrderReturned)({
112
112
  order: {
@@ -9,7 +9,6 @@ import type { TransactionNumberRepo } from '../../../../repo/transactionNumber';
9
9
  import * as PayTransactionService from '../../../assetTransaction/pay';
10
10
  import { IInvoiceByTicketToken } from '../factory';
11
11
  interface IFixTransactionNumberRepos {
12
- action?: never;
13
12
  acceptPayAction: AcceptPayActionRepo;
14
13
  authorizePaymentMethodAction: AuthorizePaymentMethodActionRepo;
15
14
  authorization: AuthorizationRepo;
@@ -13,7 +13,6 @@ interface IAcceptAction2ticketResult {
13
13
  ticketToken: string;
14
14
  }
15
15
  interface IHandlePrePublishedPaymentMethodIdOnAuthorizingRepos {
16
- action?: never;
17
16
  acceptPayAction: AcceptPayActionRepo;
18
17
  authorizePaymentMethodAction: AuthorizePaymentMethodActionRepo;
19
18
  authorization: AuthorizationRepo;
@@ -28,7 +28,6 @@ import type { PlaceOrderRepo } from '../../../repo/transaction/placeOrder';
28
28
  import type { TransactionNumberRepo } from '../../../repo/transactionNumber';
29
29
  interface IAuthorizeRepos {
30
30
  accountingReport: AccountingReportRepo;
31
- action?: never;
32
31
  actions: {
33
32
  pay: PayActionRepo;
34
33
  refund: RefundActionRepo;
@@ -10,7 +10,6 @@ import type { OrderInTransactionRepo } from '../../../repo/orderInTransaction';
10
10
  import type { PlaceOrderRepo } from '../../../repo/transaction/placeOrder';
11
11
  interface IInvalidatePaymentUrlRepos {
12
12
  accountingReport: AccountingReportRepo;
13
- action?: never;
14
13
  acceptPayAction: AcceptPayActionRepo;
15
14
  assetTransaction: AssetTransactionRepo;
16
15
  paymentAccepted: SellerPaymentAcceptedRepo;
@@ -7,7 +7,6 @@ import type { PayActionRepo } from '../../../repo/action/pay';
7
7
  import type { RefundActionRepo } from '../../../repo/action/refund';
8
8
  import type { TaskRepo } from '../../../repo/task';
9
9
  interface IOnPayActionCompletedRepos {
10
- action?: never;
11
10
  actions: {
12
11
  pay: PayActionRepo;
13
12
  refund: RefundActionRepo;
@@ -4,7 +4,6 @@ import type { PayActionRepo } from '../../../repo/action/pay';
4
4
  import type { RefundActionRepo } from '../../../repo/action/refund';
5
5
  import type { TaskRepo } from '../../../repo/task';
6
6
  interface IOnRefundActionCompletedOrFailedRepos {
7
- action?: never;
8
7
  actions: {
9
8
  pay: PayActionRepo;
10
9
  refund: RefundActionRepo;
@@ -5,7 +5,6 @@ import type { AssetTransactionRepo } from '../../../repo/assetTransaction';
5
5
  import type { TaskRepo } from '../../../repo/task';
6
6
  import type { PlaceOrderRepo } from '../../../repo/transaction/placeOrder';
7
7
  interface IProcessVoidPayTransactionRepos {
8
- action?: never;
9
8
  authorizePaymentMethodAction: AuthorizePaymentMethodActionRepo;
10
9
  accountingReport: AccountingReportRepo;
11
10
  assetTransaction: AssetTransactionRepo;
@@ -22,7 +22,6 @@ declare function voidPayTransaction(params: factory.task.IData<factory.taskName.
22
22
  };
23
23
  }): (repos: {
24
24
  accountingReport: AccountingReportRepo;
25
- action?: never;
26
25
  acceptPayAction: AcceptPayActionRepo;
27
26
  authorizePaymentMethodAction: AuthorizePaymentMethodActionRepo;
28
27
  assetTransaction: AssetTransactionRepo;
@@ -9,7 +9,6 @@ interface ICreditCardPaymentAgencyTransaction {
9
9
  secureTran2Result?: never;
10
10
  }
11
11
  interface IProcessAuthorizeCreditCardRepos {
12
- action?: never;
13
12
  authorizeInvoiceAction: AuthorizeInvoiceActionRepo;
14
13
  creditCardService: GMO.service.Credit;
15
14
  }
@@ -9,7 +9,6 @@ interface ICreditCardPaymentAgencyTransaction3ds {
9
9
  secureTran2Result: GMO.factory.service.credit.ISecureTran2Result;
10
10
  }
11
11
  interface IProcessAuthorizeCreditCard3dsRepos {
12
- action?: never;
13
12
  authorizeInvoiceAction: AuthorizeInvoiceActionRepo;
14
13
  creditCardService: GMO.service.Credit;
15
14
  }
@@ -41,7 +41,6 @@ payTransaction: IPayTransactionAsAuthorizeInvoiceAction, paymentServiceId: strin
41
41
  id?: string;
42
42
  };
43
43
  }): (repos: {
44
- action?: never;
45
44
  authorizeInvoiceAction: AuthorizeInvoiceActionRepo;
46
45
  paymentAccepted: SellerPaymentAcceptedRepo;
47
46
  paymentService: PaymentServiceRepo;
@@ -11,7 +11,6 @@ import type { IntegrationSettingRepo as Settings } from '../../../repo/setting/i
11
11
  * クレジットカード決済
12
12
  */
13
13
  declare function payCreditCard(params: factory.action.trade.pay.IAttributes): (repos: {
14
- action?: never;
15
14
  actions: {
16
15
  pay: PayActionRepo;
17
16
  refund: RefundActionRepo;
@@ -16,7 +16,6 @@ declare function refundCreditCard(params: Pick<factory.action.trade.refund.IAttr
16
16
  id: string;
17
17
  };
18
18
  }): (repos: {
19
- action?: never;
20
19
  actions: {
21
20
  pay: PayActionRepo;
22
21
  refund: RefundActionRepo;
@@ -11,7 +11,6 @@ declare function voidTransaction(__: factory.task.voidPayment.IData): (___: {
11
11
  product: ProductRepo;
12
12
  }) => Promise<void>;
13
13
  declare function payFaceToFace(params: factory.action.trade.pay.IAttributes): (repos: {
14
- action?: never;
15
14
  actions: {
16
15
  pay: PayActionRepo;
17
16
  refund: RefundActionRepo;
@@ -21,7 +20,6 @@ declare function payFaceToFace(params: factory.action.trade.pay.IAttributes): (r
21
20
  task: TaskRepo;
22
21
  }) => Promise<void>;
23
22
  declare function refundFaceToFace(params: factory.task.refund.IData): (repos: {
24
- action?: never;
25
23
  actions: {
26
24
  pay: PayActionRepo;
27
25
  refund: RefundActionRepo;
@@ -39,7 +39,6 @@ declare function authorize(params: factory.assetTransaction.pay.IStartParamsWith
39
39
  id: string;
40
40
  };
41
41
  }): (repos: {
42
- action?: never;
43
42
  actions: {
44
43
  pay: PayActionRepo;
45
44
  refund: RefundActionRepo;
@@ -10,7 +10,6 @@ import type { TaskRepo } from '../../../repo/task';
10
10
  import { factory } from '../../../factory';
11
11
  import type { IntegrationSettingRepo as Settings } from '../../../repo/setting/integration';
12
12
  interface IPayOperationRepos {
13
- action?: never;
14
13
  actions: {
15
14
  pay: PayActionRepo;
16
15
  refund: RefundActionRepo;
@@ -7,7 +7,6 @@ import type { TaskRepo } from '../../../repo/task';
7
7
  import { factory } from '../../../factory';
8
8
  import type { IntegrationSettingRepo as Settings } from '../../../repo/setting/integration';
9
9
  interface IRefundOperationRepos {
10
- action?: never;
11
10
  actions: {
12
11
  pay: PayActionRepo;
13
12
  refund: RefundActionRepo;
@@ -1,5 +1,5 @@
1
1
  import { factory } from '../../factory';
2
- import type { ActionRepo } from '../../repo/action';
2
+ import type { CancelActionRepo } from '../../repo/action/cancel';
3
3
  import type { AssetTransactionRepo } from '../../repo/assetTransaction';
4
4
  import { OfferRateLimitRepo } from '../../repo/rateLimit/offer';
5
5
  import { ReservationRepo } from '../../repo/reservation';
@@ -10,7 +10,9 @@ import type { TaskRepo } from '../../repo/task';
10
10
  * 保留予約取消
11
11
  */
12
12
  declare function cancelPendingReservation(actionAttributes: factory.task.cancelPendingReservation.IPotentialCancelAction): (repos: {
13
- action: ActionRepo;
13
+ actions: {
14
+ cancel: CancelActionRepo;
15
+ };
14
16
  assetTransaction: AssetTransactionRepo;
15
17
  stockHolder: StockHolderRepo;
16
18
  offerRateLimit: OfferRateLimitRepo;
@@ -22,7 +24,9 @@ declare function cancelPendingReservation(actionAttributes: factory.task.cancelP
22
24
  * 予約をキャンセルする
23
25
  */
24
26
  declare function cancelReservation(actionAttributesList: factory.action.cancel.reservation.IAttributes[]): (repos: {
25
- action: ActionRepo;
27
+ actions: {
28
+ cancel: CancelActionRepo;
29
+ };
26
30
  stockHolder: StockHolderRepo;
27
31
  offerRateLimit: OfferRateLimitRepo;
28
32
  reservation: ReservationRepo;
@@ -52,24 +52,14 @@ function cancelPengindIfNotYet(params) {
52
52
  let actionId;
53
53
  const actionAttributes = (0, factory_2.createCancelPendingReservationAction)({ transaction: reserveTransaction });
54
54
  // 冪等性を担保(2023-06-05~)
55
- const completedActions = await repos.action.findActionsByType({
56
- limit: 1,
57
- page: 1,
58
- actionStatus: { $in: [factory_1.factory.actionStatusType.CompletedActionStatus] },
59
- typeOf: { $eq: factory_1.factory.actionType.CancelAction },
60
- object: {
61
- typeOf: { $eq: factory_1.factory.reservationType.ReservationPackage },
62
- reservationNumber: { $eq: reserveTransaction.transactionNumber }
63
- },
64
- purpose: {
65
- id: { $in: [params.purpose.id] },
66
- typeOf: { $in: [params.purpose.typeOf] }
67
- }
68
- }, ['id']);
69
- if (completedActions.length === 0) {
55
+ const completedAction = await repos.actions.cancel.findCompletedCancelAction({
56
+ object: { reservationNumber: reserveTransaction.transactionNumber },
57
+ purpose: { id: params.purpose.id }
58
+ });
59
+ if (completedAction === null) {
70
60
  if (actionAttributes !== undefined) {
71
61
  // アクション開始
72
- const action = await repos.action.start(actionAttributes);
62
+ const action = await repos.actions.cancel.start(actionAttributes);
73
63
  actionId = action.id;
74
64
  const actionObject = actionAttributes.object;
75
65
  // let cancelResult: ICancelResult | undefined;
@@ -126,7 +116,7 @@ function cancelPengindIfNotYet(params) {
126
116
  }
127
117
  catch (error) {
128
118
  try {
129
- await repos.action.giveUp({ typeOf: action.typeOf, id: action.id, error });
119
+ await repos.actions.cancel.giveUp({ typeOf: action.typeOf, id: action.id, error });
130
120
  }
131
121
  catch (__) {
132
122
  // 失敗したら仕方ない
@@ -134,11 +124,11 @@ function cancelPengindIfNotYet(params) {
134
124
  throw error;
135
125
  }
136
126
  const actionResult = {};
137
- await repos.action.completeWithVoid({ typeOf: action.typeOf, id: action.id, result: actionResult });
127
+ await repos.actions.cancel.completeWithVoid({ typeOf: action.typeOf, id: action.id, result: actionResult });
138
128
  }
139
129
  }
140
130
  else {
141
- actionId = completedActions.at(0)?.id;
131
+ actionId = completedAction.id;
142
132
  }
143
133
  return {
144
134
  reserveTransaction,
@@ -163,7 +153,7 @@ function cancelReservation(actionAttributesList) {
163
153
  const now = new Date();
164
154
  if (actionAttributesList.length > 0) {
165
155
  await Promise.all(actionAttributesList.map(async (actionAttributes) => {
166
- const action = await repos.action.start(actionAttributes);
156
+ const action = await repos.actions.cancel.start(actionAttributes);
167
157
  let cancelResult;
168
158
  let canceledReservationForId;
169
159
  try {
@@ -275,7 +265,7 @@ function cancelReservation(actionAttributesList) {
275
265
  }
276
266
  catch (error) {
277
267
  try {
278
- await repos.action.giveUp({ typeOf: action.typeOf, id: action.id, error });
268
+ await repos.actions.cancel.giveUp({ typeOf: action.typeOf, id: action.id, error });
279
269
  }
280
270
  catch (__) {
281
271
  // 失敗したら仕方ない
@@ -294,7 +284,7 @@ function cancelReservation(actionAttributesList) {
294
284
  } : undefined
295
285
  // canceledReservationId: canceledReservation?.id
296
286
  };
297
- await repos.action.completeWithVoid({ typeOf: action.typeOf, id: action.id, result: actionResult });
287
+ await repos.actions.cancel.completeWithVoid({ typeOf: action.typeOf, id: action.id, result: actionResult });
298
288
  let canceledReservations = [];
299
289
  if (actionAttributes.object.typeOf === factory_1.factory.reservationType.ReservationPackage) {
300
290
  const reservationNumber = actionAttributes.object.reservationNumber;
@@ -1,4 +1,4 @@
1
- import type { ActionRepo } from '../../repo/action';
1
+ import type { ReserveActionRepo } from '../../repo/action/reserve';
2
2
  import type { AssetTransactionRepo } from '../../repo/assetTransaction';
3
3
  import type { AuthorizationRepo } from '../../repo/authorization';
4
4
  import type { ReservationRepo } from '../../repo/reservation';
@@ -32,7 +32,9 @@ interface ICheckInReservationParams {
32
32
  };
33
33
  }
34
34
  export declare function checkInReservation(params: ICheckInReservationParams): (repos: {
35
- action: ActionRepo;
35
+ actions: {
36
+ reserve: ReserveActionRepo;
37
+ };
36
38
  assetTransaction: AssetTransactionRepo;
37
39
  code: AuthorizationRepo;
38
40
  reservation: ReservationRepo;
@@ -1,5 +1,5 @@
1
1
  import { factory } from '../../factory';
2
- import type { ActionRepo } from '../../repo/action';
2
+ import type { ReserveActionRepo } from '../../repo/action/reserve';
3
3
  import type { AssetTransactionRepo } from '../../repo/assetTransaction';
4
4
  import type { AuthorizationRepo } from '../../repo/authorization';
5
5
  import type { ReservationRepo } from '../../repo/reservation';
@@ -13,7 +13,9 @@ export declare function confirmReservation(params: {
13
13
  useOnReservationConfirmed: boolean;
14
14
  byTask: boolean;
15
15
  }): (repos: {
16
- action: ActionRepo;
16
+ actions: {
17
+ reserve: ReserveActionRepo;
18
+ };
17
19
  assetTransaction: AssetTransactionRepo;
18
20
  code: AuthorizationRepo;
19
21
  reservation: ReservationRepo;