Built motion from commit 5e31ea4.|0.0.32
[motion.git] / server / api / mail_server_out / mail_server_out.controller.js
index f31eb26..8cf2b5e 100644 (file)
@@ -1 +1,166 @@
-var _0xac48=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x4D\x61\x69\x6C\x53\x65\x72\x76\x65\x72\x4F\x75\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x4D\x61\x69\x6C\x4D\x65\x73\x73\x61\x67\x65","\x73\x65\x71\x75\x65\x6C\x69\x7A\x65","\x69\x6E\x64\x65\x78","\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","\x69\x6E\x64\x65\x78\x53\x65\x72\x76\x69\x63\x65","\x66\x69\x6E\x64\x4F\x6E\x65","\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","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79","\x74\x65\x73\x74","\x65\x72\x72\x6F\x72","\x72\x6F\x6C\x6C\x62\x61\x63\x6B","\x45\x52\x52\x4F\x52","\x63\x6F\x6D\x6D\x69\x74","\x43\x4F\x4E\x4E\x45\x43\x54\x45\x44","\x4D\x61\x69\x6C\x41\x63\x63\x6F\x75\x6E\x74\x20","\x75\x73\x65\x72\x6E\x61\x6D\x65","\x20\x74\x65\x73\x74\x2E\x2E","\x53\x45\x4E\x44\x49\x4E\x47","\x74\x72\x61\x6E\x73\x61\x63\x74\x69\x6F\x6E"];_0xac48[0];var _=require(_0xac48[1]);var MailServerOut=require(_0xac48[3])[_0xac48[2]];var MailMessage=require(_0xac48[3])[_0xac48[4]];var sequelize=require(_0xac48[3])[_0xac48[5]];exports[_0xac48[6]]=function(_0x38f4x5,_0x38f4x6){MailServerOut[_0xac48[11]]()[_0xac48[10]](function(_0x38f4x8){return _0x38f4x6[_0xac48[9]](200)[_0xac48[8]](_0x38f4x8)})[_0xac48[7]](function(_0x38f4x7){return handleError(_0x38f4x6,_0x38f4x7)})};exports[_0xac48[12]]=function(_0x38f4x5,_0x38f4x6){MailServerOut[_0xac48[13]]({where:{service:true}})[_0xac48[10]](function(_0x38f4x9){return _0x38f4x6[_0xac48[9]](200)[_0xac48[8]](_0x38f4x9)})[_0xac48[7]](function(_0x38f4x7){return handleError(_0x38f4x6,_0x38f4x7)})};exports[_0xac48[14]]=function(_0x38f4x5,_0x38f4x6){MailServerOut[_0xac48[18]](_0x38f4x5[_0xac48[17]][_0xac48[16]])[_0xac48[10]](function(_0x38f4x9){if(!_0x38f4x9){return _0x38f4x6[_0xac48[15]](404)};return _0x38f4x6[_0xac48[8]](_0x38f4x9);})[_0xac48[7]](function(_0x38f4x7){return handleError(_0x38f4x6,_0x38f4x7)})};exports[_0xac48[19]]=function(_0x38f4x5,_0x38f4x6){MailServerOut[_0xac48[19]](_0x38f4x5[_0xac48[20]])[_0xac48[10]](function(_0x38f4x9){return _0x38f4x6[_0xac48[9]](201)[_0xac48[8]](_0x38f4x9)})[_0xac48[7]](function(_0x38f4x7){return handleError(_0x38f4x6,_0x38f4x7)})};exports[_0xac48[21]]=function(_0x38f4x5,_0x38f4x6){if(_0x38f4x5[_0xac48[20]][_0xac48[16]]){delete _0x38f4x5[_0xac48[20]][_0xac48[16]]};MailServerOut[_0xac48[18]](_0x38f4x5[_0xac48[17]][_0xac48[16]])[_0xac48[10]](function(_0x38f4x9){if(!_0x38f4x9){return _0x38f4x6[_0xac48[15]](404)};var _0x38f4xa=_[_0xac48[22]](_0x38f4x9,_0x38f4x5[_0xac48[20]]);_0x38f4xa[_0xac48[23]]()[_0xac48[10]](function(){return _0x38f4x6[_0xac48[9]](200)[_0xac48[8]](_0x38f4x9)})[_0xac48[7]](function(_0x38f4x7){return handleError(_0x38f4x6,_0x38f4x7)});})[_0xac48[7]](function(_0x38f4x7){return handleError(_0x38f4x6,_0x38f4x7)});};exports[_0xac48[24]]=function(_0x38f4x5,_0x38f4x6){MailServerOut[_0xac48[18]](_0x38f4x5[_0xac48[17]][_0xac48[16]])[_0xac48[10]](function(_0x38f4x9){if(!_0x38f4x9){return _0x38f4x6[_0xac48[15]](404)};_0x38f4x9[_0xac48[24]]()[_0xac48[10]](function(){return _0x38f4x6[_0xac48[15]](204)})[_0xac48[7]](function(_0x38f4x7){return handleError(_0x38f4x6,_0x38f4x7)});})[_0xac48[7]](function(_0x38f4x7){return handleError(_0x38f4x6,_0x38f4x7)})};exports[_0xac48[25]]=function(_0x38f4x5,_0x38f4x6){return sequelize[_0xac48[35]]()[_0xac48[10]](function(_0x38f4xb){var _0x38f4xc;var _0x38f4xd;return MailServerOut[_0xac48[18]](_0x38f4x5[_0xac48[17]][_0xac48[16]])[_0xac48[10]](function(_0x38f4x9){if(!_0x38f4x9){_0x38f4xb[_0xac48[27]]();return _0x38f4x6[_0xac48[15]](404);}else {return _0x38f4x9}})[_0xac48[10]](function(_0x38f4x9){_0x38f4xc=_0x38f4x9;return MailMessage[_0xac48[19]]({subject:_0xac48[31]+_0x38f4x9[_0xac48[32]]+_0xac48[33],text:_0xac48[31]+_0x38f4x9[_0xac48[32]]+_0xac48[33],from:_0x38f4x9[_0xac48[32]],to:_0x38f4x9[_0xac48[32]],status:_0xac48[34]},{transaction:_0x38f4xb});})[_0xac48[10]](function(_0x38f4xe){_0x38f4xd=_0x38f4xe;return _0x38f4xc[_0xac48[21]]({state:_0xac48[30]});})[_0xac48[10]](function(){_0x38f4xb[_0xac48[29]]();return _0x38f4x6[_0xac48[9]](201)[_0xac48[8]](_0x38f4xd);})[_0xac48[7]](function(_0x38f4x7){console[_0xac48[26]](_0x38f4x7);_0x38f4xc[_0xac48[21]]({state:_0xac48[28]})[_0xac48[10]](function(){_0x38f4xb[_0xac48[27]]();return handleError(_0x38f4x6,_0x38f4x7);});});})};function handleError(_0x38f4x6,_0x38f4x7){return _0x38f4x6[_0xac48[9]](500)[_0xac48[8]](_0x38f4x7)}
\ No newline at end of file
+'use strict';
+
+var _ = require('lodash');
+var MailServerOut = require('../../models').MailServerOut;
+var MailMessage = require('../../models').MailMessage;
+var sequelize = require('../../models').sequelize;
+
+// Get list of mailServerOuts
+exports.index = function (req, res) {
+  MailServerOut
+    .findAll()
+    .then(function (mailServerOuts) {
+      return res.status(200).send(mailServerOuts);
+    })
+    .catch(function (err) {
+      return handleError(res, err);
+    });
+};
+
+exports.indexService = function (req, res) {
+  MailServerOut
+    .findOne({
+      where: {
+        service: true
+      }
+    })
+    .then(function (mailServerOut) {
+      return res.status(200).send(mailServerOut);
+    })
+    .catch(function (err) {
+      return handleError(res, err);
+    });
+};
+
+// Get a single mailServerOut
+exports.show = function (req, res) {
+  MailServerOut
+    .findById(req.params.id)
+    .then(function (mailServerOut) {
+      if (!mailServerOut) {
+        return res.sendStatus(404);
+      }
+      return res.send(mailServerOut);
+    })
+    .catch(function (err) {
+      return handleError(res, err);
+    });
+};
+
+// Creates a new mailServerOut in the DB.
+exports.create = function (req, res) {
+  MailServerOut
+    .create(req.body)
+    .then(function (mailServerOut) {
+      return res.status(201).send(mailServerOut);
+    })
+    .catch(function (err) {
+      return handleError(res, err);
+    });
+};
+
+// Updates an existing mailServerOut in the DB.
+exports.update = function (req, res) {
+
+  if (req.body.id) {
+    delete req.body.id;
+  }
+  MailServerOut
+    .findById(req.params.id)
+    .then(function (mailServerOut) {
+      if (!mailServerOut) {
+        return res.sendStatus(404);
+      }
+      var updated = _.merge(mailServerOut, req.body);
+      updated
+        .save()
+        .then(function () {
+          return res.status(200).send(mailServerOut);
+        })
+        .catch(function (err) {
+          return handleError(res, err);
+        });
+    })
+    .catch(function (err) {
+      return handleError(res, err);
+    });
+};
+
+// Deletes a mailServerOut from the DB.
+exports.destroy = function (req, res) {
+  MailServerOut
+    .findById(req.params.id)
+    .then(function (mailServerOut) {
+      if (!mailServerOut) {
+        return res.sendStatus(404);
+      }
+      mailServerOut
+        .destroy()
+        .then(function () {
+          return res.sendStatus(204);
+        })
+        .catch(function (err) {
+          return handleError(res, err);
+        });
+    })
+    .catch(function (err) {
+      return handleError(res, err);
+    });
+};
+
+exports.test = function (req, res) {
+  return sequelize.transaction().then(function (t) {
+    var _mailServerOut;
+    var _mailMessage;
+
+    return MailServerOut
+      .findById(req.params.id)
+      .then(function (mailServerOut) {
+        if (!mailServerOut) {
+          t.rollback();
+          return res.sendStatus(404);
+        } else {
+          return mailServerOut;
+        }
+      })
+      .then(function (mailServerOut) {
+        _mailServerOut = mailServerOut;
+        return MailMessage
+          .create({
+            subject: 'MailAccount ' + mailServerOut.username + ' test..',
+            text: 'MailAccount ' + mailServerOut.username + ' test..',
+            from: mailServerOut.username,
+            to: mailServerOut.username,
+            status: 'SENDING'
+          }, {
+            transaction: t
+          });
+      })
+      .then(function (mailMessage) {
+        _mailMessage = mailMessage;
+        return _mailServerOut
+          .update({
+            state: 'CONNECTED',
+          });
+      })
+      .then(function () {
+        t.commit();
+        return res.status(201).send(_mailMessage);
+      })
+      .catch(function (err) {
+        console.error(err);
+        _mailServerOut
+          .update({
+            state: 'ERROR',
+          })
+          .then(function () {
+            t.rollback();
+            return handleError(res, err);
+          })
+      });
+  });
+};
+
+function handleError(res, err) {
+  return res.status(500).send(err);
+}