@chevre/domain 24.0.0-alpha.1 → 24.0.0-alpha.11

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 (184) hide show
  1. package/lib/chevre/repo/acceptedPaymentMethod.js +1 -1
  2. package/lib/chevre/repo/additionalProperty.js +1 -1
  3. package/lib/chevre/repo/aggregateOffer.js +1 -1
  4. package/lib/chevre/repo/confirmationNumber.js +2 -4
  5. package/lib/chevre/repo/creativeWork.js +1 -1
  6. package/lib/chevre/repo/eventOffer.js +1 -1
  7. package/lib/chevre/repo/eventSeries.js +1 -1
  8. package/lib/chevre/repo/identity.js +1 -2
  9. package/lib/chevre/repo/issuer.js +2 -4
  10. package/lib/chevre/repo/message.js +1 -1
  11. package/lib/chevre/repo/mongoose/schemas/transaction.js +31 -0
  12. package/lib/chevre/repo/note.js +1 -1
  13. package/lib/chevre/repo/noteAboutOrder.js +1 -1
  14. package/lib/chevre/repo/offer/unitPriceInCatalog.js +1 -1
  15. package/lib/chevre/repo/offerItemCondition.js +1 -1
  16. package/lib/chevre/repo/order.js +1 -1
  17. package/lib/chevre/repo/orderInTransaction.d.ts +8 -0
  18. package/lib/chevre/repo/orderInTransaction.js +17 -4
  19. package/lib/chevre/repo/orderNumber.d.ts +3 -2
  20. package/lib/chevre/repo/orderNumber.js +25 -32
  21. package/lib/chevre/repo/place/movieTheater.js +1 -1
  22. package/lib/chevre/repo/place/seat.js +1 -1
  23. package/lib/chevre/repo/product.js +1 -1
  24. package/lib/chevre/repo/productOffer.js +1 -1
  25. package/lib/chevre/repo/project.js +1 -1
  26. package/lib/chevre/repo/reservation.js +1 -1
  27. package/lib/chevre/repo/role.js +1 -2
  28. package/lib/chevre/repo/seller.js +1 -1
  29. package/lib/chevre/repo/serviceOutputIdentifier.js +2 -4
  30. package/lib/chevre/repo/transaction/placeOrder.d.ts +140 -0
  31. package/lib/chevre/repo/transaction/placeOrder.js +528 -0
  32. package/lib/chevre/repo/transaction/returnOrder.d.ts +23 -0
  33. package/lib/chevre/repo/transaction/returnOrder.js +213 -0
  34. package/lib/chevre/repo/transaction.d.ts +11 -84
  35. package/lib/chevre/repo/transaction.js +331 -270
  36. package/lib/chevre/repo/transactionNumber.js +2 -4
  37. package/lib/chevre/repo/trip.js +1 -2
  38. package/lib/chevre/repository.d.ts +12 -0
  39. package/lib/chevre/repository.js +26 -1
  40. package/lib/chevre/service/account.js +14 -21
  41. package/lib/chevre/service/accountTransaction/deposit.js +2 -8
  42. package/lib/chevre/service/accountTransaction/transfer.js +2 -8
  43. package/lib/chevre/service/accountTransaction/withdraw.js +2 -8
  44. package/lib/chevre/service/aggregation/event/aggregateScreeningEvent.js +24 -32
  45. package/lib/chevre/service/assetTransaction/cancelReservationCOA.js +2 -4
  46. package/lib/chevre/service/assetTransaction/moneyTransfer.js +2 -23
  47. package/lib/chevre/service/assetTransaction/pay/check.js +6 -11
  48. package/lib/chevre/service/assetTransaction/pay/confirm.js +1 -2
  49. package/lib/chevre/service/assetTransaction/pay/searchGMOTrade.d.ts +1 -1
  50. package/lib/chevre/service/assetTransaction/pay/start/factory.d.ts +51 -3
  51. package/lib/chevre/service/assetTransaction/pay/start/factory.js +58 -21
  52. package/lib/chevre/service/assetTransaction/pay/start/preStart/fixPaymentService.d.ts +10 -0
  53. package/lib/chevre/service/assetTransaction/pay/start/preStart/fixPaymentService.js +88 -0
  54. package/lib/chevre/service/assetTransaction/pay/start/processAuthorize.d.ts +53 -0
  55. package/lib/chevre/service/assetTransaction/pay/start/processAuthorize.js +56 -0
  56. package/lib/chevre/service/assetTransaction/pay/start/processAuthorizeMovieTicket.d.ts +1 -1
  57. package/lib/chevre/service/assetTransaction/pay/start/processAuthorizeMovieTicket.js +1 -11
  58. package/lib/chevre/service/assetTransaction/pay/start.js +8 -132
  59. package/lib/chevre/service/assetTransaction/refund.js +13 -20
  60. package/lib/chevre/service/assetTransaction/registerService.js +1 -7
  61. package/lib/chevre/service/assetTransaction/reserve/validateStartRequest/validateIssuedOfferIfExists.js +2 -4
  62. package/lib/chevre/service/assetTransaction/reserveCOA.js +2 -4
  63. package/lib/chevre/service/delivery/product/factory.js +1 -2
  64. package/lib/chevre/service/delivery/reservation/factory.js +1 -2
  65. package/lib/chevre/service/event/saveScreeningEvents.js +1 -0
  66. package/lib/chevre/service/event.js +0 -1
  67. package/lib/chevre/service/moneyTransfer.js +2 -2
  68. package/lib/chevre/service/notification/factory.js +1 -1
  69. package/lib/chevre/service/notification/notifyByEmail.js +50 -56
  70. package/lib/chevre/service/notification/sendEmailMessage.js +2 -3
  71. package/lib/chevre/service/notification/triggerWebhook.js +32 -37
  72. package/lib/chevre/service/offer/event/authorize/processStartReserve4chevre.js +1 -2
  73. package/lib/chevre/service/offer/event/authorize.d.ts +2 -2
  74. package/lib/chevre/service/offer/event/authorize.js +4 -4
  75. package/lib/chevre/service/offer/event/issueEventOfferTicket.d.ts +2 -2
  76. package/lib/chevre/service/offer/event/issueEventOfferTicket.js +1 -1
  77. package/lib/chevre/service/offer/event/voidTransaction/processVoidTransaction4chevre.d.ts +0 -2
  78. package/lib/chevre/service/offer/event/voidTransaction/processVoidTransaction4chevre.js +1 -0
  79. package/lib/chevre/service/offer/event/voidTransaction.d.ts +2 -2
  80. package/lib/chevre/service/offer/event/voidTransaction.js +2 -2
  81. package/lib/chevre/service/offer/event/voidTransactionByActionId.d.ts +2 -2
  82. package/lib/chevre/service/offer/event/voidTransactionByActionId.js +2 -2
  83. package/lib/chevre/service/offer/eventServiceByCOA/acceptOffer/authorize.js +1 -2
  84. package/lib/chevre/service/offer/eventServiceByCOA/acceptOffer.d.ts +2 -2
  85. package/lib/chevre/service/offer/eventServiceByCOA/acceptOffer.js +6 -6
  86. package/lib/chevre/service/offer/eventServiceByCOA/authorize.d.ts +2 -2
  87. package/lib/chevre/service/offer/eventServiceByCOA/authorize.js +3 -10
  88. package/lib/chevre/service/offer/eventServiceByCOA/changeOffers.js +2 -2
  89. package/lib/chevre/service/offer/moneyTransfer/authorize.d.ts +2 -2
  90. package/lib/chevre/service/offer/moneyTransfer/authorize.js +53 -57
  91. package/lib/chevre/service/offer/moneyTransfer/voidTransaction.d.ts +2 -2
  92. package/lib/chevre/service/offer/moneyTransfer/voidTransaction.js +4 -1
  93. package/lib/chevre/service/offer/product.d.ts +3 -3
  94. package/lib/chevre/service/offer/product.js +4 -4
  95. package/lib/chevre/service/order/confirmPayTransaction.d.ts +0 -2
  96. package/lib/chevre/service/order/confirmPayTransaction.js +1 -0
  97. package/lib/chevre/service/order/findPlaceOrderTransaction.d.ts +2 -2
  98. package/lib/chevre/service/order/findPlaceOrderTransaction.js +1 -1
  99. package/lib/chevre/service/order/onAssetTransactionStatusChanged.d.ts +4 -4
  100. package/lib/chevre/service/order/onAssetTransactionStatusChanged.js +10 -19
  101. package/lib/chevre/service/order/onOrderStatusChanged/onOrderCancelled.js +1 -1
  102. package/lib/chevre/service/order/onOrderStatusChanged/onOrderDelivered.js +1 -1
  103. package/lib/chevre/service/order/onOrderStatusChanged/onOrderDeliveredPartially.js +1 -1
  104. package/lib/chevre/service/order/onOrderStatusChanged/onOrderInTransit.d.ts +2 -2
  105. package/lib/chevre/service/order/onOrderStatusChanged/onOrderInTransit.js +1 -1
  106. package/lib/chevre/service/order/onOrderStatusChanged/onOrderPaymentDue.js +1 -1
  107. package/lib/chevre/service/order/onOrderStatusChanged/onOrderProcessing.js +1 -1
  108. package/lib/chevre/service/order/onOrderStatusChanged/onOrderReturned.js +1 -1
  109. package/lib/chevre/service/order/onOrderUpdated.js +1 -2
  110. package/lib/chevre/service/order/payOrder.d.ts +2 -2
  111. package/lib/chevre/service/order/placeOrder/createPlacingOrderFromExistingTransaction.d.ts +2 -2
  112. package/lib/chevre/service/order/placeOrder/createPlacingOrderFromExistingTransaction.js +2 -3
  113. package/lib/chevre/service/order/placeOrder.d.ts +2 -2
  114. package/lib/chevre/service/order/returnOrder.d.ts +2 -2
  115. package/lib/chevre/service/order/returnOrder.js +2 -2
  116. package/lib/chevre/service/order/sendOrder.d.ts +2 -2
  117. package/lib/chevre/service/order/sendOrder.js +1 -1
  118. package/lib/chevre/service/payment/any/authorize/fixTransactionNumber.d.ts +3 -3
  119. package/lib/chevre/service/payment/any/authorize/handlePrePublishedPaymentMethodIdOnAuthorizing.d.ts +3 -3
  120. package/lib/chevre/service/payment/any/authorize/handlePrePublishedPaymentMethodIdOnAuthorizing.js +1 -1
  121. package/lib/chevre/service/payment/any/fixOrderAsNeeded.d.ts +2 -2
  122. package/lib/chevre/service/payment/any/fixOrderAsNeeded.js +4 -8
  123. package/lib/chevre/service/payment/any/publishPaymentUrl/fixTransactionNumberOnPublishPaymentUrl.d.ts +2 -2
  124. package/lib/chevre/service/payment/any.d.ts +6 -6
  125. package/lib/chevre/service/payment/any.js +10 -11
  126. package/lib/chevre/service/payment/creditCard/authorize/processAuthorizeCreditCard.js +1 -2
  127. package/lib/chevre/service/payment/creditCard/authorize/processAuthorizeCreditCard3ds.d.ts +1 -1
  128. package/lib/chevre/service/payment/creditCard/authorize/processAuthorizeCreditCard3ds.js +1 -2
  129. package/lib/chevre/service/payment/creditCard/authorize/processAuthorizeCreditCard3dsResult2recipe.d.ts +1 -1
  130. package/lib/chevre/service/payment/creditCard/authorize/processAuthorizeCreditCardResult2recipe.d.ts +1 -1
  131. package/lib/chevre/service/payment/creditCard/factory.d.ts +1 -1
  132. package/lib/chevre/service/payment/movieTicket/authorize.js +1 -1
  133. package/lib/chevre/service/payment/movieTicket/processPurchaseNumberAuth.js +2 -4
  134. package/lib/chevre/service/payment/movieTicket/refundMovieTicket.js +4 -6
  135. package/lib/chevre/service/payment/movieTicket/voidTransaction.js +1 -2
  136. package/lib/chevre/service/payment/paymentCard.js +2 -4
  137. package/lib/chevre/service/report/telemetry.d.ts +4 -0
  138. package/lib/chevre/service/report/telemetry.js +7 -12
  139. package/lib/chevre/service/reserve/potentialActions/onReservationUsed.js +2 -6
  140. package/lib/chevre/service/task/acceptCOAOffer.js +6 -4
  141. package/lib/chevre/service/task/authorizePayment.js +4 -2
  142. package/lib/chevre/service/task/confirmPayTransaction.js +2 -2
  143. package/lib/chevre/service/task/confirmReserveTransaction.js +1 -2
  144. package/lib/chevre/service/task/deleteTransaction.js +5 -1
  145. package/lib/chevre/service/task/onAssetTransactionStatusChanged.js +4 -2
  146. package/lib/chevre/service/task/onOrderPaymentCompleted.js +2 -2
  147. package/lib/chevre/service/task/onResourceDeleted/deleteResourcesByProduct.js +3 -6
  148. package/lib/chevre/service/task/onResourceUpdated/onOfferCatalogUpdated.js +1 -1
  149. package/lib/chevre/service/task/onResourceUpdated/syncOfferCatalog.js +1 -1
  150. package/lib/chevre/service/task/pay.js +1 -2
  151. package/lib/chevre/service/task/placeOrder.js +6 -4
  152. package/lib/chevre/service/task/publishPaymentUrl.js +4 -2
  153. package/lib/chevre/service/task/returnOrder.js +4 -4
  154. package/lib/chevre/service/task/returnPayTransaction.js +4 -3
  155. package/lib/chevre/service/task/sendOrder.js +2 -2
  156. package/lib/chevre/service/task/voidMoneyTransferTransaction.js +6 -3
  157. package/lib/chevre/service/task/voidPayTransaction.js +4 -2
  158. package/lib/chevre/service/task/voidRegisterServiceTransaction.js +3 -3
  159. package/lib/chevre/service/task/voidReserveTransaction.js +5 -4
  160. package/lib/chevre/service/transaction/deleteTransaction.d.ts +4 -0
  161. package/lib/chevre/service/transaction/deleteTransaction.js +57 -15
  162. package/lib/chevre/service/transaction/moneyTransfer.js +15 -23
  163. package/lib/chevre/service/transaction/placeOrder/confirm/publishCode.js +1 -1
  164. package/lib/chevre/service/transaction/placeOrder/confirm.d.ts +2 -2
  165. package/lib/chevre/service/transaction/placeOrder/confirm.js +12 -13
  166. package/lib/chevre/service/transaction/placeOrder/exportTasksById.d.ts +2 -2
  167. package/lib/chevre/service/transaction/placeOrder/exportTasksById.js +1 -1
  168. package/lib/chevre/service/transaction/placeOrder/{publishOrderNumberIfNotExist.d.ts → issueOrderNumberIfNotExist.d.ts} +4 -4
  169. package/lib/chevre/service/transaction/placeOrder/{publishOrderNumberIfNotExist.js → issueOrderNumberIfNotExist.js} +21 -13
  170. package/lib/chevre/service/transaction/placeOrder/publishConfirmationNumberIfNotExist.d.ts +2 -2
  171. package/lib/chevre/service/transaction/placeOrder/publishConfirmationNumberIfNotExist.js +3 -3
  172. package/lib/chevre/service/transaction/placeOrder/start/validateStartRequest.js +1 -2
  173. package/lib/chevre/service/transaction/placeOrder/start.d.ts +3 -3
  174. package/lib/chevre/service/transaction/placeOrder/start.js +2 -2
  175. package/lib/chevre/service/transaction/placeOrder/updateAgent.d.ts +23 -0
  176. package/lib/chevre/service/transaction/placeOrder/updateAgent.js +126 -0
  177. package/lib/chevre/service/transaction/placeOrder.d.ts +2 -1
  178. package/lib/chevre/service/transaction/placeOrder.js +3 -1
  179. package/lib/chevre/service/transaction/returnOrder/potentialActions.js +1 -2
  180. package/lib/chevre/service/transaction/returnOrder/preStart/getReturnPolicyByProject.js +1 -1
  181. package/lib/chevre/service/transaction/returnOrder.js +4 -4
  182. package/lib/chevre/service/transaction.d.ts +5 -21
  183. package/lib/chevre/service/transaction.js +5 -111
  184. package/package.json +6 -18
