@chevre/domain 24.0.0-alpha.2 → 24.0.0-alpha.21

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 (177) hide show
  1. package/lib/chevre/repo/action/acceptCOAOffer.d.ts +23 -0
  2. package/lib/chevre/repo/action/acceptCOAOffer.js +64 -0
  3. package/lib/chevre/repo/action/acceptPay.d.ts +8 -0
  4. package/lib/chevre/repo/action/acceptPay.js +13 -0
  5. package/lib/chevre/repo/action/actionProcess.d.ts +115 -0
  6. package/lib/chevre/repo/action/actionProcess.js +293 -0
  7. package/lib/chevre/repo/action/authorizeOffer.d.ts +21 -0
  8. package/lib/chevre/repo/action/authorizeOffer.js +85 -0
  9. package/lib/chevre/repo/action/checkMovieTicket.d.ts +111 -0
  10. package/lib/chevre/repo/action/checkMovieTicket.js +200 -0
  11. package/lib/chevre/repo/action/checkThing.d.ts +8 -0
  12. package/lib/chevre/repo/action/checkThing.js +13 -0
  13. package/lib/chevre/repo/action.d.ts +9 -249
  14. package/lib/chevre/repo/action.js +308 -708
  15. package/lib/chevre/repo/aggregateAction.d.ts +102 -0
  16. package/lib/chevre/repo/aggregateAction.js +379 -0
  17. package/lib/chevre/repo/mongoose/schemas/transaction.js +31 -0
  18. package/lib/chevre/repo/orderInTransaction.d.ts +8 -0
  19. package/lib/chevre/repo/orderInTransaction.js +16 -2
  20. package/lib/chevre/repo/orderNumber.d.ts +3 -2
  21. package/lib/chevre/repo/orderNumber.js +23 -28
  22. package/lib/chevre/repo/transaction/moneyTransfer.d.ts +61 -0
  23. package/lib/chevre/repo/transaction/moneyTransfer.js +379 -0
  24. package/lib/chevre/repo/transaction/placeOrder.d.ts +140 -0
  25. package/lib/chevre/repo/transaction/placeOrder.js +528 -0
  26. package/lib/chevre/repo/transaction/returnOrder.d.ts +45 -0
  27. package/lib/chevre/repo/transaction/returnOrder.js +341 -0
  28. package/lib/chevre/repo/transaction.d.ts +1 -125
  29. package/lib/chevre/repo/transaction.js +726 -632
  30. package/lib/chevre/repository.d.ts +49 -0
  31. package/lib/chevre/repository.js +107 -2
  32. package/lib/chevre/service/aggregation/system.d.ts +10 -10
  33. package/lib/chevre/service/aggregation/system.js +9 -9
  34. package/lib/chevre/service/assetTransaction/pay/check.d.ts +5 -4
  35. package/lib/chevre/service/assetTransaction/pay/publishPaymentUrl.d.ts +5 -2
  36. package/lib/chevre/service/assetTransaction/pay/publishPaymentUrl.js +3 -3
  37. package/lib/chevre/service/assetTransaction/pay/start/factory.d.ts +51 -3
  38. package/lib/chevre/service/assetTransaction/pay/start/factory.js +58 -21
  39. package/lib/chevre/service/assetTransaction/pay/start/preStart/fixPaymentService.d.ts +10 -0
  40. package/lib/chevre/service/assetTransaction/pay/start/preStart/fixPaymentService.js +88 -0
  41. package/lib/chevre/service/assetTransaction/pay/start/processAuthorize.d.ts +55 -0
  42. package/lib/chevre/service/assetTransaction/pay/start/processAuthorize.js +56 -0
  43. package/lib/chevre/service/assetTransaction/pay/start/processAuthorizeMovieTicket.d.ts +3 -1
  44. package/lib/chevre/service/assetTransaction/pay/start/processAuthorizeMovieTicket.js +1 -11
  45. package/lib/chevre/service/assetTransaction/pay/start.d.ts +2 -0
  46. package/lib/chevre/service/assetTransaction/pay/start.js +8 -132
  47. package/lib/chevre/service/notification/triggerWebhook.d.ts +7 -6
  48. package/lib/chevre/service/offer/event/authorize.d.ts +2 -2
  49. package/lib/chevre/service/offer/event/authorize.js +3 -3
  50. package/lib/chevre/service/offer/event/issueEventOfferTicket.d.ts +2 -2
  51. package/lib/chevre/service/offer/event/issueEventOfferTicket.js +1 -1
  52. package/lib/chevre/service/offer/event/voidTransaction/processVoidTransaction4chevre.d.ts +0 -2
  53. package/lib/chevre/service/offer/event/voidTransaction/processVoidTransaction4chevre.js +1 -0
  54. package/lib/chevre/service/offer/event/voidTransaction.d.ts +2 -2
  55. package/lib/chevre/service/offer/event/voidTransaction.js +2 -2
  56. package/lib/chevre/service/offer/event/voidTransactionByActionId.d.ts +3 -3
  57. package/lib/chevre/service/offer/event/voidTransactionByActionId.js +2 -2
  58. package/lib/chevre/service/offer/eventServiceByCOA/acceptOffer.d.ts +16 -5
  59. package/lib/chevre/service/offer/eventServiceByCOA/acceptOffer.js +7 -7
  60. package/lib/chevre/service/offer/eventServiceByCOA/authorize.d.ts +6 -4
  61. package/lib/chevre/service/offer/eventServiceByCOA/authorize.js +3 -10
  62. package/lib/chevre/service/offer/eventServiceByCOA/authorizeByAcceptAction.js +21 -13
  63. package/lib/chevre/service/offer/eventServiceByCOA/changeOffers.js +19 -10
  64. package/lib/chevre/service/offer/eventServiceByCOA/findAcceptAction.d.ts +2 -2
  65. package/lib/chevre/service/offer/moneyTransfer/authorize.d.ts +2 -2
  66. package/lib/chevre/service/offer/moneyTransfer/authorize.js +6 -3
  67. package/lib/chevre/service/offer/moneyTransfer/voidTransaction.d.ts +2 -2
  68. package/lib/chevre/service/offer/moneyTransfer/voidTransaction.js +4 -1
  69. package/lib/chevre/service/offer/product.d.ts +3 -3
  70. package/lib/chevre/service/offer/product.js +4 -4
  71. package/lib/chevre/service/order/confirmPayTransaction.d.ts +0 -2
  72. package/lib/chevre/service/order/confirmPayTransaction.js +1 -0
  73. package/lib/chevre/service/order/findPlaceOrderTransaction.d.ts +2 -2
  74. package/lib/chevre/service/order/findPlaceOrderTransaction.js +1 -1
  75. package/lib/chevre/service/order/onAssetTransactionStatusChanged/isDeliverable.d.ts +16 -0
  76. package/lib/chevre/service/order/onAssetTransactionStatusChanged/isDeliverable.js +97 -0
  77. package/lib/chevre/service/order/onAssetTransactionStatusChanged/onPayTransactionCanceled.d.ts +21 -0
  78. package/lib/chevre/service/order/onAssetTransactionStatusChanged/onPayTransactionCanceled.js +86 -0
  79. package/lib/chevre/service/order/onAssetTransactionStatusChanged/onPayTransactionConfirmed.d.ts +22 -0
  80. package/lib/chevre/service/order/onAssetTransactionStatusChanged/onPayTransactionConfirmed.js +112 -0
  81. package/lib/chevre/service/order/onAssetTransactionStatusChanged/onReserveTransactionConfirmed.d.ts +22 -0
  82. package/lib/chevre/service/order/onAssetTransactionStatusChanged/onReserveTransactionConfirmed.js +74 -0
  83. package/lib/chevre/service/order/onAssetTransactionStatusChanged/paymentDue2Processing.d.ts +25 -0
  84. package/lib/chevre/service/order/onAssetTransactionStatusChanged/paymentDue2Processing.js +111 -0
  85. package/lib/chevre/service/order/onAssetTransactionStatusChanged/processing2inTransit.d.ts +16 -0
  86. package/lib/chevre/service/order/onAssetTransactionStatusChanged/processing2inTransit.js +74 -0
  87. package/lib/chevre/service/order/onAssetTransactionStatusChanged.d.ts +8 -30
  88. package/lib/chevre/service/order/onAssetTransactionStatusChanged.js +37 -348
  89. package/lib/chevre/service/order/onOrderStatusChanged/onOrderDelivered.d.ts +6 -7
  90. package/lib/chevre/service/order/onOrderStatusChanged/onOrderDeliveredPartially.d.ts +6 -5
  91. package/lib/chevre/service/order/onOrderStatusChanged/onOrderInTransit.d.ts +7 -6
  92. package/lib/chevre/service/order/onOrderStatusChanged/onOrderInTransit.js +1 -1
  93. package/lib/chevre/service/order/payOrder.d.ts +2 -2
  94. package/lib/chevre/service/order/placeOrder/createPlacingOrderFromExistingTransaction.d.ts +2 -2
  95. package/lib/chevre/service/order/placeOrder/createPlacingOrderFromExistingTransaction.js +1 -1
  96. package/lib/chevre/service/order/placeOrder.d.ts +13 -12
  97. package/lib/chevre/service/order/returnOrder.d.ts +2 -2
  98. package/lib/chevre/service/order/returnOrder.js +1 -1
  99. package/lib/chevre/service/order/sendOrder.d.ts +6 -6
  100. package/lib/chevre/service/order/sendOrder.js +10 -8
  101. package/lib/chevre/service/order.d.ts +3 -6
  102. package/lib/chevre/service/order.js +3 -9
  103. package/lib/chevre/service/payment/any/{fixOrderAsNeeded.d.ts → authorize/fixOrderAsNeeded.d.ts} +6 -6
  104. package/lib/chevre/service/payment/any/{fixOrderAsNeeded.js → authorize/fixOrderAsNeeded.js} +5 -8
  105. package/lib/chevre/service/payment/any/authorize/fixTransactionNumber.d.ts +3 -3
  106. package/lib/chevre/service/payment/any/authorize/handlePrePublishedPaymentMethodIdOnAuthorizing.d.ts +3 -3
  107. package/lib/chevre/service/payment/any/authorize/handlePrePublishedPaymentMethodIdOnAuthorizing.js +1 -1
  108. package/lib/chevre/service/payment/any/authorize.d.ts +92 -0
  109. package/lib/chevre/service/payment/any/authorize.js +225 -0
  110. package/lib/chevre/service/payment/any/findAcceptAction.d.ts +43 -0
  111. package/lib/chevre/service/payment/any/findAcceptAction.js +94 -0
  112. package/lib/chevre/service/payment/any/findAuthorizeAction.d.ts +41 -0
  113. package/lib/chevre/service/payment/any/findAuthorizeAction.js +83 -0
  114. package/lib/chevre/service/payment/any/findCheckAction.d.ts +45 -0
  115. package/lib/chevre/service/payment/any/findCheckAction.js +89 -0
  116. package/lib/chevre/service/payment/any/invalidatePaymentUrl.d.ts +28 -0
  117. package/lib/chevre/service/payment/any/invalidatePaymentUrl.js +185 -0
  118. package/lib/chevre/service/payment/any/onPayActionCompleted.d.ts +7 -3
  119. package/lib/chevre/service/payment/any/onPayActionCompleted.js +3 -0
  120. package/lib/chevre/service/payment/any/processVoidPayTransaction.d.ts +29 -0
  121. package/lib/chevre/service/payment/any/processVoidPayTransaction.js +125 -0
  122. package/lib/chevre/service/payment/any/publishPaymentUrl/fixTransactionNumberOnPublishPaymentUrl.d.ts +2 -2
  123. package/lib/chevre/service/payment/any/publishPaymentUrl.d.ts +66 -0
  124. package/lib/chevre/service/payment/any/publishPaymentUrl.js +133 -0
  125. package/lib/chevre/service/payment/any/voidPayTransaction.d.ts +31 -0
  126. package/lib/chevre/service/payment/any/voidPayTransaction.js +38 -0
  127. package/lib/chevre/service/payment/any.d.ts +8 -305
  128. package/lib/chevre/service/payment/any.js +17 -857
  129. package/lib/chevre/service/payment/movieTicket/authorize.d.ts +2 -0
  130. package/lib/chevre/service/payment/movieTicket/checkMovieTicket.d.ts +3 -3
  131. package/lib/chevre/service/payment/movieTicket/checkMovieTicket.js +3 -3
  132. package/lib/chevre/service/payment/movieTicket/validation.d.ts +11 -10
  133. package/lib/chevre/service/payment/movieTicket/validation.js +19 -15
  134. package/lib/chevre/service/report/telemetry.d.ts +4 -0
  135. package/lib/chevre/service/report/telemetry.js +7 -12
  136. package/lib/chevre/service/task/acceptCOAOffer.js +11 -6
  137. package/lib/chevre/service/task/authorizePayment.js +6 -2
  138. package/lib/chevre/service/task/checkMovieTicket.js +3 -3
  139. package/lib/chevre/service/task/checkResource.js +2 -2
  140. package/lib/chevre/service/task/confirmPayTransaction.js +2 -2
  141. package/lib/chevre/service/task/deleteTransaction.js +7 -1
  142. package/lib/chevre/service/task/onAssetTransactionStatusChanged.js +4 -2
  143. package/lib/chevre/service/task/onOrderPaymentCompleted.js +2 -2
  144. package/lib/chevre/service/task/payment/payByTask.d.ts +14 -12
  145. package/lib/chevre/service/task/placeOrder.js +6 -4
  146. package/lib/chevre/service/task/publishPaymentUrl.js +8 -4
  147. package/lib/chevre/service/task/returnOrder.js +4 -4
  148. package/lib/chevre/service/task/returnPayTransaction.js +4 -3
  149. package/lib/chevre/service/task/sendOrder.js +4 -4
  150. package/lib/chevre/service/task/voidMoneyTransferTransaction.js +6 -3
  151. package/lib/chevre/service/task/voidPayTransaction.js +4 -2
  152. package/lib/chevre/service/task/voidRegisterServiceTransaction.js +3 -3
  153. package/lib/chevre/service/task/voidReserveTransaction.js +4 -3
  154. package/lib/chevre/service/transaction/deleteTransaction.d.ts +6 -0
  155. package/lib/chevre/service/transaction/deleteTransaction.js +56 -14
  156. package/lib/chevre/service/transaction/moneyTransfer.d.ts +5 -5
  157. package/lib/chevre/service/transaction/moneyTransfer.js +5 -5
  158. package/lib/chevre/service/transaction/placeOrder/confirm.d.ts +2 -2
  159. package/lib/chevre/service/transaction/placeOrder/confirm.js +10 -9
  160. package/lib/chevre/service/transaction/placeOrder/exportTasksById.d.ts +7 -6
  161. package/lib/chevre/service/transaction/placeOrder/exportTasksById.js +1 -1
  162. package/lib/chevre/service/transaction/placeOrder/{publishOrderNumberIfNotExist.d.ts → issueOrderNumberIfNotExist.d.ts} +4 -4
  163. package/lib/chevre/service/transaction/placeOrder/{publishOrderNumberIfNotExist.js → issueOrderNumberIfNotExist.js} +21 -13
  164. package/lib/chevre/service/transaction/placeOrder/publishConfirmationNumberIfNotExist.d.ts +2 -2
  165. package/lib/chevre/service/transaction/placeOrder/publishConfirmationNumberIfNotExist.js +3 -3
  166. package/lib/chevre/service/transaction/placeOrder/start.d.ts +3 -3
  167. package/lib/chevre/service/transaction/placeOrder/start.js +2 -2
  168. package/lib/chevre/service/transaction/placeOrder/updateAgent.d.ts +23 -0
  169. package/lib/chevre/service/transaction/placeOrder/updateAgent.js +126 -0
  170. package/lib/chevre/service/transaction/placeOrder.d.ts +2 -1
  171. package/lib/chevre/service/transaction/placeOrder.js +3 -1
  172. package/lib/chevre/service/transaction/returnOrder/preStart.d.ts +1 -1
  173. package/lib/chevre/service/transaction/returnOrder.d.ts +16 -14
  174. package/lib/chevre/service/transaction/returnOrder.js +4 -4
  175. package/lib/chevre/service/transaction.d.ts +9 -21
  176. package/lib/chevre/service/transaction.js +5 -111
  177. package/package.json +4 -8
