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 _0x6909=['describe','params','then','create','body','script','../../files/plugins','cwd','chdir','dirname','dump','Missing\x20name\x20and/or\x20path','update','restart','hasOwnProperty','send','Unknown\x20status','destroy','delete','Unknown\x20id','lodash','../../config/pm2','../../config/logger','api','path','exec','bluebird','sendStatus','status','json','error','stack','name','info','index','list','reject','express','motion2','catch','show'];(function(_0x1cc8fe,_0x105328){var _0x230054=function(_0x1a1b56){while(--_0x1a1b56){_0x1cc8fe['push'](_0x1cc8fe['shift']());}};_0x230054(++_0x105328);}(_0x6909,0x185));var _0x9690=function(_0x1a3e68,_0x2b2942){_0x1a3e68=_0x1a3e68-0x0;var _0x52a808=_0x6909[_0x1a3e68];return _0x52a808;};'use strict';var _=require(_0x9690('0x0'));var pm2=require(_0x9690('0x1'));var logger=require(_0x9690('0x2'))(_0x9690('0x3'));var path=require(_0x9690('0x4'));var exec=require('child_process')[_0x9690('0x5')];var BPromise=require(_0x9690('0x6'));function handleEntityNotFound(_0x3c9726,_0xd5c74f){return function(_0x47f4c0){if(!_0x47f4c0){_0x3c9726[_0x9690('0x7')](0x194);;}return _0x47f4c0;};}function respondWithResult(_0x3d3953,_0x1055c9){_0x1055c9=_0x1055c9||0xc8;return function(_0x1a26fa){if(_0x1a26fa){return _0x3d3953[_0x9690('0x8')](_0x1055c9)[_0x9690('0x9')](_0x1a26fa);}return null;};}function handleError(_0x21296b,_0x2f0013){_0x2f0013=_0x2f0013||0x1f4;return function(_0x3edb52){logger[_0x9690('0xa')](_0x3edb52[_0x9690('0xb')]);if(_0x3edb52[_0x9690('0xc')]){delete _0x3edb52[_0x9690('0xc')];}_0x21296b[_0x9690('0x8')](_0x2f0013)['send'](_0x3edb52);};}function execChildProcess(){return new BPromise(function(_0x5944e9,_0x2813b8){exec('npm\x20install',function(_0x1e8a30,_0x4f33fc,_0x1b48a3){logger['info'](_0x4f33fc);logger[_0x9690('0xd')](_0x1b48a3);if(_0x1e8a30){logger[_0x9690('0xa')](_0x1e8a30);return _0x2813b8(_0x1e8a30);}return _0x5944e9(_0x4f33fc);});});}exports[_0x9690('0xe')]=function(_0x43fd55,_0x4b3f87){return pm2[_0x9690('0xf')]()['then'](function(_0x1fb126){if(_0x1fb126){var _0x7d769a=_[_0x9690('0x10')](_0x1fb126,function(_0x1b357b){return _0x1b357b[_0x9690('0xc')]===_0x9690('0x11')||_0x1b357b[_0x9690('0xc')]===_0x9690('0x12');});return{'rows':_0x7d769a,'count':_0x7d769a['length']};}return null;})['then'](respondWithResult(_0x4b3f87,null))[_0x9690('0x13')](handleError(_0x4b3f87,null));};exports[_0x9690('0x14')]=function(_0x35efa3,_0x5af047){return pm2[_0x9690('0x15')](_0x35efa3[_0x9690('0x16')]['id'])['then'](respondWithResult(_0x5af047,null))[_0x9690('0x17')](handleEntityNotFound(_0x5af047,null))[_0x9690('0x13')](handleError(_0x5af047,null));};exports[_0x9690('0x18')]=function(_0xa454dd,_0x3fbbf3){if(_0xa454dd[_0x9690('0x19')][_0x9690('0xc')]&&_0xa454dd[_0x9690('0x19')][_0x9690('0x1a')]){var _0x31e22b=path['join'](__dirname,_0x9690('0x1b'),_0xa454dd[_0x9690('0x19')]['script']);var _0x14524c=process[_0x9690('0x1c')]();process[_0x9690('0x1d')](path[_0x9690('0x1e')](_0x31e22b));return execChildProcess()[_0x9690('0x17')](function(_0x5391cb){process['chdir'](_0x14524c);return pm2['start']({'name':_0xa454dd['body'][_0x9690('0xc')],'script':_0x31e22b});})[_0x9690('0x17')](function(_0x2276e6){pm2[_0x9690('0x1f')]();return _0x2276e6[0x0];})[_0x9690('0x17')](respondWithResult(_0x3fbbf3,0xc9))[_0x9690('0x13')](handleError(_0x3fbbf3,null));}else{return _0x3fbbf3[_0x9690('0x8')](0x1f4)['send']({'message':_0x9690('0x20')});}};exports[_0x9690('0x21')]=function(_0x117de0,_0x27c30c){if(_0x117de0[_0x9690('0x19')]['id']){delete _0x117de0[_0x9690('0x19')]['id'];}var _0x42242f={'online':_0x9690('0x22'),'stopped':'stop'};if(_0x42242f[_0x9690('0x23')](_0x117de0[_0x9690('0x19')][_0x9690('0x8')])){return pm2[_0x42242f[_0x117de0[_0x9690('0x19')][_0x9690('0x8')]]](_0x117de0[_0x9690('0x16')]['id'])[_0x9690('0x17')](respondWithResult(_0x27c30c,0xc8))[_0x9690('0x13')](handleError(_0x27c30c,null));}else{return _0x27c30c[_0x9690('0x8')](0x1f4)[_0x9690('0x24')]({'message':_0x9690('0x25')});}};exports[_0x9690('0x26')]=function(_0x7fc446,_0x45ba75){if(_0x7fc446[_0x9690('0x19')]['id']){delete _0x7fc446[_0x9690('0x19')]['id'];}if(_0x7fc446['params']['id']){return pm2[_0x9690('0x27')](_0x7fc446[_0x9690('0x16')]['id'])['then'](function(_0x20933e){pm2[_0x9690('0x1f')]();return _0x20933e[0x0];})[_0x9690('0x17')](respondWithResult(_0x45ba75,null))[_0x9690('0x13')](handleError(_0x45ba75,null));}else{return _0x45ba75[_0x9690('0x8')](0x1f4)[_0x9690('0x24')]({'message':_0x9690('0x28')});}};