Built motion from commit (unavailable).|2.5.28
[motion2.git] / server / api / pm2 / pm2.controller.js
1 // *************************************************************************
2 // *                                                                       *
3 // * xCALLY Motion -  The Omnichannel Contact Center                       *
4 // * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
5 // *                                                                       *
6 // *************************************************************************
7 // *                                                                       *
8 // * Email: info@xcally.com                                                *
9 // * Website: https://www.xcally.com                                       *
10 // *                                                                       *
11 // *************************************************************************
12 // *                                                                       *
13 // * The SOFTWARE PRODUCT is protected by copyright laws and international *
14 // * copyright treaties, as well as other intellectual property laws and   *
15 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                         *
16 // *                                                                       *
17 // *************************************************************************
18 var _0xb9fe=['status','json','error','stack','name','send','npm\x20install','info','index','then','reject','express','motion2','length','show','describe','catch','body','../../files/plugins','script','cwd','chdir','start','dump','update','restart','stop','hasOwnProperty','params','Unknown\x20status','destroy','delete','lodash','../../config/logger','api','path','child_process','exec','bluebird','sendStatus'];(function(_0x1f530d,_0x18a19e){var _0x22103f=function(_0x2664c5){while(--_0x2664c5){_0x1f530d['push'](_0x1f530d['shift']());}};_0x22103f(++_0x18a19e);}(_0xb9fe,0x70));var _0xeb9f=function(_0x45d4fb,_0x16f024){_0x45d4fb=_0x45d4fb-0x0;var _0x52606b=_0xb9fe[_0x45d4fb];return _0x52606b;};'use strict';var _=require(_0xeb9f('0x0'));var pm2=require('../../config/pm2');var logger=require(_0xeb9f('0x1'))(_0xeb9f('0x2'));var path=require(_0xeb9f('0x3'));var exec=require(_0xeb9f('0x4'))[_0xeb9f('0x5')];var BPromise=require(_0xeb9f('0x6'));function handleEntityNotFound(_0x12f925,_0x172241){return function(_0x593c82){if(!_0x593c82){_0x12f925[_0xeb9f('0x7')](0x194);;}return _0x593c82;};}function respondWithResult(_0x198498,_0x324e8b){_0x324e8b=_0x324e8b||0xc8;return function(_0x30002a){if(_0x30002a){return _0x198498[_0xeb9f('0x8')](_0x324e8b)[_0xeb9f('0x9')](_0x30002a);}return null;};}function handleError(_0x3b0e6c,_0x22c88a){_0x22c88a=_0x22c88a||0x1f4;return function(_0x18583e){logger[_0xeb9f('0xa')](_0x18583e[_0xeb9f('0xb')]);if(_0x18583e[_0xeb9f('0xc')]){delete _0x18583e[_0xeb9f('0xc')];}_0x3b0e6c[_0xeb9f('0x8')](_0x22c88a)[_0xeb9f('0xd')](_0x18583e);};}function execChildProcess(){return new BPromise(function(_0x147f34,_0xd052a4){exec(_0xeb9f('0xe'),function(_0x857b13,_0xfe40ea,_0x163046){logger[_0xeb9f('0xf')](_0xfe40ea);logger[_0xeb9f('0xf')](_0x163046);if(_0x857b13){logger['error'](_0x857b13);return _0xd052a4(_0x857b13);}return _0x147f34(_0xfe40ea);});});}exports[_0xeb9f('0x10')]=function(_0x2ff579,_0x240e72){return pm2['list']()[_0xeb9f('0x11')](function(_0x5454b6){if(_0x5454b6){var _0x3c4431=_[_0xeb9f('0x12')](_0x5454b6,function(_0x34389a){return _0x34389a['name']===_0xeb9f('0x13')||_0x34389a[_0xeb9f('0xc')]===_0xeb9f('0x14');});return{'rows':_0x3c4431,'count':_0x3c4431[_0xeb9f('0x15')]};}return null;})[_0xeb9f('0x11')](respondWithResult(_0x240e72,null))['catch'](handleError(_0x240e72,null));};exports[_0xeb9f('0x16')]=function(_0x233861,_0x217966){return pm2[_0xeb9f('0x17')](_0x233861['params']['id'])[_0xeb9f('0x11')](respondWithResult(_0x217966,null))[_0xeb9f('0x11')](handleEntityNotFound(_0x217966,null))[_0xeb9f('0x18')](handleError(_0x217966,null));};exports['create']=function(_0x3537b2,_0x9ae08a){if(_0x3537b2[_0xeb9f('0x19')][_0xeb9f('0xc')]&&_0x3537b2['body']['script']){var _0x18b8f7=path['join'](__dirname,_0xeb9f('0x1a'),_0x3537b2[_0xeb9f('0x19')][_0xeb9f('0x1b')]);var _0x59e79d=process[_0xeb9f('0x1c')]();process[_0xeb9f('0x1d')](path['dirname'](_0x18b8f7));return execChildProcess()['then'](function(_0x6fe10c){process[_0xeb9f('0x1d')](_0x59e79d);return pm2[_0xeb9f('0x1e')]({'name':_0x3537b2[_0xeb9f('0x19')][_0xeb9f('0xc')],'script':_0x18b8f7});})[_0xeb9f('0x11')](function(_0x3bfbaf){pm2[_0xeb9f('0x1f')]();return _0x3bfbaf[0x0];})[_0xeb9f('0x11')](respondWithResult(_0x9ae08a,0xc9))['catch'](handleError(_0x9ae08a,null));}else{return _0x9ae08a['status'](0x1f4)[_0xeb9f('0xd')]({'message':'Missing\x20name\x20and/or\x20path'});}};exports[_0xeb9f('0x20')]=function(_0x38beeb,_0x43a16c){if(_0x38beeb['body']['id']){delete _0x38beeb[_0xeb9f('0x19')]['id'];}var _0x5c90bb={'online':_0xeb9f('0x21'),'stopped':_0xeb9f('0x22')};if(_0x5c90bb[_0xeb9f('0x23')](_0x38beeb[_0xeb9f('0x19')]['status'])){return pm2[_0x5c90bb[_0x38beeb[_0xeb9f('0x19')][_0xeb9f('0x8')]]](_0x38beeb[_0xeb9f('0x24')]['id'])[_0xeb9f('0x11')](respondWithResult(_0x43a16c,0xc8))[_0xeb9f('0x18')](handleError(_0x43a16c,null));}else{return _0x43a16c[_0xeb9f('0x8')](0x1f4)[_0xeb9f('0xd')]({'message':_0xeb9f('0x25')});}};exports[_0xeb9f('0x26')]=function(_0x16ad63,_0x19ec96){if(_0x16ad63['body']['id']){delete _0x16ad63[_0xeb9f('0x19')]['id'];}if(_0x16ad63[_0xeb9f('0x24')]['id']){return pm2[_0xeb9f('0x27')](_0x16ad63[_0xeb9f('0x24')]['id'])['then'](function(_0x2cf1b4){pm2[_0xeb9f('0x1f')]();return _0x2cf1b4[0x0];})[_0xeb9f('0x11')](respondWithResult(_0x19ec96,null))['catch'](handleError(_0x19ec96,null));}else{return _0x19ec96['status'](0x1f4)[_0xeb9f('0xd')]({'message':'Unknown\x20id'});}};