@@ -0,0 +1,23 @@
1
+ import * as factory from '../../../factory';
2
+ import type { OrderInTransactionRepo } from '../../../repo/orderInTransaction';
3
+ import type { OrderNumberRepo } from '../../../repo/orderNumber';
4
+ import type { ProjectRepo } from '../../../repo/project';
5
+ import type { PlaceOrderRepo } from '../../../repo/transaction/placeOrder';
6
+ /**
7
+ * 取引人プロフィール更新
8
+ */
9
+ export declare function updateAgent(params: {
10
+ typeOf: factory.transactionType.PlaceOrder;
11
+ /**
12
+ * 取引ID
13
+ */
14
+ id: string;
15
+ agent: factory.order.ICustomer & {
16
+ telephoneRegion?: string;
17
+ };
18
+ }): (repos: {
19
+ orderInTransaction: OrderInTransactionRepo;
20
+ orderNumber: OrderNumberRepo;
21
+ project: ProjectRepo;
22
+ placeOrder: PlaceOrderRepo;
23
+ }) => Promise<void>;
@@ -0,0 +1,126 @@
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.updateAgent = updateAgent;
27
+ const google_libphonenumber_1 = require("google-libphonenumber");
28
+ const factory = __importStar(require("../../../factory"));
29
+ const issueOrderNumberIfNotExist_1 = require("./issueOrderNumberIfNotExist");
30
+ // import { Settings } from '../settings';
31
+ // export type ITransactionOperation<T> = (repos: { transaction: TransactionRepo }) => Promise<T>;
32
+ function fixCustomer(params) {
33
+ return async (repos) => {
34
+ let formattedTelephone;
35
+ try {
36
+ const phoneUtil = google_libphonenumber_1.PhoneNumberUtil.getInstance();
37
+ const phoneNumber = phoneUtil.parse(params.agent.telephone, params.agent.telephoneRegion);
38
+ if (!phoneUtil.isValidNumber(phoneNumber)) {
39
+ throw new factory.errors.Argument('telephone', 'Invalid phone number');
40
+ }
41
+ formattedTelephone = phoneUtil.format(phoneNumber, google_libphonenumber_1.PhoneNumberFormat.E164);
42
+ }
43
+ catch (error) {
44
+ throw new factory.errors.Argument('telephone', error.message);
45
+ }
46
+ const transaction = await repos.placeOrder.findPlaceOrderInProgressById({
47
+ typeOf: params.typeOf,
48
+ id: params.id
49
+ }, ['agent', 'object', 'typeOf', 'project']);
50
+ if (transaction.agent.id !== params.agent.id) {
51
+ throw new factory.errors.Forbidden('Transaction not yours');
52
+ }
53
+ // 注文取引の場合、object.customerにも適用
54
+ let customer;
55
+ if (transaction.typeOf === factory.transactionType.PlaceOrder) {
56
+ // いったんtransaction.object.customer?.typeOfは取引開始時にセットされている前提
57
+ const trasactionObject = transaction.object;
58
+ if (typeof trasactionObject.customer?.typeOf === 'string') {
59
+ customer = {
60
+ typeOf: trasactionObject.customer.typeOf,
61
+ id: trasactionObject.customer.id,
62
+ ...(Array.isArray(trasactionObject.customer.identifier))
63
+ ? { identifier: trasactionObject.customer.identifier }
64
+ : /* istanbul ignore next */ undefined,
65
+ // discontinue(2024-05-16~)
66
+ // ...(transaction.object.customer.typeOf === factory.personType.Person
67
+ // && typeof transaction.object.customer.memberOf?.typeOf === 'string')
68
+ // ? { memberOf: transaction.object.customer.memberOf }
69
+ // : undefined,
70
+ ...(Array.isArray(params.agent.additionalProperty))
71
+ ? { additionalProperty: params.agent.additionalProperty }
72
+ : /* istanbul ignore next */ undefined,
73
+ ...(typeof params.agent.age === 'string') ? { age: params.agent.age }
74
+ : /* istanbul ignore next */ undefined,
75
+ ...(typeof params.agent.address === 'string') ? { address: params.agent.address }
76
+ : /* istanbul ignore next */ undefined,
77
+ ...(typeof params.agent.email === 'string') ? { email: params.agent.email }
78
+ : /* istanbul ignore next */ undefined,
79
+ ...(typeof params.agent.familyName === 'string') ? { familyName: params.agent.familyName }
80
+ : /* istanbul ignore next */ undefined,
81
+ ...(typeof params.agent.gender === 'string') ? { gender: params.agent.gender }
82
+ : /* istanbul ignore next */ undefined,
83
+ ...(typeof params.agent.givenName === 'string') ? { givenName: params.agent.givenName }
84
+ : /* istanbul ignore next */ undefined,
85
+ ...(typeof params.agent.name === 'string') ? { name: params.agent.name } : /* istanbul ignore next */ undefined,
86
+ ...(typeof formattedTelephone === 'string') ? { telephone: formattedTelephone } : /* istanbul ignore next */ undefined,
87
+ ...(typeof params.agent.url === 'string') ? { url: params.agent.url } : /* istanbul ignore next */ undefined
88
+ };
89
+ }
90
+ }
91
+ return { customer, transaction };
92
+ };
93
+ }
94
+ /**
95
+ * 取引人プロフィール更新
96
+ */
97
+ function updateAgent(params) {
98
+ return async (repos) => {
99
+ const { customer, transaction } = await fixCustomer(params)(repos);
100
+ // also save in orderInTransaction(2024-06-20~)
101
+ if (customer !== undefined) {
102
+ const orderNumber = await (0, issueOrderNumberIfNotExist_1.issueOrderNumberIfNotExist)({
103
+ project: { id: transaction.project.id },
104
+ id: params.id,
105
+ object: { orderDate: new Date() }
106
+ })(repos);
107
+ const customerName = (typeof customer.name === 'string' && customer.name !== '')
108
+ ? customer.name
109
+ : (typeof customer.givenName === 'string' && typeof customer.familyName === 'string'
110
+ && customer.givenName !== '' && customer.familyName !== '')
111
+ ? `${customer.givenName} ${customer.familyName}`
112
+ : undefined;
113
+ const customerInOrder = {
114
+ ...customer,
115
+ identifier: (Array.isArray(customer.identifier)) ? customer.identifier : [],
116
+ ...(typeof customerName === 'string') ? { name: customerName } : undefined
117
+ };
118
+ await repos.orderInTransaction.setCustomer({
119
+ orderNumber,
120
+ project: transaction.project,
121
+ customer: customerInOrder
122
+ });
123
+ }
124
+ // return newAgent;
125
+ };
126
+ }
@@ -5,4 +5,5 @@ import { POINT_AWARD_IDENTIFIER_NAME } from '../../factory/order';
5
5
  import { confirm } from './placeOrder/confirm';
