Built motion from commit (unavailable).|2.5.1
[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 _0x760f=['catch','show','params','create','body','script','join','dirname','chdir','start','dump','Missing\x20name\x20and/or\x20path','stop','hasOwnProperty','Unknown\x20status','destroy','delete','Unknown\x20id','lodash','../../config/pm2','../../config/logger','api','path','child_process','exec','bluebird','sendStatus','status','json','error','name','send','npm\x20install','info','index','list','then','reject','express','motion2','length'];(function(_0x262f3f,_0x4c7292){var _0x121025=function(_0x116e57){while(--_0x116e57){_0x262f3f['push'](_0x262f3f['shift']());}};_0x121025(++_0x4c7292);}(_0x760f,0xdf));var _0xf760=function(_0x8703b2,_0x5c8eae){_0x8703b2=_0x8703b2-0x0;var _0x41ed65=_0x760f[_0x8703b2];return _0x41ed65;};'use strict';var _=require(_0xf760('0x0'));var pm2=require(_0xf760('0x1'));var logger=require(_0xf760('0x2'))(_0xf760('0x3'));var path=require(_0xf760('0x4'));var exec=require(_0xf760('0x5'))[_0xf760('0x6')];var BPromise=require(_0xf760('0x7'));function handleEntityNotFound(_0xc4bfe3,_0x327f51){return function(_0x17498b){if(!_0x17498b){_0xc4bfe3[_0xf760('0x8')](0x194);;}return _0x17498b;};}function respondWithResult(_0x24b07c,_0x352981){_0x352981=_0x352981||0xc8;return function(_0x50f1a9){if(_0x50f1a9){return _0x24b07c[_0xf760('0x9')](_0x352981)[_0xf760('0xa')](_0x50f1a9);}return null;};}function handleError(_0x4f6c5e,_0x5f223f){_0x5f223f=_0x5f223f||0x1f4;return function(_0x36615b){logger[_0xf760('0xb')](_0x36615b['stack']);if(_0x36615b[_0xf760('0xc')]){delete _0x36615b[_0xf760('0xc')];}_0x4f6c5e[_0xf760('0x9')](_0x5f223f)[_0xf760('0xd')](_0x36615b);};}function execChildProcess(){return new BPromise(function(_0x49e1a9,_0x40ca45){exec(_0xf760('0xe'),function(_0x2b1d80,_0x71ccb4,_0x413402){logger[_0xf760('0xf')](_0x71ccb4);logger['info'](_0x413402);if(_0x2b1d80){logger[_0xf760('0xb')](_0x2b1d80);return _0x40ca45(_0x2b1d80);}return _0x49e1a9(_0x71ccb4);});});}exports[_0xf760('0x10')]=function(_0x4e7a7f,_0x3b9e30){return pm2[_0xf760('0x11')]()[_0xf760('0x12')](function(_0x3033fa){if(_0x3033fa){var _0x119e75=_[_0xf760('0x13')](_0x3033fa,function(_0x183cc3){return _0x183cc3['name']===_0xf760('0x14')||_0x183cc3[_0xf760('0xc')]===_0xf760('0x15');});return{'rows':_0x119e75,'count':_0x119e75[_0xf760('0x16')]};}return null;})[_0xf760('0x12')](respondWithResult(_0x3b9e30,null))[_0xf760('0x17')](handleError(_0x3b9e30,null));};exports[_0xf760('0x18')]=function(_0x1949be,_0x37562d){return pm2['describe'](_0x1949be[_0xf760('0x19')]['id'])[_0xf760('0x12')](respondWithResult(_0x37562d,null))[_0xf760('0x12')](handleEntityNotFound(_0x37562d,null))['catch'](handleError(_0x37562d,null));};exports[_0xf760('0x1a')]=function(_0x329977,_0xa17a9a){if(_0x329977[_0xf760('0x1b')][_0xf760('0xc')]&&_0x329977[_0xf760('0x1b')][_0xf760('0x1c')]){var _0x5238cc=path[_0xf760('0x1d')](__dirname,'../../files/plugins',_0x329977[_0xf760('0x1b')][_0xf760('0x1c')]);var _0x53117c=process['cwd']();process['chdir'](path[_0xf760('0x1e')](_0x5238cc));return execChildProcess()[_0xf760('0x12')](function(_0x51d2dc){process[_0xf760('0x1f')](_0x53117c);return pm2[_0xf760('0x20')]({'name':_0x329977[_0xf760('0x1b')]['name'],'script':_0x5238cc});})['then'](function(_0x3fc9f4){pm2[_0xf760('0x21')]();return _0x3fc9f4[0x0];})[_0xf760('0x12')](respondWithResult(_0xa17a9a,0xc9))[_0xf760('0x17')](handleError(_0xa17a9a,null));}else{return _0xa17a9a['status'](0x1f4)['send']({'message':_0xf760('0x22')});}};exports['update']=function(_0x56b159,_0x20b0b3){if(_0x56b159[_0xf760('0x1b')]['id']){delete _0x56b159['body']['id'];}var _0x52a2be={'online':'restart','stopped':_0xf760('0x23')};if(_0x52a2be[_0xf760('0x24')](_0x56b159[_0xf760('0x1b')][_0xf760('0x9')])){return pm2[_0x52a2be[_0x56b159[_0xf760('0x1b')][_0xf760('0x9')]]](_0x56b159[_0xf760('0x19')]['id'])[_0xf760('0x12')](respondWithResult(_0x20b0b3,0xc8))['catch'](handleError(_0x20b0b3,null));}else{return _0x20b0b3['status'](0x1f4)[_0xf760('0xd')]({'message':_0xf760('0x25')});}};exports[_0xf760('0x26')]=function(_0x15e1b2,_0x594993){if(_0x15e1b2[_0xf760('0x1b')]['id']){delete _0x15e1b2[_0xf760('0x1b')]['id'];}if(_0x15e1b2[_0xf760('0x19')]['id']){return pm2[_0xf760('0x27')](_0x15e1b2[_0xf760('0x19')]['id'])[_0xf760('0x12')](function(_0x223d87){pm2[_0xf760('0x21')]();return _0x223d87[0x0];})['then'](respondWithResult(_0x594993,null))[_0xf760('0x17')](handleError(_0x594993,null));}else{return _0x594993[_0xf760('0x9')](0x1f4)['send']({'message':_0xf760('0x28')});}};