UNPKG

pip-services-email-node

Version:
145 lines 4.86 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); let _ = require('lodash'); let messages = require('../../../../src/protos/email_v1_pb'); const pip_services3_commons_node_1 = require("pip-services3-commons-node"); const pip_services3_commons_node_2 = require("pip-services3-commons-node"); class EmailGrpcConverterV1 { static fromError(err) { if (err == null) return null; let description = pip_services3_commons_node_1.ErrorDescriptionFactory.create(err); let obj = new messages.ErrorDescription(); obj.setType(description.type); obj.setCategory(description.category); obj.setCode(description.code); obj.setCorrelationId(description.correlation_id); obj.setStatus(description.status); obj.setMessage(description.message); obj.setCause(description.cause); obj.setStackTrace(description.stack_trace); EmailGrpcConverterV1.setMap(obj.getDetailsMap(), description.details); return obj; } static toError(obj) { if (obj == null || (obj.getCategory() == "" && obj.getMessage() == "")) return null; let description = { type: obj.getType(), category: obj.getCategory(), code: obj.getCode(), correlation_id: obj.getCorrelationId(), status: obj.getStatus(), message: obj.getMessage(), cause: obj.getCause(), stack_trace: obj.getStackTrace(), details: EmailGrpcConverterV1.getMap(obj.getDetailsMap()) }; return pip_services3_commons_node_2.ApplicationExceptionFactory.create(description); } static setMap(map, values) { if (values == null) return; if (_.isFunction(values.toObject)) values = values.toObject(); if (_.isArray(values)) { for (let entry of values) { if (_.isArray(entry)) map[entry[0]] = entry[1]; } } else { if (_.isFunction(map.set)) { for (let propName in values) { if (values.hasOwnProperty(propName)) map.set(propName, values[propName]); } } else { for (let propName in values) { if (values.hasOwnProperty(propName)) map[propName] = values[propName]; } } } } static getMap(map) { let values = {}; EmailGrpcConverterV1.setMap(values, map); return values; } static toJson(value) { if (value == null || value == "") return null; return JSON.stringify(value); } static fromJson(value) { if (value == null || value == "") return null; return JSON.parse(value); } static fromMessage(message) { if (message == null) return null; let obj = new messages.EmailMessage(); obj.setFrom(message.from); obj.setCc(message.cc); obj.setBcc(message.bcc); obj.setTo(message.to); obj.setReplyTo(message.reply_to); obj.setSubject(message.subject); obj.setText(message.text); obj.setHtml(message.html); return obj; } static toMessage(obj) { if (obj == null) return null; let message = { from: obj.getFrom(), cc: obj.getCc(), bcc: obj.getBcc(), to: obj.getTo(), reply_to: obj.getReplyTo(), subject: obj.getSubject(), text: obj.getText(), html: obj.getHtml() }; return message; } static fromRecipient(recipient) { if (recipient == null) return null; let obj = new messages.EmailRecipient(); obj.setId(recipient.id); obj.setName(recipient.name); obj.setEmail(recipient.email); obj.setLanguage(recipient.language); return obj; } static toRecipient(obj) { if (obj == null) return null; let recipient = { id: obj.getId(), name: obj.getName(), email: obj.getEmail(), language: obj.getLanguage() }; return recipient; } static fromRecipients(recipients) { if (recipients == null) return null; let data = _.map(recipients, EmailGrpcConverterV1.fromRecipient); return data; } static toRecipients(obj) { if (obj == null) return null; let data = _.map(obj, EmailGrpcConverterV1.toRecipient); return data; } } exports.EmailGrpcConverterV1 = EmailGrpcConverterV1; //# sourceMappingURL=EmailGrpcConverterV1.js.map