@chevre/domain
Version:
Chevre Domain Library for Node.js
61 lines (60 loc) • 3.86 kB
JavaScript
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.createSendEmailMessageActions = createSendEmailMessageActions;
const emailMessageBuilder = require("../../../../../emailMessageBuilder");
const factory = require("../../../../../factory");
// import { Settings } from '../../../../../settings';
function createSendEmailMessageActions(params,
// settings: Settings
setting) {
return __awaiter(this, void 0, void 0, function* () {
var _a, _b, _c, _d, _e;
// 注文配送メール送信設定
const emailMessages = [];
// const sendEmailMessageActions: factory.action.transfer.send.message.email.IAttributes[] = [];
const sendEmailMessageActions = [];
// const sendActionPurpose: factory.action.transfer.send.message.email.IPurpose = {
// typeOf: params.order.typeOf,
// orderNumber: params.order.orderNumber,
// price: params.order.price,
// priceCurrency: params.order.priceCurrency,
// orderDate: params.order.orderDate
// };
const sendEmailMessageOnOrderSentParams = (_e = (_d = (_c = (_b = (_a = params.potentialActions) === null || _a === void 0 ? void 0 : _a.order) === null || _b === void 0 ? void 0 : _b.potentialActions) === null || _c === void 0 ? void 0 : _c.sendOrder) === null || _d === void 0 ? void 0 : _d.potentialActions) === null || _e === void 0 ? void 0 : _e.sendEmailMessage;
if (Array.isArray(sendEmailMessageOnOrderSentParams)) {
const orderAsCreateEmailParams = Object.assign(Object.assign({}, params.order), { customer: params.customer, seller: params.seller, paymentMethods: params.paymentMethods });
yield Promise.all(sendEmailMessageOnOrderSentParams.map((s, index) => __awaiter(this, void 0, void 0, function* () {
const emailMessage = yield emailMessageBuilder.createSendOrderMessage(Object.assign(Object.assign({ order: orderAsCreateEmailParams, index }, (s.object !== undefined) ? { email: s.object } : undefined), (params.emailMessage !== undefined) ? { emailMessage: params.emailMessage } : undefined), setting);
emailMessages.push(emailMessage);
// 送信アクション最適化に対応(2024-04-29~)
const sendEmailMessageActionObject = {
identifier: emailMessage.identifier,
typeOf: factory.creativeWorkType.EmailMessage
};
// optimize(2024-05-07~)
sendEmailMessageActions.push({
// project: params.order.project,
// typeOf: factory.actionType.SendAction,
object: sendEmailMessageActionObject
// agent: params.order.project,
// recipient: {
// typeOf: params.order.customer.typeOf,
// id: params.order.customer.id
// },
// potentialActions: {},
// purpose: sendActionPurpose
});
})));
}
return { sendEmailMessageActions, emailMessages };
});
}
;