6
6
  import { exportTasksById } from './placeOrder/exportTasksById';
7
7
  import { start } from './placeOrder/start';
8
- export { confirm, POINT_AWARD_IDENTIFIER_NAME, start, exportTasksById };
8
+ import { updateAgent } from './placeOrder/updateAgent';
9
+ export { confirm, POINT_AWARD_IDENTIFIER_NAME, start, exportTasksById, updateAgent };
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.exportTasksById = exports.start = exports.POINT_AWARD_IDENTIFIER_NAME = exports.confirm = void 0;
3
+ exports.updateAgent = exports.exportTasksById = exports.start = exports.POINT_AWARD_IDENTIFIER_NAME = exports.confirm = void 0;
4
4
  /**
5
5
  * 注文取引サービス
6
6
  */
@@ -12,3 +12,5 @@ const exportTasksById_1 = require("./placeOrder/exportTasksById");
12
12
  Object.defineProperty(exports, "exportTasksById", { enumerable: true, get: function () { return exportTasksById_1.exportTasksById; } });
13
13
  const start_1 = require("./placeOrder/start");
14
14
  Object.defineProperty(exports, "start", { enumerable: true, get: function () { return start_1.start; } });
15
+ const updateAgent_1 = require("./placeOrder/updateAgent");
16
+ Object.defineProperty(exports, "updateAgent", { enumerable: true, get: function () { return updateAgent_1.updateAgent; } });
@@ -31,4 +31,4 @@ declare function preStart(params: factory.transaction.returnOrder.IStartParamsWi
31
31
  seller: IFixedSeller;
32
32
  expiresInSeconds: number;
33
33
  }>;
