-'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 _0xf2ba=["\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","\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","\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","\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","\x66\x69\x6E\x64","\x64\x65\x73\x74\x72\x6F\x79"];_0xf2ba[0];var _=require(_0xf2ba[1]);var uploadFile=require(_0xf2ba[2]);var config=require(_0xf2ba[3]);var path=require(_0xf2ba[4]);var sr=require(_0xf2ba[5]);var admZip=require(_0xf2ba[6]);var str2json=require(_0xf2ba[7]);var fs=require(_0xf2ba[8]);var Integration=require(_0xf2ba[10])[_0xf2ba[9]];exports[_0xf2ba[11]]=function(_0xc4c7xa,_0xc4c7xb){Integration[_0xf2ba[17]]({where:_0xc4c7xa[_0xf2ba[16]]})[_0xf2ba[15]](function(_0xc4c7xd){return _0xc4c7xb[_0xf2ba[14]](200)[_0xf2ba[13]](_0xc4c7xd)})[_0xf2ba[12]](function(_0xc4c7xc){return handleError(_0xc4c7xb,_0xc4c7xc)})};exports[_0xf2ba[18]]=function(_0xc4c7xa,_0xc4c7xb){Integration[_0xf2ba[22]](_0xc4c7xa[_0xf2ba[21]][_0xf2ba[20]])[_0xf2ba[15]](function(_0xc4c7xe){if(!_0xc4c7xe){return _0xc4c7xb[_0xf2ba[19]](404)};return _0xc4c7xb[_0xf2ba[13]](_0xc4c7xe);})[_0xf2ba[12]](function(_0xc4c7xc){return handleError(_0xc4c7xb,_0xc4c7xc)})};exports[_0xf2ba[23]]=function(_0xc4c7xa,_0xc4c7xb){var _0xc4c7xf= new uploadFile({dest:path[_0xf2ba[26]](config[_0xf2ba[24]],_0xf2ba[25]),maxFileSize:5*1000000,maxNumberOfFiles:1,minNumberOfFiles:1,acceptFileTypes:/(\.|\/)(zip)$/i,messages:{maxNumberOfFiles:_0xf2ba[27],acceptFileTypes:_0xf2ba[28],maxFileSize:_0xf2ba[29],invalidRequest:_0xf2ba[30]}});_0xc4c7xf[_0xf2ba[48]](_0xf2ba[31],function(_0xc4c7x10,_0xc4c7x11){var _0xc4c7x12= new admZip(_0xc4c7x11[_0xf2ba[32]][_0xf2ba[4]]);var _0xc4c7x13=false;var _0xc4c7x14=_0xc4c7x12[_0xf2ba[33]]();_0xc4c7x14[_0xf2ba[44]](function(_0xc4c7x15){if(_0xc4c7x15[_0xf2ba[34]]===_0xf2ba[35]){var _0xc4c7x16=_0xc4c7x15[_0xf2ba[37]]().toString(_0xf2ba[36]);console[_0xf2ba[39]](_0xf2ba[38],_0xc4c7x16);try{_0xc4c7x13=JSON[_0xf2ba[40]](_0xc4c7x16);console[_0xf2ba[39]](_0xf2ba[38],_0xc4c7x13);Integration[_0xf2ba[23]](_[_0xf2ba[42]](_0xc4c7x11[_0xf2ba[32]],_0xc4c7x13))[_0xf2ba[15]](function(_0xc4c7xe){_0xc4c7x12[_0xf2ba[41]](path[_0xf2ba[26]](config[_0xf2ba[24]],_0xf2ba[25]),true);return _0xc4c7xb[_0xf2ba[14]](201)[_0xf2ba[13]](_0xc4c7xe);})[_0xf2ba[12]](function(_0xc4c7xc){return handleError(_0xc4c7xb,_0xc4c7xc)});}catch(e){console[_0xf2ba[39]](e);var _0xc4c7xc={errors:[{type:_0xf2ba[43],message:e}]};return handleError(_0xc4c7xb,_0xc4c7xc);};}});fs[_0xf2ba[45]](_0xc4c7x11[_0xf2ba[32]][_0xf2ba[4]]);if(!_0xc4c7x13){var _0xc4c7xc={errors:[{type:_0xf2ba[46],message:_0xf2ba[47]}]};return handleError(_0xc4c7xb,_0xc4c7xc);};});_0xc4c7xf[_0xf2ba[48]](_0xf2ba[49],function(_0xc4c7x17){var _0xc4c7xc={errors:[{type:_0xf2ba[50],message:_0xc4c7x17}]};return handleError(_0xc4c7xb,_0xc4c7xc);});_0xc4c7xf[_0xf2ba[40]](_0xc4c7xa);};exports[_0xf2ba[51]]=function(_0xc4c7xa,_0xc4c7xb){if(_0xc4c7xa[_0xf2ba[52]][_0xf2ba[20]]){delete _0xc4c7xa[_0xf2ba[52]][_0xf2ba[20]]};Integration[_0xf2ba[54]]({where:{id:_0xc4c7xa[_0xf2ba[21]][_0xf2ba[20]]}})[_0xf2ba[15]](function(_0xc4c7xe){if(!_0xc4c7xe){return _0xc4c7xb[_0xf2ba[19]](404)};var _0xc4c7x18=_[_0xf2ba[42]](_0xc4c7xe,_0xc4c7xa[_0xf2ba[52]]);_0xc4c7x18[_0xf2ba[53]]()[_0xf2ba[15]](function(){return _0xc4c7xb[_0xf2ba[14]](200)[_0xf2ba[13]](_0xc4c7xe)})[_0xf2ba[12]](function(_0xc4c7xc){return handleError(_0xc4c7xb,_0xc4c7xc)});})[_0xf2ba[12]](function(_0xc4c7xc){return handleError(_0xc4c7xb,_0xc4c7xc)});};exports[_0xf2ba[55]]=function(_0xc4c7xa,_0xc4c7xb){Integration[_0xf2ba[54]]({where:{id:_0xc4c7xa[_0xf2ba[21]][_0xf2ba[20]]}})[_0xf2ba[15]](function(_0xc4c7xe){if(!_0xc4c7xe){return _0xc4c7xb[_0xf2ba[19]](404)};_0xc4c7xe[_0xf2ba[55]]()[_0xf2ba[15]](function(){return _0xc4c7xb[_0xf2ba[19]](204)})[_0xf2ba[12]](function(_0xc4c7xc){return handleError(_0xc4c7xb,_0xc4c7xc)});})[_0xf2ba[12]](function(_0xc4c7xc){return handleError(_0xc4c7xb,_0xc4c7xc)})};function handleError(_0xc4c7xb,_0xc4c7xc){return _0xc4c7xb[_0xf2ba[14]](500)[_0xf2ba[13]](_0xc4c7xc)}
\ No newline at end of file