Code coverage report for api/controllers/MacroController.js

Statements: 2.13% (1 / 47)      Branches: 0% (0 / 24)      Functions: 0% (0 / 13)      Lines: 2.44% (1 / 41)      Ignored: none     

All files » api/controllers/ » MacroController.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92              1                                                                                                                                                                        
/**
 * MacroController
 *
 * @description :: Server-side logic for managing macroes
 * @help        :: See http://links.sailsjs.org/docs/controllers
 */
 
module.exports = {
  create:function(req,res,next){
    var data = req.body.data;
    data.data.inputs = ["input"]
    data.data.outputs = ["output", "error"]
    if(parser.implementedCommands.indexOf(data.data.name) > -1){
      return res.json({
        alert:true,
        message:"cannot create a macro with same name of a command ("+ data.data.name +")",
      }) 
    }
 
    data.project = req.socket.projectId
    var command = req.body.command;
    Graph.find({project: data.project, type:'macro'}).exec(function(err,graphs){
      if(err || !graphs) return next(err);
      var exsistingGraph = _.find(graphs, function(graph){return graph.data.name == data.data.name})
      if(exsistingGraph){
        res.json({
            alert:true,
            message:"macro with same name already exists",
          }) 
      } else {
        Graph.create(data).exec(function(err,created){
          if(err || !created) return next(err);
          CollaborationService.updateMacroList(req.socket);
          GraphGeneratorService.addToGraph(created.id, command, function(){
            res.json({
              message:"macro created",
              name:created.data.name,
              macro: created.id
            })
          }, true)
          sails.log('Created macro with name '+created.name);
        });        
      }
    })
 
  },
 
  setData: function(req,res,next){
    var id = req.body.macroId;
    var data = req.body.data;
    Graph.findOne(id).exec(function(err,created){
      if(err || !created) return next(err);
      created.data = data;
      created.save(function(){
        CollaborationService.updateMacroList(req.socket);
        res.json({
          message: "macro updated"
        })
      })
    });
  },
 
 
  remove: function(req,res,next){
    var id = req.body.id;
    Graph.destroy(id).exec(function(err,removed){
      if(err || !removed) return next(err);
      CollaborationService.updateMacroList(req.socket);
      res.json({
        message: "macro removed"
      })
    });
  },
 
  removeInput: function(req,res,next){
    var userID = req.user.id;
    var id = req.body.macroId;
    var data = req.body.data;
    Graph.findOne(id).exec(function(err,created){
      if(err || !created) return next(err);
      created.data = data;
      created.save(function(){
        CollaborationService.updateMacroList(req.socket);
        res.json({
          message: "macro updated"
        })
      })
    });
  },
};