Built motion from commit 5e31ea4.|0.0.32
[motion.git] / server / api / sugarcrm_configuration / sugarcrm_configuration.controller.js
index 33efb46..5918283 100644 (file)
@@ -1 +1,145 @@
-var _0x4e46=["\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74","\x6C\x6F\x64\x61\x73\x68","\x53\x75\x67\x61\x72\x63\x72\x6D\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E","\x2E\x2E\x2F\x2E\x2E\x2F\x6D\x6F\x64\x65\x6C\x73","\x53\x75\x67\x61\x72\x63\x72\x6D\x46\x69\x65\x6C\x64","\x73\x65\x6E\x64","\x73\x74\x61\x74\x75\x73","\x6A\x73\x6F\x6E","\x65\x6E\x64","\x74\x68\x65\x6E","\x75\x70\x64\x61\x74\x65\x41\x74\x74\x72\x69\x62\x75\x74\x65\x73","\x64\x65\x73\x74\x72\x6F\x79","\x69\x6E\x64\x65\x78","\x63\x61\x74\x63\x68","\x71\x75\x65\x72\x79","\x66\x69\x6E\x64\x41\x6C\x6C","\x73\x68\x6F\x77","\x69\x64","\x70\x61\x72\x61\x6D\x73","\x53\x75\x62\x6A\x65\x63\x74","\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x46\x69\x65\x6C\x64","\x66\x69\x6E\x64","\x63\x72\x65\x61\x74\x65","\x62\x6F\x64\x79","\x75\x70\x64\x61\x74\x65","\x66\x69\x6E\x64\x42\x79\x49\x64","\x61\x64\x64\x43\x6F\x6E\x66\x69\x67\x75\x72\x61\x74\x69\x6F\x6E\x46\x69\x65\x6C\x64","\x73\x70\x72\x65\x61\x64","\x61\x64\x64\x53\x75\x62\x6A\x65\x63\x74","\x73\x75\x62\x6A\x65\x63\x74","\x61\x64\x64\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E","\x61\x64\x64\x46\x69\x65\x6C\x64","\x66\x69\x65\x6C\x64","\x74\x79\x70\x65"];_0x4e46[0];var _=require(_0x4e46[1]);var SugarcrmConfiguration=require(_0x4e46[3])[_0x4e46[2]];var SugarcrmField=require(_0x4e46[3])[_0x4e46[4]];function handleError(_0x5534x5,_0x5534x6){_0x5534x6=_0x5534x6||500;return function(_0x5534x7){_0x5534x5[_0x4e46[6]](_0x5534x6)[_0x4e46[5]](_0x5534x7)};}function responseWithResult(_0x5534x5,_0x5534x6){_0x5534x6=_0x5534x6||200;return function(_0x5534x9){if(_0x5534x9){_0x5534x5[_0x4e46[6]](_0x5534x6)[_0x4e46[7]](_0x5534x9)}};}function handleEntityNotFound(_0x5534x5){return function(_0x5534x9){if(!_0x5534x9){_0x5534x5[_0x4e46[6]](404)[_0x4e46[8]]();return null;};return _0x5534x9;}}function saveUpdates(_0x5534xc){return function(_0x5534x9){return _0x5534x9[_0x4e46[10]](_0x5534xc)[_0x4e46[9]](function(_0x5534xd){return _0x5534xd})}}function removeEntity(_0x5534x5){return function(_0x5534x9){if(_0x5534x9){return _0x5534x9[_0x4e46[11]]()[_0x4e46[9]](function(){_0x5534x5[_0x4e46[6]](204)[_0x4e46[8]]()})}}}exports[_0x4e46[12]]=function(_0x5534xf,_0x5534x5){SugarcrmConfiguration[_0x4e46[15]]({where:_0x5534xf[_0x4e46[14]]})[_0x4e46[9]](responseWithResult(_0x5534x5))[_0x4e46[13]](handleError(_0x5534x5))};exports[_0x4e46[16]]=function(_0x5534xf,_0x5534x5){SugarcrmConfiguration[_0x4e46[22]]({where:{id:_0x5534xf[_0x4e46[18]][_0x4e46[17]]},include:[{model:SugarcrmField,as:_0x4e46[19]},{model:SugarcrmField,as:_0x4e46[20]},{model:SugarcrmField,as:_0x4e46[21]}]})[_0x4e46[9]](handleEntityNotFound(_0x5534x5))[_0x4e46[9]](responseWithResult(_0x5534x5))[_0x4e46[13]](handleError(_0x5534x5))};exports[_0x4e46[23]]=function(_0x5534xf,_0x5534x5){SugarcrmConfiguration[_0x4e46[23]](_0x5534xf[_0x4e46[24]])[_0x4e46[9]](responseWithResult(_0x5534x5,201))[_0x4e46[13]](handleError(_0x5534x5))};exports[_0x4e46[25]]=function(_0x5534xf,_0x5534x5){if(_0x5534xf[_0x4e46[24]][_0x4e46[17]]){delete _0x5534xf[_0x4e46[24]][_0x4e46[17]]};SugarcrmConfiguration[_0x4e46[26]](_0x5534xf[_0x4e46[18]][_0x4e46[17]])[_0x4e46[9]](handleEntityNotFound(_0x5534x5))[_0x4e46[9]](saveUpdates(_0x5534xf[_0x4e46[24]]))[_0x4e46[9]](responseWithResult(_0x5534x5))[_0x4e46[13]](handleError(_0x5534x5));};exports[_0x4e46[11]]=function(_0x5534xf,_0x5534x5){SugarcrmConfiguration[_0x4e46[26]](_0x5534xf[_0x4e46[18]][_0x4e46[17]])[_0x4e46[9]](handleEntityNotFound(_0x5534x5))[_0x4e46[9]](removeEntity(_0x5534x5))[_0x4e46[13]](handleError(_0x5534x5))};exports[_0x4e46[27]]=function(_0x5534xf,_0x5534x5,_0x5534x10){var _0x5534x11;SugarcrmConfiguration[_0x4e46[26]](_0x5534xf[_0x4e46[18]][_0x4e46[17]])[_0x4e46[9]](handleEntityNotFound(_0x5534x5))[_0x4e46[9]](function(_0x5534x14){_0x5534x11=_0x5534x14;return SugarcrmField[_0x4e46[23]](_0x5534xf[_0x4e46[24]]);})[_0x4e46[9]](function(_0x5534x13){switch(_0x5534xf[_0x4e46[18]][_0x4e46[35]]){case _0x4e46[30]:return [_0x5534x11[_0x4e46[29]](_0x5534x13),_0x5534x13];;case _0x4e46[32]:return [_0x5534x11[_0x4e46[31]](_0x5534x13),_0x5534x13];;case _0x4e46[34]:return [_0x5534x11[_0x4e46[33]](_0x5534x13),_0x5534x13];;}})[_0x4e46[28]](function(_0x5534x12,_0x5534x13){return _0x5534x5[_0x4e46[6]](201)[_0x4e46[7]](_0x5534x13)})[_0x4e46[13]](handleError(_0x5534x5));};
\ No newline at end of file
+/**
+ * Using Rails-like standard naming convention for endpoints.
+ * GET     /api/sugarcrm/configurations              ->  index
+ * POST    /api/sugarcrm/configurations              ->  create
+ * GET     /api/sugarcrm/configurations/:id          ->  show
+ * PUT     /api/sugarcrm/configurations/:id          ->  update
+ * DELETE  /api/sugarcrm/configurations/:id          ->  destroy
+ */
+
+'use strict';
+
+
+var _ = require('lodash');
+
+var SugarcrmConfiguration = require('../../models').SugarcrmConfiguration;
+var SugarcrmField = require('../../models').SugarcrmField;
+
+function handleError(res, statusCode) {
+  statusCode = statusCode || 500;
+  return function(err) {
+    res.status(statusCode).send(err);
+  };
+}
+
+function responseWithResult(res, statusCode) {
+  statusCode = statusCode || 200;
+  return function(entity) {
+    if (entity) {
+      res.status(statusCode).json(entity);
+    }
+  };
+}
+
+function handleEntityNotFound(res) {
+  return function(entity) {
+    if (!entity) {
+      res.status(404).end();
+      return null;
+    }
+    return entity;
+  };
+}
+
+function saveUpdates(updates) {
+  return function(entity) {
+    return entity.updateAttributes(updates)
+      .then(function(updated) {
+        return updated;
+      });
+  };
+}
+
+function removeEntity(res) {
+  return function(entity) {
+    if (entity) {
+      return entity.destroy()
+        .then(function() {
+          res.status(204).end();
+        });
+    }
+  };
+}
+
+// Gets a list of SugarcrmConfigurations
+exports.index = function(req, res) {
+  SugarcrmConfiguration.findAll({
+      where: req.query
+    })
+    .then(responseWithResult(res))
+    .catch(handleError(res));
+}
+
+// Gets a single SugarcrmConfiguration from the DB
+exports.show = function(req, res) {
+  SugarcrmConfiguration.find({
+      where: {
+        id: req.params.id
+      },
+      include: [{
+        model: SugarcrmField,
+        as: 'Subject'
+      }, {
+        model: SugarcrmField,
+        as: 'Description'
+      }, {
+        model: SugarcrmField,
+        as: 'Field'
+      }]
+    })
+    .then(handleEntityNotFound(res))
+    .then(responseWithResult(res))
+    .catch(handleError(res));
+}
+
+// Creates a new SugarcrmConfiguration in the DB
+exports.create = function(req, res) {
+  SugarcrmConfiguration.create(req.body)
+    .then(responseWithResult(res, 201))
+    .catch(handleError(res));
+}
+
+// Updates an existing SugarcrmConfiguration in the DB
+exports.update = function(req, res) {
+  if (req.body.id) {
+    delete req.body.id;
+  }
+  SugarcrmConfiguration.findById(req.params.id)
+    .then(handleEntityNotFound(res))
+    .then(saveUpdates(req.body))
+    .then(responseWithResult(res))
+    .catch(handleError(res));
+}
+
+// Deletes a SugarcrmConfiguration from the DB
+exports.destroy = function(req, res) {
+  SugarcrmConfiguration.findById(req.params.id)
+    .then(handleEntityNotFound(res))
+    .then(removeEntity(res))
+    .catch(handleError(res));
+}
+
+exports.addConfigurationField = function(req, res, next) {
+  var sugarcrmConfiguration;
+  SugarcrmConfiguration
+    .findById(req.params.id)
+    .then(handleEntityNotFound(res))
+    .then(function(sugarcrm_configuration) {
+      sugarcrmConfiguration = sugarcrm_configuration;
+      return SugarcrmField.create(req.body)
+    })
+    .then(function(sugarcrmField) {
+      switch (req.params.type) {
+        case 'subject':
+          return [sugarcrmConfiguration.addSubject(sugarcrmField), sugarcrmField];
+        case 'description':
+          return [sugarcrmConfiguration.addDescription(sugarcrmField), sugarcrmField];
+        case 'field':
+          return [sugarcrmConfiguration.addField(sugarcrmField), sugarcrmField];
+      }
+    })
+    .spread(function(data, sugarcrmField) {
+      return res.status(201).json(sugarcrmField);
+    })
+    .catch(handleError(res));
+};