@chevre/domain 28.0.0-alpha.40 → 28.0.0-alpha.41

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.
@@ -1,6 +1,10 @@
1
1
  import { factory } from './factory';
2
- import type { ISetting } from './repo/setting';
3
- type ISendableEmailMessage = factory.action.transfer.send.message.email.IObjectAsEmailMessage & {
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
- }, setting: Pick<ISetting, 'defaultSenderEmail'>): Promise<ISendableEmailMessage>;
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
- }, setting: Pick<ISetting, 'defaultSenderEmail'>): Promise<ISendableEmailMessage>;
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
- }, setting: Pick<ISetting, 'defaultSenderEmail'>): Promise<ISendableEmailMessage>;
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, setting) {
65
- if (typeof setting.defaultSenderEmail !== 'string') {
66
- throw new factory_1.factory.errors.NotFound('setting.defaultSenderEmail');
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
- email: setting.defaultSenderEmail // 送信元未指定であればタスクで自動設定されるがとりあえず指定(2026-10-20~)
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, setting) {
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, setting);
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, setting) {
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, setting);
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, setting) {
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, setting);
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 IEmailMessage = factory.creativeWork.message.email.ICreativeWork & {
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: {
@@ -22,19 +22,19 @@ export declare class ProjectRepo {
22
22
  */
23
23
  projectFields(conditions: factory.project.ISearchConditions, inclusion: IKeyOfProjection[]): Promise<factory.project.IProject[]>;
24
24
  createById(params: factory.project.IProject): Promise<Pick<factory.project.IProject, 'id'>>;
25
- updateById(params: {
25
+ updateProjectById(params: {
26
26
  id: string;
27
- alternateName?: string;
28
- logo?: string;
29
- hasMerchantReturnPolicy?: Pick<factory.project.IHasMerchantReturnPolicy, 'sameAs' | 'identifier'>;
30
- name?: string;
31
- settings?: Pick<factory.project.ISettings, 'includeCustomerAsFindByConfirmationNumberResult'> & {
32
- sendEmailMessage?: factory.project.ISendEmailMessageSettings;
33
- sendgridApiKey?: string;
34
- };
35
- subscription?: {
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;
@@ -109,45 +109,41 @@ class ProjectRepo {
109
109
  }
110
110
  return { id: insertedId };
111
111
  }
112
- async updateById(params) {
112
+ async updateProjectById(params) {
113
+ const { $set, $unset, id } = params;
113
114
  let hasMerchantReturnPolicy;
114
- if (typeof params.hasMerchantReturnPolicy?.sameAs === 'string') {
115
+ if (typeof $set.hasMerchantReturnPolicy?.sameAs === 'string') {
115
116
  hasMerchantReturnPolicy = {
116
- sameAs: params.hasMerchantReturnPolicy.sameAs,
117
+ sameAs: $set.hasMerchantReturnPolicy.sameAs,
117
118
  typeOf: 'MerchantReturnPolicy',
118
- ...(typeof params.hasMerchantReturnPolicy.identifier === 'string')
119
- ? { identifier: params.hasMerchantReturnPolicy.identifier } : undefined
119
+ ...(typeof $set.hasMerchantReturnPolicy.identifier === 'string')
120
+ ? { identifier: $set.hasMerchantReturnPolicy.identifier } : undefined
120
121
  };
121
122
  }
122
- const includeCustomerAsFindByConfirmationNumberResult = params.settings?.includeCustomerAsFindByConfirmationNumberResult;
123
- await this.projectModel.findOneAndUpdate({ _id: { $eq: params.id } }, {
124
- // updatedAt: new Date(),
125
- ...(typeof params.alternateName === 'string' && params.alternateName.length > 0)
126
- ? { alternateName: params.alternateName }
127
- : undefined,
128
- ...(typeof params.name === 'string' && params.name.length > 0) ? { name: params.name } : undefined,
129
- ...(typeof params.logo === 'string' && params.logo.length > 0) ? { logo: params.logo } : undefined,
130
- ...(typeof params.settings?.sendEmailMessage?.sender?.email === 'string')
131
- ? {
132
- 'settings.sendEmailMessage': {
133
- sender: { email: params.settings.sendEmailMessage.sender.email }
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
- : undefined,
137
- ...(typeof params.settings?.sendgridApiKey === 'string')
138
- ? { 'settings.sendgridApiKey': params.settings.sendgridApiKey }
139
- : undefined,
140
- ...(typeof includeCustomerAsFindByConfirmationNumberResult === 'boolean')
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
- 'settings.cognito': 1 // 廃止(2023-11-10~)
143
+ ...$unset,
144
+ 'settings.cognito': 1, // 廃止(2023-11-10~)
149
145
  }
150
- }, { projection: { _id: 1 } })
146
+ })
151
147
  .exec();
152
148
  }
153
149
  async updateMakesOfferById(params) {
@@ -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
- }, setting: Pick<ISetting, 'defaultSenderEmail'>): Promise<{
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 {};
@@ -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, setting) {
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
- // ...(params.emailMessage !== undefined) ? { emailMessage: params.emailMessage } : undefined
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
- }, setting: Pick<ISetting, 'defaultSenderEmail'>): Promise<{
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, setting) {
9
+ async function createPotentialActions(params) {
9
10
  // 注文処理開始メール送信設定
10
- const { emailMessages } = await (0, sendEmailMessage_1.createSendEmailMessageActions)(params, setting);
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
- throw new factory_1.factory.errors.NotFound('setting.defaultSenderEmail');
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
- }, setting);
163
+ });
164
164
  // メッセージ保管(2024-04-28~)
165
165
  await saveMessagesIfNeeded({
166
166
  project: { id: transaction.project.id },
@@ -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
- }, setting: Pick<ISetting, 'defaultSenderEmail'>): Promise<{
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
- async function createReturnInvoicePotentialActions(params, setting) {
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
- }, setting);
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, setting) {
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
- }, setting);
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, setting);
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
- }, setting);
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
- }, setting: Pick<ISetting, 'defaultSenderEmail'>): Promise<{
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
- // ...(params.emailMessageOnOrderReturned !== undefined)
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
- }, setting: Pick<ISetting, 'defaultSenderEmail'>): Promise<{
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, setting) {
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
- }, setting);
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
- }, setting);
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
- const setting = await repos.setting.findOne({ project: { id: { $eq: '*' } } }, ['defaultSenderEmail']);
90
- if (typeof setting?.defaultSenderEmail !== 'string') {
91
- throw new factory_1.factory.errors.NotFound('setting.defaultSenderEmail');
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
- // ...(emailMessageOnOrderReturned !== undefined) ? { emailMessageOnOrderReturned } : undefined
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
@@ -88,5 +88,5 @@
88
88
  "postversion": "git push origin --tags",
89
89
  "prepublishOnly": "npm run clean && npm run build"
90
90
  },
91
- "version": "28.0.0-alpha.40"
91
+ "version": "28.0.0-alpha.41"
92
92
  }