@@ -0,0 +1,88 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.fixPaymentService = fixPaymentService;
27
+ const factory = __importStar(require("../../../../../factory"));
28
+ function getPaymentServiceId(params) {
29
+ let paymentServiceId = '';
30
+ const paymentServiceType = params.object?.typeOf;
31
+ if (typeof params.object.id === 'string' && params.object.id.length > 0) {
32
+ paymentServiceId = params.object.id;
33
+ }
34
+ else {
35
+ switch (paymentServiceType) {
36
+ case factory.service.paymentService.PaymentServiceType.FaceToFace:
37
+ // 対面決済は特に何もしない
38
+ break;
39
+ case factory.service.paymentService.PaymentServiceType.PaymentCard:
40
+ case factory.service.paymentService.PaymentServiceType.CreditCard:
41
+ case factory.service.paymentService.PaymentServiceType.MovieTicket:
42
+ // リクエストでの指定を必須化(2022-04-12~)
43
+ throw new factory.errors.ArgumentNull('object.id');
44
+ default:
45
+ throw new factory.errors.NotImplemented(`Payment service '${paymentServiceType}' not implemented`);
46
+ }
47
+ }
48
+ return paymentServiceId;
49
+ }
50
+ function fixPaymentService(params) {
51
+ return async (repos) => {
52
+ const paymentServiceType = params.object?.typeOf;
53
+ let paymentService;
54
+ switch (paymentServiceType) {
55
+ case factory.service.paymentService.PaymentServiceType.FaceToFace:
56
+ // no op
57
+ // FaceToFaceの場合プロダクトは存在しない
58
+ break;
59
+ // PaymentCardの場合、プロダクト検索
60
+ case factory.service.paymentService.PaymentServiceType.PaymentCard:
61
+ paymentService = (await repos.product.projectFields({
62
+ limit: 1,
63
+ page: 1,
64
+ project: { id: { $eq: params.project.id } },
65
+ typeOf: { $eq: factory.product.ProductType.PaymentCard },
66
+ id: { $eq: getPaymentServiceId(params) }
67
+ }, ['availableChannel', 'serviceOutput', 'serviceType', 'potentialAction']
68
+ // []
69
+ )).shift();
70
+ if (paymentService === undefined) {
71
+ throw new factory.errors.NotFound('PaymentService');
72
+ }
73
+ break;
74
+ default:
75
+ paymentService = (await repos.paymentService.projectFields({
76
+ limit: 1,
77
+ page: 1,
78
+ project: { id: { $eq: params.project.id } },
79
+ typeOf: { $eq: paymentServiceType },
80
+ id: { $eq: getPaymentServiceId(params) }
81
+ }, ['availableChannel', 'serviceOutput', 'serviceType', 'potentialAction'])).shift();
82
+ if (paymentService === undefined) {
83
+ throw new factory.errors.NotFound('PaymentService');
84
+ }
85
+ }
86
+ return { paymentServiceType, paymentService };
87
+ };
88
+ }
@@ -0,0 +1,53 @@
1
+ import * as factory from '../../../../factory';
2
+ import { Settings } from '../../../../settings';
3
+ import type { AccountingReportRepo } from '../../../../repo/accountingReport';
4
+ import type { ActionRepo } from '../../../../repo/action';
5
+ import type { AssetTransactionRepo } from '../../../../repo/assetTransaction';
6
+ import type { CredentialsRepo } from '../../../../repo/credentials';
7
+ import type { EventRepo } from '../../../../repo/event';
8
+ import type { PaymentServiceRepo } from '../../../../repo/paymentService';
9
+ import type { PaymentServiceProviderRepo } from '../../../../repo/paymentServiceProvider';
10
+ import type { ProductRepo } from '../../../../repo/product';
11
+ import type { SellerPaymentAcceptedRepo } from '../../../../repo/sellerPaymentAccepted';
12
+ import type { TaskRepo } from '../../../../repo/task';
13
+ import { IPaymentAgencyTransaction } from '../../../payment/creditCard';
14
+ export interface IProcessAuthorizeOperationRepos {
15
+ accountingReport: AccountingReportRepo;
16
+ action: ActionRepo;
17
+ credentials: CredentialsRepo;
18
+ event: EventRepo;
19
+ paymentAccepted: SellerPaymentAcceptedRepo;
20
+ paymentService: PaymentServiceRepo;
21
+ paymentServiceProvider: PaymentServiceProviderRepo;
22
+ product: ProductRepo;
23
+ assetTransaction: AssetTransactionRepo;
24
+ task: TaskRepo;
25
+ }
26
+ export type IProcessAuthorizeOperation<T> = (repos: IProcessAuthorizeOperationRepos, settings: Settings) => Promise<T>;
27
+ /**
28
+ * 開始した決済取引について、決済承認を実行する
29
+ */
30
+ export declare function processAuthorize(params: factory.assetTransaction.pay.IStartParamsWithoutDetail & {
31
+ instrument: factory.action.trade.pay.IPlaceOrderRelatedInstrument[];
32
+ }, options: {
33
+ pendingPaymentAgencyTransaction?: IPaymentAgencyTransaction;
34
+ /**
35
+ * 実行者
36
+ */
37
+ executor?: {
38
+ /**
39
+ * task ID
40
+ * taskによって実行されている場合値が存在する
41
+ */
42
+ id?: string;
43
+ };
44
+ purpose: {
45
+ /**
46
+ * placeOrder ID
47
+ */
48
+ id?: string;
49
+ };
50
+ checkedAction: {
51
+ id: string;
52
+ };
53
+ }, transactionBeforeAuthorize: factory.assetTransaction.pay.ITransaction, paymentServiceType: factory.service.paymentService.PaymentServiceType, paymentService: Pick<factory.product.IProduct, 'availableChannel' | 'id' | 'serviceOutput' | 'serviceType' | 'potentialAction'> | Pick<factory.service.paymentService.IService, 'availableChannel' | 'id' | 'serviceOutput' | 'serviceType' | 'potentialAction'> | undefined): IProcessAuthorizeOperation<Pick<factory.assetTransaction.pay.ITransaction, 'id' | 'object'>>;
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.processAuthorize = processAuthorize;
27
+ const factory = __importStar(require("../../../../factory"));
28
+ const factory_1 = require("./factory");
29
+ const processAuthorizeAccount_1 = require("./processAuthorizeAccount");
30
+ const processAuthorizeCreditCard_1 = require("./processAuthorizeCreditCard");
31
+ const processAuthorizeMovieTicket_1 = require("./processAuthorizeMovieTicket");
32
+ /**
33
+ * 開始した決済取引について、決済承認を実行する
34
+ */
35
+ function processAuthorize(params, options, transactionBeforeAuthorize, paymentServiceType, paymentService) {
36
+ return async (repos, settings) => {
37
+ let transaction = transactionBeforeAuthorize;
38
+ switch (paymentServiceType) {
39
+ case factory.service.paymentService.PaymentServiceType.FaceToFace:
40
+ // 対面決済は特に何もしない
41
+ break;
42
+ case factory.service.paymentService.PaymentServiceType.PaymentCard:
43
+ transaction = await (0, processAuthorizeAccount_1.processAuthorizeAccount)(params, transactionBeforeAuthorize, String(paymentService?.id))(repos);
44
+ break;
45
+ case factory.service.paymentService.PaymentServiceType.CreditCard:
46
+ await (0, processAuthorizeCreditCard_1.processAuthorizeCreditCard)(params, transactionBeforeAuthorize, String(paymentService?.id), (0, factory_1.createAuthorizeCreditCardOptions)(options))(repos, settings);
47
+ break;
48
+ case factory.service.paymentService.PaymentServiceType.MovieTicket:
49
+ await (0, processAuthorizeMovieTicket_1.processAuthorizeMovieTicket)(params, transactionBeforeAuthorize, String(paymentService?.id), (0, factory_1.createAuthorizeMovieTicketOptions)(options))(repos, settings);
50
+ break;
51
+ default:
52
+ throw new factory.errors.NotImplemented(`Payment service '${paymentServiceType}' not implemented`);
53
+ }
54
+ return transaction;
55
+ };
56
+ }
@@ -39,4 +39,4 @@ export declare function processAuthorizeMovieTicket(params: factory.assetTransac
39
39
  paymentServiceProvider: PaymentServiceProviderRepo;
40
40
  assetTransaction: AssetTransactionRepo;
41
41
  task: TaskRepo;
42
- }, settings: Settings) => Promise<factory.assetTransaction.pay.ITransaction>;
42
+ }, settings: Settings) => Promise<void>;
@@ -29,17 +29,7 @@ function processAuthorizeMovieTicket(params, transaction, paymentServiceId,
29
29
  // useCheckByIdentifierIfNotYet: boolean,
30
30
  options) {
31
31
  return async (repos, settings) => {
32
- // const { accountsReceivablesByServiceType } = await MovieTicketPayment.authorize(
33
- // params, transaction, paymentServiceId, options
34
- // )(repos, settings);
35
32
  await MovieTicketPayment.authorize(params, transaction, paymentServiceId, options)(repos, settings);
36
- return transaction;
37
- // discontinue(2024-12-17~)
38
- // return saveAuthorizeResult({
39
- // id: transaction.id,
40
- // update: {
41
- // 'object.accountsReceivablesByServiceType': accountsReceivablesByServiceType // 認証レスポンスより計上金額を保管(2023-05-15~)
42
- // }
43
- // })(repos);
33
+ // return transaction;
44
34
  };
45
35
  }
