Built motion from commit 05106a3.|0.0.33
[motion.git] / server / api / mail_account / mail_account.controller.js
index 32461ae..392863c 100644 (file)
@@ -1,291 +1 @@
-'use strict';
-
-var _ = require('lodash');
-var util = require('util');
-var async = require('async');
-
-// IMAP MODULES
-// var Imap = require("mail-listener2");
-// SMTP MODULES
-// var nodemailer = require('nodemailer');
-// var smtpTransport = require('nodemailer-smtp-transport');
-
-var sequelize = require('../../models').sequelize;
-var MailAccount = require('../../models').MailAccount;
-var MailApplication = require('../../models').MailApplication;
-var MailServerIn = require('../../models').MailServerIn;
-var MailServerOut = require('../../models').MailServerOut;
-
-// Get list of mailAccounts
-exports.index = function(req, res) {
-
-  var attributes = ['description', 'name', 'address'];
-  var per_page = req.query.per_page ? parseInt(req.query.per_page, 10) : 100;
-  var page = req.query.page ? parseInt(req.query.page, 10) : 0;
-
-  var query = {
-    where: {},
-    limit: per_page,
-    offset: page * per_page,
-    include: [{
-      all: true
-    }]
-  };
-
-  _.forIn(req.query, function(value, key) {
-    switch (key) {
-      case 'per_page':
-      case 'page':
-        break;
-      case 'sort_by':
-        query.order = util.format('%s %s', req.query.sort_by, req.query.sort_order || 'ASC') || null;
-        break;
-      case 'sort_order':
-        break;
-      case '$':
-        query.where.$or = [];
-        attributes.forEach(function(attribute) {
-          var tmp = {};
-          tmp[attribute] = {
-            $like: '%' + value + '%'
-          };
-
-          query.where.$or.push(tmp);
-        });
-        break;
-      default:
-        query.where[key] = {
-          $like: {}
-        };
-        query.where[key].$like = '%' + value + '%';
-    }
-  });
-
-  MailAccount
-    .findAndCountAll(query)
-    .then(function(result) {
-      var total_pages = Math.ceil(result.count / per_page);
-      var next_page = total_pages > (query.offset + 1) ? util.format('%s://%s%s?page=%d', req.protocol, req.headers.host, req.baseUrl, page + 1) : null;
-      var previous_page = page > 0 ? util.format('%s://%s%s?page=%d', req.protocol, req.headers.host, req.baseUrl, page - 1) : null;
-
-      res.status(200).send({
-        count: result.count,
-        rows: result.rows,
-        next_page: next_page,
-        previous_page: previous_page,
-        total_pages: total_pages
-      });
-
-    })
-    .catch(function(err) {
-      return handleError(res, err);
-    });
-};
-
-// Get a single mailAccount
-exports.show = function(req, res, next) {
-  MailAccount
-    .findById(req.params.id, {
-      include: [{
-        all: true
-      }]
-    })
-    .then(function(mailAccount) {
-      if (!mailAccount) {
-        return res.sendStatus(404);
-      }
-      return res.send(mailAccount);
-    })
-    .catch(function(err) {
-      return next(err);
-    });
-};
-
-// Creates a new mailAccount in the DB.
-exports.create = function(req, res, next) {
-
-  return sequelize.transaction(function(t) {
-
-    // chain all your queries here. make sure you return them.
-    return MailAccount
-      .create({
-        name: req.body.name,
-        address: req.body.address,
-        description: req.body.description
-      }, {
-        transaction: t
-      }).then(function(mailAccount) {
-        // MAIL ACCOUNT ID SETUP
-        req.body.incoming.MailAccountId = mailAccount.id;
-        return MailServerIn
-          .create(req.body.incoming, {
-            transaction: t
-          })
-          .then(function(mailServerIn) {
-            // MAIL ACCOUNT ID SETUP
-            req.body.outgoing.MailAccountId = mailAccount.id;
-            return MailServerOut
-              .create(req.body.outgoing, {
-                transaction: t
-              })
-          });
-      });
-  }).then(function(result) {
-    return res.status(201).send(result);
-  }).catch(function(err) {
-    return next(err);
-  });
-};
-
-// Updates an existing mailAccount in the DB.
-exports.update = function(req, res) {
-  if (req.body.id) {
-    delete req.body.id;
-  }
-  MailAccount
-    .findById(req.params.id)
-    .then(function(mailAccount) {
-      if (!mailAccount) {
-        return res.sendStatus(404);
-      }
-      var updated = _.merge(mailAccount, req.body);
-      updated
-        .save()
-        .then(function() {
-          return res.status(200).send(mailAccount);
-        })
-        .catch(function(err) {
-          return handleError(res, err);
-        });
-    })
-    .catch(function(err) {
-      return handleError(res, err);
-    });
-};
-
-// Sort Mail Applications
-exports.sortApplications = function(req, res, next) {
-
-  MailApplication
-    .findAll({
-      where: {
-        id: req.body.applications
-      }
-    })
-    .then(function(mailApplications) {
-      var tmpMailApplications = mailApplications;
-
-      async.waterfall([
-        function(callback) {
-          MailApplication
-            .destroy({
-              where: {
-                id: req.body.applications
-              }
-            }).then(function() {
-              console.log('destroy');
-              callback();
-            })
-            .catch(function(err) {
-              callback(err);
-            });
-        },
-        function(callback) {
-          // arg1 now equals 'one' and arg2 now equals 'two'
-          var sortedApplications = [];
-          for (var i = 0; i < req.body.applications.length; i++) {
-            var tmpMailApplication = _.find(tmpMailApplications, {
-              'id': req.body.applications[i]
-            });
-            if (tmpMailApplication) {
-              tmpMailApplication.priority = i + 1;
-              sortedApplications.push(tmpMailApplication.dataValues);
-            }
-          }
-
-          MailApplication
-            .bulkCreate(sortedApplications)
-            .then(function() {
-              console.log('bulkCreate');
-              callback();
-            })
-            .catch(function(err) {
-              callback(err);
-            });
-        },
-        function(callback) {
-          // arg1 now equals 'three'
-          MailApplication
-            .findAll({
-              where: {
-                id: req.body.applications
-              },
-              order: 'priority',
-              include: [{
-                all: true
-              }]
-            })
-            .then(function(mailApplications) {
-              console.log(mailApplications);
-              callback(null, mailApplications);
-            })
-            .catch(function(err) {
-              callback(err);
-            });
-        }
-      ], function(err, result) {
-        // result now equals 'done'
-        if (err) {
-          return handleError(res, err);
-        } else {
-          return res.status(201).send(result);
-        }
-      });
-
-    })
-    .catch(function(err) {
-      return handleError(res, err);
-    });
-};
-
-// Deletes a mailAccount from the DB.
-exports.destroy = function(req, res, next) {
-  MailAccount
-    .findById(req.params.id)
-    .then(function(mailAccount) {
-      if (!mailAccount) {
-        return res.sendStatus(404);
-      }
-      mailAccount.destroy()
-        .then(function() {
-          return res.sendStatus(204);
-        })
-        .catch(function(err) {
-          return next(err);
-        });
-    })
-    .catch(function(err) {
-      return next(err);
-    });
-};
-
-// Deletes a agent from the DB.
-exports.bulkDestroy = function(req, res) {
-  MailAccount
-    .destroy({
-      where: {
-        id: req.query.id
-      },
-      individualHooks: true
-    })
-    .then(function() {
-      return res.sendStatus(204);
-    })
-    .catch(function(err) {
-      return handleError(res, err);
-    });
-};
-
-function handleError(res, err) {
-  return res.status(500).send(err);
-}
+var _0x26df=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x75\x74\x69\x6C","\x61\x73\x79\x6E\x63","\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\x41\x63\x63\x6F\x75\x6E\x74","\x4D\x61\x69\x6C\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E","\x4D\x61\x69\x6C\x53\x65\x72\x76\x65\x72\x49\x6E","\x4D\x61\x69\x6C\x53\x65\x72\x76\x65\x72\x4F\x75\x74","\x69\x6E\x64\x65\x78","\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x6E\x61\x6D\x65","\x61\x64\x64\x72\x65\x73\x73","\x70\x65\x72\x5F\x70\x61\x67\x65","\x71\x75\x65\x72\x79","\x70\x61\x67\x65","\x6F\x72\x64\x65\x72","\x25\x73\x20\x25\x73","\x73\x6F\x72\x74\x5F\x62\x79","\x73\x6F\x72\x74\x5F\x6F\x72\x64\x65\x72","\x41\x53\x43","\x66\x6F\x72\x6D\x61\x74","\x24\x6F\x72","\x77\x68\x65\x72\x65","\x25","\x70\x75\x73\x68","\x66\x6F\x72\x45\x61\x63\x68","\x24","\x24\x6C\x69\x6B\x65","\x66\x6F\x72\x49\x6E","\x63\x61\x74\x63\x68","\x63\x6F\x75\x6E\x74","\x63\x65\x69\x6C","\x6F\x66\x66\x73\x65\x74","\x25\x73\x3A\x2F\x2F\x25\x73\x25\x73\x3F\x70\x61\x67\x65\x3D\x25\x64","\x70\x72\x6F\x74\x6F\x63\x6F\x6C","\x68\x6F\x73\x74","\x68\x65\x61\x64\x65\x72\x73","\x62\x61\x73\x65\x55\x72\x6C","\x72\x6F\x77\x73","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x74\x68\x65\x6E","\x66\x69\x6E\x64\x41\x6E\x64\x43\x6F\x75\x6E\x74\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","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x4D\x61\x69\x6C\x41\x63\x63\x6F\x75\x6E\x74\x49\x64","\x69\x6E\x63\x6F\x6D\x69\x6E\x67","\x62\x6F\x64\x79","\x6F\x75\x74\x67\x6F\x69\x6E\x67","\x74\x72\x61\x6E\x73\x61\x63\x74\x69\x6F\x6E","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x73\x6F\x72\x74\x41\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x64\x65\x73\x74\x72\x6F\x79","\x6C\x6F\x67","\x61\x70\x70\x6C\x69\x63\x61\x74\x69\x6F\x6E\x73","\x6C\x65\x6E\x67\x74\x68","\x66\x69\x6E\x64","\x70\x72\x69\x6F\x72\x69\x74\x79","\x64\x61\x74\x61\x56\x61\x6C\x75\x65\x73","\x62\x75\x6C\x6B\x43\x72\x65\x61\x74\x65","\x66\x69\x6E\x64\x41\x6C\x6C","\x77\x61\x74\x65\x72\x66\x61\x6C\x6C","\x62\x75\x6C\x6B\x44\x65\x73\x74\x72\x6F\x79"];_0x26df[0];var _=require(_0x26df[1]);var util=require(_0x26df[2]);var async=require(_0x26df[3]);var sequelize=require(_0x26df[5])[_0x26df[4]];var MailAccount=require(_0x26df[5])[_0x26df[6]];var MailApplication=require(_0x26df[5])[_0x26df[7]];var MailServerIn=require(_0x26df[5])[_0x26df[8]];var MailServerOut=require(_0x26df[5])[_0x26df[9]];exports[_0x26df[10]]=function(_0xadb9x9,_0xadb9xa){var _0xadb9xb=[_0x26df[11],_0x26df[12],_0x26df[13]];var _0xadb9xc=_0xadb9x9[_0x26df[15]][_0x26df[14]]?parseInt(_0xadb9x9[_0x26df[15]][_0x26df[14]],10):100;var _0xadb9xd=_0xadb9x9[_0x26df[15]][_0x26df[16]]?parseInt(_0xadb9x9[_0x26df[15]][_0x26df[16]],10):0;var _0xadb9xe={where:{},limit:_0xadb9xc,offset:_0xadb9xd*_0xadb9xc,include:[{all:true}]};_[_0x26df[30]](_0xadb9x9[_0x26df[15]],function(_0xadb9xf,_0xadb9x10){switch(_0xadb9x10){case _0x26df[14]:;case _0x26df[16]:break ;;case _0x26df[19]:_0xadb9xe[_0x26df[17]]=util[_0x26df[22]](_0x26df[18],_0xadb9x9[_0x26df[15]][_0x26df[19]],_0xadb9x9[_0x26df[15]][_0x26df[20]]||_0x26df[21])||null;break ;;case _0x26df[20]:break ;;case _0x26df[28]:_0xadb9xe[_0x26df[24]][_0x26df[23]]=[];_0xadb9xb[_0x26df[27]](function(_0xadb9x11){var _0xadb9x12={};_0xadb9x12[_0xadb9x11]={$like:_0x26df[25]+_0xadb9xf+_0x26df[25]};_0xadb9xe[_0x26df[24]][_0x26df[23]][_0x26df[26]](_0xadb9x12);});break ;;default:_0xadb9xe[_0x26df[24]][_0xadb9x10]={$like:{}};_0xadb9xe[_0x26df[24]][_0xadb9x10][_0x26df[29]]=_0x26df[25]+_0xadb9xf+_0x26df[25];;}});MailAccount[_0x26df[44]](_0xadb9xe)[_0x26df[43]](function(_0xadb9x14){var _0xadb9x15=Math[_0x26df[33]](_0xadb9x14[_0x26df[32]]/_0xadb9xc);var _0xadb9x16=_0xadb9x15>(_0xadb9xe[_0x26df[34]]+1)?util[_0x26df[22]](_0x26df[35],_0xadb9x9[_0x26df[36]],_0xadb9x9[_0x26df[38]][_0x26df[37]],_0xadb9x9[_0x26df[39]],_0xadb9xd+1):null;var _0xadb9x17=_0xadb9xd>0?util[_0x26df[22]](_0x26df[35],_0xadb9x9[_0x26df[36]],_0xadb9x9[_0x26df[38]][_0x26df[37]],_0xadb9x9[_0x26df[39]],_0xadb9xd-1):null;_0xadb9xa[_0x26df[42]](200)[_0x26df[41]]({count:_0xadb9x14[_0x26df[32]],rows:_0xadb9x14[_0x26df[40]],next_page:_0xadb9x16,previous_page:_0xadb9x17,total_pages:_0xadb9x15});})[_0x26df[31]](function(_0xadb9x13){return handleError(_0xadb9xa,_0xadb9x13)});};exports[_0x26df[45]]=function(_0xadb9x9,_0xadb9xa,_0xadb9x18){MailAccount[_0x26df[49]](_0xadb9x9[_0x26df[48]][_0x26df[47]],{include:[{all:true}]})[_0x26df[43]](function(_0xadb9x19){if(!_0xadb9x19){return _0xadb9xa[_0x26df[46]](404)};return _0xadb9xa[_0x26df[41]](_0xadb9x19);})[_0x26df[31]](function(_0xadb9x13){return _0xadb9x18(_0xadb9x13)})};exports[_0x26df[50]]=function(_0xadb9x9,_0xadb9xa,_0xadb9x18){return sequelize[_0x26df[55]](function(_0xadb9x1a){return MailAccount[_0x26df[50]]({name:_0xadb9x9[_0x26df[53]][_0x26df[12]],address:_0xadb9x9[_0x26df[53]][_0x26df[13]],description:_0xadb9x9[_0x26df[53]][_0x26df[11]]},{transaction:_0xadb9x1a})[_0x26df[43]](function(_0xadb9x19){_0xadb9x9[_0x26df[53]][_0x26df[52]][_0x26df[51]]=_0xadb9x19[_0x26df[47]];return MailServerIn[_0x26df[50]](_0xadb9x9[_0x26df[53]][_0x26df[52]],{transaction:_0xadb9x1a})[_0x26df[43]](function(_0xadb9x1b){_0xadb9x9[_0x26df[53]][_0x26df[54]][_0x26df[51]]=_0xadb9x19[_0x26df[47]];return MailServerOut[_0x26df[50]](_0xadb9x9[_0x26df[53]][_0x26df[54]],{transaction:_0xadb9x1a});});})})[_0x26df[43]](function(_0xadb9x14){return _0xadb9xa[_0x26df[42]](201)[_0x26df[41]](_0xadb9x14)})[_0x26df[31]](function(_0xadb9x13){return _0xadb9x18(_0xadb9x13)})};exports[_0x26df[56]]=function(_0xadb9x9,_0xadb9xa){if(_0xadb9x9[_0x26df[53]][_0x26df[47]]){delete _0xadb9x9[_0x26df[53]][_0x26df[47]]};MailAccount[_0x26df[49]](_0xadb9x9[_0x26df[48]][_0x26df[47]])[_0x26df[43]](function(_0xadb9x19){if(!_0xadb9x19){return _0xadb9xa[_0x26df[46]](404)};var _0xadb9x1c=_[_0x26df[57]](_0xadb9x19,_0xadb9x9[_0x26df[53]]);_0xadb9x1c[_0x26df[58]]()[_0x26df[43]](function(){return _0xadb9xa[_0x26df[42]](200)[_0x26df[41]](_0xadb9x19)})[_0x26df[31]](function(_0xadb9x13){return handleError(_0xadb9xa,_0xadb9x13)});})[_0x26df[31]](function(_0xadb9x13){return handleError(_0xadb9xa,_0xadb9x13)});};exports[_0x26df[59]]=function(_0xadb9x9,_0xadb9xa,_0xadb9x18){MailApplication[_0x26df[68]]({where:{id:_0xadb9x9[_0x26df[53]][_0x26df[62]]}})[_0x26df[43]](function(_0xadb9x1d){var _0xadb9x1e=_0xadb9x1d;async[_0x26df[69]]([function(_0xadb9x1f){MailApplication[_0x26df[60]]({where:{id:_0xadb9x9[_0x26df[53]][_0x26df[62]]}})[_0x26df[43]](function(){console[_0x26df[61]](_0x26df[60]);_0xadb9x1f();})[_0x26df[31]](function(_0xadb9x13){_0xadb9x1f(_0xadb9x13)})},function(_0xadb9x1f){var _0xadb9x20=[];for(var _0xadb9x21=0;_0xadb9x21<_0xadb9x9[_0x26df[53]][_0x26df[62]][_0x26df[63]];_0xadb9x21++){var _0xadb9x22=_[_0x26df[64]](_0xadb9x1e,{"\x69\x64":_0xadb9x9[_0x26df[53]][_0x26df[62]][_0xadb9x21]});if(_0xadb9x22){_0xadb9x22[_0x26df[65]]=_0xadb9x21+1;_0xadb9x20[_0x26df[26]](_0xadb9x22[_0x26df[66]]);};};MailApplication[_0x26df[67]](_0xadb9x20)[_0x26df[43]](function(){console[_0x26df[61]](_0x26df[67]);_0xadb9x1f();})[_0x26df[31]](function(_0xadb9x13){_0xadb9x1f(_0xadb9x13)});},function(_0xadb9x1f){MailApplication[_0x26df[68]]({where:{id:_0xadb9x9[_0x26df[53]][_0x26df[62]]},order:_0x26df[65],include:[{all:true}]})[_0x26df[43]](function(_0xadb9x1d){console[_0x26df[61]](_0xadb9x1d);_0xadb9x1f(null,_0xadb9x1d);})[_0x26df[31]](function(_0xadb9x13){_0xadb9x1f(_0xadb9x13)})}],function(_0xadb9x13,_0xadb9x14){if(_0xadb9x13){return handleError(_0xadb9xa,_0xadb9x13)}else {return _0xadb9xa[_0x26df[42]](201)[_0x26df[41]](_0xadb9x14)}});})[_0x26df[31]](function(_0xadb9x13){return handleError(_0xadb9xa,_0xadb9x13)})};exports[_0x26df[60]]=function(_0xadb9x9,_0xadb9xa,_0xadb9x18){MailAccount[_0x26df[49]](_0xadb9x9[_0x26df[48]][_0x26df[47]])[_0x26df[43]](function(_0xadb9x19){if(!_0xadb9x19){return _0xadb9xa[_0x26df[46]](404)};_0xadb9x19[_0x26df[60]]()[_0x26df[43]](function(){return _0xadb9xa[_0x26df[46]](204)})[_0x26df[31]](function(_0xadb9x13){return _0xadb9x18(_0xadb9x13)});})[_0x26df[31]](function(_0xadb9x13){return _0xadb9x18(_0xadb9x13)})};exports[_0x26df[70]]=function(_0xadb9x9,_0xadb9xa){MailAccount[_0x26df[60]]({where:{id:_0xadb9x9[_0x26df[15]][_0x26df[47]]},individualHooks:true})[_0x26df[43]](function(){return _0xadb9xa[_0x26df[46]](204)})[_0x26df[31]](function(_0xadb9x13){return handleError(_0xadb9xa,_0xadb9x13)})};function handleError(_0xadb9xa,_0xadb9x13){return _0xadb9xa[_0x26df[42]](500)[_0x26df[41]](_0xadb9x13)}
\ No newline at end of file