UNPKG

@chevre/domain

Version:

Chevre Domain Library for Node.js

55 lines (54 loc) 3.11 kB
"use strict"; 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.createSendEmailMessageTaskIfNotExist = createSendEmailMessageTaskIfNotExist; const util = require("util"); const factory = require("../../../../factory"); function createSendEmailMessageTaskIfNotExist(params) { return (repos) => __awaiter(this, void 0, void 0, function* () { const sendEmailMessageActions = params.sendEmailMessage; const now = new Date(); if (Array.isArray(sendEmailMessageActions)) { yield Promise.all(sendEmailMessageActions.map((sendEmailMessageAction, index) => __awaiter(this, void 0, void 0, function* () { const taskIdentifier = util.format('%s:%s:%s:%s:%s:%s', params.order.project.id, factory.taskName.SendEmailMessage, params.order.typeOf, params.order.orderNumber, factory.orderStatus.OrderProcessing, index); const simpleOrder = { typeOf: params.order.typeOf, orderNumber: params.order.orderNumber, // price: params.order.price, // priceCurrency: params.order.priceCurrency, orderDate: params.order.orderDate }; const actionAttributes = { project: params.order.project, typeOf: factory.actionType.SendAction, object: sendEmailMessageAction.object, agent: params.order.project, recipient: { typeOf: params.order.customer.typeOf, id: params.order.customer.id }, // potentialActions: {}, // discontinue(2024-06-25~) purpose: simpleOrder }; const sendEmailMessageTask = { alternateName: taskIdentifier, identifier: taskIdentifier, project: params.order.project, name: factory.taskName.SendEmailMessage, status: factory.taskStatus.Ready, runsAt: now, // なるはやで実行 remainingNumberOfTries: 10, numberOfTried: 0, executionResults: [], data: { actionAttributes } }; yield repos.task.createIfNotExistByAlternateName(sendEmailMessageTask, { emitImmediately: true }); }))); } }); }