Built motion from commit 5e31ea4.|0.0.32
[motion.git] / server / api / ami / ami.ami.js
1 /**
2  * Broadcast updates to client when the model changes
3  */
4
5 'use strict';
6
7 var Ami = require('../../models').Ami;
8 var async = require('async');
9 var _ = require('lodash');
10
11 var ami = null;
12
13 exports.register = function(ami) {
14   this.ami = ami;
15 }
16
17 exports.action = function(action, cb) {
18   if (this.ami && this.ami.isConnected()) {
19     this.ami.action(action, function(err, res) {
20       if (err) {
21         cb(err);
22       }
23       var data = _.merge(res, action);
24       Ami
25         .create(data)
26         .then(function(ami) {
27           cb(null, ami)
28         })
29         .catch(function(err) {
30           return cb(err);
31         });
32
33     });
34   } else {
35     cb(new Error('Asterisk Manager disconnected..'));
36   }
37 }