Built motion from commit (unavailable).|2.5.14
[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 _0xf903=['express','motion2','length','catch','show','describe','create','body','join','../../files/plugins','cwd','chdir','dirname','start','dump','send','Missing\x20name\x20and/or\x20path','update','restart','stop','hasOwnProperty','params','Unknown\x20status','destroy','delete','Unknown\x20id','lodash','../../config/pm2','../../config/logger','api','path','exec','json','error','stack','name','status','info','index','list','then','reject'];(function(_0x46698a,_0x8de1e4){var _0x356db0=function(_0x19e83c){while(--_0x19e83c){_0x46698a['push'](_0x46698a['shift']());}};_0x356db0(++_0x8de1e4);}(_0xf903,0x194));var _0x3f90=function(_0x23dad9,_0x5dc8f2){_0x23dad9=_0x23dad9-0x0;var _0x527967=_0xf903[_0x23dad9];return _0x527967;};'use strict';var _=require(_0x3f90('0x0'));var pm2=require(_0x3f90('0x1'));var logger=require(_0x3f90('0x2'))(_0x3f90('0x3'));var path=require(_0x3f90('0x4'));var exec=require('child_process')[_0x3f90('0x5')];var BPromise=require('bluebird');function handleEntityNotFound(_0x45c02d,_0x597e3b){return function(_0x56052c){if(!_0x56052c){_0x45c02d['sendStatus'](0x194);;}return _0x56052c;};}function respondWithResult(_0x1d6eb2,_0x42b081){_0x42b081=_0x42b081||0xc8;return function(_0x945b0a){if(_0x945b0a){return _0x1d6eb2['status'](_0x42b081)[_0x3f90('0x6')](_0x945b0a);}return null;};}function handleError(_0x1e90a2,_0x79fe01){_0x79fe01=_0x79fe01||0x1f4;return function(_0x255362){logger[_0x3f90('0x7')](_0x255362[_0x3f90('0x8')]);if(_0x255362[_0x3f90('0x9')]){delete _0x255362['name'];}_0x1e90a2[_0x3f90('0xa')](_0x79fe01)['send'](_0x255362);};}function execChildProcess(){return new BPromise(function(_0x31c87c,_0x110b04){exec('npm\x20install',function(_0x80594,_0x23ea61,_0x913aa2){logger[_0x3f90('0xb')](_0x23ea61);logger[_0x3f90('0xb')](_0x913aa2);if(_0x80594){logger[_0x3f90('0x7')](_0x80594);return _0x110b04(_0x80594);}return _0x31c87c(_0x23ea61);});});}exports[_0x3f90('0xc')]=function(_0x310112,_0x143665){return pm2[_0x3f90('0xd')]()[_0x3f90('0xe')](function(_0x263a3c){if(_0x263a3c){var _0x30686f=_[_0x3f90('0xf')](_0x263a3c,function(_0x83ba67){return _0x83ba67[_0x3f90('0x9')]===_0x3f90('0x10')||_0x83ba67[_0x3f90('0x9')]===_0x3f90('0x11');});return{'rows':_0x30686f,'count':_0x30686f[_0x3f90('0x12')]};}return null;})[_0x3f90('0xe')](respondWithResult(_0x143665,null))[_0x3f90('0x13')](handleError(_0x143665,null));};exports[_0x3f90('0x14')]=function(_0x242cd1,_0x574184){return pm2[_0x3f90('0x15')](_0x242cd1['params']['id'])[_0x3f90('0xe')](respondWithResult(_0x574184,null))[_0x3f90('0xe')](handleEntityNotFound(_0x574184,null))[_0x3f90('0x13')](handleError(_0x574184,null));};exports[_0x3f90('0x16')]=function(_0x1cf4be,_0x3f99f4){if(_0x1cf4be['body']['name']&&_0x1cf4be[_0x3f90('0x17')]['script']){var _0x2faee1=path[_0x3f90('0x18')](__dirname,_0x3f90('0x19'),_0x1cf4be[_0x3f90('0x17')]['script']);var _0x4a9ea5=process[_0x3f90('0x1a')]();process[_0x3f90('0x1b')](path[_0x3f90('0x1c')](_0x2faee1));return execChildProcess()[_0x3f90('0xe')](function(_0x30f0db){process[_0x3f90('0x1b')](_0x4a9ea5);return pm2[_0x3f90('0x1d')]({'name':_0x1cf4be[_0x3f90('0x17')][_0x3f90('0x9')],'script':_0x2faee1});})[_0x3f90('0xe')](function(_0x119fd7){pm2[_0x3f90('0x1e')]();return _0x119fd7[0x0];})[_0x3f90('0xe')](respondWithResult(_0x3f99f4,0xc9))[_0x3f90('0x13')](handleError(_0x3f99f4,null));}else{return _0x3f99f4[_0x3f90('0xa')](0x1f4)[_0x3f90('0x1f')]({'message':_0x3f90('0x20')});}};exports[_0x3f90('0x21')]=function(_0x124e73,_0x56021b){if(_0x124e73[_0x3f90('0x17')]['id']){delete _0x124e73[_0x3f90('0x17')]['id'];}var _0x48c815={'online':_0x3f90('0x22'),'stopped':_0x3f90('0x23')};if(_0x48c815[_0x3f90('0x24')](_0x124e73[_0x3f90('0x17')][_0x3f90('0xa')])){return pm2[_0x48c815[_0x124e73[_0x3f90('0x17')]['status']]](_0x124e73[_0x3f90('0x25')]['id'])[_0x3f90('0xe')](respondWithResult(_0x56021b,0xc8))[_0x3f90('0x13')](handleError(_0x56021b,null));}else{return _0x56021b[_0x3f90('0xa')](0x1f4)[_0x3f90('0x1f')]({'message':_0x3f90('0x26')});}};exports[_0x3f90('0x27')]=function(_0x477f84,_0x1db044){if(_0x477f84[_0x3f90('0x17')]['id']){delete _0x477f84['body']['id'];}if(_0x477f84[_0x3f90('0x25')]['id']){return pm2[_0x3f90('0x28')](_0x477f84[_0x3f90('0x25')]['id'])[_0x3f90('0xe')](function(_0x30d85b){pm2[_0x3f90('0x1e')]();return _0x30d85b[0x0];})['then'](respondWithResult(_0x1db044,null))['catch'](handleError(_0x1db044,null));}else{return _0x1db044[_0x3f90('0xa')](0x1f4)[_0x3f90('0x1f')]({'message':_0x3f90('0x29')});}};