Built motion from commit (unavailable).|2.5.13
[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 _0xd1d4=['filters','intersection','model','attributes','fields','length','hasOwnProperty','order','sort','where','pick','filter','merge','VIRTUAL','options','includeAll','include','rows','show','params','find','create','body','findAll','readFileSync','join','root','server/files/templates/context.ejs','render','/etc/asterisk/extensions_xcally_contexts.conf','Reload','chan_sip.so','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','UserProfileSection','userProfileId','autoAssociation','UserProfileResource','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','utf8','writeFileSync','html-pdf','eml-format','zip-dir','moment','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','squel','crypto','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','jayson/promise','client','request','then','info','VoiceContext,\x20%s,\x20%s','request\x20sent','debug','error','code','message','result','catch','sendStatus','status','json','count','offset','limit','set','apply','reject','save','update','destroy','get','Contexts','end','name','send','index','VoiceContext','rawAttributes','type','key','map','query','keys'];(function(_0x2b3100,_0x345565){var _0x59bb19=function(_0x34a393){while(--_0x34a393){_0x2b3100['push'](_0x2b3100['shift']());}};_0x59bb19(++_0x345565);}(_0xd1d4,0xfb));var _0x4d1d=function(_0x45783c,_0x49c56d){_0x45783c=_0x45783c-0x0;var _0x1161da=_0xd1d4[_0x45783c];return _0x1161da;};'use strict';var pdf=require(_0x4d1d('0x0'));var emlformat=require(_0x4d1d('0x1'));var rimraf=require('rimraf');var zipdir=require(_0x4d1d('0x2'));var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require(_0x4d1d('0x3'));var BPromise=require(_0x4d1d('0x4'));var Mustache=require(_0x4d1d('0x5'));var util=require(_0x4d1d('0x6'));var path=require(_0x4d1d('0x7'));var sox=require(_0x4d1d('0x8'));var csv=require(_0x4d1d('0x9'));var ejs=require(_0x4d1d('0xa'));var fs=require('fs');var _=require(_0x4d1d('0xb'));var squel=require(_0x4d1d('0xc'));var crypto=require(_0x4d1d('0xd'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0x4d1d('0x9'));var querystring=require(_0x4d1d('0xe'));var Papa=require('papaparse');var Redis=require(_0x4d1d('0xf'));var authService=require(_0x4d1d('0x10'));var qs=require(_0x4d1d('0x11'));var as=require(_0x4d1d('0x12'));var hardwareService=require(_0x4d1d('0x13'));var logger=require(_0x4d1d('0x14'))(_0x4d1d('0x15'));var utils=require(_0x4d1d('0x16'));var config=require(_0x4d1d('0x17'));var licenseUtil=require(_0x4d1d('0x18'));var db=require(_0x4d1d('0x19'))['db'];var jayson=require(_0x4d1d('0x1a'));var client=jayson[_0x4d1d('0x1b')]['http']({'port':0x232a});function respondWithRpcPromise(_0x7e7d3b,_0x2e00f8,_0x4383ae,_0x377ff7){return new BPromise(function(_0x4fabbc,_0x58c1c0){var _0x58ef11=_0x377ff7||client;return _0x58ef11[_0x4d1d('0x1c')](_0x7e7d3b,_0x4383ae)[_0x4d1d('0x1d')](function(_0x569809){logger[_0x4d1d('0x1e')](_0x4d1d('0x1f'),_0x2e00f8,_0x4d1d('0x20'));logger[_0x4d1d('0x21')]('VoiceContext,\x20%s,\x20%s,\x20%s',_0x2e00f8,'request\x20sent',JSON['stringify'](_0x569809));if(_0x569809[_0x4d1d('0x22')]){if(_0x569809[_0x4d1d('0x22')][_0x4d1d('0x23')]===0x1f4){logger[_0x4d1d('0x22')](_0x4d1d('0x1f'),_0x2e00f8,_0x569809['error'][_0x4d1d('0x24')]);return _0x58c1c0(_0x569809[_0x4d1d('0x22')][_0x4d1d('0x24')]);}logger[_0x4d1d('0x22')](_0x4d1d('0x1f'),_0x2e00f8,_0x569809[_0x4d1d('0x22')][_0x4d1d('0x24')]);return _0x4fabbc(_0x569809['error'][_0x4d1d('0x24')]);}else{logger['info'](_0x4d1d('0x1f'),_0x2e00f8,_0x4d1d('0x20'));_0x4fabbc(_0x569809[_0x4d1d('0x25')][_0x4d1d('0x24')]);}})[_0x4d1d('0x26')](function(_0x2e0b46){logger[_0x4d1d('0x22')]('VoiceContext,\x20%s,\x20%s',_0x2e00f8,_0x2e0b46);_0x58c1c0(_0x2e0b46);});});}function respondWithStatusCode(_0x410916,_0x43d108){_0x43d108=_0x43d108||0xcc;return function(_0x207472){if(_0x207472){return _0x410916[_0x4d1d('0x27')](_0x43d108);}return _0x410916[_0x4d1d('0x28')](_0x43d108)['end']();};}function respondWithResult(_0x2d82c5,_0x45b17c){_0x45b17c=_0x45b17c||0xc8;return function(_0x33f17e){if(_0x33f17e){return _0x2d82c5[_0x4d1d('0x28')](_0x45b17c)[_0x4d1d('0x29')](_0x33f17e);}};}function respondWithFilteredResult(_0x5cf5f3,_0x30aa34){return function(_0x58ac25){if(_0x58ac25){var _0x35d4bd=_0x58ac25[_0x4d1d('0x2a')],_0x28e3ec=_0x30aa34[_0x4d1d('0x2b')],_0x3f672b=_0x30aa34['offset']+_0x30aa34[_0x4d1d('0x2c')],_0xc33dea;if(_0x3f672b>=_0x35d4bd){_0x3f672b=_0x35d4bd;_0xc33dea=0xc8;}else{_0xc33dea=0xce;}_0x5cf5f3[_0x4d1d('0x28')](_0xc33dea);return _0x5cf5f3[_0x4d1d('0x2d')]('Content-Range',_0x28e3ec+'-'+_0x3f672b+'/'+_0x35d4bd)[_0x4d1d('0x29')](_0x58ac25);}return null;};}function patchUpdates(_0x380e9b){return function(_0x5f0bec){try{jsonpatch[_0x4d1d('0x2e')](_0x5f0bec,_0x380e9b,!![]);}catch(_0x3298f4){return BPromise[_0x4d1d('0x2f')](_0x3298f4);}return _0x5f0bec[_0x4d1d('0x30')]();};}function saveUpdates(_0x475773,_0x18e871){return function(_0x2e8741){if(_0x2e8741){return _0x2e8741[_0x4d1d('0x31')](_0x475773)['then'](function(_0x5118d1){return _0x5118d1;});}return null;};}function removeEntity(_0x2276d3,_0x497472){return function(_0x51c501){if(_0x51c501){return _0x51c501[_0x4d1d('0x32')]()['then'](function(){var _0x47fa1a=_0x51c501[_0x4d1d('0x33')]({'plain':!![]});var _0x4a58a3=_0x4d1d('0x34');return db['UserProfileResource']['destroy']({'where':{'type':_0x4a58a3,'resourceId':_0x47fa1a['id']}})[_0x4d1d('0x1d')](function(){return _0x51c501;});})[_0x4d1d('0x1d')](function(){_0x2276d3[_0x4d1d('0x28')](0xcc)[_0x4d1d('0x35')]();});}};}function handleEntityNotFound(_0x5b05a2,_0x4f15a7){return function(_0x2aa965){if(!_0x2aa965){_0x5b05a2[_0x4d1d('0x27')](0x194);}return _0x2aa965;};}function handleError(_0x2aeb1a,_0x10d509){_0x10d509=_0x10d509||0x1f4;return function(_0x1d45be){logger[_0x4d1d('0x22')](_0x1d45be['stack']);if(_0x1d45be[_0x4d1d('0x36')]){delete _0x1d45be[_0x4d1d('0x36')];}_0x2aeb1a[_0x4d1d('0x28')](_0x10d509)[_0x4d1d('0x37')](_0x1d45be);};}exports[_0x4d1d('0x38')]=function(_0x24bd80,_0x5e3f8e){var _0x20c657={},_0xf1a1fe={},_0x1f0d41={'count':0x0,'rows':[]};var _0x4506fa=_['map'](db[_0x4d1d('0x39')][_0x4d1d('0x3a')],function(_0x4dff36){return{'name':_0x4dff36['fieldName'],'type':_0x4dff36[_0x4d1d('0x3b')][_0x4d1d('0x3c')]};});_0xf1a1fe['model']=_[_0x4d1d('0x3d')](_0x4506fa,_0x4d1d('0x36'));_0xf1a1fe[_0x4d1d('0x3e')]=_[_0x4d1d('0x3f')](_0x24bd80[_0x4d1d('0x3e')]);_0xf1a1fe[_0x4d1d('0x40')]=_[_0x4d1d('0x41')](_0xf1a1fe[_0x4d1d('0x42')],_0xf1a1fe[_0x4d1d('0x3e')]);_0x20c657[_0x4d1d('0x43')]=_[_0x4d1d('0x41')](_0xf1a1fe['model'],qs[_0x4d1d('0x44')](_0x24bd80[_0x4d1d('0x3e')][_0x4d1d('0x44')]));_0x20c657['attributes']=_0x20c657[_0x4d1d('0x43')][_0x4d1d('0x45')]?_0x20c657[_0x4d1d('0x43')]:_0xf1a1fe[_0x4d1d('0x42')];if(!_0x24bd80[_0x4d1d('0x3e')][_0x4d1d('0x46')]('nolimit')){_0x20c657[_0x4d1d('0x2c')]=qs[_0x4d1d('0x2c')](_0x24bd80[_0x4d1d('0x3e')]['limit']);_0x20c657['offset']=qs[_0x4d1d('0x2b')](_0x24bd80['query'][_0x4d1d('0x2b')]);}_0x20c657[_0x4d1d('0x47')]=qs['sort'](_0x24bd80['query'][_0x4d1d('0x48')]);_0x20c657[_0x4d1d('0x49')]=qs[_0x4d1d('0x40')](_[_0x4d1d('0x4a')](_0x24bd80[_0x4d1d('0x3e')],_0xf1a1fe['filters']),_0x4506fa);if(_0x24bd80[_0x4d1d('0x3e')][_0x4d1d('0x4b')]){_0x20c657[_0x4d1d('0x49')]=_[_0x4d1d('0x4c')](_0x20c657['where'],{'$or':_[_0x4d1d('0x3d')](_0x4506fa,function(_0x1c7f0e){if(_0x1c7f0e[_0x4d1d('0x3b')]!==_0x4d1d('0x4d')){var _0x1445af={};_0x1445af[_0x1c7f0e[_0x4d1d('0x36')]]={'$like':'%'+_0x24bd80['query'][_0x4d1d('0x4b')]+'%'};return _0x1445af;}})});}_0x20c657=_[_0x4d1d('0x4c')]({},_0x20c657,_0x24bd80[_0x4d1d('0x4e')]);var _0x3b20ec={'where':_0x20c657[_0x4d1d('0x49')]};return db[_0x4d1d('0x39')][_0x4d1d('0x2a')](_0x3b20ec)[_0x4d1d('0x1d')](function(_0x57a7ed){_0x1f0d41[_0x4d1d('0x2a')]=_0x57a7ed;if(_0x24bd80['query'][_0x4d1d('0x4f')]){_0x20c657[_0x4d1d('0x50')]=[{'all':!![]}];}return db[_0x4d1d('0x39')]['findAll'](_0x20c657);})['then'](function(_0xc9cb4){_0x1f0d41[_0x4d1d('0x51')]=_0xc9cb4;return _0x1f0d41;})['then'](respondWithFilteredResult(_0x5e3f8e,_0x20c657))[_0x4d1d('0x26')](handleError(_0x5e3f8e,null));};exports[_0x4d1d('0x52')]=function(_0x143e13,_0x4719da){var _0x18b2fc={'raw':![],'where':{'id':_0x143e13[_0x4d1d('0x53')]['id']}},_0x4eeae6={};_0x4eeae6['model']=_['keys'](db[_0x4d1d('0x39')][_0x4d1d('0x3a')]);_0x4eeae6[_0x4d1d('0x3e')]=_[_0x4d1d('0x3f')](_0x143e13[_0x4d1d('0x3e')]);_0x4eeae6[_0x4d1d('0x40')]=_['intersection'](_0x4eeae6[_0x4d1d('0x42')],_0x4eeae6[_0x4d1d('0x3e')]);_0x18b2fc['attributes']=_[_0x4d1d('0x41')](_0x4eeae6[_0x4d1d('0x42')],qs[_0x4d1d('0x44')](_0x143e13[_0x4d1d('0x3e')]['fields']));_0x18b2fc[_0x4d1d('0x43')]=_0x18b2fc[_0x4d1d('0x43')][_0x4d1d('0x45')]?_0x18b2fc[_0x4d1d('0x43')]:_0x4eeae6[_0x4d1d('0x42')];if(_0x143e13[_0x4d1d('0x3e')]['includeAll']){_0x18b2fc['include']=[{'all':!![]}];}_0x18b2fc=_[_0x4d1d('0x4c')]({},_0x18b2fc,_0x143e13[_0x4d1d('0x4e')]);return db[_0x4d1d('0x39')][_0x4d1d('0x54')](_0x18b2fc)['then'](handleEntityNotFound(_0x4719da,null))['then'](respondWithResult(_0x4719da,null))[_0x4d1d('0x26')](handleError(_0x4719da,null));};exports[_0x4d1d('0x55')]=function(_0x382cc6,_0xbdc0e1,_0x15573a){var _0x12cc53;return db[_0x4d1d('0x39')][_0x4d1d('0x55')](_0x382cc6[_0x4d1d('0x56')],{'raw':!![]})[_0x4d1d('0x1d')](function(_0x1164a0){_0x12cc53=_0x1164a0;return db['VoiceContext'][_0x4d1d('0x57')]({'raw':!![]});})[_0x4d1d('0x1d')](function(_0x2537b1){var _0x1a1a96=fs[_0x4d1d('0x58')](path[_0x4d1d('0x59')](config[_0x4d1d('0x5a')],_0x4d1d('0x5b')),'utf8');var _0x108fcd=ejs[_0x4d1d('0x5c')](_0x1a1a96,{'contexts':_0x2537b1||[]});fs['writeFileSync'](_0x4d1d('0x5d'),_0x108fcd);})[_0x4d1d('0x1d')](function(){return respondWithRpcPromise(_0x4d1d('0x5e'),'create',{'module':_0x4d1d('0x5f')});})[_0x4d1d('0x1d')](function(){var _0x268ed3=_0x382cc6[_0x4d1d('0x60')][_0x4d1d('0x33')]({'plain':!![]});if(!_0x268ed3)throw new Error(_0x4d1d('0x61'));if(_0x268ed3['role']==='user'){var _0x2b049e=_0x12cc53['get']({'plain':!![]});return db[_0x4d1d('0x62')][_0x4d1d('0x54')]({'where':{'name':_0x4d1d('0x34'),'userProfileId':_0x268ed3[_0x4d1d('0x63')]},'raw':!![]})[_0x4d1d('0x1d')](function(_0x4a5cb5){if(_0x4a5cb5&&_0x4a5cb5[_0x4d1d('0x64')]===0x0){return db[_0x4d1d('0x65')][_0x4d1d('0x55')]({'name':_0x2b049e['name'],'resourceId':_0x2b049e['id'],'type':_0x4a5cb5[_0x4d1d('0x36')],'sectionId':_0x4a5cb5['id']},{})[_0x4d1d('0x1d')](function(){return _0x12cc53;});}else{return _0x12cc53;}})[_0x4d1d('0x26')](function(_0x1c606c){logger[_0x4d1d('0x22')](_0x4d1d('0x66'),_0x1c606c);throw _0x1c606c;});}return _0x12cc53;})[_0x4d1d('0x1d')](respondWithResult(_0xbdc0e1,0xc9))[_0x4d1d('0x26')](handleError(_0xbdc0e1,null));};exports['update']=function(_0x1c3190,_0x3ef776,_0x3eacb0){var _0x2ab3ef;return db[_0x4d1d('0x39')][_0x4d1d('0x54')]({'where':{'id':_0x1c3190[_0x4d1d('0x53')]['id']}})[_0x4d1d('0x1d')](handleEntityNotFound(_0x3ef776,null))[_0x4d1d('0x1d')](saveUpdates(_0x1c3190['body'],null))['then'](function(_0x534db6){if(_0x534db6){_0x2ab3ef=_0x534db6;return db[_0x4d1d('0x39')]['findAll']({'raw':!![]});}})[_0x4d1d('0x1d')](function(_0x4e9241){var _0x129b2b=fs[_0x4d1d('0x58')](path[_0x4d1d('0x59')](config[_0x4d1d('0x5a')],_0x4d1d('0x5b')),_0x4d1d('0x67'));var _0x5130fe=ejs[_0x4d1d('0x5c')](_0x129b2b,{'contexts':_0x4e9241||[]});fs[_0x4d1d('0x68')]('/etc/asterisk/extensions_xcally_contexts.conf',_0x5130fe);})['then'](function(){return respondWithRpcPromise(_0x4d1d('0x5e'),'update',{'module':_0x4d1d('0x5f')});})[_0x4d1d('0x1d')](function(){return _0x2ab3ef;})[_0x4d1d('0x1d')](respondWithResult(_0x3ef776,null))['catch'](handleError(_0x3ef776,null));};exports[_0x4d1d('0x32')]=function(_0x25121f,_0xe7c037,_0x130036){var _0x4e61c7;return db[_0x4d1d('0x39')][_0x4d1d('0x54')]({'where':{'id':_0x25121f[_0x4d1d('0x53')]['id']}})[_0x4d1d('0x1d')](handleEntityNotFound(_0xe7c037,null))[_0x4d1d('0x1d')](removeEntity(_0xe7c037,null))[_0x4d1d('0x1d')](function(){return db[_0x4d1d('0x39')][_0x4d1d('0x57')]({'raw':!![]});})[_0x4d1d('0x1d')](function(_0x1e7674){var _0x331ce5=fs[_0x4d1d('0x58')](path['join'](config['root'],_0x4d1d('0x5b')),'utf8');var _0x32745e=ejs[_0x4d1d('0x5c')](_0x331ce5,{'contexts':_0x1e7674});fs[_0x4d1d('0x68')](_0x4d1d('0x5d'),_0x32745e);return respondWithRpcPromise(_0x4d1d('0x5e'),_0x4d1d('0x32'),{'module':_0x4d1d('0x5f')});})['catch'](handleError(_0xe7c037,null));};