Built motion from commit (unavailable).|2.5.6
[motion2.git] / server / api / voiceContext / voiceContext.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 _0x885e=['render','writeFileSync','/etc/asterisk/extensions_xcally_contexts.conf','Reload','chan_sip.so','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','autoAssociation','UserProfileResource','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','body','html-pdf','eml-format','zip-dir','fast-json-patch','request-promise','moment','bluebird','path','sox','to-csv','ejs','squel','jsforce','desk.js','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','jayson/promise','client','http','request','then','request\x20sent','VoiceContext,\x20%s,\x20%s,\x20%s','stringify','error','code','VoiceContext,\x20%s,\x20%s','message','info','result','catch','sendStatus','status','end','json','offset','limit','Content-Range','apply','reject','save','update','destroy','get','Contexts','name','send','index','fieldName','type','key','map','query','keys','model','attributes','intersection','fields','length','hasOwnProperty','order','sort','where','filters','pick','filter','merge','VIRTUAL','VoiceContext','count','includeAll','rows','show','params','rawAttributes','include','options','find','create','findAll','join','root','server/files/templates/context.ejs','utf8'];(function(_0x12cb2a,_0x496e6c){var _0x2ff6a7=function(_0x29cd92){while(--_0x29cd92){_0x12cb2a['push'](_0x12cb2a['shift']());}};_0x2ff6a7(++_0x496e6c);}(_0x885e,0xe4));var _0xe885=function(_0x5e8016,_0x166976){_0x5e8016=_0x5e8016-0x0;var _0x41f7a1=_0x885e[_0x5e8016];return _0x41f7a1;};'use strict';var pdf=require(_0xe885('0x0'));var emlformat=require(_0xe885('0x1'));var rimraf=require('rimraf');var zipdir=require(_0xe885('0x2'));var jsonpatch=require(_0xe885('0x3'));var rp=require(_0xe885('0x4'));var moment=require(_0xe885('0x5'));var BPromise=require(_0xe885('0x6'));var Mustache=require('mustache');var util=require('util');var path=require(_0xe885('0x7'));var sox=require(_0xe885('0x8'));var csv=require(_0xe885('0x9'));var ejs=require(_0xe885('0xa'));var fs=require('fs');var _=require('lodash');var squel=require(_0xe885('0xb'));var crypto=require('crypto');var jsforce=require(_0xe885('0xc'));var deskjs=require(_0xe885('0xd'));var toCsv=require(_0xe885('0x9'));var querystring=require(_0xe885('0xe'));var Papa=require(_0xe885('0xf'));var Redis=require(_0xe885('0x10'));var authService=require('../../components/auth/service');var qs=require(_0xe885('0x11'));var as=require(_0xe885('0x12'));var hardwareService=require(_0xe885('0x13'));var logger=require(_0xe885('0x14'))(_0xe885('0x15'));var utils=require(_0xe885('0x16'));var config=require(_0xe885('0x17'));var licenseUtil=require('../../config/license/util');var db=require(_0xe885('0x18'))['db'];var jayson=require(_0xe885('0x19'));var client=jayson[_0xe885('0x1a')][_0xe885('0x1b')]({'port':0x232a});function respondWithRpcPromise(_0x221329,_0x21e535,_0x2d1f6c,_0x5c7442){return new BPromise(function(_0x51c10d,_0x497c18){var _0x26ec21=_0x5c7442||client;return _0x26ec21[_0xe885('0x1c')](_0x221329,_0x2d1f6c)[_0xe885('0x1d')](function(_0x443399){logger['info']('VoiceContext,\x20%s,\x20%s',_0x21e535,_0xe885('0x1e'));logger['debug'](_0xe885('0x1f'),_0x21e535,_0xe885('0x1e'),JSON[_0xe885('0x20')](_0x443399));if(_0x443399[_0xe885('0x21')]){if(_0x443399[_0xe885('0x21')][_0xe885('0x22')]===0x1f4){logger['error'](_0xe885('0x23'),_0x21e535,_0x443399[_0xe885('0x21')][_0xe885('0x24')]);return _0x497c18(_0x443399[_0xe885('0x21')][_0xe885('0x24')]);}logger[_0xe885('0x21')](_0xe885('0x23'),_0x21e535,_0x443399['error'][_0xe885('0x24')]);return _0x51c10d(_0x443399[_0xe885('0x21')][_0xe885('0x24')]);}else{logger[_0xe885('0x25')](_0xe885('0x23'),_0x21e535,_0xe885('0x1e'));_0x51c10d(_0x443399[_0xe885('0x26')][_0xe885('0x24')]);}})[_0xe885('0x27')](function(_0x942775){logger[_0xe885('0x21')](_0xe885('0x23'),_0x21e535,_0x942775);_0x497c18(_0x942775);});});}function respondWithStatusCode(_0x581f03,_0x5b7f07){_0x5b7f07=_0x5b7f07||0xcc;return function(_0x3e5868){if(_0x3e5868){return _0x581f03[_0xe885('0x28')](_0x5b7f07);}return _0x581f03[_0xe885('0x29')](_0x5b7f07)[_0xe885('0x2a')]();};}function respondWithResult(_0x12a865,_0x50dd42){_0x50dd42=_0x50dd42||0xc8;return function(_0x249abc){if(_0x249abc){return _0x12a865[_0xe885('0x29')](_0x50dd42)[_0xe885('0x2b')](_0x249abc);}};}function respondWithFilteredResult(_0x4b4049,_0x524190){return function(_0x2ba36e){if(_0x2ba36e){var _0x253b18=_0x2ba36e['count'],_0x4d1662=_0x524190['offset'],_0x5fbffc=_0x524190[_0xe885('0x2c')]+_0x524190[_0xe885('0x2d')],_0x34b23c;if(_0x5fbffc>=_0x253b18){_0x5fbffc=_0x253b18;_0x34b23c=0xc8;}else{_0x34b23c=0xce;}_0x4b4049[_0xe885('0x29')](_0x34b23c);return _0x4b4049['set'](_0xe885('0x2e'),_0x4d1662+'-'+_0x5fbffc+'/'+_0x253b18)[_0xe885('0x2b')](_0x2ba36e);}return null;};}function patchUpdates(_0x2b56a8){return function(_0x366b61){try{jsonpatch[_0xe885('0x2f')](_0x366b61,_0x2b56a8,!![]);}catch(_0x1a2f7b){return BPromise[_0xe885('0x30')](_0x1a2f7b);}return _0x366b61[_0xe885('0x31')]();};}function saveUpdates(_0x666c71,_0x541884){return function(_0x593a58){if(_0x593a58){return _0x593a58[_0xe885('0x32')](_0x666c71)[_0xe885('0x1d')](function(_0x3e06b8){return _0x3e06b8;});}return null;};}function removeEntity(_0x5c891a,_0x5ec963){return function(_0x43f5f3){if(_0x43f5f3){return _0x43f5f3[_0xe885('0x33')]()[_0xe885('0x1d')](function(){var _0x27b576=_0x43f5f3[_0xe885('0x34')]({'plain':!![]});var _0x2bf530=_0xe885('0x35');return db['UserProfileResource'][_0xe885('0x33')]({'where':{'type':_0x2bf530,'resourceId':_0x27b576['id']}})['then'](function(){return _0x43f5f3;});})['then'](function(){_0x5c891a['status'](0xcc)[_0xe885('0x2a')]();});}};}function handleEntityNotFound(_0x2845b1,_0x1f6907){return function(_0x554474){if(!_0x554474){_0x2845b1[_0xe885('0x28')](0x194);}return _0x554474;};}function handleError(_0x406039,_0x312264){_0x312264=_0x312264||0x1f4;return function(_0x160624){logger[_0xe885('0x21')](_0x160624['stack']);if(_0x160624['name']){delete _0x160624[_0xe885('0x36')];}_0x406039['status'](_0x312264)[_0xe885('0x37')](_0x160624);};}exports[_0xe885('0x38')]=function(_0x1d660b,_0x2517d2){var _0x24946b={},_0x4d20ef={},_0x413c3d={'count':0x0,'rows':[]};var _0x2180ec=_['map'](db['VoiceContext']['rawAttributes'],function(_0x92636f){return{'name':_0x92636f[_0xe885('0x39')],'type':_0x92636f[_0xe885('0x3a')][_0xe885('0x3b')]};});_0x4d20ef['model']=_[_0xe885('0x3c')](_0x2180ec,_0xe885('0x36'));_0x4d20ef[_0xe885('0x3d')]=_[_0xe885('0x3e')](_0x1d660b['query']);_0x4d20ef['filters']=_['intersection'](_0x4d20ef[_0xe885('0x3f')],_0x4d20ef[_0xe885('0x3d')]);_0x24946b[_0xe885('0x40')]=_[_0xe885('0x41')](_0x4d20ef[_0xe885('0x3f')],qs[_0xe885('0x42')](_0x1d660b[_0xe885('0x3d')][_0xe885('0x42')]));_0x24946b[_0xe885('0x40')]=_0x24946b[_0xe885('0x40')][_0xe885('0x43')]?_0x24946b[_0xe885('0x40')]:_0x4d20ef[_0xe885('0x3f')];if(!_0x1d660b[_0xe885('0x3d')][_0xe885('0x44')]('nolimit')){_0x24946b[_0xe885('0x2d')]=qs['limit'](_0x1d660b[_0xe885('0x3d')][_0xe885('0x2d')]);_0x24946b['offset']=qs['offset'](_0x1d660b[_0xe885('0x3d')][_0xe885('0x2c')]);}_0x24946b[_0xe885('0x45')]=qs[_0xe885('0x46')](_0x1d660b[_0xe885('0x3d')][_0xe885('0x46')]);_0x24946b[_0xe885('0x47')]=qs[_0xe885('0x48')](_[_0xe885('0x49')](_0x1d660b[_0xe885('0x3d')],_0x4d20ef[_0xe885('0x48')]),_0x2180ec);if(_0x1d660b[_0xe885('0x3d')][_0xe885('0x4a')]){_0x24946b[_0xe885('0x47')]=_[_0xe885('0x4b')](_0x24946b['where'],{'$or':_[_0xe885('0x3c')](_0x2180ec,function(_0x4b7a64){if(_0x4b7a64[_0xe885('0x3a')]!==_0xe885('0x4c')){var _0x5a7df1={};_0x5a7df1[_0x4b7a64[_0xe885('0x36')]]={'$like':'%'+_0x1d660b[_0xe885('0x3d')][_0xe885('0x4a')]+'%'};return _0x5a7df1;}})});}_0x24946b=_['merge']({},_0x24946b,_0x1d660b['options']);var _0x2e845d={'where':_0x24946b[_0xe885('0x47')]};return db[_0xe885('0x4d')][_0xe885('0x4e')](_0x2e845d)[_0xe885('0x1d')](function(_0x4adb9e){_0x413c3d[_0xe885('0x4e')]=_0x4adb9e;if(_0x1d660b[_0xe885('0x3d')][_0xe885('0x4f')]){_0x24946b['include']=[{'all':!![]}];}return db['VoiceContext']['findAll'](_0x24946b);})[_0xe885('0x1d')](function(_0x5ddcfa){_0x413c3d[_0xe885('0x50')]=_0x5ddcfa;return _0x413c3d;})[_0xe885('0x1d')](respondWithFilteredResult(_0x2517d2,_0x24946b))[_0xe885('0x27')](handleError(_0x2517d2,null));};exports[_0xe885('0x51')]=function(_0x20fcee,_0x5d736c){var _0x17eb81={'raw':![],'where':{'id':_0x20fcee[_0xe885('0x52')]['id']}},_0x49af35={};_0x49af35[_0xe885('0x3f')]=_[_0xe885('0x3e')](db[_0xe885('0x4d')][_0xe885('0x53')]);_0x49af35[_0xe885('0x3d')]=_[_0xe885('0x3e')](_0x20fcee[_0xe885('0x3d')]);_0x49af35[_0xe885('0x48')]=_[_0xe885('0x41')](_0x49af35[_0xe885('0x3f')],_0x49af35[_0xe885('0x3d')]);_0x17eb81['attributes']=_['intersection'](_0x49af35['model'],qs[_0xe885('0x42')](_0x20fcee[_0xe885('0x3d')][_0xe885('0x42')]));_0x17eb81[_0xe885('0x40')]=_0x17eb81[_0xe885('0x40')][_0xe885('0x43')]?_0x17eb81[_0xe885('0x40')]:_0x49af35['model'];if(_0x20fcee['query'][_0xe885('0x4f')]){_0x17eb81[_0xe885('0x54')]=[{'all':!![]}];}_0x17eb81=_[_0xe885('0x4b')]({},_0x17eb81,_0x20fcee[_0xe885('0x55')]);return db['VoiceContext'][_0xe885('0x56')](_0x17eb81)[_0xe885('0x1d')](handleEntityNotFound(_0x5d736c,null))[_0xe885('0x1d')](respondWithResult(_0x5d736c,null))[_0xe885('0x27')](handleError(_0x5d736c,null));};exports[_0xe885('0x57')]=function(_0x582f17,_0x2c9917,_0x13d8c8){var _0x3ded5b;return db[_0xe885('0x4d')][_0xe885('0x57')](_0x582f17['body'],{'raw':!![]})[_0xe885('0x1d')](function(_0x52543f){_0x3ded5b=_0x52543f;return db['VoiceContext'][_0xe885('0x58')]({'raw':!![]});})[_0xe885('0x1d')](function(_0x3dcc17){var _0x35b2a8=fs['readFileSync'](path[_0xe885('0x59')](config[_0xe885('0x5a')],_0xe885('0x5b')),_0xe885('0x5c'));var _0x319ea5=ejs[_0xe885('0x5d')](_0x35b2a8,{'contexts':_0x3dcc17||[]});fs[_0xe885('0x5e')](_0xe885('0x5f'),_0x319ea5);})[_0xe885('0x1d')](function(){return respondWithRpcPromise(_0xe885('0x60'),_0xe885('0x57'),{'module':_0xe885('0x61')});})[_0xe885('0x1d')](function(){var _0x24f73c=_0x582f17[_0xe885('0x62')][_0xe885('0x34')]({'plain':!![]});if(!_0x24f73c)throw new Error(_0xe885('0x63'));if(_0x24f73c[_0xe885('0x64')]===_0xe885('0x62')){var _0x5ea145=_0x3ded5b[_0xe885('0x34')]({'plain':!![]});return db[_0xe885('0x65')][_0xe885('0x56')]({'where':{'name':'Contexts','userProfileId':_0x24f73c[_0xe885('0x66')]},'raw':!![]})[_0xe885('0x1d')](function(_0x3fc6cc){if(_0x3fc6cc&&_0x3fc6cc[_0xe885('0x67')]===0x0){return db[_0xe885('0x68')][_0xe885('0x57')]({'name':_0x5ea145[_0xe885('0x36')],'resourceId':_0x5ea145['id'],'type':_0x3fc6cc[_0xe885('0x36')],'sectionId':_0x3fc6cc['id']},{})[_0xe885('0x1d')](function(){return _0x3ded5b;});}else{return _0x3ded5b;}})['catch'](function(_0x39277d){logger['error'](_0xe885('0x69'),_0x39277d);throw _0x39277d;});}return _0x3ded5b;})[_0xe885('0x1d')](respondWithResult(_0x2c9917,0xc9))['catch'](handleError(_0x2c9917,null));};exports[_0xe885('0x32')]=function(_0x5930e7,_0x2107c7,_0x3fd39d){var _0x3cb43d;return db[_0xe885('0x4d')][_0xe885('0x56')]({'where':{'id':_0x5930e7['params']['id']}})[_0xe885('0x1d')](handleEntityNotFound(_0x2107c7,null))[_0xe885('0x1d')](saveUpdates(_0x5930e7[_0xe885('0x6a')],null))[_0xe885('0x1d')](function(_0x250945){if(_0x250945){_0x3cb43d=_0x250945;return db[_0xe885('0x4d')][_0xe885('0x58')]({'raw':!![]});}})['then'](function(_0x2f4279){var _0x592342=fs['readFileSync'](path[_0xe885('0x59')](config[_0xe885('0x5a')],_0xe885('0x5b')),_0xe885('0x5c'));var _0x14e027=ejs['render'](_0x592342,{'contexts':_0x2f4279||[]});fs[_0xe885('0x5e')]('/etc/asterisk/extensions_xcally_contexts.conf',_0x14e027);})[_0xe885('0x1d')](function(){return respondWithRpcPromise(_0xe885('0x60'),'update',{'module':_0xe885('0x61')});})[_0xe885('0x1d')](function(){return _0x3cb43d;})['then'](respondWithResult(_0x2107c7,null))[_0xe885('0x27')](handleError(_0x2107c7,null));};exports[_0xe885('0x33')]=function(_0x191582,_0x5bce9e,_0x47aeb7){var _0x1497ee;return db['VoiceContext']['find']({'where':{'id':_0x191582[_0xe885('0x52')]['id']}})[_0xe885('0x1d')](handleEntityNotFound(_0x5bce9e,null))[_0xe885('0x1d')](removeEntity(_0x5bce9e,null))[_0xe885('0x1d')](function(){return db[_0xe885('0x4d')][_0xe885('0x58')]({'raw':!![]});})[_0xe885('0x1d')](function(_0x46bf40){var _0x15a611=fs['readFileSync'](path[_0xe885('0x59')](config[_0xe885('0x5a')],_0xe885('0x5b')),_0xe885('0x5c'));var _0x1113f7=ejs[_0xe885('0x5d')](_0x15a611,{'contexts':_0x46bf40});fs[_0xe885('0x5e')]('/etc/asterisk/extensions_xcally_contexts.conf',_0x1113f7);return respondWithRpcPromise(_0xe885('0x60'),_0xe885('0x33'),{'module':_0xe885('0x61')});})[_0xe885('0x27')](handleError(_0x5bce9e,null));};