Built motion from commit (unavailable).|2.4.18
[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 _0x742f=['Missing\x20name\x20and/or\x20path','update','stop','hasOwnProperty','destroy','delete','Unknown\x20id','lodash','../../config/pm2','../../config/logger','api','path','child_process','bluebird','sendStatus','status','error','stack','name','info','index','list','reject','express','then','catch','show','describe','params','create','body','script','join','../../files/plugins','chdir','start','dump','send'];(function(_0x50219c,_0x583f9b){var _0x594fd4=function(_0x327801){while(--_0x327801){_0x50219c['push'](_0x50219c['shift']());}};_0x594fd4(++_0x583f9b);}(_0x742f,0x1cf));var _0xf742=function(_0x174ef5,_0x256e8e){_0x174ef5=_0x174ef5-0x0;var _0x1cc379=_0x742f[_0x174ef5];return _0x1cc379;};'use strict';var _=require(_0xf742('0x0'));var pm2=require(_0xf742('0x1'));var logger=require(_0xf742('0x2'))(_0xf742('0x3'));var path=require(_0xf742('0x4'));var exec=require(_0xf742('0x5'))['exec'];var BPromise=require(_0xf742('0x6'));function handleEntityNotFound(_0x4dd514,_0x21e5ba){return function(_0xfd83d9){if(!_0xfd83d9){_0x4dd514[_0xf742('0x7')](0x194);;}return _0xfd83d9;};}function respondWithResult(_0x15a15f,_0x20bf02){_0x20bf02=_0x20bf02||0xc8;return function(_0x4db1e7){if(_0x4db1e7){return _0x15a15f[_0xf742('0x8')](_0x20bf02)['json'](_0x4db1e7);}return null;};}function handleError(_0xc5bd4c,_0x37f94f){_0x37f94f=_0x37f94f||0x1f4;return function(_0x4f14e2){logger[_0xf742('0x9')](_0x4f14e2[_0xf742('0xa')]);if(_0x4f14e2['name']){delete _0x4f14e2[_0xf742('0xb')];}_0xc5bd4c['status'](_0x37f94f)['send'](_0x4f14e2);};}function execChildProcess(){return new BPromise(function(_0x16b15b,_0x4a7970){exec('npm\x20install',function(_0x1b0271,_0x102c68,_0x59b74b){logger[_0xf742('0xc')](_0x102c68);logger['info'](_0x59b74b);if(_0x1b0271){logger[_0xf742('0x9')](_0x1b0271);return _0x4a7970(_0x1b0271);}return _0x16b15b(_0x102c68);});});}exports[_0xf742('0xd')]=function(_0x547026,_0x20ffe3){return pm2[_0xf742('0xe')]()['then'](function(_0x3a8445){if(_0x3a8445){var _0x4438a6=_[_0xf742('0xf')](_0x3a8445,function(_0x3a7ffb){return _0x3a7ffb[_0xf742('0xb')]===_0xf742('0x10')||_0x3a7ffb['name']==='motion2';});return{'rows':_0x4438a6,'count':_0x4438a6['length']};}return null;})[_0xf742('0x11')](respondWithResult(_0x20ffe3,null))[_0xf742('0x12')](handleError(_0x20ffe3,null));};exports[_0xf742('0x13')]=function(_0x6bc77a,_0x478613){return pm2[_0xf742('0x14')](_0x6bc77a[_0xf742('0x15')]['id'])[_0xf742('0x11')](respondWithResult(_0x478613,null))[_0xf742('0x11')](handleEntityNotFound(_0x478613,null))[_0xf742('0x12')](handleError(_0x478613,null));};exports[_0xf742('0x16')]=function(_0x3d95a7,_0x28a31c){if(_0x3d95a7[_0xf742('0x17')][_0xf742('0xb')]&&_0x3d95a7[_0xf742('0x17')][_0xf742('0x18')]){var _0x21485a=path[_0xf742('0x19')](__dirname,_0xf742('0x1a'),_0x3d95a7[_0xf742('0x17')]['script']);var _0x55f869=process['cwd']();process['chdir'](path['dirname'](_0x21485a));return execChildProcess()[_0xf742('0x11')](function(_0x53ab95){process[_0xf742('0x1b')](_0x55f869);return pm2[_0xf742('0x1c')]({'name':_0x3d95a7[_0xf742('0x17')][_0xf742('0xb')],'script':_0x21485a});})[_0xf742('0x11')](function(_0x4582e8){pm2[_0xf742('0x1d')]();return _0x4582e8[0x0];})['then'](respondWithResult(_0x28a31c,0xc9))[_0xf742('0x12')](handleError(_0x28a31c,null));}else{return _0x28a31c[_0xf742('0x8')](0x1f4)[_0xf742('0x1e')]({'message':_0xf742('0x1f')});}};exports[_0xf742('0x20')]=function(_0x5a9351,_0x3c537b){if(_0x5a9351[_0xf742('0x17')]['id']){delete _0x5a9351['body']['id'];}var _0x3c3269={'online':'restart','stopped':_0xf742('0x21')};if(_0x3c3269[_0xf742('0x22')](_0x5a9351['body'][_0xf742('0x8')])){return pm2[_0x3c3269[_0x5a9351[_0xf742('0x17')][_0xf742('0x8')]]](_0x5a9351[_0xf742('0x15')]['id'])['then'](respondWithResult(_0x3c537b,0xc8))[_0xf742('0x12')](handleError(_0x3c537b,null));}else{return _0x3c537b[_0xf742('0x8')](0x1f4)[_0xf742('0x1e')]({'message':'Unknown\x20status'});}};exports[_0xf742('0x23')]=function(_0x164086,_0xe968b3){if(_0x164086[_0xf742('0x17')]['id']){delete _0x164086[_0xf742('0x17')]['id'];}if(_0x164086['params']['id']){return pm2[_0xf742('0x24')](_0x164086[_0xf742('0x15')]['id'])['then'](function(_0x29a6c9){pm2[_0xf742('0x1d')]();return _0x29a6c9[0x0];})['then'](respondWithResult(_0xe968b3,null))[_0xf742('0x12')](handleError(_0xe968b3,null));}else{return _0xe968b3['status'](0x1f4)[_0xf742('0x1e')]({'message':_0xf742('0x25')});}};