Built motion from commit 5e31ea4.|0.0.32
[motion.git] / server / api / mail_attachment / mail_attachment.controller.js
index eddba27..34b659f 100644 (file)
@@ -1 +1,100 @@
-var _0xe126=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x70\x61\x74\x68","\x66\x73","\x66\x6F\x72\x6D\x69\x64\x61\x62\x6C\x65","\x62\x6C\x75\x65\x62\x69\x72\x64","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74","\x4D\x61\x69\x6C\x41\x74\x74\x61\x63\x68\x6D\x65\x6E\x74","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\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","\x73\x68\x6F\x77","\x66\x69\x6C\x65\x4E\x61\x6D\x65","\x64\x6F\x77\x6E\x6C\x6F\x61\x64","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x66\x69\x6E\x64\x42\x79\x49\x64","\x63\x72\x65\x61\x74\x65","\x75\x70\x6C\x6F\x61\x64\x44\x69\x72","\x72\x6F\x6F\x74","\x73\x65\x72\x76\x65\x72","\x66\x69\x6C\x65\x73","\x61\x74\x74\x61\x63\x68\x6D\x65\x6E\x74\x73","\x6A\x6F\x69\x6E","\x6B\x65\x65\x70\x45\x78\x74\x65\x6E\x73\x69\x6F\x6E\x73","\x6D\x75\x6C\x74\x69\x70\x6C\x65\x73","\x68\x61\x73\x68","\x73\x69\x7A\x65","\x66\x69\x6C\x65","\x6E\x61\x6D\x65","\x74\x79\x70\x65","\x62\x61\x73\x65\x6E\x61\x6D\x65","\x70\x61\x72\x73\x65","\x75\x70\x64\x61\x74\x65","\x62\x6F\x64\x79","\x73\x65\x6E\x64\x53\x74\x61\x74\x75\x73","\x6D\x65\x72\x67\x65","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79","\x75\x6E\x6C\x69\x6E\x6B","\x70\x72\x6F\x6D\x69\x73\x69\x66\x79"];_0xe126[0];var _=require(_0xe126[1]);var path=require(_0xe126[2]);var fs=require(_0xe126[3]);var formidable=require(_0xe126[4]);var Promise=require(_0xe126[5]);var config=require(_0xe126[6]);var MailAttachment=require(_0xe126[8])[_0xe126[7]];exports[_0xe126[9]]=function(_0xf0c9x8,_0xf0c9x9,_0xf0c9xa){MailAttachment[_0xe126[14]]()[_0xe126[13]](function(_0xf0c9xc){return _0xf0c9x9[_0xe126[12]](200)[_0xe126[11]](_0xf0c9xc)})[_0xe126[10]](function(_0xf0c9xb){return _0xf0c9xa(_0xf0c9xb)})};exports[_0xe126[15]]=function(_0xf0c9x8,_0xf0c9x9,_0xf0c9xa){MailAttachment[_0xe126[20]](_0xf0c9x8[_0xe126[19]][_0xe126[18]])[_0xe126[13]](function(_0xf0c9xd){_0xf0c9x9[_0xe126[17]](_0xf0c9xd[_0xe126[2]],_0xf0c9xd[_0xe126[16]])})[_0xe126[10]](function(_0xf0c9xb){return _0xf0c9xa(_0xf0c9xb)})};exports[_0xe126[21]]=function(_0xf0c9x8,_0xf0c9x9,_0xf0c9xa){var _0xf0c9xe= new formidable.IncomingForm();_0xf0c9xe[_0xe126[22]]=path[_0xe126[27]](config[_0xe126[23]],_0xe126[24],_0xe126[25],_0xe126[26]);_0xf0c9xe[_0xe126[28]]=true;_0xf0c9xe[_0xe126[29]]=true;_0xf0c9xe[_0xe126[30]]=true;_0xf0c9xe[_0xe126[36]](_0xf0c9x8,function(_0xf0c9xb,_0xf0c9xe,_0xf0c9xf){if(_0xf0c9xb){return _0xf0c9x9[_0xe126[12]](500)[_0xe126[11]](_0xf0c9xb)};return _0xf0c9x9[_0xe126[12]](201)[_0xe126[11]]({size:_0xf0c9xf[_0xe126[32]][_0xe126[31]],path:_0xf0c9xf[_0xe126[32]][_0xe126[2]],name:_0xf0c9xf[_0xe126[32]][_0xe126[33]],type:_0xf0c9xf[_0xe126[32]][_0xe126[34]],basename:path[_0xe126[35]](_0xf0c9xf[_0xe126[32]][_0xe126[2]])});});};exports[_0xe126[37]]=function(_0xf0c9x8,_0xf0c9x9,_0xf0c9xa){if(_0xf0c9x8[_0xe126[38]][_0xe126[18]]){delete _0xf0c9x8[_0xe126[38]][_0xe126[18]]};MailAttachment[_0xe126[20]](_0xf0c9x8[_0xe126[19]][_0xe126[18]])[_0xe126[13]](function(_0xf0c9xd){if(!_0xf0c9xd){return _0xf0c9x9[_0xe126[39]](404)};var _0xf0c9x10=_[_0xe126[40]](_0xf0c9xd,_0xf0c9x8[_0xe126[38]]);_0xf0c9x10[_0xe126[41]]()[_0xe126[13]](function(){return _0xf0c9x9[_0xe126[12]](200)[_0xe126[11]](_0xf0c9xd)})[_0xe126[10]](function(_0xf0c9xb){return _0xf0c9xa(_0xf0c9xb)});})[_0xe126[10]](function(_0xf0c9xb){return _0xf0c9xa(_0xf0c9xb)});};exports[_0xe126[42]]=function(_0xf0c9x8,_0xf0c9x9,_0xf0c9xa){var _0xf0c9x11=Promise[_0xe126[44]](require(_0xe126[3])[_0xe126[43]]);var _0xf0c9x12=path[_0xe126[27]](config[_0xe126[23]],_0xe126[24],_0xe126[25],_0xe126[26],_0xf0c9x8[_0xe126[19]][_0xe126[18]]);return _0xf0c9x11(_0xf0c9x12)[_0xe126[13]](function(){return _0xf0c9x9[_0xe126[39]](204)})[_0xe126[10]](function(_0xf0c9xb){return handleError(_0xf0c9x9,_0xf0c9xb)});};function handleError(_0xf0c9x9,_0xf0c9xb){return _0xf0c9x9[_0xe126[12]](500)[_0xe126[11]](_0xf0c9xb)}
\ No newline at end of file
+'use strict';
+
+var _ = require('lodash');
+var path = require('path');
+var fs = require('fs');
+var formidable = require('formidable');
+var Promise = require('bluebird');
+
+var config = require('../../config/environment');
+var MailAttachment = require('../../models').MailAttachment;
+
+// Get list of mailAttachments
+exports.index = function (req, res, next) {
+  MailAttachment
+    .findAll()
+    .then(function (mailAttachments) {
+      return res.status(200).send(mailAttachments);
+    })
+    .catch(function (err) {
+      return next(err);
+    });
+};
+
+// Get a single mailAttachment
+exports.show = function (req, res, next) {
+  MailAttachment
+    .findById(req.params.id)
+    .then(function (mailAttachment) {
+      res.download(mailAttachment.path, mailAttachment.fileName);
+    })
+    .catch(function (err) {
+      return next(err);
+    });
+};
+
+// Creates a new mailAttachment in the DB.
+exports.create = function (req, res, next) {
+
+  var form = new formidable.IncomingForm();
+  form.uploadDir = path.join(config.root, 'server', 'files', 'attachments');
+  form.keepExtensions = true;
+  form.multiples = true;
+  form.hash = true;
+
+  form.parse(req, function (err, form, wrap) {
+    if (err) {
+      return res.status(500).send(err);
+    }
+    return res.status(201).send({
+      size: wrap.file.size,
+      path: wrap.file.path,
+      name: wrap.file.name,
+      type: wrap.file.type,
+      basename: path.basename(wrap.file.path)
+    });
+  });
+};
+
+// Updates an existing mailAttachment in the DB.
+exports.update = function (req, res, next) {
+  if (req.body.id) {
+    delete req.body.id;
+  }
+  MailAttachment
+    .findById(req.params.id)
+    .then(function (mailAttachment) {
+      if (!mailAttachment) {
+        return res.sendStatus(404);
+      }
+      var updated = _.merge(mailAttachment, req.body);
+      updated.save()
+        .then(function () {
+          return res.status(200).send(mailAttachment);
+        })
+        .catch(function (err) {
+          return next(err);
+        });
+    })
+    .catch(function (err) {
+      return next(err);
+    });
+};
+
+// Deletes a mailAttachment from the DB.
+exports.destroy = function (req, res, next) {
+  var unlink = Promise.promisify(require("fs").unlink);
+  var _path = path.join(config.root, 'server', 'files', 'attachments', req.params.id);
+
+  return unlink(_path)
+    .then(function () {
+      return res.sendStatus(204);
+    })
+    .catch(function (err) {
+      return handleError(res, err);
+    });
+};
+
+function handleError(res, err) {
+  return res.status(500).send(err);
+}