@@ -1,162 +1,38 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
2
  Object.defineProperty(exports, "__esModule", { value: true });
26
3
  exports.start = start;
27
- const factory = __importStar(require("../../../factory"));
28
4
  const fixInformAction_1 = require("../fixInformAction");
5
+ const fixPaymentService_1 = require("./start/preStart/fixPaymentService");
29
6
  const validateAcceptedPaymentMethodIfNeeded_1 = require("./start/preStart/validateAcceptedPaymentMethodIfNeeded");
30
7
  const validateSeller_1 = require("./start/preStart/validateSeller");
31
8
  const factory_1 = require("./start/factory");
32
- const processAuthorizeAccount_1 = require("./start/processAuthorizeAccount");
33
- const processAuthorizeCreditCard_1 = require("./start/processAuthorizeCreditCard");
34
- const processAuthorizeMovieTicket_1 = require("./start/processAuthorizeMovieTicket");
9
+ const processAuthorize_1 = require("./start/processAuthorize");
35
10
  /**
36
11
  * 取引開始
37
12
  */
38
13
  function start(params, options) {
39
14
  return async (repos, settings) => {
40
- // 金額をfix
41
- const amount = params.object.paymentMethod?.amount;
42
- if (typeof amount !== 'number') {
43
- throw new factory.errors.ArgumentNull('object.paymentMethod.amount');
44
- }
45
- const transactionNumber = params.transactionNumber;
46
- if (typeof transactionNumber !== 'string' || transactionNumber.length === 0) {
47
- throw new factory.errors.ArgumentNull('transactionNumber');
48
- }
49
15
  await (0, validateSeller_1.validateSeller)(params)(repos);
50
16
  // リソースの対応決済方法検証(2025-12-02~)
51
17
  await (0, validateAcceptedPaymentMethodIfNeeded_1.validateAcceptedPaymentMethodIfNeeded)(params)(repos);
52
18
  // 決済サービス確認
53
- const paymentServiceType = params.object?.typeOf;
54
- const paymentService = await fixPaymentService(params)(repos);
19
+ const { paymentServiceType, paymentService } = await (0, fixPaymentService_1.fixPaymentService)(params)(repos);
55
20
  const informActions = await (0, fixInformAction_1.fixInformAction)({
56
21
  paymentService,
57
22
  project: { id: params.project.id }
58
23
  })(repos);
59
24
  // 取引開始
60
- let transaction;
61
25
  const startParams = (0, factory_1.createStartParams)({
62
26
  ...params,
63
- transactionNumber,
27
+ // transactionNumber,
64
28
  paymentServiceType,
65
- amount,
29
+ // amount,
66
30
  paymentService,
67
31
  informActions
68
32
  }, { checkedAction: options.checkedAction } // 連携(2024-12-13~)
69
33
  );
70
- transaction = await repos.assetTransaction.start(startParams);
71
- switch (paymentServiceType) {
72
- case factory.service.paymentService.PaymentServiceType.FaceToFace:
73
- // 対面決済は特に何もしない
74
- break;
75
- case factory.service.paymentService.PaymentServiceType.PaymentCard:
76
- transaction = await (0, processAuthorizeAccount_1.processAuthorizeAccount)(params, transaction, String(paymentService?.id))(repos);
77
- break;
78
- case factory.service.paymentService.PaymentServiceType.CreditCard:
79
- // transaction =
80
- await (0, processAuthorizeCreditCard_1.processAuthorizeCreditCard)(params, transaction, String(paymentService?.id), {
81
- executor: (typeof options.executor?.id === 'string') ? { id: options.executor.id } : {}, // タスク関連付け(2024-05-18~)
82
- ...(options.pendingPaymentAgencyTransaction !== undefined)
83
- ? { pendingPaymentAgencyTransaction: options.pendingPaymentAgencyTransaction }
84
- : undefined
85
- })(repos, settings);
86
- break;
87
- case factory.service.paymentService.PaymentServiceType.MovieTicket:
88
- transaction = await (0, processAuthorizeMovieTicket_1.processAuthorizeMovieTicket)(params, transaction, String(paymentService?.id),
89
- // options.useCheckByIdentifierIfNotYet,
90
- {
91
- executor: (typeof options.executor?.id === 'string') ? { id: options.executor.id } : {},
92
- purpose: options.purpose,
93
- checkedAction: options.checkedAction
94
- })(repos, settings);
95
- break;
96
- default:
97
- throw new factory.errors.NotImplemented(`Payment service '${paymentServiceType}' not implemented`);
98
- }
99
- return transaction;
100
- };
101
- }
102
- function getPaymentServiceId(params) {
103
- let paymentServiceId = '';
104
- const paymentServiceType = params.object?.typeOf;
105
- if (typeof params.object.id === 'string' && params.object.id.length > 0) {
106
- paymentServiceId = params.object.id;
107
- }
108
- else {
109
- switch (paymentServiceType) {
110
- case factory.service.paymentService.PaymentServiceType.FaceToFace:
111
- // 対面決済は特に何もしない
112
- break;
113
- case factory.service.paymentService.PaymentServiceType.PaymentCard:
114
- case factory.service.paymentService.PaymentServiceType.CreditCard:
115
- case factory.service.paymentService.PaymentServiceType.MovieTicket:
116
- // リクエストでの指定を必須化(2022-04-12~)
117
- throw new factory.errors.ArgumentNull('object.id');
118
- default:
119
- throw new factory.errors.NotImplemented(`Payment service '${paymentServiceType}' not implemented`);
120
- }
121
- }
122
- return paymentServiceId;
123
- }
124
- function fixPaymentService(params) {
125
- return async (repos) => {
126
- const paymentServiceType = params.object?.typeOf;
127
- let paymentService;
128
- switch (paymentServiceType) {
129
- case factory.service.paymentService.PaymentServiceType.FaceToFace:
130
- // no op
131
- // FaceToFaceの場合プロダクトは存在しない
132
- break;
133
- // PaymentCardの場合、プロダクト検索
134
- case factory.service.paymentService.PaymentServiceType.PaymentCard:
135
- paymentService = (await repos.product.projectFields({
136
- limit: 1,
137
- page: 1,
138
- project: { id: { $eq: params.project.id } },
139
- typeOf: { $eq: factory.product.ProductType.PaymentCard },
140
- id: { $eq: getPaymentServiceId(params) }
141
- }, ['availableChannel', 'serviceOutput', 'serviceType', 'potentialAction']
142
- // []
143
- )).shift();
144
- if (paymentService === undefined) {
145
- throw new factory.errors.NotFound('PaymentService');
146
- }
147
- break;
148
- default:
149
- paymentService = (await repos.paymentService.projectFields({
150
- limit: 1,
151
- page: 1,
152
- project: { id: { $eq: params.project.id } },
153
- typeOf: { $eq: paymentServiceType },
154
- id: { $eq: getPaymentServiceId(params) }
155
- }, ['availableChannel', 'serviceOutput', 'serviceType', 'potentialAction'])).shift();
156
- if (paymentService === undefined) {
157
- throw new factory.errors.NotFound('PaymentService');
158
- }
159
- }
160
- return paymentService;
34
+ const transactionBeforeAuthorize = await repos.assetTransaction.start(startParams);
35
+ // 決済代行等を利用して決済承認
36
+ return (0, processAuthorize_1.processAuthorize)(params, options, transactionBeforeAuthorize, paymentServiceType, paymentService)(repos, settings);
161
37
  };
162
38
  }
