Built motion from commit b322525.|0.0.112
[motion.git] / server / api / integration / integration.controller.js
index fac2b89..08a39e0 100644 (file)
@@ -1,179 +1 @@
-'use strict';
-
-var _ = require('lodash');
-var uploadFile = require('upload-file');
-var config = require('../../config/environment');
-var path = require('path');
-var sr = require('simple-random');
-var admZip = require('adm-zip');
-var str2json = require('string-to-json');
-var fs = require('fs');
-
-var Integration = require('../../models').Integration;
-
-// Get list of integrations
-exports.index = function(req, res) {
-  Integration
-    .findAll({
-      where: req.query
-    })
-    .then(function(integrations) {
-      return res.status(200).send(integrations);
-    })
-    .catch(function(err) {
-      return handleError(res, err);
-    });
-};
-
-// Get a single integration
-exports.show = function(req, res) {
-  Integration
-    .findById(req.params.id)
-    .then(function(integration) {
-      if (!integration) {
-        return res.sendStatus(404);
-      }
-      return res.send(integration);
-    })
-    .catch(function(err) {
-      return handleError(res, err);
-    });
-};
-
-// Creates a new integration in the DB.
-exports.create = function(req, res) {
-  var upload = new uploadFile({
-    dest: path.join(config.root, 'server/files/integrations'),
-    maxFileSize: 5 * 1000000,
-    maxNumberOfFiles: 1,
-    minNumberOfFiles: 1,
-    acceptFileTypes: /(\.|\/)(zip)$/i,
-    messages: {
-      maxNumberOfFiles: "Max number of files upload exceeded",
-      acceptFileTypes: "Only zip format accepted",
-      maxFileSize: "The maximum file size is 5 Mb",
-      invalidRequest: "Invalid request"
-    }
-  });
-
-  upload.on('end', function(fields, files) {
-    var zip = new admZip(files.file.path);
-
-    var manifest = false;
-    var zipEntries = zip.getEntries();
-    zipEntries.forEach(function(zipEntry) {
-      if (zipEntry.name === 'manifest.json') {
-        var str = zipEntry.getData().toString('utf8');
-        console.log('uploadZip', str);
-        try {
-          manifest = JSON.parse(str);
-          console.log('uploadZip', manifest);
-          Integration
-            .create(_.merge(files.file, manifest))
-            .then(function(integration) {
-
-              // Extract All Zip and overwrite old directory
-              zip.extractAllTo(path.join(config.root,
-                'server/files/integrations'), true);
-
-              return res.status(201).send(integration);
-            })
-            .catch(function(err) {
-              return handleError(res, err);
-            });
-        } catch (e) {
-          console.log(e);
-          var err = {
-            errors: [{
-              type: 'json',
-              message: e
-            }]
-          };
-          return handleError(res, err);
-        }
-      }
-    });
-
-    fs.unlinkSync(files.file.path);
-
-    if (!manifest) {
-      var err = {
-        errors: [{
-          type: 'manifest',
-          message: 'manifest.json not found'
-        }]
-      };
-      return handleError(res, err);
-    }
-  });
-
-  upload.on('error', function(e) {
-    var err = {
-      errors: [{
-        type: 'upload',
-        message: e
-      }]
-    };
-    return handleError(res, err);
-  });
-
-  upload.parse(req);
-};
-
-// Updates an existing integration in the DB.
-exports.update = function(req, res) {
-  if (req.body.id) {
-    delete req.body.id;
-  }
-  Integration
-    .find({
-      where: {
-        id: req.params.id
-      }
-    })
-    .then(function(integration) {
-      if (!integration) {
-        return res.sendStatus(404);
-      }
-      var updated = _.merge(integration, req.body);
-      updated.save()
-        .then(function() {
-          return res.status(200).send(integration);
-        })
-        .catch(function(err) {
-          return handleError(res, err);
-        });
-    })
-    .catch(function(err) {
-      return handleError(res, err);
-    });
-};
-
-// Deletes a integration from the DB.
-exports.destroy = function(req, res) {
-  Integration
-    .find({
-      where: {
-        id: req.params.id
-      }
-    })
-    .then(function(integration) {
-      if (!integration) {
-        return res.sendStatus(404);
-      }
-      integration.destroy()
-        .then(function() {
-          return res.sendStatus(204);
-        })
-        .catch(function(err) {
-          return handleError(res, err);
-        });
-    })
-    .catch(function(err) {
-      return handleError(res, err);
-    });
-};
-
-function handleError(res, err) {
-  return res.status(500).send(err);
-}
+var _0xc8d3=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x75\x70\x6C\x6F\x61\x64\x2D\x66\x69\x6C\x65","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x65\x6E\x76\x69\x72\x6F\x6E\x6D\x65\x6E\x74","\x70\x61\x74\x68","\x73\x69\x6D\x70\x6C\x65\x2D\x72\x61\x6E\x64\x6F\x6D","\x61\x64\x6D\x2D\x7A\x69\x70","\x73\x74\x72\x69\x6E\x67\x2D\x74\x6F\x2D\x6A\x73\x6F\x6E","\x66\x73","\x2E\x2E\x2F\x2E\x2E\x2F\x63\x6F\x6E\x66\x69\x67\x2F\x75\x74\x69\x6C","\x49\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E","\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","\x71\x75\x65\x72\x79","\x67\x65\x74\x51\x75\x65\x72\x79","\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","\x72\x6F\x6F\x74","\x73\x65\x72\x76\x65\x72\x2F\x66\x69\x6C\x65\x73\x2F\x69\x6E\x74\x65\x67\x72\x61\x74\x69\x6F\x6E\x73","\x6A\x6F\x69\x6E","\x4D\x61\x78\x20\x6E\x75\x6D\x62\x65\x72\x20\x6F\x66\x20\x66\x69\x6C\x65\x73\x20\x75\x70\x6C\x6F\x61\x64\x20\x65\x78\x63\x65\x65\x64\x65\x64","\x4F\x6E\x6C\x79\x20\x7A\x69\x70\x20\x66\x6F\x72\x6D\x61\x74\x20\x61\x63\x63\x65\x70\x74\x65\x64","\x54\x68\x65\x20\x6D\x61\x78\x69\x6D\x75\x6D\x20\x66\x69\x6C\x65\x20\x73\x69\x7A\x65\x20\x69\x73\x20\x35\x20\x4D\x62","\x49\x6E\x76\x61\x6C\x69\x64\x20\x72\x65\x71\x75\x65\x73\x74","\x65\x6E\x64","\x66\x69\x6C\x65","\x67\x65\x74\x45\x6E\x74\x72\x69\x65\x73","\x6E\x61\x6D\x65","\x6D\x61\x6E\x69\x66\x65\x73\x74\x2E\x6A\x73\x6F\x6E","\x75\x74\x66\x38","\x67\x65\x74\x44\x61\x74\x61","\x75\x70\x6C\x6F\x61\x64\x5A\x69\x70","\x6C\x6F\x67","\x70\x61\x72\x73\x65","\x65\x78\x74\x72\x61\x63\x74\x41\x6C\x6C\x54\x6F","\x6D\x65\x72\x67\x65","\x6A\x73\x6F\x6E","\x66\x6F\x72\x45\x61\x63\x68","\x75\x6E\x6C\x69\x6E\x6B\x53\x79\x6E\x63","\x6D\x61\x6E\x69\x66\x65\x73\x74","\x6D\x61\x6E\x69\x66\x65\x73\x74\x2E\x6A\x73\x6F\x6E\x20\x6E\x6F\x74\x20\x66\x6F\x75\x6E\x64","\x6F\x6E","\x65\x72\x72\x6F\x72","\x75\x70\x6C\x6F\x61\x64","\x75\x70\x64\x61\x74\x65","\x62\x6F\x64\x79","\x73\x61\x76\x65","\x64\x65\x73\x74\x72\x6F\x79","\x66\x69\x6E\x64"];_0xc8d3[0];var _=require(_0xc8d3[1]);var uploadFile=require(_0xc8d3[2]);var config=require(_0xc8d3[3]);var path=require(_0xc8d3[4]);var sr=require(_0xc8d3[5]);var admZip=require(_0xc8d3[6]);var str2json=require(_0xc8d3[7]);var fs=require(_0xc8d3[8]);var Util=require(_0xc8d3[9]);var Integration=require(_0xc8d3[11])[_0xc8d3[10]];exports[_0xc8d3[12]]=function(_0x4a59xb,_0x4a59xc,_0x4a59xd){return Integration[_0xc8d3[19]](Util[_0xc8d3[18]](_0x4a59xb[_0xc8d3[17]]))[_0xc8d3[16]](function(_0x4a59xf){_0x4a59xc[_0xc8d3[15]](200)[_0xc8d3[14]](_0x4a59xf)})[_0xc8d3[13]](function(_0x4a59xe){return handleError(_0x4a59xc,_0x4a59xe)})};exports[_0xc8d3[20]]=function(_0x4a59xb,_0x4a59xc){return Integration[_0xc8d3[24]](_0x4a59xb[_0xc8d3[23]][_0xc8d3[22]])[_0xc8d3[16]](function(_0x4a59x10){if(!_0x4a59x10){return _0x4a59xc[_0xc8d3[21]](404)};return _0x4a59xc[_0xc8d3[14]](_0x4a59x10)})[_0xc8d3[13]](function(_0x4a59xe){return handleError(_0x4a59xc,_0x4a59xe)})};exports[_0xc8d3[25]]=function(_0x4a59xb,_0x4a59xc){var _0x4a59x11= new uploadFile({dest:path[_0xc8d3[28]](config[_0xc8d3[26]],_0xc8d3[27]),maxFileSize:5*1000000,maxNumberOfFiles:1,minNumberOfFiles:1,acceptFileTypes:/(\.|\/)(zip)$/i,messages:{maxNumberOfFiles:_0xc8d3[29],acceptFileTypes:_0xc8d3[30],maxFileSize:_0xc8d3[31],invalidRequest:_0xc8d3[32]}});_0x4a59x11[_0xc8d3[50]](_0xc8d3[33],function(_0x4a59x12,_0x4a59x13){var _0x4a59x14= new admZip(_0x4a59x13[_0xc8d3[34]][_0xc8d3[4]]);var _0x4a59x15=false;var _0x4a59x16=_0x4a59x14[_0xc8d3[35]]();_0x4a59x16[_0xc8d3[46]](function(_0x4a59x17){if(_0x4a59x17[_0xc8d3[36]]===_0xc8d3[37]){var _0x4a59x18=_0x4a59x17[_0xc8d3[39]]().toString(_0xc8d3[38]);console[_0xc8d3[41]](_0xc8d3[40],_0x4a59x18);try{_0x4a59x15=JSON[_0xc8d3[42]](_0x4a59x18);console[_0xc8d3[41]](_0xc8d3[40],_0x4a59x15);Integration[_0xc8d3[25]](_[_0xc8d3[44]](_0x4a59x13[_0xc8d3[34]],_0x4a59x15))[_0xc8d3[16]](function(_0x4a59x10){_0x4a59x14[_0xc8d3[43]](path[_0xc8d3[28]](config[_0xc8d3[26]],_0xc8d3[27]),true);return _0x4a59xc[_0xc8d3[15]](201)[_0xc8d3[14]](_0x4a59x10)})[_0xc8d3[13]](function(_0x4a59xe){return handleError(_0x4a59xc,_0x4a59xe)})}catch(e){console[_0xc8d3[41]](e);var _0x4a59xe={errors:[{type:_0xc8d3[45],message:e}]};return handleError(_0x4a59xc,_0x4a59xe)}}});fs[_0xc8d3[47]](_0x4a59x13[_0xc8d3[34]][_0xc8d3[4]]);if(!_0x4a59x15){var _0x4a59xe={errors:[{type:_0xc8d3[48],message:_0xc8d3[49]}]};return handleError(_0x4a59xc,_0x4a59xe)}});_0x4a59x11[_0xc8d3[50]](_0xc8d3[51],function(_0x4a59x19){var _0x4a59xe={errors:[{type:_0xc8d3[52],message:_0x4a59x19}]};return handleError(_0x4a59xc,_0x4a59xe)});_0x4a59x11[_0xc8d3[42]](_0x4a59xb)};exports[_0xc8d3[53]]=function(_0x4a59xb,_0x4a59xc){if(_0x4a59xb[_0xc8d3[54]][_0xc8d3[22]]){delete _0x4a59xb[_0xc8d3[54]][_0xc8d3[22]]};return Integration[_0xc8d3[24]](_0x4a59xb[_0xc8d3[23]][_0xc8d3[22]])[_0xc8d3[16]](function(_0x4a59x10){if(!_0x4a59x10){return _0x4a59xc[_0xc8d3[21]](404)};var _0x4a59x1a=_[_0xc8d3[44]](_0x4a59x10,_0x4a59xb[_0xc8d3[54]]);return _0x4a59x1a[_0xc8d3[55]]()})[_0xc8d3[16]](function(_0x4a59x10){return _0x4a59xc[_0xc8d3[15]](200)[_0xc8d3[14]](_0x4a59x10)})[_0xc8d3[13]](function(_0x4a59xe){return handleError(_0x4a59xc,_0x4a59xe)})};exports[_0xc8d3[56]]=function(_0x4a59xb,_0x4a59xc){return Integration[_0xc8d3[57]]({where:{id:_0x4a59xb[_0xc8d3[23]][_0xc8d3[22]]}})[_0xc8d3[16]](function(_0x4a59x10){if(!_0x4a59x10){return _0x4a59xc[_0xc8d3[21]](404)};return _0x4a59x10[_0xc8d3[56]]()})[_0xc8d3[16]](function(){return _0x4a59xc[_0xc8d3[21]](204)})[_0xc8d3[13]](function(_0x4a59xe){return handleError(_0x4a59xc,_0x4a59xe)})};function handleError(_0x4a59xc,_0x4a59xe){return _0x4a59xc[_0xc8d3[15]](500)[_0xc8d3[14]](_0x4a59xe)}
\ No newline at end of file