34
- export { preStart };
34
+ export { IPreStartOperationRepos, preStart };
@@ -13,7 +13,7 @@ import type { SellerRepo } from '../../repo/seller';
13
13
  import type { SellerReturnPolicyRepo } from '../../repo/sellerReturnPolicy';
14
14
  import type { SettingRepo } from '../../repo/setting';
15
15
  import type { TaskRepo } from '../../repo/task';
16
- import type { IStartedTransaction, TransactionRepo } from '../../repo/transaction';
16
+ import type { IStartedTransaction, ReturnOrderRepo } from '../../repo/transaction/returnOrder';
17
17
  import { preStart } from './returnOrder/preStart';
18
18
  interface IStartOperationRepos {
19
19
  acceptedOffer: AcceptedOfferRepo;
@@ -26,18 +26,27 @@ interface IStartOperationRepos {
26
26
  reservation: ReservationRepo;
27
27
  seller: SellerRepo;
28
28
  sellerReturnPolicy: SellerReturnPolicyRepo;
29
- transaction: TransactionRepo;
29
+ returnOrder: ReturnOrderRepo;
30
30
  }
31
31
  type IStartOperation<T> = (repos: IStartOperationRepos) => Promise<T>;
32
- type ITaskAndTransactionOperation<T> = (repos: {
32
+ interface IExportTasksByIdRepos {
33
33
  setting: SettingRepo;
34
34
  task: TaskRepo;
35
- transaction: TransactionRepo;
36
- }) => Promise<T>;
35
+ returnOrder: ReturnOrderRepo;
36
+ }
37
+ type ITaskAndTransactionOperation<T> = (repos: IExportTasksByIdRepos) => Promise<T>;
37
38
  /**
38
39
  * 返品取引開始
39
40
  */
40
41
  declare function start(params: factory.transaction.returnOrder.IStartParamsWithoutDetail): IStartOperation<IStartedTransaction>;
42
+ interface IConfirmRepos {
43
+ acceptedOffer: AcceptedOfferRepo;
44
+ emailMessage?: EmailMessageRepo;
45
+ message: MessageRepo;
46
+ order: OrderRepo;
47
+ setting: SettingRepo;
48
+ returnOrder: ReturnOrderRepo;
49
+ }
41
50
  /**
42
51
  * 取引確定
43
52
  */
@@ -47,14 +56,7 @@ declare function confirm(params: factory.transaction.returnOrder.IConfirmParams
47
56
  dateReturned: Date;
48
57
  };
49
58
  };
