@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.
- package/lib/chevre/repo/action/acceptCOAOffer.d.ts +23 -0
- package/lib/chevre/repo/action/acceptCOAOffer.js +64 -0
- package/lib/chevre/repo/action/acceptPay.d.ts +8 -0
- package/lib/chevre/repo/action/acceptPay.js +13 -0
- package/lib/chevre/repo/action/actionProcess.d.ts +115 -0
- package/lib/chevre/repo/action/actionProcess.js +293 -0
- package/lib/chevre/repo/action/authorizeOffer.d.ts +21 -0
- package/lib/chevre/repo/action/authorizeOffer.js +85 -0
- package/lib/chevre/repo/action/checkMovieTicket.d.ts +111 -0
- package/lib/chevre/repo/action/checkMovieTicket.js +200 -0
- package/lib/chevre/repo/action/checkThing.d.ts +8 -0
- package/lib/chevre/repo/action/checkThing.js +13 -0
- package/lib/chevre/repo/action.d.ts +9 -249
- package/lib/chevre/repo/action.js +308 -708
- package/lib/chevre/repo/aggregateAction.d.ts +102 -0
- package/lib/chevre/repo/aggregateAction.js +379 -0
- package/lib/chevre/repo/mongoose/schemas/transaction.js +31 -0
- package/lib/chevre/repo/orderInTransaction.d.ts +8 -0
- package/lib/chevre/repo/orderInTransaction.js +16 -2
- package/lib/chevre/repo/orderNumber.d.ts +3 -2
- package/lib/chevre/repo/orderNumber.js +23 -28
- package/lib/chevre/repo/transaction/moneyTransfer.d.ts +61 -0
- package/lib/chevre/repo/transaction/moneyTransfer.js +379 -0
- package/lib/chevre/repo/transaction/placeOrder.d.ts +140 -0
- package/lib/chevre/repo/transaction/placeOrder.js +528 -0
- package/lib/chevre/repo/transaction/returnOrder.d.ts +45 -0
- package/lib/chevre/repo/transaction/returnOrder.js +341 -0
- package/lib/chevre/repo/transaction.d.ts +1 -125
- package/lib/chevre/repo/transaction.js +726 -632
- package/lib/chevre/repository.d.ts +49 -0
- package/lib/chevre/repository.js +107 -2
- package/lib/chevre/service/aggregation/system.d.ts +10 -10
- package/lib/chevre/service/aggregation/system.js +9 -9
- package/lib/chevre/service/assetTransaction/pay/check.d.ts +5 -4
- package/lib/chevre/service/assetTransaction/pay/publishPaymentUrl.d.ts +5 -2
- package/lib/chevre/service/assetTransaction/pay/publishPaymentUrl.js +3 -3
- package/lib/chevre/service/assetTransaction/pay/start/factory.d.ts +51 -3
- package/lib/chevre/service/assetTransaction/pay/start/factory.js +58 -21
- package/lib/chevre/service/assetTransaction/pay/start/preStart/fixPaymentService.d.ts +10 -0
- package/lib/chevre/service/assetTransaction/pay/start/preStart/fixPaymentService.js +88 -0
- package/lib/chevre/service/assetTransaction/pay/start/processAuthorize.d.ts +55 -0
- package/lib/chevre/service/assetTransaction/pay/start/processAuthorize.js +56 -0
- package/lib/chevre/service/assetTransaction/pay/start/processAuthorizeMovieTicket.d.ts +3 -1
- package/lib/chevre/service/assetTransaction/pay/start/processAuthorizeMovieTicket.js +1 -11
- package/lib/chevre/service/assetTransaction/pay/start.d.ts +2 -0
- package/lib/chevre/service/assetTransaction/pay/start.js +8 -132
- package/lib/chevre/service/notification/triggerWebhook.d.ts +7 -6
- package/lib/chevre/service/offer/event/authorize.d.ts +2 -2
- package/lib/chevre/service/offer/event/authorize.js +3 -3
- package/lib/chevre/service/offer/event/issueEventOfferTicket.d.ts +2 -2
- package/lib/chevre/service/offer/event/issueEventOfferTicket.js +1 -1
- package/lib/chevre/service/offer/event/voidTransaction/processVoidTransaction4chevre.d.ts +0 -2
- package/lib/chevre/service/offer/event/voidTransaction/processVoidTransaction4chevre.js +1 -0
- package/lib/chevre/service/offer/event/voidTransaction.d.ts +2 -2
- package/lib/chevre/service/offer/event/voidTransaction.js +2 -2
- package/lib/chevre/service/offer/event/voidTransactionByActionId.d.ts +3 -3
- package/lib/chevre/service/offer/event/voidTransactionByActionId.js +2 -2
- package/lib/chevre/service/offer/eventServiceByCOA/acceptOffer.d.ts +16 -5
- package/lib/chevre/service/offer/eventServiceByCOA/acceptOffer.js +7 -7
- package/lib/chevre/service/offer/eventServiceByCOA/authorize.d.ts +6 -4
- package/lib/chevre/service/offer/eventServiceByCOA/authorize.js +3 -10
- package/lib/chevre/service/offer/eventServiceByCOA/authorizeByAcceptAction.js +21 -13
- package/lib/chevre/service/offer/eventServiceByCOA/changeOffers.js +19 -10
- package/lib/chevre/service/offer/eventServiceByCOA/findAcceptAction.d.ts +2 -2
- package/lib/chevre/service/offer/moneyTransfer/authorize.d.ts +2 -2
- package/lib/chevre/service/offer/moneyTransfer/authorize.js +6 -3
- package/lib/chevre/service/offer/moneyTransfer/voidTransaction.d.ts +2 -2
- package/lib/chevre/service/offer/moneyTransfer/voidTransaction.js +4 -1
- package/lib/chevre/service/offer/product.d.ts +3 -3
- package/lib/chevre/service/offer/product.js +4 -4
- package/lib/chevre/service/order/confirmPayTransaction.d.ts +0 -2
- package/lib/chevre/service/order/confirmPayTransaction.js +1 -0
- package/lib/chevre/service/order/findPlaceOrderTransaction.d.ts +2 -2
- package/lib/chevre/service/order/findPlaceOrderTransaction.js +1 -1
- package/lib/chevre/service/order/onAssetTransactionStatusChanged/isDeliverable.d.ts +16 -0
- package/lib/chevre/service/order/onAssetTransactionStatusChanged/isDeliverable.js +97 -0
- package/lib/chevre/service/order/onAssetTransactionStatusChanged/onPayTransactionCanceled.d.ts +21 -0
- package/lib/chevre/service/order/onAssetTransactionStatusChanged/onPayTransactionCanceled.js +86 -0
- package/lib/chevre/service/order/onAssetTransactionStatusChanged/onPayTransactionConfirmed.d.ts +22 -0
- package/lib/chevre/service/order/onAssetTransactionStatusChanged/onPayTransactionConfirmed.js +112 -0
- package/lib/chevre/service/order/onAssetTransactionStatusChanged/onReserveTransactionConfirmed.d.ts +22 -0
- package/lib/chevre/service/order/onAssetTransactionStatusChanged/onReserveTransactionConfirmed.js +74 -0
- package/lib/chevre/service/order/onAssetTransactionStatusChanged/paymentDue2Processing.d.ts +25 -0
- package/lib/chevre/service/order/onAssetTransactionStatusChanged/paymentDue2Processing.js +111 -0
- package/lib/chevre/service/order/onAssetTransactionStatusChanged/processing2inTransit.d.ts +16 -0
- package/lib/chevre/service/order/onAssetTransactionStatusChanged/processing2inTransit.js +74 -0
- package/lib/chevre/service/order/onAssetTransactionStatusChanged.d.ts +8 -30
- package/lib/chevre/service/order/onAssetTransactionStatusChanged.js +37 -348
- package/lib/chevre/service/order/onOrderStatusChanged/onOrderDelivered.d.ts +6 -7
- package/lib/chevre/service/order/onOrderStatusChanged/onOrderDeliveredPartially.d.ts +6 -5
- package/lib/chevre/service/order/onOrderStatusChanged/onOrderInTransit.d.ts +7 -6
- package/lib/chevre/service/order/onOrderStatusChanged/onOrderInTransit.js +1 -1
- package/lib/chevre/service/order/payOrder.d.ts +2 -2
- package/lib/chevre/service/order/placeOrder/createPlacingOrderFromExistingTransaction.d.ts +2 -2
- package/lib/chevre/service/order/placeOrder/createPlacingOrderFromExistingTransaction.js +1 -1
- package/lib/chevre/service/order/placeOrder.d.ts +13 -12
- package/lib/chevre/service/order/returnOrder.d.ts +2 -2
- package/lib/chevre/service/order/returnOrder.js +1 -1
- package/lib/chevre/service/order/sendOrder.d.ts +6 -6
- package/lib/chevre/service/order/sendOrder.js +10 -8
- package/lib/chevre/service/order.d.ts +3 -6
- package/lib/chevre/service/order.js +3 -9
- package/lib/chevre/service/payment/any/{fixOrderAsNeeded.d.ts → authorize/fixOrderAsNeeded.d.ts} +6 -6
- package/lib/chevre/service/payment/any/{fixOrderAsNeeded.js → authorize/fixOrderAsNeeded.js} +5 -8
- package/lib/chevre/service/payment/any/authorize/fixTransactionNumber.d.ts +3 -3
- package/lib/chevre/service/payment/any/authorize/handlePrePublishedPaymentMethodIdOnAuthorizing.d.ts +3 -3
- package/lib/chevre/service/payment/any/authorize/handlePrePublishedPaymentMethodIdOnAuthorizing.js +1 -1
- package/lib/chevre/service/payment/any/authorize.d.ts +92 -0
- package/lib/chevre/service/payment/any/authorize.js +225 -0
- package/lib/chevre/service/payment/any/findAcceptAction.d.ts +43 -0
- package/lib/chevre/service/payment/any/findAcceptAction.js +94 -0
- package/lib/chevre/service/payment/any/findAuthorizeAction.d.ts +41 -0
- package/lib/chevre/service/payment/any/findAuthorizeAction.js +83 -0
- package/lib/chevre/service/payment/any/findCheckAction.d.ts +45 -0
- package/lib/chevre/service/payment/any/findCheckAction.js +89 -0
- package/lib/chevre/service/payment/any/invalidatePaymentUrl.d.ts +28 -0
- package/lib/chevre/service/payment/any/invalidatePaymentUrl.js +185 -0
- package/lib/chevre/service/payment/any/onPayActionCompleted.d.ts +7 -3
- package/lib/chevre/service/payment/any/onPayActionCompleted.js +3 -0
- package/lib/chevre/service/payment/any/processVoidPayTransaction.d.ts +29 -0
- package/lib/chevre/service/payment/any/processVoidPayTransaction.js +125 -0
- package/lib/chevre/service/payment/any/publishPaymentUrl/fixTransactionNumberOnPublishPaymentUrl.d.ts +2 -2
- package/lib/chevre/service/payment/any/publishPaymentUrl.d.ts +66 -0
- package/lib/chevre/service/payment/any/publishPaymentUrl.js +133 -0
- package/lib/chevre/service/payment/any/voidPayTransaction.d.ts +31 -0
- package/lib/chevre/service/payment/any/voidPayTransaction.js +38 -0
- package/lib/chevre/service/payment/any.d.ts +8 -305
- package/lib/chevre/service/payment/any.js +17 -857
- package/lib/chevre/service/payment/movieTicket/authorize.d.ts +2 -0
- package/lib/chevre/service/payment/movieTicket/checkMovieTicket.d.ts +3 -3
- package/lib/chevre/service/payment/movieTicket/checkMovieTicket.js +3 -3
- package/lib/chevre/service/payment/movieTicket/validation.d.ts +11 -10
- package/lib/chevre/service/payment/movieTicket/validation.js +19 -15
- package/lib/chevre/service/report/telemetry.d.ts +4 -0
- package/lib/chevre/service/report/telemetry.js +7 -12
- package/lib/chevre/service/task/acceptCOAOffer.js +11 -6
- package/lib/chevre/service/task/authorizePayment.js +6 -2
- package/lib/chevre/service/task/checkMovieTicket.js +3 -3
- package/lib/chevre/service/task/checkResource.js +2 -2
- package/lib/chevre/service/task/confirmPayTransaction.js +2 -2
- package/lib/chevre/service/task/deleteTransaction.js +7 -1
- package/lib/chevre/service/task/onAssetTransactionStatusChanged.js +4 -2
- package/lib/chevre/service/task/onOrderPaymentCompleted.js +2 -2
- package/lib/chevre/service/task/payment/payByTask.d.ts +14 -12
- package/lib/chevre/service/task/placeOrder.js +6 -4
- package/lib/chevre/service/task/publishPaymentUrl.js +8 -4
- package/lib/chevre/service/task/returnOrder.js +4 -4
- package/lib/chevre/service/task/returnPayTransaction.js +4 -3
- package/lib/chevre/service/task/sendOrder.js +4 -4
- package/lib/chevre/service/task/voidMoneyTransferTransaction.js +6 -3
- package/lib/chevre/service/task/voidPayTransaction.js +4 -2
- package/lib/chevre/service/task/voidRegisterServiceTransaction.js +3 -3
- package/lib/chevre/service/task/voidReserveTransaction.js +4 -3
- package/lib/chevre/service/transaction/deleteTransaction.d.ts +6 -0
- package/lib/chevre/service/transaction/deleteTransaction.js +56 -14
- package/lib/chevre/service/transaction/moneyTransfer.d.ts +5 -5
- package/lib/chevre/service/transaction/moneyTransfer.js +5 -5
- package/lib/chevre/service/transaction/placeOrder/confirm.d.ts +2 -2
- package/lib/chevre/service/transaction/placeOrder/confirm.js +10 -9
- package/lib/chevre/service/transaction/placeOrder/exportTasksById.d.ts +7 -6
- package/lib/chevre/service/transaction/placeOrder/exportTasksById.js +1 -1
- package/lib/chevre/service/transaction/placeOrder/{publishOrderNumberIfNotExist.d.ts → issueOrderNumberIfNotExist.d.ts} +4 -4
- package/lib/chevre/service/transaction/placeOrder/{publishOrderNumberIfNotExist.js → issueOrderNumberIfNotExist.js} +21 -13
- package/lib/chevre/service/transaction/placeOrder/publishConfirmationNumberIfNotExist.d.ts +2 -2
- package/lib/chevre/service/transaction/placeOrder/publishConfirmationNumberIfNotExist.js +3 -3
- package/lib/chevre/service/transaction/placeOrder/start.d.ts +3 -3
- package/lib/chevre/service/transaction/placeOrder/start.js +2 -2
- package/lib/chevre/service/transaction/placeOrder/updateAgent.d.ts +23 -0
- package/lib/chevre/service/transaction/placeOrder/updateAgent.js +126 -0
- package/lib/chevre/service/transaction/placeOrder.d.ts +2 -1
- package/lib/chevre/service/transaction/placeOrder.js +3 -1
- package/lib/chevre/service/transaction/returnOrder/preStart.d.ts +1 -1
- package/lib/chevre/service/transaction/returnOrder.d.ts +16 -14
- package/lib/chevre/service/transaction/returnOrder.js +4 -4
- package/lib/chevre/service/transaction.d.ts +9 -21
- package/lib/chevre/service/transaction.js +5 -111
- 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
|
-
|
|
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; } });
|
|
@@ -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,
|
|
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
|
-
|
|
29
|
+
returnOrder: ReturnOrderRepo;
|
|
30
30
|
}
|
|
31
31
|
type IStartOperation<T> = (repos: IStartOperationRepos) => Promise<T>;
|
|
32
|
-
|
|
32
|
+
interface IExportTasksByIdRepos {
|
|
33
33
|
setting: SettingRepo;
|
|
34
34
|
task: TaskRepo;
|
|
35
|
-
|
|
36
|
-
}
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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
|
-
|
|
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.
|
|
15
|
-
"@cinerino/sdk": "13.
|
|
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.
|
|
102
|
+
"version": "24.0.0-alpha.21"
|
|
107
103
|
}
|