@chevre/domain 28.0.0-alpha.40 → 28.0.0-alpha.42
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/emailMessageBuilder.d.ts +9 -5
- package/lib/chevre/emailMessageBuilder.js +12 -11
- package/lib/chevre/repo/mongoose/schemas/message.d.ts +5 -1
- package/lib/chevre/repo/project.d.ts +12 -12
- package/lib/chevre/repo/project.js +28 -32
- package/lib/chevre/service/transaction/placeOrder/confirm/potentialActions/sendEmailMessage.d.ts +6 -3
- package/lib/chevre/service/transaction/placeOrder/confirm/potentialActions/sendEmailMessage.js +2 -15
- package/lib/chevre/service/transaction/placeOrder/confirm/potentialActions.d.ts +6 -3
- package/lib/chevre/service/transaction/placeOrder/confirm/potentialActions.js +3 -2
- package/lib/chevre/service/transaction/placeOrder/confirm.d.ts +0 -2
- package/lib/chevre/service/transaction/placeOrder/confirm.js +6 -6
- package/lib/chevre/service/transaction/returnOrder/potentialActions/returnPaymentMethod.d.ts +6 -3
- package/lib/chevre/service/transaction/returnOrder/potentialActions/returnPaymentMethod.js +8 -9
- package/lib/chevre/service/transaction/returnOrder/potentialActions/sendEmailMessage.d.ts +6 -3
- package/lib/chevre/service/transaction/returnOrder/potentialActions/sendEmailMessage.js +2 -7
- package/lib/chevre/service/transaction/returnOrder/potentialActions.d.ts +6 -3
- package/lib/chevre/service/transaction/returnOrder/potentialActions.js +4 -3
- package/lib/chevre/service/transaction/returnOrder.d.ts +0 -2
- package/lib/chevre/service/transaction/returnOrder.js +6 -6
- package/package.json +1 -1
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import { factory } from './factory';
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
type ISender = Pick<factory.action.transfer.send.message.email.IObjectAsEmailMessage['sender'], 'name' | 'typeOf'> & {
|
|
3
|
+
email?: never;
|
|
4
|
+
};
|
|
5
|
+
type ISendableEmailMessage = Pick<factory.action.transfer.send.message.email.IObjectAsEmailMessage, 'about' | 'identifier' | 'name' | 'text' | 'toRecipient' | 'typeOf'> & {
|
|
6
|
+
sender: ISender;
|
|
7
|
+
} & {
|
|
4
8
|
identifier: string;
|
|
5
9
|
name: string;
|
|
6
10
|
};
|
|
@@ -19,7 +23,7 @@ declare function createSendOrderMessage(params: {
|
|
|
19
23
|
email?: factory.creativeWork.message.email.ICustomization;
|
|
20
24
|
emailMessage?: never;
|
|
21
25
|
index: number;
|
|
22
|
-
}
|
|
26
|
+
}): Promise<ISendableEmailMessage>;
|
|
23
27
|
/**
|
|
24
28
|
* 注文返品メッセージを作成する
|
|
25
29
|
*/
|
|
@@ -28,7 +32,7 @@ declare function createReturnOrderMessage(params: {
|
|
|
28
32
|
email?: factory.creativeWork.message.email.ICustomization;
|
|
29
33
|
emailMessage?: never;
|
|
30
34
|
index: number;
|
|
31
|
-
}
|
|
35
|
+
}): Promise<ISendableEmailMessage>;
|
|
32
36
|
/**
|
|
33
37
|
* 返金メッセージを作成する
|
|
34
38
|
*/
|
|
@@ -36,5 +40,5 @@ declare function createRefundMessage(params: {
|
|
|
36
40
|
order: IOrderAsCreateEmailParams;
|
|
37
41
|
email?: factory.creativeWork.message.email.ICustomization;
|
|
38
42
|
paymentMethodId: string;
|
|
39
|
-
}
|
|
43
|
+
}): Promise<ISendableEmailMessage>;
|
|
40
44
|
export { createSendOrderMessage, createReturnOrderMessage, createRefundMessage, IOrderAsCreateEmailParams };
|
|
@@ -61,17 +61,18 @@ async function createEmailMessageAbout(params) {
|
|
|
61
61
|
}
|
|
62
62
|
return about;
|
|
63
63
|
}
|
|
64
|
-
function createEmailMessageSender(params
|
|
65
|
-
if (typeof setting.defaultSenderEmail !== 'string') {
|
|
66
|
-
|
|
67
|
-
}
|
|
64
|
+
function createEmailMessageSender(params) {
|
|
65
|
+
// if (typeof setting.defaultSenderEmail !== 'string') {
|
|
66
|
+
// throw new factory.errors.NotFound('setting.defaultSenderEmail');
|
|
67
|
+
// }
|
|
68
68
|
const defaultSellerName = (typeof params.order.seller.name === 'string') ? params.order.seller.name : params.order.seller.typeOf;
|
|
69
69
|
return {
|
|
70
70
|
typeOf: params.order.seller.typeOf,
|
|
71
71
|
name: (typeof params.email?.sender?.name === 'string')
|
|
72
72
|
? params.email.sender.name
|
|
73
73
|
: defaultSellerName,
|
|
74
|
-
|
|
74
|
+
// 送信元アドレスはmessagesに保管しない(2026-10-20~)
|
|
75
|
+
// email: setting.defaultSenderEmail // 送信元未指定であればタスクで自動設定されるがとりあえず指定(2026-10-20~)
|
|
75
76
|
};
|
|
76
77
|
}
|
|
77
78
|
/**
|
|
@@ -99,7 +100,7 @@ function minimizeOrderAsCreateEmailParams(order) {
|
|
|
99
100
|
/**
|
|
100
101
|
* 注文配送メッセージを作成する
|
|
101
102
|
*/
|
|
102
|
-
async function createSendOrderMessage(params
|
|
103
|
+
async function createSendOrderMessage(params) {
|
|
103
104
|
const minimizedOrder = minimizeOrderAsCreateEmailParams(params.order);
|
|
104
105
|
const emailMessageText = await createEmailMessageText({
|
|
105
106
|
order: minimizedOrder,
|
|
@@ -112,7 +113,7 @@ async function createSendOrderMessage(params, setting) {
|
|
|
112
113
|
});
|
|
113
114
|
const defaultToRecipientEmail = minimizedOrder.customer.email;
|
|
114
115
|
const defaultRecipientName = `${minimizedOrder.customer.familyName} ${minimizedOrder.customer.givenName}`;
|
|
115
|
-
const sender = createEmailMessageSender(params
|
|
116
|
+
const sender = createEmailMessageSender(params);
|
|
116
117
|
const toRecipientCustomization = params.email?.toRecipient;
|
|
117
118
|
const toRecipient = (Array.isArray(toRecipientCustomization))
|
|
118
119
|
? toRecipientCustomization.map((customizedRecipient) => {
|
|
@@ -148,7 +149,7 @@ async function createSendOrderMessage(params, setting) {
|
|
|
148
149
|
/**
|
|
149
150
|
* 注文返品メッセージを作成する
|
|
150
151
|
*/
|
|
151
|
-
async function createReturnOrderMessage(params
|
|
152
|
+
async function createReturnOrderMessage(params) {
|
|
152
153
|
const minimizedOrder = minimizeOrderAsCreateEmailParams(params.order);
|
|
153
154
|
const emailMessageText = await createEmailMessageText({
|
|
154
155
|
order: minimizedOrder,
|
|
@@ -161,7 +162,7 @@ async function createReturnOrderMessage(params, setting) {
|
|
|
161
162
|
});
|
|
162
163
|
const defaultToRecipientEmail = minimizedOrder.customer.email;
|
|
163
164
|
const defaultRecipientName = `${minimizedOrder.customer.familyName} ${minimizedOrder.customer.givenName}`;
|
|
164
|
-
const sender = createEmailMessageSender(params
|
|
165
|
+
const sender = createEmailMessageSender(params);
|
|
165
166
|
const toRecipientCustomization = params.email?.toRecipient;
|
|
166
167
|
const toRecipient = (Array.isArray(toRecipientCustomization))
|
|
167
168
|
? toRecipientCustomization.map((customizedRecipient) => {
|
|
@@ -197,7 +198,7 @@ async function createReturnOrderMessage(params, setting) {
|
|
|
197
198
|
/**
|
|
198
199
|
* 返金メッセージを作成する
|
|
199
200
|
*/
|
|
200
|
-
async function createRefundMessage(params
|
|
201
|
+
async function createRefundMessage(params) {
|
|
201
202
|
const minimizedOrder = minimizeOrderAsCreateEmailParams(params.order);
|
|
202
203
|
const emailMessageText = await createEmailMessageText({
|
|
203
204
|
order: minimizedOrder,
|
|
@@ -210,7 +211,7 @@ async function createRefundMessage(params, setting) {
|
|
|
210
211
|
});
|
|
211
212
|
const defaultToRecipientEmail = minimizedOrder.customer.email;
|
|
212
213
|
const defaultRecipientName = `${minimizedOrder.customer.familyName} ${minimizedOrder.customer.givenName}`;
|
|
213
|
-
const sender = createEmailMessageSender(params
|
|
214
|
+
const sender = createEmailMessageSender(params);
|
|
214
215
|
const toRecipientCustomization = params.email?.toRecipient;
|
|
215
216
|
const toRecipient = (Array.isArray(toRecipientCustomization))
|
|
216
217
|
? toRecipientCustomization.map((customizedRecipient) => {
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
import { IndexDefinition, IndexOptions, Model, Schema, SchemaDefinition } from 'mongoose';
|
|
2
2
|
import { IVirtuals } from '../virtuals';
|
|
3
3
|
import { factory } from '../../../factory';
|
|
4
|
-
export type
|
|
4
|
+
export type ISender = Pick<factory.creativeWork.message.email.ISender, 'name' | 'typeOf'> & {
|
|
5
|
+
email?: never;
|
|
6
|
+
};
|
|
7
|
+
export type IEmailMessage = Pick<factory.creativeWork.message.email.ICreativeWork, 'about' | 'identifier' | 'name' | 'text' | 'toRecipient' | 'typeOf'> & {
|
|
8
|
+
sender: ISender;
|
|
5
9
|
datePublished: Date;
|
|
6
10
|
mainEntity: Pick<factory.order.ISimpleOrder, 'orderNumber' | 'typeOf'>;
|
|
7
11
|
project: {
|
|
@@ -21,20 +21,20 @@ export declare class ProjectRepo {
|
|
|
21
21
|
* プロジェクト検索
|
|
22
22
|
*/
|
|
23
23
|
projectFields(conditions: factory.project.ISearchConditions, inclusion: IKeyOfProjection[]): Promise<factory.project.IProject[]>;
|
|
24
|
-
|
|
25
|
-
|
|
24
|
+
addProjectById(params: Pick<factory.project.IProject, 'alternateName' | 'hasMerchantReturnPolicy' | 'id' | 'logo' | 'name' | 'settings' | 'subscription'>): Promise<Pick<factory.project.IProject, 'id'>>;
|
|
25
|
+
updateProjectById(params: {
|
|
26
26
|
id: string;
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
useEventServiceAsProduct?: boolean;
|
|
27
|
+
$set: {
|
|
28
|
+
alternateName?: string;
|
|
29
|
+
logo?: string;
|
|
30
|
+
hasMerchantReturnPolicy?: Pick<factory.project.IHasMerchantReturnPolicy, 'sameAs' | 'identifier'>;
|
|
31
|
+
name?: string;
|
|
32
|
+
settings?: {
|
|
33
|
+
sendEmailMessage?: factory.project.ISendEmailMessageSettings;
|
|
34
|
+
sendgridApiKey?: string;
|
|
35
|
+
};
|
|
37
36
|
};
|
|
37
|
+
$unset: Record<string, 1>;
|
|
38
38
|
}): Promise<void>;
|
|
39
39
|
updateMakesOfferById(params: {
|
|
40
40
|
id: string;
|
|
@@ -93,7 +93,7 @@ class ProjectRepo {
|
|
|
93
93
|
.lean() // 2024-08-22~
|
|
94
94
|
.exec();
|
|
95
95
|
}
|
|
96
|
-
async
|
|
96
|
+
async addProjectById(params) {
|
|
97
97
|
const { id, ...createParams } = params;
|
|
98
98
|
if (typeof id !== 'string' || id === '') {
|
|
99
99
|
throw new factory_1.factory.errors.ArgumentNull('id');
|
|
@@ -109,45 +109,41 @@ class ProjectRepo {
|
|
|
109
109
|
}
|
|
110
110
|
return { id: insertedId };
|
|
111
111
|
}
|
|
112
|
-
async
|
|
112
|
+
async updateProjectById(params) {
|
|
113
|
+
const { $set, $unset, id } = params;
|
|
113
114
|
let hasMerchantReturnPolicy;
|
|
114
|
-
if (typeof
|
|
115
|
+
if (typeof $set.hasMerchantReturnPolicy?.sameAs === 'string') {
|
|
115
116
|
hasMerchantReturnPolicy = {
|
|
116
|
-
sameAs:
|
|
117
|
+
sameAs: $set.hasMerchantReturnPolicy.sameAs,
|
|
117
118
|
typeOf: 'MerchantReturnPolicy',
|
|
118
|
-
...(typeof
|
|
119
|
-
? { identifier:
|
|
119
|
+
...(typeof $set.hasMerchantReturnPolicy.identifier === 'string')
|
|
120
|
+
? { identifier: $set.hasMerchantReturnPolicy.identifier } : undefined
|
|
120
121
|
};
|
|
121
122
|
}
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
: undefined,
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
123
|
+
await this.projectModel.updateOne({ _id: { $eq: id } }, {
|
|
124
|
+
$set: {
|
|
125
|
+
...(typeof $set.alternateName === 'string' && $set.alternateName.length > 0)
|
|
126
|
+
? { alternateName: $set.alternateName }
|
|
127
|
+
: undefined,
|
|
128
|
+
...(typeof $set.name === 'string' && $set.name.length > 0) ? { name: $set.name } : undefined,
|
|
129
|
+
...(typeof $set.logo === 'string' && $set.logo.length > 0) ? { logo: $set.logo } : undefined,
|
|
130
|
+
...(typeof $set.settings?.sendEmailMessage?.sender?.email === 'string')
|
|
131
|
+
? {
|
|
132
|
+
'settings.sendEmailMessage': {
|
|
133
|
+
sender: { email: $set.settings.sendEmailMessage.sender.email }
|
|
134
|
+
}
|
|
134
135
|
}
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
: undefined,
|
|
140
|
-
|
|
141
|
-
? { 'settings.includeCustomerAsFindByConfirmationNumberResult': includeCustomerAsFindByConfirmationNumberResult }
|
|
142
|
-
: undefined,
|
|
143
|
-
...(typeof params.subscription?.useEventServiceAsProduct === 'boolean')
|
|
144
|
-
? { 'subscription.useEventServiceAsProduct': params.subscription.useEventServiceAsProduct }
|
|
145
|
-
: undefined,
|
|
146
|
-
...(hasMerchantReturnPolicy !== undefined) ? { hasMerchantReturnPolicy } : undefined,
|
|
136
|
+
: undefined,
|
|
137
|
+
...(typeof $set.settings?.sendgridApiKey === 'string')
|
|
138
|
+
? { 'settings.sendgridApiKey': $set.settings.sendgridApiKey }
|
|
139
|
+
: undefined,
|
|
140
|
+
...(hasMerchantReturnPolicy !== undefined) ? { hasMerchantReturnPolicy } : undefined,
|
|
141
|
+
},
|
|
147
142
|
$unset: {
|
|
148
|
-
|
|
143
|
+
...$unset,
|
|
144
|
+
'settings.cognito': 1, // 廃止(2023-11-10~)
|
|
149
145
|
}
|
|
150
|
-
}
|
|
146
|
+
})
|
|
151
147
|
.exec();
|
|
152
148
|
}
|
|
153
149
|
async updateMakesOfferById(params) {
|
package/lib/chevre/service/transaction/placeOrder/confirm/potentialActions/sendEmailMessage.d.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { factory } from '../../../../../factory';
|
|
2
|
-
import type { ISetting } from '../../../../../repo/setting';
|
|
3
2
|
import type { IOrderAsResult } from '../factory/result';
|
|
4
3
|
/**
|
|
5
4
|
* Eメール送信パラメータ
|
|
@@ -39,7 +38,11 @@ export declare function createSendEmailMessageActions(params: {
|
|
|
39
38
|
seller: Pick<factory.order.ISeller, 'name' | 'typeOf'>;
|
|
40
39
|
paymentMethods: factory.order.IReferencedInvoice[];
|
|
41
40
|
potentialActions?: IPotentialActionsParams;
|
|
42
|
-
}
|
|
43
|
-
emailMessages: factory.action.transfer.send.message.email.IObjectAsEmailMessage
|
|
41
|
+
}): Promise<{
|
|
42
|
+
emailMessages: (Pick<factory.action.transfer.send.message.email.IObjectAsEmailMessage, 'about' | 'identifier' | 'name' | 'text' | 'toRecipient' | 'typeOf'> & {
|
|
43
|
+
sender: Pick<factory.action.transfer.send.message.email.IObjectAsEmailMessage['sender'], 'name' | 'typeOf'> & {
|
|
44
|
+
email?: never;
|
|
45
|
+
};
|
|
46
|
+
})[];
|
|
44
47
|
}>;
|
|
45
48
|
export {};
|
package/lib/chevre/service/transaction/placeOrder/confirm/potentialActions/sendEmailMessage.js
CHANGED
|
@@ -2,16 +2,13 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.createSendEmailMessageActions = createSendEmailMessageActions;
|
|
4
4
|
const emailMessageBuilder_1 = require("../../../../../emailMessageBuilder");
|
|
5
|
-
async function createSendEmailMessageActions(params
|
|
5
|
+
async function createSendEmailMessageActions(params) {
|
|
6
6
|
// 注文配送メール送信設定
|
|
7
7
|
const emailMessages = [];
|
|
8
|
-
// const sendEmailMessageActions: factory.transaction.placeOrder.IPotentialSendEmailMessageAction[] = [];
|
|
9
8
|
const sendEmailMessageOnOrderSentParams = params.potentialActions?.order?.potentialActions?.sendOrder?.potentialActions?.sendEmailMessage;
|
|
10
9
|
if (Array.isArray(sendEmailMessageOnOrderSentParams)) {
|
|
11
10
|
// pugテンプレートに渡す変数を最小化(2026-06-19~)
|
|
12
11
|
const orderAsCreateEmailParams = {
|
|
13
|
-
// ...params.order,
|
|
14
|
-
// paymentMethods: params.paymentMethods
|
|
15
12
|
customer: params.customer,
|
|
16
13
|
seller: params.seller,
|
|
17
14
|
orderNumber: params.order.orderNumber,
|
|
@@ -23,18 +20,8 @@ async function createSendEmailMessageActions(params, setting) {
|
|
|
23
20
|
order: orderAsCreateEmailParams,
|
|
24
21
|
index,
|
|
25
22
|
...(s.object !== undefined) ? { email: s.object } : undefined,
|
|
26
|
-
|
|
27
|
-
}, setting);
|
|
23
|
+
});
|
|
28
24
|
emailMessages.push(emailMessage);
|
|
29
|
-
// // 送信アクション最適化に対応(2024-04-29~)
|
|
30
|
-
// const sendEmailMessageActionObject: factory.action.transfer.send.message.email.IObject = {
|
|
31
|
-
// identifier: emailMessage.identifier,
|
|
32
|
-
// typeOf: factory.creativeWorkType.EmailMessage
|
|
33
|
-
// };
|
|
34
|
-
// // optimize(2024-05-07~)
|
|
35
|
-
// sendEmailMessageActions.push({
|
|
36
|
-
// object: sendEmailMessageActionObject
|
|
37
|
-
// });
|
|
38
25
|
}));
|
|
39
26
|
}
|
|
40
27
|
return { emailMessages };
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { factory } from '../../../../factory';
|
|
2
|
-
import type { ISetting } from '../../../../repo/setting';
|
|
3
2
|
import { IPotentialActionsParams } from './potentialActions/sendEmailMessage';
|
|
4
3
|
import { IOrderAsResult } from './factory/result';
|
|
5
4
|
export { IPotentialActionsParams };
|
|
@@ -18,6 +17,10 @@ export declare function createPotentialActions(params: {
|
|
|
18
17
|
seller: Pick<factory.order.ISeller, 'name' | 'typeOf'>;
|
|
19
18
|
paymentMethods: factory.order.IReferencedInvoice[];
|
|
20
19
|
potentialActions?: IPotentialActionsParams;
|
|
21
|
-
}
|
|
22
|
-
emailMessages: factory.action.transfer.send.message.email.IObjectAsEmailMessage
|
|
20
|
+
}): Promise<{
|
|
21
|
+
emailMessages: (Pick<factory.action.transfer.send.message.email.IObjectAsEmailMessage, 'about' | 'identifier' | 'name' | 'text' | 'toRecipient' | 'typeOf'> & {
|
|
22
|
+
sender: Pick<factory.action.transfer.send.message.email.IObjectAsEmailMessage['sender'], 'name' | 'typeOf'> & {
|
|
23
|
+
email?: never;
|
|
24
|
+
};
|
|
25
|
+
})[];
|
|
23
26
|
}>;
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.createPotentialActions = createPotentialActions;
|
|
4
|
+
// import type { ISetting } from '../../../../repo/setting';
|
|
4
5
|
const sendEmailMessage_1 = require("./potentialActions/sendEmailMessage");
|
|
5
6
|
/**
|
|
6
7
|
* 取引のポストアクションを作成する
|
|
7
8
|
*/
|
|
8
|
-
async function createPotentialActions(params
|
|
9
|
+
async function createPotentialActions(params) {
|
|
9
10
|
// 注文処理開始メール送信設定
|
|
10
|
-
const { emailMessages } = await (0, sendEmailMessage_1.createSendEmailMessageActions)(params
|
|
11
|
+
const { emailMessages } = await (0, sendEmailMessage_1.createSendEmailMessageActions)(params);
|
|
11
12
|
return {
|
|
12
13
|
emailMessages,
|
|
13
14
|
};
|
|
@@ -8,7 +8,6 @@ import type { MessageRepo } from '../../../repo/message';
|
|
|
8
8
|
import type { OfferRepo } from '../../../repo/offer/unitPriceInCatalog';
|
|
9
9
|
import type { OrderInTransactionRepo } from '../../../repo/orderInTransaction';
|
|
10
10
|
import type { ProjectRepo } from '../../../repo/project';
|
|
11
|
-
import type { SettingRepo } from '../../../repo/setting';
|
|
12
11
|
import type { PlaceOrderRepo } from '../../../repo/transaction/placeOrder';
|
|
13
12
|
import { factory } from '../../../factory';
|
|
14
13
|
import { PlaceOrderFactory } from '../../../factory/transaction';
|
|
@@ -26,7 +25,6 @@ interface IConfirmOperationRepos {
|
|
|
26
25
|
placeOrder: PlaceOrderRepo;
|
|
27
26
|
orderInTransaction: OrderInTransactionRepo;
|
|
28
27
|
confirmationNumber: ConfirmationNumberRepo;
|
|
29
|
-
setting: SettingRepo;
|
|
30
28
|
}
|
|
31
29
|
type IConfirmOperation<T> = (repos: IConfirmOperationRepos) => Promise<T>;
|
|
32
30
|
interface IConfirmOptions {
|
|
@@ -149,18 +149,18 @@ function confirm(params, options) {
|
|
|
149
149
|
...(typeof code === 'string') ? { code } : undefined,
|
|
150
150
|
paymentMethodIdByTransaction
|
|
151
151
|
}, options);
|
|
152
|
-
//
|
|
153
|
-
const setting = await repos.setting.findOne({ project: { id: { $eq: '*' } } }, ['defaultSenderEmail']);
|
|
154
|
-
if (typeof setting?.defaultSenderEmail !== 'string') {
|
|
155
|
-
|
|
156
|
-
}
|
|
152
|
+
// defaultSenderEmail参照不要(2026-10-20~)
|
|
153
|
+
// const setting = await repos.setting.findOne({ project: { id: { $eq: '*' } } }, ['defaultSenderEmail']) as Pick<ISetting, 'defaultSenderEmail'> | null;
|
|
154
|
+
// if (typeof setting?.defaultSenderEmail !== 'string') {
|
|
155
|
+
// throw new factory.errors.NotFound('setting.defaultSenderEmail');
|
|
156
|
+
// }
|
|
157
157
|
const { emailMessages } = await (0, potentialActions_1.createPotentialActions)({
|
|
158
158
|
order: placingOrder, // createEmailMessageでのorder.acceptedOffersへの依存性を排除したのでこちらでよいはず(2024-02-21~)
|
|
159
159
|
customer,
|
|
160
160
|
seller,
|
|
161
161
|
paymentMethods,
|
|
162
162
|
...(params.potentialActions !== undefined) ? { potentialActions: params.potentialActions } : undefined,
|
|
163
|
-
}
|
|
163
|
+
});
|
|
164
164
|
// メッセージ保管(2024-04-28~)
|
|
165
165
|
await saveMessagesIfNeeded({
|
|
166
166
|
project: { id: transaction.project.id },
|
package/lib/chevre/service/transaction/returnOrder/potentialActions/returnPaymentMethod.d.ts
CHANGED
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
import { factory } from '../../../../factory';
|
|
2
|
-
import type { ISetting } from '../../../../repo/setting';
|
|
3
2
|
export declare function createReturnPaymentMethodActions(params: {
|
|
4
3
|
order: Pick<factory.order.IOrder, 'confirmationNumber' | 'customer' | 'orderDate' | 'orderNumber' | 'orderedItem' | 'paymentMethods' | 'price' | 'priceCurrency' | 'seller' | 'typeOf'>;
|
|
5
4
|
returnOrderActionParams?: factory.transaction.returnOrder.IReturnOrderActionParams;
|
|
6
5
|
transaction: Pick<factory.transaction.returnOrder.ITransaction, 'object'>;
|
|
7
|
-
}
|
|
8
|
-
emailMessagesOnReturnInvoice: factory.action.transfer.send.message.email.IObjectAsEmailMessage
|
|
6
|
+
}): Promise<{
|
|
7
|
+
emailMessagesOnReturnInvoice: (Pick<factory.action.transfer.send.message.email.IObjectAsEmailMessage, 'about' | 'identifier' | 'name' | 'text' | 'toRecipient' | 'typeOf'> & {
|
|
8
|
+
sender: Pick<factory.action.transfer.send.message.email.IObjectAsEmailMessage['sender'], 'name' | 'typeOf'> & {
|
|
9
|
+
email?: never;
|
|
10
|
+
};
|
|
11
|
+
})[];
|
|
9
12
|
returnPaymentMethodActions: factory.action.transfer.returnAction.order.IPotentialReturnInvoiceAction[];
|
|
10
13
|
}>;
|
|
@@ -3,7 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.createReturnPaymentMethodActions = createReturnPaymentMethodActions;
|
|
4
4
|
const emailMessageBuilder_1 = require("../../../../emailMessageBuilder");
|
|
5
5
|
const factory_1 = require("../../../../factory");
|
|
6
|
-
|
|
6
|
+
// import type { ISetting } from '../../../../repo/setting';
|
|
7
|
+
async function createReturnInvoicePotentialActions(params) {
|
|
7
8
|
const order = params.order;
|
|
8
9
|
const emailMessagesOnReturnEachPaymentMethodId = [];
|
|
9
10
|
const sendEmailMessageOnRefund = [];
|
|
@@ -27,7 +28,7 @@ async function createReturnInvoicePotentialActions(params, setting) {
|
|
|
27
28
|
order,
|
|
28
29
|
email: emailCustomization,
|
|
29
30
|
paymentMethodId: params.paymentMethod.paymentMethodId
|
|
30
|
-
}
|
|
31
|
+
});
|
|
31
32
|
emailMessagesOnReturnEachPaymentMethodId.push(emailMessage);
|
|
32
33
|
sendEmailMessageOnRefund.push({
|
|
33
34
|
object: {
|
|
@@ -43,7 +44,7 @@ async function createReturnInvoicePotentialActions(params, setting) {
|
|
|
43
44
|
}
|
|
44
45
|
};
|
|
45
46
|
}
|
|
46
|
-
async function createReturnPaymentMethodActions(params
|
|
47
|
+
async function createReturnPaymentMethodActions(params) {
|
|
47
48
|
const emailMessagesOnReturnInvoice = [];
|
|
48
49
|
const potentialReturnInvoiceActions = [];
|
|
49
50
|
// MovieTicket決済以外について返品ポリシーのreturnFeesを適用する(2022-08-10~)
|
|
@@ -64,7 +65,7 @@ async function createReturnPaymentMethodActions(params, setting) {
|
|
|
64
65
|
...(params.returnOrderActionParams !== undefined)
|
|
65
66
|
? { returnOrderActionParams: params.returnOrderActionParams }
|
|
66
67
|
: undefined
|
|
67
|
-
}
|
|
68
|
+
});
|
|
68
69
|
emailMessagesOnReturnInvoice.push(...emailMessagesOnReturnEachPaymentMethodId);
|
|
69
70
|
const { paymentStatus, ...referencedInvoiceAsObject } = referencedInvoice; // eslint-disable-line @typescript-eslint/no-unused-vars
|
|
70
71
|
const object = {
|
|
@@ -76,7 +77,7 @@ async function createReturnPaymentMethodActions(params, setting) {
|
|
|
76
77
|
})));
|
|
77
78
|
}
|
|
78
79
|
// 決済カード決済について
|
|
79
|
-
const { emailMessagesOnReturnMovieTicket, returnMovieTicketActions } = await createReturnPaymentMethodIssuedThroughMovieTicketActions(params
|
|
80
|
+
const { emailMessagesOnReturnMovieTicket, returnMovieTicketActions } = await createReturnPaymentMethodIssuedThroughMovieTicketActions(params);
|
|
80
81
|
emailMessagesOnReturnInvoice.push(...emailMessagesOnReturnMovieTicket);
|
|
81
82
|
potentialReturnInvoiceActions.push(...returnMovieTicketActions);
|
|
82
83
|
return { emailMessagesOnReturnInvoice, returnPaymentMethodActions: potentialReturnInvoiceActions };
|
|
@@ -84,9 +85,7 @@ async function createReturnPaymentMethodActions(params, setting) {
|
|
|
84
85
|
/**
|
|
85
86
|
* 決済カード決済の返却アクションを生成する
|
|
86
87
|
*/
|
|
87
|
-
async function createReturnPaymentMethodIssuedThroughMovieTicketActions(params
|
|
88
|
-
// settings: Settings
|
|
89
|
-
setting) {
|
|
88
|
+
async function createReturnPaymentMethodIssuedThroughMovieTicketActions(params) {
|
|
90
89
|
const returnFeesMovieTicketByTransaction = params.transaction.object.returnPolicy.returnFeesMovieTicket;
|
|
91
90
|
const emailMessagesOnReturnMovieTicket = [];
|
|
92
91
|
const returnMovieTicketActions = await Promise.all(params.order.paymentMethods
|
|
@@ -129,7 +128,7 @@ setting) {
|
|
|
129
128
|
...(params.returnOrderActionParams !== undefined)
|
|
130
129
|
? { returnOrderActionParams: params.returnOrderActionParams }
|
|
131
130
|
: undefined
|
|
132
|
-
}
|
|
131
|
+
});
|
|
133
132
|
emailMessagesOnReturnMovieTicket.push(...emailMessagesOnReturnEachPaymentMethodId);
|
|
134
133
|
const { paymentStatus, ...referencedInvoiceAsObject } = referencedInvoice; // eslint-disable-line @typescript-eslint/no-unused-vars
|
|
135
134
|
const object = {
|
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
import { IOrderAsCreateEmailParams } from '../../../../emailMessageBuilder';
|
|
2
2
|
import { factory } from '../../../../factory';
|
|
3
|
-
import type { ISetting } from '../../../../repo/setting';
|
|
4
3
|
type IPotentialSendEmailMessageAction = factory.action.transfer.returnAction.order.IPotentialSendEmailMessageAction;
|
|
5
4
|
export declare function createSendEmailMessaegActionsOnReturn(params: {
|
|
6
5
|
order: IOrderAsCreateEmailParams;
|
|
7
6
|
returnOrderActionParams?: factory.transaction.returnOrder.IReturnOrderActionParams;
|
|
8
|
-
}
|
|
9
|
-
emailMessagesOnReturn: factory.action.transfer.send.message.email.IObjectAsEmailMessage
|
|
7
|
+
}): Promise<{
|
|
8
|
+
emailMessagesOnReturn: (Pick<factory.action.transfer.send.message.email.IObjectAsEmailMessage, 'about' | 'identifier' | 'name' | 'text' | 'toRecipient' | 'typeOf'> & {
|
|
9
|
+
sender: Pick<factory.action.transfer.send.message.email.IObjectAsEmailMessage['sender'], 'name' | 'typeOf'> & {
|
|
10
|
+
email?: never;
|
|
11
|
+
};
|
|
12
|
+
})[];
|
|
10
13
|
sendEmailMessaegActionsOnReturn: IPotentialSendEmailMessageAction[];
|
|
11
14
|
}>;
|
|
12
15
|
export {};
|
|
@@ -3,9 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.createSendEmailMessaegActionsOnReturn = createSendEmailMessaegActionsOnReturn;
|
|
4
4
|
const emailMessageBuilder_1 = require("../../../../emailMessageBuilder");
|
|
5
5
|
const factory_1 = require("../../../../factory");
|
|
6
|
-
async function createSendEmailMessaegActionsOnReturn(params
|
|
7
|
-
// settings: Settings
|
|
8
|
-
setting) {
|
|
6
|
+
async function createSendEmailMessaegActionsOnReturn(params) {
|
|
9
7
|
const order = params.order;
|
|
10
8
|
// 返品後のEメール送信アクション
|
|
11
9
|
const emailMessagesOnReturn = [];
|
|
@@ -17,10 +15,7 @@ setting) {
|
|
|
17
15
|
order,
|
|
18
16
|
index,
|
|
19
17
|
...(sendEmailMessageParams.object !== undefined) ? { email: sendEmailMessageParams.object } : undefined,
|
|
20
|
-
|
|
21
|
-
// ? { emailMessage: params.emailMessageOnOrderReturned }
|
|
22
|
-
// : undefined
|
|
23
|
-
}, setting);
|
|
18
|
+
});
|
|
24
19
|
emailMessagesOnReturn.push(emailMessage);
|
|
25
20
|
return {
|
|
26
21
|
object: {
|
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
import { factory } from '../../../factory';
|
|
2
|
-
import type { ISetting } from '../../../repo/setting';
|
|
3
2
|
type IReturningOrder4potentialActions = Pick<factory.order.IOrder, 'confirmationNumber' | 'customer' | 'orderDate' | 'orderNumber' | 'orderStatus' | 'orderedItem' | 'paymentMethods' | 'price' | 'priceCurrency' | 'project' | 'seller' | 'typeOf'>;
|
|
4
3
|
declare function createPotentialActions(params: {
|
|
5
4
|
dateReturned: Date;
|
|
6
5
|
orders: IReturningOrder4potentialActions[];
|
|
7
6
|
potentialActions?: factory.transaction.returnOrder.IPotentialActionsParams;
|
|
8
7
|
transaction: Pick<factory.transaction.returnOrder.ITransaction, 'agent' | 'object'>;
|
|
9
|
-
}
|
|
10
|
-
emailMessages: factory.action.transfer.send.message.email.IObjectAsEmailMessage
|
|
8
|
+
}): Promise<{
|
|
9
|
+
emailMessages: (Pick<factory.action.transfer.send.message.email.IObjectAsEmailMessage, 'about' | 'identifier' | 'name' | 'text' | 'toRecipient' | 'typeOf'> & {
|
|
10
|
+
sender: Pick<factory.action.transfer.send.message.email.IObjectAsEmailMessage['sender'], 'name' | 'typeOf'> & {
|
|
11
|
+
email?: never;
|
|
12
|
+
};
|
|
13
|
+
})[];
|
|
11
14
|
potentialActions: factory.transaction.returnOrder.IPotentialActions;
|
|
12
15
|
}>;
|
|
13
16
|
export { createPotentialActions, IReturningOrder4potentialActions };
|
|
@@ -2,9 +2,10 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.createPotentialActions = createPotentialActions;
|
|
4
4
|
const factory_1 = require("../../../factory");
|
|
5
|
+
// import type { ISetting } from '../../../repo/setting';
|
|
5
6
|
const returnPaymentMethod_1 = require("./potentialActions/returnPaymentMethod");
|
|
6
7
|
const sendEmailMessage_1 = require("./potentialActions/sendEmailMessage");
|
|
7
|
-
async function createPotentialActions(params
|
|
8
|
+
async function createPotentialActions(params) {
|
|
8
9
|
const emailMessages = [];
|
|
9
10
|
const returnOrderActions = await Promise.all(params.orders.map(async (order) => {
|
|
10
11
|
let returnOrderParams = params.potentialActions?.returnOrder;
|
|
@@ -18,14 +19,14 @@ async function createPotentialActions(params, setting) {
|
|
|
18
19
|
...params,
|
|
19
20
|
order,
|
|
20
21
|
...(returnOrderActionParams !== undefined) ? { returnOrderActionParams } : undefined
|
|
21
|
-
}
|
|
22
|
+
});
|
|
22
23
|
emailMessages.push(...emailMessagesOnReturnInvoice);
|
|
23
24
|
// 返品後のEメール送信アクション
|
|
24
25
|
const { emailMessagesOnReturn, sendEmailMessaegActionsOnReturn } = await (0, sendEmailMessage_1.createSendEmailMessaegActionsOnReturn)({
|
|
25
26
|
...params,
|
|
26
27
|
order,
|
|
27
28
|
...(returnOrderActionParams !== undefined) ? { returnOrderActionParams } : undefined
|
|
28
|
-
}
|
|
29
|
+
});
|
|
29
30
|
emailMessages.push(...emailMessagesOnReturn);
|
|
30
31
|
const potentialActionsOnReturnOrder = {
|
|
31
32
|
returnPaymentMethod: returnPaymentMethodActions,
|
|
@@ -10,7 +10,6 @@ import type { ProjectRepo } from '../../repo/project';
|
|
|
10
10
|
import type { ReservationRepo } from '../../repo/reservation';
|
|
11
11
|
import type { SellerRepo } from '../../repo/seller';
|
|
12
12
|
import type { SellerReturnPolicyRepo } from '../../repo/sellerReturnPolicy';
|
|
13
|
-
import type { SettingRepo } from '../../repo/setting';
|
|
14
13
|
import type { TaskRepo } from '../../repo/task';
|
|
15
14
|
import type { IStartedTransaction, ReturnOrderInProgressRepo } from '../../repo/transaction/returnOrderInProgress';
|
|
16
15
|
import { preStart, IStartParamsWithoutDetail } from './returnOrder/preStart';
|
|
@@ -36,7 +35,6 @@ interface IConfirmRepos {
|
|
|
36
35
|
acceptedOffer: AcceptedOfferRepo;
|
|
37
36
|
message: MessageRepo;
|
|
38
37
|
order: OrderRepo;
|
|
39
|
-
setting: SettingRepo;
|
|
40
38
|
returnOrderInProgress: ReturnOrderInProgressRepo;
|
|
41
39
|
task: TaskRepo;
|
|
42
40
|
}
|
|
@@ -86,17 +86,17 @@ function confirm(params) {
|
|
|
86
86
|
if (orderStatus === factory_1.factory.orderStatus.OrderReturned) {
|
|
87
87
|
throw new factory_1.factory.errors.Argument('orderNumber', `invalid orderStatus: ${orderStatus}`);
|
|
88
88
|
}
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
89
|
+
// defaultSenderEmail参照不要(2026-10-20~)
|
|
90
|
+
// const setting = await repos.setting.findOne({ project: { id: { $eq: '*' } } }, ['defaultSenderEmail']) as Pick<ISetting, 'defaultSenderEmail'> | null;
|
|
91
|
+
// if (typeof setting?.defaultSenderEmail !== 'string') {
|
|
92
|
+
// throw new factory.errors.NotFound('setting.defaultSenderEmail');
|
|
93
|
+
// }
|
|
93
94
|
const { emailMessages, potentialActions } = await (0, potentialActions_1.createPotentialActions)({
|
|
94
95
|
dateReturned: params.object.order.dateReturned,
|
|
95
96
|
orders: returningOrders,
|
|
96
97
|
transaction: transaction,
|
|
97
98
|
...(params.potentialActions !== undefined) ? { potentialActions: params.potentialActions } : undefined,
|
|
98
|
-
|
|
99
|
-
}, setting);
|
|
99
|
+
});
|
|
100
100
|
// save messages(2024-06-27~)
|
|
101
101
|
await saveMessagesIfNeeded({
|
|
102
102
|
project: { id: transaction.project.id },
|
package/package.json
CHANGED