50
- }): (repos: {
51
- acceptedOffer: AcceptedOfferRepo;
52
- emailMessage?: EmailMessageRepo;
53
- message: MessageRepo;
54
- order: OrderRepo;
55
- setting: SettingRepo;
56
- transaction: TransactionRepo;
57
- }) => Promise<import("@chevre/factory/lib/transaction/returnOrder").IResult | undefined>;
59
+ }): (repos: IConfirmRepos) => Promise<import("@chevre/factory/lib/transaction/returnOrder").IResult | undefined>;
58
60
  /**
59
61
  * 取引のタスクを出力します
60
62
  * 複数タスクが生成されます
@@ -67,4 +69,4 @@ declare function exportTasksById(params: {
67
69
  */
68
70
  runsTasksAfterInSeconds?: number;
69
71
  }): ITaskAndTransactionOperation<void>;
70
- export { preStart, start, confirm, exportTasksById };
72
+ export { IStartOperationRepos, IConfirmRepos, IExportTasksByIdRepos, preStart, start, confirm, exportTasksById };
@@ -60,7 +60,7 @@ function start(params) {
60
60
  };
61
61
  let returnOrderTransaction;
62
62
  try {
63
- returnOrderTransaction = await repos.transaction.start(returnOrderAttributes);
63
+ returnOrderTransaction = await repos.returnOrder.startReturnOrder(returnOrderAttributes);
64
64
  }
