-'use strict';
-
-var _ = require('lodash');
-var async = require('async');
-
-var htmlToText = require('html-to-text');
-var formidable = require('formidable');
-var path = require('path');
-
-var config = require('../../config/environment');
-var sequelize = require('../../models').sequelize;
-var MailMessage = require('../../models').MailMessage;
-var MailAttachment = require('../../models').MailAttachment;
-var MailRoom = require('../../models').MailRoom;
-var MailAccount = require('../../models').MailAccount;
-var Contact = require('../../models').Contact;
-
-// Get list of mail_messages
-exports.index = function (req, res, next) {
- var params = {
- order: 'createdAt DESC',
- include: [{
- all: true,
- include: [{
- all: true
- }]
- }]
- };
-
- switch (req.user.role) {
- case 'admin':
- params.where = req.query;
- break;
- case 'agent':
- break;
- default:
-
- }
-
- MailMessage
- .findAll(params)
- .then(function (mail_messages) {
- return res.status(200).send(mail_messages);
- })
- .catch(function (err) {
- return handleError(res, err, next);
- });
-};
-
-// Get a single mailMessage
-exports.show = function (req, res, next) {
- MailMessage
- .findById(req.params.id, {
- include: [{
- all: true,
- include: [{
- all: true
- }]
- }]
- })
- .then(function (mailMessage) {
- if (!mailMessage) {
- return res.sendStatus(404);
- }
- return res.send(mailMessage);
- })
- .catch(function (err) {
- return handleError(res, err, next);
- });
-};
-
-// Creates a new mailMessage in the DB.
-exports.create = function (req, res, next) {
- // 1) Messaggio in uscita
- var form = new formidable.IncomingForm();
- form.uploadDir = path.join(config.root, 'server', 'files', 'attachments');
- form.keepExtensions = true;
- form.multiples = true;
-
- if (_.isEmpty(req.body)) {
- // ATTACHMENT
- form.parse(req, function (err, form, wrap) {
- if (err) {
- return res.status(400).send(err);
- }
-
- var file = wrap.file;
- form.MailAttachments = [{
- path: file.path,
- fileName: file.name,
- length: file.size,
- contentType: file.type
- }];
-
- return sequelize.transaction().then(function (t) {
- return MailMessage
- .create(form, {
- include: [{
- all: true
- }],
- transaction: t
- }).then(function (mailMessage) {
- t.commit();
- return res.status(201).send(mailMessage);
- }).catch(function (err) {
- t.rollback();
- return handleError(res, err);
- });
- });
- });
- } else {
- // NO ATTACHMENT
- console.log('NO ATTACHMENT');
- req.body.status = 'SENDING';
-
- return sequelize.transaction().then(function (t) {
- return MailMessage
- .create(req.body, {
- transaction: t
- }).then(function (mailMessage) {
- t.commit();
- return res.status(201).send(mailMessage);
- }).catch(function (err) {
- t.rollback();
- return handleError(res, err);
- });
- });
- }
-};
-
-// Updates an existing mailMessage in the DB.
-exports.update = function (req, res, next) {
-
- MailMessage
- .findById(req.params.id, {
- include: [{
- all: true
- }]
- })
- .then(function (mailMessage) {
- if (!mailMessage) {
- return res.sendStatus(404);
- }
- var updated = _.merge(mailMessage, req.body);
- updated.save()
- .then(function () {
- return res.status(200).send(updated);
- })
- .catch(function (err) {
- return handleError(res, err, next);
- });
- })
- .catch(function (err) {
- return handleError(res, err, next);
- });
-};
-
-// Deletes a mailMessage from the DB.
-exports.destroy = function (req, res, next) {
- MailMessage
- .findById(req.params.id)
- .then(function (mailMessage) {
- if (!mailMessage) {
- return res.sendStatus(404);
- }
- mailMessage.destroy()
- .then(function () {
- return res.sendStatus(204);
- })
- .catch(function (err) {
- return handleError(res, err, next);
- });
- })
- .catch(function (err) {
- return handleError(res, err, next);
- });
-};
-
-// Deletes a mailMessage from the DB.
-exports.bulkDelete = function (req, res, next) {
- MailMessage
- .bulkUpdate({
- where: {
- id: {
- $in: req.body.id
- }
- },
- attributes: {
- directory: 'TRASH'
- }
- })
- .then(function (mailMessage) {
- if (!mailMessage) {
- return res.sendStatus(404);
- }
- mailMessage.destroy()
- .then(function () {
- return res.sendStatus(204);
- })
- .catch(function (err) {
- return handleError(res, err, next);
- });
- })
- .catch(function (err) {
- return handleError(res, err, next);
- });
-};
-
-function handleError(res, err, next) {
- return res.status(500).send(err);
-}
+var _0xb23c=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x61\x73\x79\x6E\x63","\x68\x74\x6D\x6C\x2D\x74\x6F\x2D\x74\x65\x78\x74","\x66\x6F\x72\x6D\x69\x64\x61\x62\x6C\x65","\x70\x61\x74\x68","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x4D\x61\x69\x6C\x4D\x65\x73\x73\x61\x67\x65","\x4D\x61\x69\x6C\x41\x74\x74\x61\x63\x68\x6D\x65\x6E\x74","\x4D\x61\x69\x6C\x52\x6F\x6F\x6D","\x4D\x61\x69\x6C\x41\x63\x63\x6F\x75\x6E\x74","\x43\x6F\x6E\x74\x61\x63\x74\x45\x6D\x61\x69\x6C","\x43\x6F\x6E\x74\x61\x63\x74","\x55\x73\x65\x72","\x69\x6E\x64\x65\x78","\x63\x72\x65\x61\x74\x65\x64\x41\x74\x20\x44\x45\x53\x43","\x77\x68\x65\x72\x65","\x71\x75\x65\x72\x79","\x61\x64\x6D\x69\x6E","\x61\x67\x65\x6E\x74","\x72\x6F\x6C\x65","\x75\x73\x65\x72","\x63\x61\x74\x63\x68","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x6E\x61\x6D\x65","\x66\x75\x6C\x6C\x6E\x61\x6D\x65","\x65\x6D\x61\x69\x6C","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x55\x73\x65\x72\x49\x64","\x62\x6F\x64\x79","\x74\x65\x78\x74","\x68\x74\x6D\x6C","\x66\x72\x6F\x6D\x53\x74\x72\x69\x6E\x67","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79","\x62\x75\x6C\x6B\x44\x65\x6C\x65\x74\x65","\x54\x52\x41\x53\x48","\x62\x75\x6C\x6B\x55\x70\x64\x61\x74\x65"];_0xb23c[0];var _=require(_0xb23c[1]);var async=require(_0xb23c[2]);var htmlToText=require(_0xb23c[3]);var formidable=require(_0xb23c[4]);var path=require(_0xb23c[5]);var config=require(_0xb23c[6]);var sequelize=require(_0xb23c[8])[_0xb23c[7]];var MailMessage=require(_0xb23c[8])[_0xb23c[9]];var MailAttachment=require(_0xb23c[8])[_0xb23c[10]];var MailRoom=require(_0xb23c[8])[_0xb23c[11]];var MailAccount=require(_0xb23c[8])[_0xb23c[12]];var ContactEmail=require(_0xb23c[8])[_0xb23c[13]];var Contact=require(_0xb23c[8])[_0xb23c[14]];var User=require(_0xb23c[8])[_0xb23c[15]];exports[_0xb23c[16]]=function(_0x5779xf,_0x5779x10,_0x5779x11){var _0x5779x12={order:_0xb23c[17],include:[{all:true,include:[{all:true}]}]};switch(_0x5779xf[_0xb23c[23]][_0xb23c[22]]){case _0xb23c[20]:_0x5779x12[_0xb23c[18]]=_0x5779xf[_0xb23c[19]];break;case _0xb23c[21]:break;default:};return MailMessage[_0xb23c[28]](_0x5779x12)[_0xb23c[27]](function(_0x5779x14){return _0x5779x10[_0xb23c[26]](200)[_0xb23c[25]](_0x5779x14)})[_0xb23c[24]](function(_0x5779x13){return handleError(_0x5779x10,_0x5779x13,_0x5779x11)})};exports[_0xb23c[29]]=function(_0x5779xf,_0x5779x10,_0x5779x11){return MailMessage[_0xb23c[36]](_0x5779xf[_0xb23c[32]][_0xb23c[31]],{include:[{model:MailAttachment},{model:User,attributes:[_0xb23c[31],_0xb23c[33],_0xb23c[34],_0xb23c[35]]}]})[_0xb23c[27]](function(_0x5779x15){if(!_0x5779x15){return _0x5779x10[_0xb23c[30]](404)};return _0x5779x10[_0xb23c[25]](_0x5779x15)})[_0xb23c[24]](function(_0x5779x13){return handleError(_0x5779x10,_0x5779x13,_0x5779x11)})};exports[_0xb23c[37]]=function(_0x5779xf,_0x5779x10,_0x5779x11){_0x5779xf[_0xb23c[39]][_0xb23c[38]]=_0x5779xf[_0xb23c[23]][_0xb23c[31]];_0x5779xf[_0xb23c[39]][_0xb23c[40]]=_0x5779xf[_0xb23c[39]][_0xb23c[40]]||htmlToText[_0xb23c[42]](_0x5779xf[_0xb23c[39]][_0xb23c[41]],{wordwrap:false});return MailMessage[_0xb23c[37]](_0x5779xf[_0xb23c[39]],{include:[{model:MailAttachment}]})[_0xb23c[27]](function(_0x5779x15){return _0x5779x10[_0xb23c[26]](201)[_0xb23c[25]](_0x5779x15)})[_0xb23c[24]](function(_0x5779x13){return handleError(_0x5779x10,_0x5779x13)})};exports[_0xb23c[43]]=function(_0x5779xf,_0x5779x10,_0x5779x11){return MailMessage[_0xb23c[36]](_0x5779xf[_0xb23c[32]][_0xb23c[31]],{include:[{all:true}]})[_0xb23c[27]](function(_0x5779x15){if(!_0x5779x15){return _0x5779x10[_0xb23c[30]](404)};var _0x5779x16=_[_0xb23c[44]](_0x5779x15,_0x5779xf[_0xb23c[39]]);return _0x5779x16[_0xb23c[45]]()})[_0xb23c[27]](function(_0x5779x16){return _0x5779x10[_0xb23c[26]](200)[_0xb23c[25]](_0x5779x16)})[_0xb23c[24]](function(_0x5779x13){return handleError(_0x5779x10,_0x5779x13,_0x5779x11)})};exports[_0xb23c[46]]=function(_0x5779xf,_0x5779x10,_0x5779x11){return MailMessage[_0xb23c[36]](_0x5779xf[_0xb23c[32]][_0xb23c[31]])[_0xb23c[27]](function(_0x5779x15){if(!_0x5779x15){return _0x5779x10[_0xb23c[30]](404)};return _0x5779x15[_0xb23c[46]]()})[_0xb23c[27]](function(){return _0x5779x10[_0xb23c[30]](204)})[_0xb23c[24]](function(_0x5779x13){return handleError(_0x5779x10,_0x5779x13,_0x5779x11)})};exports[_0xb23c[47]]=function(_0x5779xf,_0x5779x10,_0x5779x11){return MailMessage[_0xb23c[49]]({where:{id:{$in:_0x5779xf[_0xb23c[39]][_0xb23c[31]]}},attributes:{directory:_0xb23c[48]}})[_0xb23c[27]](function(_0x5779x15){if(!_0x5779x15){return _0x5779x10[_0xb23c[30]](404)};return _0x5779x15[_0xb23c[46]]()})[_0xb23c[27]](function(){return _0x5779x10[_0xb23c[30]](204)})[_0xb23c[24]](function(_0x5779x13){return handleError(_0x5779x10,_0x5779x13,_0x5779x11)})};function handleError(_0x5779x10,_0x5779x13,_0x5779x11){return _0x5779x10[_0xb23c[26]](500)[_0xb23c[25]](_0x5779x13)}
\ No newline at end of file