@@ -47,13 +47,12 @@ function start(params) {
47
47
  if (typeof paymentMethodId !== 'string') {
48
48
  throw new factory.errors.ArgumentNull('object.paymentMethod.paymentMethodId');
49
49
  }
50
- let paymentServiceType = params.object?.typeOf;
51
50
  // 必ず、決済取引からpaymentServiceTypeを取得する
52
51
  const payTransaction = await repos.assetTransaction.findByTransactionNumber({
53
52
  typeOf: factory.assetTransactionType.Pay,
54
53
  transactionNumber: paymentMethodId
55
54
  });
56
- paymentServiceType = payTransaction.object.typeOf;
55
+ const paymentServiceType = payTransaction.object.typeOf;
57
56
  // PayActionを確認する
58
57
  const payAction = await repos.action.findPayAction({ project: { id: params.project.id }, paymentMethodId });
59
58
  if (payAction === undefined) {
@@ -70,7 +69,6 @@ function start(params) {
70
69
  project: { id: params.project.id }
71
70
  })(repos);
72
71
  // 取引開始
73
- let transaction;
74
72
  const startParams = (0, factory_1.createStartParams)({
75
73
  ...params,
76
74
  transactionNumber,
@@ -79,23 +77,18 @@ function start(params) {
79
77
  paymentServiceType,
80
78
  informActions
81
79
  });
82
- try {
83
- transaction = await repos.assetTransaction.start(startParams);
84
- switch (paymentServiceType) {
85
- case factory.service.paymentService.PaymentServiceType.FaceToFace:
86
- break;
87
- case factory.service.paymentService.PaymentServiceType.PaymentCard:
88
- break;
89
- case factory.service.paymentService.PaymentServiceType.CreditCard:
90
- break;
91
- case factory.service.paymentService.PaymentServiceType.MovieTicket:
92
- break;
93
- default:
94
- throw new factory.errors.NotImplemented(`Payment service '${paymentServiceType}' not implemented`);
95
- }
96
- }
97
- catch (error) {
98
- throw error;
80
+ const transaction = await repos.assetTransaction.start(startParams);
81
+ switch (paymentServiceType) {
82
+ case factory.service.paymentService.PaymentServiceType.FaceToFace:
83
+ break;
84
+ case factory.service.paymentService.PaymentServiceType.PaymentCard:
85
+ break;
86
+ case factory.service.paymentService.PaymentServiceType.CreditCard:
87
+ break;
88
+ case factory.service.paymentService.PaymentServiceType.MovieTicket:
89
+ break;
90
+ default:
91
+ throw new factory.errors.NotImplemented(`Payment service '${paymentServiceType}' not implemented`);
99
92
  }
100
93
  return transaction;
101
94
  };
@@ -97,13 +97,7 @@ function start(params) {
97
97
  transactionNumber: transactionNumber
98
98
  };
99
99
  // 取引作成
100
- let transaction;
101
- try {
102
- transaction = await repos.assetTransaction.start(startParams);
103
- }
104
- catch (error) {
105
- throw error;
106
- }
100
+ const transaction = await repos.assetTransaction.start(startParams);
107
101
  // 必要あれば在庫確認など
108
102
  const serviceOutputs = transactionObject.map((o) => o.itemOffered?.serviceOutput);
109
103
  // サービスアウトプット保管
@@ -91,10 +91,8 @@ function validateOfferToken(params) {
91
91
  throw new factory.errors.Argument('ticketedOffer.token', 'identifier not matched');
92
92
  }
93
93
  // 有効期間検証
94
- let validThroughMoment;
95
- let validFromMoment;
96
- validThroughMoment = (0, moment_1.default)(verifiedOffer.validThrough, OFFER_TOKEN_DATE_FORMAT, true);
97
- validFromMoment = (0, moment_1.default)(verifiedOffer.validFrom, OFFER_TOKEN_DATE_FORMAT, true);
94
+ const validThroughMoment = (0, moment_1.default)(verifiedOffer.validThrough, OFFER_TOKEN_DATE_FORMAT, true);
95
+ const validFromMoment = (0, moment_1.default)(verifiedOffer.validFrom, OFFER_TOKEN_DATE_FORMAT, true);
98
96
  if (!validThroughMoment.isValid()) {
99
97
  throw new factory.errors.Argument('ticketedOffer.token', 'invalid validThrough');
100
98
  }
@@ -6,19 +6,17 @@ exports.confirm = confirm;
6
6
  */
7
7
  function confirm(params) {
8
8
  return async (repos) => {
9
- let stateReserveArgs;
10
- let stateReserveResult;
11
9
  let updReserveArgs;
12
10
  let updReserveResult;
13
11
  // 未本予約であれば実行(COA本予約は一度成功すると成功できない)
14
12
  // リトライ可能な前提でつくる必要があるので、要注意
15
13
  // すでに本予約済みかどうか確認
16
- stateReserveArgs = {
14
+ const stateReserveArgs = {
17
15
  theaterCode: params.object.theaterCode,
18
16
  reserveNum: params.object.tmpReserveNum,
19
17
  telNum: params.object.telNum
20
18
  };
21
- stateReserveResult = await repos.reserveService.stateReserve(stateReserveArgs);
19
+ const stateReserveResult = await repos.reserveService.stateReserve(stateReserveArgs);
22
20
  if (stateReserveResult === null) {
23
21
  updReserveArgs = params.object;
24
22
  updReserveResult = await repos.reserveService.updReserve(updReserveArgs);
@@ -31,7 +31,6 @@ const moment_1 = __importDefault(require("moment"));
31
31
  const factory = __importStar(require("../../../factory"));
32
32
  const MAX_OWNED_THROUGH = '3000-01-01T00:00:00Z';
33
33
  function createProductOwnershipInfo(params) {
34
- let ownershipInfo;
35
34
  let ownedThrough;
36
35
  // どういう期間でいくらのオファーなのか
37
36
  const priceSpec = params.acceptedOffer.priceSpecification;
@@ -92,7 +91,7 @@ function createProductOwnershipInfo(params) {
92
91
  ...(itemOffered.validFor !== undefined) ? { validFor: itemOffered.validFor } : undefined,
93
92
  ...(itemOffered.name !== undefined) ? { name: itemOffered.name } : undefined
94
93
  };
95
- ownershipInfo = {
94
+ const ownershipInfo = {
96
95
  project: params.project,
97
96
  typeOf: 'OwnershipInfo',
98
97
  id: '',
@@ -31,7 +31,6 @@ const moment_timezone_1 = __importDefault(require("moment-timezone"));
31
31
  const factory = __importStar(require("../../../factory"));
32
32
  function createReservationOwnershipInfo(params) {
33
33
  const itemOffered = params.acceptedOffer.itemOffered;
34
- let ownershipInfo;
35
34
  // イベント予約に対する所有権の有効期限はイベント終了日時までで十分だろう
36
35
  // 現時点では所有権対象がイベント予約のみなので、これで問題ないが、
37
36
  // 対象が他に広がれば、有効期間のコントロールは別でしっかり行う必要があるだろう
@@ -77,7 +76,7 @@ function createReservationOwnershipInfo(params) {
77
76
  else {
78
77
  throw new factory.errors.NotImplemented(`itemOffered.typeOf '${itemOffered.typeOf}' not implemented`);
79
78
  }
80
- ownershipInfo = {
79
+ const ownershipInfo = {
81
80
  project: params.project,
82
81
  typeOf: 'OwnershipInfo',
83
82
  id: '',
@@ -29,6 +29,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
29
29
  exports.createScreeningEventIdFromCOA = createScreeningEventIdFromCOA;
30
30
  exports.saveScreeningEvents = saveScreeningEvents;
31
31
  const debug_1 = __importDefault(require("debug"));
32
+ // import difference from 'lodash.difference';
32
33
  // import { google } from 'googleapis';
33
34
  const moment_timezone_1 = __importDefault(require("moment-timezone"));
34
35
  const factory = __importStar(require("../../factory"));
@@ -29,7 +29,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
29
29
  exports.saveScreeningEvents = exports.saveScreeningEventSeries = void 0;
30
30
  exports.importFromCOA = importFromCOA;
31
31
  const debug_1 = __importDefault(require("debug"));
32
- // @ts-ignore
33
32
  const lodash_difference_1 = __importDefault(require("lodash.difference"));
34
33
  // import { google } from 'googleapis';
35
34
  const moment_timezone_1 = __importDefault(require("moment-timezone"));
@@ -65,8 +65,8 @@ function authorize(params) {
65
65
  }
66
66
  catch (error) {
67
67
  // PecorinoAPIのエラーをハンドリング
68
- error = (0, errorHandler_1.handlePecorinoError)(error);
69
- throw error;
68
+ const handledError = (0, errorHandler_1.handlePecorinoError)(error);
69
+ throw handledError;
70
70
  }
71
71
  // return pendingTransaction;
72
72
  };
@@ -58,7 +58,7 @@ lastMessage:${lastMessage}`;
58
58
  const MAX_LAST_MESSAGE_LENGTH = 60;
59
59
  function tasks2lineNotify(params) {
60
60
  const subject = `${params.tasks.length} ${exports.ABORT_REPORT_SUBJECT}`;
61
- let content = subject;
61
+ let content;
62
62
  // あまりに通知タスク数が多いケースに対応
63
63
  if (params.tasks.length > 10) {
64
64
  content = params.tasks.map((task) => {