65
65
  catch (error) {
66
66
  if (await (0, errorHandler_1.isMongoError)(error)) {
@@ -108,7 +108,7 @@ function confirm(params) {
108
108
  return async (repos
109
109
  // settings: Settings
110
110
  ) => {
111
- const transaction = await repos.transaction.projectFieldsById({ typeOf: factory.transactionType.ReturnOrder, id: params.id }, ['typeOf', 'status', 'project', 'agent', 'object', 'result']);
111
+ const transaction = await repos.returnOrder.findReturnOrderById({ typeOf: factory.transactionType.ReturnOrder, id: params.id }, ['typeOf', 'status', 'project', 'agent', 'object', 'result']);
112
112
  if (transaction.status === factory.transactionStatusType.Confirmed) {
113
113
  // すでに確定済の場合
114
114
  return transaction.result;
@@ -169,7 +169,7 @@ function confirm(params) {
169
169
  order: { orderNumber: returningOrders[0].orderNumber }, seller: { id: returningOrders[0].seller.id }, emailMessages
170
170
  })(repos);
171
171
  // ステータス変更
172
- await repos.transaction.confirm({
172
+ await repos.returnOrder.confirmReturnOrder({
173
173
  typeOf: transaction.typeOf,
174
174
  id: transaction.id,
175
175
  result, potentialActions
@@ -186,7 +186,7 @@ function exportTasksById(params) {
186
186
  return async (repos
187
187
  // settings: Settings
188
188
  ) => {
189
- const transaction = await repos.transaction.projectFieldsById({ typeOf: factory.transactionType.ReturnOrder, id: params.id }, ['typeOf', 'status', 'project', 'endDate', 'startDate', 'object', 'potentialActions']);
189
+ const transaction = await repos.returnOrder.findReturnOrderById({ typeOf: factory.transactionType.ReturnOrder, id: params.id }, ['typeOf', 'status', 'project', 'endDate', 'startDate', 'object', 'potentialActions']);
190
190
  // タスク実行日時バッファの指定があれば調整
191
191
  let taskRunsAt = new Date();
192
192
  if (typeof params.runsTasksAfterInSeconds === 'number') {
@@ -1,10 +1,13 @@
1
+ /**
2
+ * 取引サービス
3
+ */
1
4
  import * as factory from '../factory';
2
- import type { OrderInTransactionRepo } from '../repo/orderInTransaction';
3
- import type { OrderNumberRepo } from '../repo/orderNumber';
4
- import type { ProjectRepo } from '../repo/project';
5
5
  import type { SettingRepo } from '../repo/setting';
6
6
  import type { TaskRepo } from '../repo/task';
7
7
  import type { TransactionRepo } from '../repo/transaction';
8
+ import type { PlaceOrderRepo } from '../repo/transaction/placeOrder';
9
+ import type { ReturnOrderRepo } from '../repo/transaction/returnOrder';
10
+ import type { MoneyTransferRepo } from '../repo/transaction/moneyTransfer';
8
11
  import { deleteTransaction } from './transaction/deleteTransaction';
9
12
  import * as MoneyTransferTransactionService from './transaction/moneyTransfer';
10
13
  import * as PlaceOrderTransactionService from './transaction/placeOrder';
@@ -16,27 +19,12 @@ export import moneyTransfer = MoneyTransferTransactionService;
16
19
  export import placeOrder = PlaceOrderTransactionService;
17
20
  export import returnOrder = ReturnOrderTransactionService;
18
21
  export { deleteTransaction };
19
- /**
20
- * 取引人プロフィール更新
21
- */
22
- export declare function updateAgent(params: {
23
- typeOf: factory.transactionType;
24
- /**
25
- * 取引ID
26
- */
27
- id: string;
28
- agent: factory.order.ICustomer & {
29
- telephoneRegion?: string;
30
- };
31
- }): (repos: {
32
- orderInTransaction: OrderInTransactionRepo;
33
- orderNumber: OrderNumberRepo;
34
- project: ProjectRepo;
35
- transaction: TransactionRepo;
36
- }) => Promise<void>;
37
22
  export type IExportTasksOperation<T> = (repos: {
38
23
  setting: SettingRepo;
39
24
  task: TaskRepo;
25
+ placeOrder: PlaceOrderRepo;
26
+ returnOrder: ReturnOrderRepo;
27
+ moneyTransfer: MoneyTransferRepo;
40
28
  transaction: TransactionRepo;
41
29
  }) => Promise<T>;
42
30
  export declare function exportOneTransactionTasksIfExists(params: {
@@ -1,4 +1,8 @@
1
1
  "use strict";
2
+ /**
3
+ * 取引サービス
4
+ */
5
+ // import { PhoneNumberFormat, PhoneNumberUtil } from 'google-libphonenumber';
2
6
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
7
  if (k2 === undefined) k2 = k;
4
8
  var desc = Object.getOwnPropertyDescriptor(m, k);
@@ -24,127 +28,17 @@ var __importStar = (this && this.__importStar) || function (mod) {
24
28
  };
25
29
  Object.defineProperty(exports, "__esModule", { value: true });
26
30
  exports.deleteTransaction = exports.returnOrder = exports.placeOrder = exports.moneyTransfer = void 0;
27
- exports.updateAgent = updateAgent;
28
31
  exports.exportOneTransactionTasksIfExists = exportOneTransactionTasksIfExists;
29
- /**
30
- * 取引サービス
31
- */
32
- const google_libphonenumber_1 = require("google-libphonenumber");
33
32
  const factory = __importStar(require("../factory"));
34
33
  const deleteTransaction_1 = require("./transaction/deleteTransaction");
35
34
  Object.defineProperty(exports, "deleteTransaction", { enumerable: true, get: function () { return deleteTransaction_1.deleteTransaction; } });
36
35
  const MoneyTransferTransactionService = __importStar(require("./transaction/moneyTransfer"));
37
36
  const PlaceOrderTransactionService = __importStar(require("./transaction/placeOrder"));
38
- const publishOrderNumberIfNotExist_1 = require("./transaction/placeOrder/publishOrderNumberIfNotExist");
37
+ // import { issueOrderNumberIfNotExist } from './transaction/placeOrder/issueOrderNumberIfNotExist';
39
38
  const ReturnOrderTransactionService = __importStar(require("./transaction/returnOrder"));
40
39
  exports.moneyTransfer = MoneyTransferTransactionService;
41
40
  exports.placeOrder = PlaceOrderTransactionService;
42
41
  exports.returnOrder = ReturnOrderTransactionService;
43
- function fixCustomer(params) {
44
- return async (repos) => {
45
- let formattedTelephone;
46
- try {
47
- const phoneUtil = google_libphonenumber_1.PhoneNumberUtil.getInstance();
48
- const phoneNumber = phoneUtil.parse(params.agent.telephone, params.agent.telephoneRegion);
49
- if (!phoneUtil.isValidNumber(phoneNumber)) {
50
- throw new factory.errors.Argument('telephone', 'Invalid phone number');
51
- }
52
- formattedTelephone = phoneUtil.format(phoneNumber, google_libphonenumber_1.PhoneNumberFormat.E164);
53
- }
54
- catch (error) {
55
- throw new factory.errors.Argument('telephone', error.message);
56
- }
57
- const transaction = await repos.transaction.projectFieldsInProgressById({
58
- typeOf: params.typeOf,
59
- id: params.id
60
- }, ['agent', 'object', 'typeOf', 'project']);
61
- if (transaction.agent.id !== params.agent.id) {
62
- throw new factory.errors.Forbidden('Transaction not yours');
63
- }
64
- // 注文取引の場合、object.customerにも適用
65
- let customer;
66
- if (transaction.typeOf === factory.transactionType.PlaceOrder) {
67
- // いったんtransaction.object.customer?.typeOfは取引開始時にセットされている前提
68
- const trasactionObject = transaction.object;
69
- if (typeof trasactionObject.customer?.typeOf === 'string') {
70
- customer = {
71
- typeOf: trasactionObject.customer.typeOf,
72
- id: trasactionObject.customer.id,
73
- ...(Array.isArray(trasactionObject.customer.identifier))
74
- ? { identifier: trasactionObject.customer.identifier }
75
- : /* istanbul ignore next */ undefined,
76
- // discontinue(2024-05-16~)
77
- // ...(transaction.object.customer.typeOf === factory.personType.Person
78
- // && typeof transaction.object.customer.memberOf?.typeOf === 'string')
79
- // ? { memberOf: transaction.object.customer.memberOf }
80
- // : undefined,
81
- ...(Array.isArray(params.agent.additionalProperty))
82
- ? { additionalProperty: params.agent.additionalProperty }
83
- : /* istanbul ignore next */ undefined,
84
- ...(typeof params.agent.age === 'string') ? { age: params.agent.age }
85
- : /* istanbul ignore next */ undefined,
86
- ...(typeof params.agent.address === 'string') ? { address: params.agent.address }
87
- : /* istanbul ignore next */ undefined,
88
- ...(typeof params.agent.email === 'string') ? { email: params.agent.email }
89
- : /* istanbul ignore next */ undefined,
90
- ...(typeof params.agent.familyName === 'string') ? { familyName: params.agent.familyName }
91
- : /* istanbul ignore next */ undefined,
92
- ...(typeof params.agent.gender === 'string') ? { gender: params.agent.gender }
93
- : /* istanbul ignore next */ undefined,
94
- ...(typeof params.agent.givenName === 'string') ? { givenName: params.agent.givenName }
95
- : /* istanbul ignore next */ undefined,
96
- ...(typeof params.agent.name === 'string') ? { name: params.agent.name } : /* istanbul ignore next */ undefined,
97
- ...(typeof formattedTelephone === 'string') ? { telephone: formattedTelephone } : /* istanbul ignore next */ undefined,
98
- ...(typeof params.agent.url === 'string') ? { url: params.agent.url } : /* istanbul ignore next */ undefined
99
- };
100
- }
101
- }
102
- return { customer, transaction };
103
- };
104
- }
105
- /**
106
- * 取引人プロフィール更新
107
- */
108
- function updateAgent(params) {
109
- return async (repos) => {
110
- const { customer, transaction } = await fixCustomer(params)(repos);
111
- // const newAgent: Pick<factory.transaction.placeOrder.IAgent, 'id'> = {
112
- // id: transaction.agent.id
113
- // };
114
- // discontinue saving in transaction(2024-06-24~)
115
- // await repos.transaction.updateAgent({
116
- // typeOf: params.typeOf,
117
- // id: params.id,
118
- // agent: newAgent,
119
- // ...(customer !== undefined) ? { object: { customer } } : undefined
120
- // });
121
- // also save in orderInTransaction(2024-06-20~)
122
- if (customer !== undefined) {
123
- const orderNumber = await (0, publishOrderNumberIfNotExist_1.publishOrderNumberIfNotExist)({
124
- project: { id: transaction.project.id },
125
- id: params.id,
126
- object: { orderDate: new Date() }
127
- })(repos);
128
- const customerName = (typeof customer.name === 'string' && customer.name !== '')
129
- ? customer.name
130
- : (typeof customer.givenName === 'string' && typeof customer.familyName === 'string'
131
- && customer.givenName !== '' && customer.familyName !== '')
132
- ? `${customer.givenName} ${customer.familyName}`
133
- : undefined;
134
- const customerInOrder = {
135
- ...customer,
136
- identifier: (Array.isArray(customer.identifier)) ? customer.identifier : [],
137
- ...(typeof customerName === 'string') ? { name: customerName } : undefined
138
- };
139
- await repos.orderInTransaction.setCustomer({
140
- orderNumber,
141
- project: transaction.project,
142
- customer: customerInOrder
143
- });
144
- }
145
- // return newAgent;
146
- };
147
- }
148
42
  function exportOneTransactionTasksIfExists(params) {
149
43
  return async (repos) => {
150
44
  const transaction = await repos.transaction.startExportTasks({
package/package.json CHANGED
@@ -11,8 +11,8 @@
11
11
  "dependencies": {
12
12
  "@aws-sdk/client-cognito-identity-provider": "3.600.0",
13
13
  "@aws-sdk/credential-providers": "3.600.0",
14
- "@chevre/factory": "5.4.0-alpha.31",
15
- "@cinerino/sdk": "13.0.0",
14
+ "@chevre/factory": "5.4.0-alpha.32",
15
+ "@cinerino/sdk": "13.1.0",
16
16
  "@motionpicture/coa-service": "9.6.0",
17
17
  "@motionpicture/gmo-service": "5.4.0-alpha.1",
18
18
  "@sendgrid/client": "8.1.4",
@@ -41,15 +41,13 @@
41
41
  "@types/json2csv": "^4.5.1",
42
42
  "@types/jsonwebtoken": "9.0.1",
43
43
  "@types/lodash.difference": "^4.5.6",
44
- "@types/mocha": "10.0.7",
45
44
  "@types/moment-timezone": "^0.5.30",
46
45
  "@types/node": "22.19.7",
47
46
  "@types/pug": "2.0.10",
48
- "@types/sinon": "^4.3.3",
49
- "@types/sinon-mongoose": "^1.3.11",
50
47
  "@types/uniqid": "^4.1.3",
51
48
  "@types/uuid": "^3.4.10",
52
49
  "@vitest/coverage-v8": "4.0.18",
50
+ "@vitest/ui": "4.0.18",
53
51
  "csvtojson": "^2.0.10",
54
52
  "dependency-cruiser": "17.3.8",
55
53
  "eslint": "9.39.2",
@@ -59,8 +57,6 @@
59
57
  "mongoose": "8.0.4",
60
58
  "redis": "4.6.5",
61
59
  "rimraf": "^2.7.1",
62
- "sinon": "4.5.0",
63
- "sinon-mongoose": "^2.3.0",
64
60
  "size-limit": "12.0.0",
65
61
  "typescript": "5.6.3",
66
62
  "typescript-eslint": "8.55.0",
@@ -103,5 +99,5 @@
103
99
  "postversion": "git push origin --tags",
104
100
  "prepublishOnly": "npm run clean && npm run build"
105
101
  },
106
- "version": "24.0.0-alpha.2"
102
+ "version": "24.0.0-alpha.21"
107
103
  }