Built motion from commit c671bd6.|0.0.103
[motion.git] / server / api / mail_message / mail_message.controller.js
index 60a8101..f934775 100644 (file)
@@ -1,270 +1 @@
-'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;
-
-var smtp = require('../../config/smtp')();
-
-// Get list of mail_messages
-exports.index = function(req, res, next) {
-  var params;
-
-  switch (req.user.role) {
-    case 'admin':
-      params = {
-        where: req.query,
-        order: 'createdAt DESC',
-        include: [{
-          model: Contact,
-          as: 'From'
-        }, {
-          model: Contact,
-          as: 'To'
-        }, {
-          model: Contact,
-          as: 'Cc'
-        }, {
-          model: MailRoom,
-          where: {
-            UserId: req.user.id
-          },
-          include: [{
-            model: MailAccount
-          }]
-        }]
-      }
-
-      break;
-    case 'agent':
-
-      params = {
-        order: 'createdAt DESC',
-        include: [{
-          model: MailRoom,
-          include: [{
-            model: MailAccount
-          }]
-        }]
-      }
-      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 mail_message
-exports.show = function(req, res, next) {
-  MailMessage
-    .findById(req.params.id, {
-      include: [{
-        model: Contact,
-        as: 'From'
-      }, {
-        model: Contact,
-        as: 'To'
-      }, {
-        model: Contact,
-        as: 'Cc'
-      }, {
-        model: MailRoom,
-        include: [{
-          model: MailAccount
-        }]
-      }]
-    })
-    .then(function(mail_message) {
-      if (!mail_message) {
-        return res.sendStatus(404);
-      }
-      return res.send(mail_message);
-    })
-    .catch(function(err) {
-      return handleError(res, err, next);
-    });
-};
-
-// Creates a new mail_message in the DB.
-exports.create = function(req, res, next) {
-  console.log(req.body);
-  // 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 next(err);
-      }
-
-      var file = wrap.file;
-
-      return sequelize
-        .transaction()
-        .then(function(t) {
-          async.waterfall([
-            function(wcallback) {
-              return MailAttachment
-                .create({
-                  filePath: file.path,
-                  fileName: file.name,
-                  length: file.size,
-                  contentType: file.type
-                }, {
-                  transaction: t
-                })
-                .then(function(mailAttachment) {
-                  wcallback(null, mailAttachment);
-                })
-                .catch(function(err) {
-                  wcallback(err);
-                });
-            },
-            function(mailAttachment, wcallback) {
-              smtp.send(form, mailAttachment, t, function(err, res) {
-                wcallback(err, res);
-              });
-            },
-          ], function(err, mailMessage) {
-            if (err) {
-              console.log(err);
-              t.rollback();
-              return res.status(404).send(err);
-            } else {
-              console.log(mailMessage);
-              t.commit();
-              return res.status(201).send(mailMessage);
-            }
-          });
-        });
-    });
-  } else {
-    // NO ATTACHMENT
-    return sequelize
-      .transaction()
-      .then(function(t) {
-        async.waterfall([
-          function(wcallback) {
-            smtp.send(req.body, null, t, function(err, res) {
-              wcallback(err, res);
-            });
-          }
-        ], function(err, mailMessage) {
-          if (err) {
-            console.log('err', err);
-            t.rollback();
-            return res.status(404).send(err);
-          } else {
-            console.log('commmit', mailMessage);
-            t.commit();
-            return res.status(201).send(mailMessage);
-          }
-        });
-      });
-  }
-};
-
-// Updates an existing mail_message in the DB.
-exports.update = function(req, res, next) {
-
-  MailMessage
-    .findById(req.params.id, {
-      include: [{
-        all: true
-      }]
-    })
-    .then(function(mail_message) {
-      if (!mail_message) {
-        return res.sendStatus(404);
-      }
-      var updated = _.merge(mail_message, 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 mail_message from the DB.
-exports.destroy = function(req, res, next) {
-  MailMessage
-    .findById(req.params.id)
-    .then(function(mail_message) {
-      if (!mail_message) {
-        return res.sendStatus(404);
-      }
-      mail_message.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 mail_message from the DB.
-exports.bulkDelete = function(req, res, next) {
-  MailMessage
-    .bulkUpdate({
-      where: {
-        id: {
-          $in: req.body.id
-        }
-      },
-      attributes: {
-        directory: 'TRASH'
-      }
-    })
-    .then(function(mail_message) {
-      if (!mail_message) {
-        return res.sendStatus(404);
-      }
-      mail_message.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 next(err);
-}
+var _0x25ee=["\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"];_0x25ee[0];var _=require(_0x25ee[1]);var async=require(_0x25ee[2]);var htmlToText=require(_0x25ee[3]);var formidable=require(_0x25ee[4]);var path=require(_0x25ee[5]);var config=require(_0x25ee[6]);var sequelize=require(_0x25ee[8])[_0x25ee[7]];var MailMessage=require(_0x25ee[8])[_0x25ee[9]];var MailAttachment=require(_0x25ee[8])[_0x25ee[10]];var MailRoom=require(_0x25ee[8])[_0x25ee[11]];var MailAccount=require(_0x25ee[8])[_0x25ee[12]];var ContactEmail=require(_0x25ee[8])[_0x25ee[13]];var Contact=require(_0x25ee[8])[_0x25ee[14]];var User=require(_0x25ee[8])[_0x25ee[15]];exports[_0x25ee[16]]=function(_0xcc97xf,_0xcc97x10,_0xcc97x11){var _0xcc97x12={order:_0x25ee[17],include:[{all:true,include:[{all:true}]}]};switch(_0xcc97xf[_0x25ee[23]][_0x25ee[22]]){case _0x25ee[20]:_0xcc97x12[_0x25ee[18]]=_0xcc97xf[_0x25ee[19]];break;case _0x25ee[21]:break;default:};return MailMessage[_0x25ee[28]](_0xcc97x12)[_0x25ee[27]](function(_0xcc97x14){return _0xcc97x10[_0x25ee[26]](200)[_0x25ee[25]](_0xcc97x14)})[_0x25ee[24]](function(_0xcc97x13){return handleError(_0xcc97x10,_0xcc97x13,_0xcc97x11)})};exports[_0x25ee[29]]=function(_0xcc97xf,_0xcc97x10,_0xcc97x11){return MailMessage[_0x25ee[36]](_0xcc97xf[_0x25ee[32]][_0x25ee[31]],{include:[{model:MailAttachment},{model:User,attributes:[_0x25ee[31],_0x25ee[33],_0x25ee[34],_0x25ee[35]]}]})[_0x25ee[27]](function(_0xcc97x15){if(!_0xcc97x15){return _0xcc97x10[_0x25ee[30]](404)};return _0xcc97x10[_0x25ee[25]](_0xcc97x15)})[_0x25ee[24]](function(_0xcc97x13){return handleError(_0xcc97x10,_0xcc97x13,_0xcc97x11)})};exports[_0x25ee[37]]=function(_0xcc97xf,_0xcc97x10,_0xcc97x11){_0xcc97xf[_0x25ee[39]][_0x25ee[38]]=_0xcc97xf[_0x25ee[23]][_0x25ee[31]];_0xcc97xf[_0x25ee[39]][_0x25ee[40]]=_0xcc97xf[_0x25ee[39]][_0x25ee[40]]||htmlToText[_0x25ee[42]](_0xcc97xf[_0x25ee[39]][_0x25ee[41]],{wordwrap:false});return MailMessage[_0x25ee[37]](_0xcc97xf[_0x25ee[39]],{include:[{model:MailAttachment}]})[_0x25ee[27]](function(_0xcc97x15){return _0xcc97x10[_0x25ee[26]](201)[_0x25ee[25]](_0xcc97x15)})[_0x25ee[24]](function(_0xcc97x13){return handleError(_0xcc97x10,_0xcc97x13)})};exports[_0x25ee[43]]=function(_0xcc97xf,_0xcc97x10,_0xcc97x11){return MailMessage[_0x25ee[36]](_0xcc97xf[_0x25ee[32]][_0x25ee[31]],{include:[{all:true}]})[_0x25ee[27]](function(_0xcc97x15){if(!_0xcc97x15){return _0xcc97x10[_0x25ee[30]](404)};var _0xcc97x16=_[_0x25ee[44]](_0xcc97x15,_0xcc97xf[_0x25ee[39]]);return _0xcc97x16[_0x25ee[45]]()})[_0x25ee[27]](function(_0xcc97x16){return _0xcc97x10[_0x25ee[26]](200)[_0x25ee[25]](_0xcc97x16)})[_0x25ee[24]](function(_0xcc97x13){return handleError(_0xcc97x10,_0xcc97x13,_0xcc97x11)})};exports[_0x25ee[46]]=function(_0xcc97xf,_0xcc97x10,_0xcc97x11){return MailMessage[_0x25ee[36]](_0xcc97xf[_0x25ee[32]][_0x25ee[31]])[_0x25ee[27]](function(_0xcc97x15){if(!_0xcc97x15){return _0xcc97x10[_0x25ee[30]](404)};return _0xcc97x15[_0x25ee[46]]()})[_0x25ee[27]](function(){return _0xcc97x10[_0x25ee[30]](204)})[_0x25ee[24]](function(_0xcc97x13){return handleError(_0xcc97x10,_0xcc97x13,_0xcc97x11)})};exports[_0x25ee[47]]=function(_0xcc97xf,_0xcc97x10,_0xcc97x11){return MailMessage[_0x25ee[49]]({where:{id:{$in:_0xcc97xf[_0x25ee[39]][_0x25ee[31]]}},attributes:{directory:_0x25ee[48]}})[_0x25ee[27]](function(_0xcc97x15){if(!_0xcc97x15){return _0xcc97x10[_0x25ee[30]](404)};return _0xcc97x15[_0x25ee[46]]()})[_0x25ee[27]](function(){return _0xcc97x10[_0x25ee[30]](204)})[_0x25ee[24]](function(_0xcc97x13){return handleError(_0xcc97x10,_0xcc97x13,_0xcc97x11)})};function handleError(_0xcc97x10,_0xcc97x13,_0xcc97x11){return _0xcc97x10[_0x25ee[26]](500)[_0x25ee[25]](_0xcc97x13)}
\ No newline at end of file