f1c53326868980f401a1fa420f86d65241d6ea48
[motion2.git] / server / services / routing / server / applications / system.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 _0x5de0=['../../../../config/logger','routing','string','command\x20is\x20a\x20string\x20and\x20it\x20is\x20required','consequence','validate','length','map','message','join','info','next','[%s][SYSTEM]\x20commnad:\x20%s','trim','[%s][SYSTEM]\x20result\x20code:\x20%s','replace','isEmpty','[%s][SYSTEM]\x20no\x20variable','body','error','isObject','[%s][SYSTEM]\x20no\x20command\x20executed,\x20force\x20next','./utils'];(function(_0x44de48,_0x510bf7){var _0x5296bc=function(_0x4e418f){while(--_0x4e418f){_0x44de48['push'](_0x44de48['shift']());}};_0x5296bc(++_0x510bf7);}(_0x5de0,0xb7));var _0x05de=function(_0x1fd161,_0xfd6bdc){_0x1fd161=_0x1fd161-0x0;var _0x5940f3=_0x5de0[_0x1fd161];return _0x5940f3;};'use strict';var schema=require('validate');var sh=require('shelljs');var _=require('lodash');var utils=require(_0x05de('0x0'));var logger=require(_0x05de('0x1'))(_0x05de('0x2'));var system=schema({'command':{'type':_0x05de('0x3'),'required':!![],'message':_0x05de('0x4')}});exports[_0x05de('0x5')]=function(_0x346a20,_0x2ed73a){return function(_0x53d6c2){try{var _0x3c8dfc={'command':_0x2ed73a[0x0]};var _0x5d8b18=system[_0x05de('0x6')](_0x3c8dfc,{'typecast':!![]});if(_0x5d8b18[_0x05de('0x7')]){logger['error']('[%s][SYSTEM]\x20%s',_0x346a20,_[_0x05de('0x8')](_0x5d8b18,_0x05de('0x9'))[_0x05de('0xa')](',\x20'));logger[_0x05de('0xb')]('[%s][SYSTEM]\x20no\x20command\x20executed,\x20force\x20next',_0x346a20);_0x53d6c2[_0x05de('0xc')]();}else{var _0x14e2cf=this;var _0x3d2944=utils['getMustacheRender'](_0x2ed73a[0x0],this);logger[_0x05de('0xb')](_0x05de('0xd'),_0x346a20,_0x3d2944);sh['exec'](_[_0x05de('0xe')](_0x3d2944),function(_0x18b7c7,_0x1ea45c){logger[_0x05de('0xb')](_0x05de('0xf'),_0x346a20,_0x18b7c7);if(_0x18b7c7==0x0){var _0x4392e1=_0x1ea45c[_0x05de('0x10')](/(\r\n|\n|\r)/gm,'');if(_['isNil'](_0x2ed73a[0x1])||_[_0x05de('0x11')](_0x2ed73a[0x1])){logger[_0x05de('0xb')](_0x05de('0x12'),_0x346a20);_0x14e2cf[_0x05de('0x13')][_0x2ed73a[0x1]]=_0x4392e1;}else{logger[_0x05de('0xb')]('[%s][SYSTEM]\x20set\x20variable\x20%s:\x20%s',_0x346a20,_0x2ed73a[0x1],_0x4392e1);_0x14e2cf[_0x05de('0x13')][_0x2ed73a[0x1]]=_0x4392e1;}}_0x53d6c2['next']();});}}catch(_0x4fe93e){logger[_0x05de('0x14')]('[%s][SYSTEM]\x20%s',_0x346a20,_[_0x05de('0x15')](_0x4fe93e)?JSON['stringify'](_0x4fe93e):_0x4fe93e);logger[_0x05de('0xb')](_0x05de('0x16'),_0x346a20);_0x53d6c2[_0x05de('0xc')]();}};};