Built motion from commit (unavailable).|2.3.91
[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 _0xd702=['client','http','request','info','VoiceContext,\x20%s,\x20%s','request\x20sent','debug','VoiceContext,\x20%s,\x20%s,\x20%s','stringify','error','code','message','result','catch','sendStatus','status','json','count','offset','limit','set','Content-Range','reject','update','then','Contexts','UserProfileResource','destroy','stack','name','send','rawAttributes','keys','query','filters','intersection','model','attributes','fields','hasOwnProperty','order','sort','where','pick','filter','type','key','VIRTUAL','field','options','VoiceContext','include','show','length','merge','find','create','body','findAll','join','root','server/files/templates/context.ejs','render','writeFileSync','Reload','user','get','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','params','readFileSync','utf8','/etc/asterisk/extensions_xcally_contexts.conf','chan_sip.so','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','mustache','util','sox','ejs','lodash','crypto','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../config/license/hardware','../../components/parsers/qs','../../config/logger','api','../../config/environment','jayson/promise'];(function(_0x135ee0,_0x483056){var _0x1e6228=function(_0x55a241){while(--_0x55a241){_0x135ee0['push'](_0x135ee0['shift']());}};_0x1e6228(++_0x483056);}(_0xd702,0x117));var _0x2d70=function(_0xb12309,_0x57467c){_0xb12309=_0xb12309-0x0;var _0x57c3b9=_0xd702[_0xb12309];return _0x57c3b9;};'use strict';var pdf=require(_0x2d70('0x0'));var emlformat=require(_0x2d70('0x1'));var rimraf=require(_0x2d70('0x2'));var zipdir=require(_0x2d70('0x3'));var jsonpatch=require(_0x2d70('0x4'));var rp=require(_0x2d70('0x5'));var moment=require('moment');var BPromise=require(_0x2d70('0x6'));var Mustache=require(_0x2d70('0x7'));var util=require(_0x2d70('0x8'));var path=require('path');var sox=require(_0x2d70('0x9'));var csv=require('to-csv');var ejs=require(_0x2d70('0xa'));var fs=require('fs');var _=require(_0x2d70('0xb'));var squel=require('squel');var crypto=require(_0x2d70('0xc'));var jsforce=require(_0x2d70('0xd'));var deskjs=require(_0x2d70('0xe'));var toCsv=require('to-csv');var querystring=require(_0x2d70('0xf'));var Papa=require(_0x2d70('0x10'));var authService=require(_0x2d70('0x11'));var hardwareService=require(_0x2d70('0x12'));var Redis=require('ioredis');var qs=require(_0x2d70('0x13'));var logger=require(_0x2d70('0x14'))(_0x2d70('0x15'));var utils=require('../../config/utils');var config=require(_0x2d70('0x16'));var db=require('../../mysqldb')['db'];var jayson=require(_0x2d70('0x17'));var client=jayson[_0x2d70('0x18')][_0x2d70('0x19')]({'port':0x232a});function respondWithRpcPromise(_0x26bed,_0x192fbb,_0x7fceee,_0x10b8fc){return new BPromise(function(_0x5904fe,_0x3f1f24){var _0x6c4ffb=_0x10b8fc||client;return _0x6c4ffb[_0x2d70('0x1a')](_0x26bed,_0x7fceee)['then'](function(_0x233d0b){logger[_0x2d70('0x1b')](_0x2d70('0x1c'),_0x192fbb,_0x2d70('0x1d'));logger[_0x2d70('0x1e')](_0x2d70('0x1f'),_0x192fbb,_0x2d70('0x1d'),JSON[_0x2d70('0x20')](_0x233d0b));if(_0x233d0b[_0x2d70('0x21')]){if(_0x233d0b[_0x2d70('0x21')][_0x2d70('0x22')]===0x1f4){logger[_0x2d70('0x21')](_0x2d70('0x1c'),_0x192fbb,_0x233d0b[_0x2d70('0x21')]['message']);return _0x3f1f24(_0x233d0b[_0x2d70('0x21')][_0x2d70('0x23')]);}logger[_0x2d70('0x21')](_0x2d70('0x1c'),_0x192fbb,_0x233d0b['error'][_0x2d70('0x23')]);return _0x5904fe(_0x233d0b[_0x2d70('0x21')][_0x2d70('0x23')]);}else{logger[_0x2d70('0x1b')](_0x2d70('0x1c'),_0x192fbb,_0x2d70('0x1d'));_0x5904fe(_0x233d0b[_0x2d70('0x24')][_0x2d70('0x23')]);}})[_0x2d70('0x25')](function(_0x2438fe){logger[_0x2d70('0x21')](_0x2d70('0x1c'),_0x192fbb,_0x2438fe);_0x3f1f24(_0x2438fe);});});}function respondWithStatusCode(_0x24a6d9,_0x5ba7ef){_0x5ba7ef=_0x5ba7ef||0xcc;return function(_0x630fd4){if(_0x630fd4){return _0x24a6d9[_0x2d70('0x26')](_0x5ba7ef);}return _0x24a6d9[_0x2d70('0x27')](_0x5ba7ef)['end']();};}function respondWithResult(_0xd0988f,_0xc97185){_0xc97185=_0xc97185||0xc8;return function(_0x31fe1c){if(_0x31fe1c){return _0xd0988f['status'](_0xc97185)[_0x2d70('0x28')](_0x31fe1c);}};}function respondWithFilteredResult(_0x1420e,_0x2fcd82){return function(_0x5cedd8){if(_0x5cedd8){var _0x48bf69=_0x5cedd8[_0x2d70('0x29')],_0x3261af=_0x2fcd82[_0x2d70('0x2a')],_0x34e138=_0x2fcd82['offset']+_0x2fcd82[_0x2d70('0x2b')],_0x3a7d18;if(_0x34e138>=_0x48bf69){_0x34e138=_0x48bf69;_0x3a7d18=0xc8;}else{_0x3a7d18=0xce;}_0x1420e[_0x2d70('0x27')](_0x3a7d18);return _0x1420e[_0x2d70('0x2c')](_0x2d70('0x2d'),_0x3261af+'-'+_0x34e138+'/'+_0x48bf69)[_0x2d70('0x28')](_0x5cedd8);}return null;};}function patchUpdates(_0x59c3be){return function(_0x25939c){try{jsonpatch['apply'](_0x25939c,_0x59c3be,!![]);}catch(_0x574123){return BPromise[_0x2d70('0x2e')](_0x574123);}return _0x25939c['save']();};}function saveUpdates(_0x325fda,_0x3408b6){return function(_0x48d62a){if(_0x48d62a){return _0x48d62a[_0x2d70('0x2f')](_0x325fda)[_0x2d70('0x30')](function(_0x4220fd){return _0x4220fd;});}return null;};}function removeEntity(_0x4285fa,_0x828b94){return function(_0x28385b){if(_0x28385b){return _0x28385b['destroy']()['then'](function(){var _0x591792=_0x28385b['get']({'plain':!![]});var _0x1cd95c=_0x2d70('0x31');return db[_0x2d70('0x32')][_0x2d70('0x33')]({'where':{'type':_0x1cd95c,'resourceId':_0x591792['id']}})[_0x2d70('0x30')](function(){return _0x28385b;});})[_0x2d70('0x30')](function(){_0x4285fa[_0x2d70('0x27')](0xcc)['end']();});}};}function handleEntityNotFound(_0x50fffc,_0x12285f){return function(_0xf838f9){if(!_0xf838f9){_0x50fffc[_0x2d70('0x26')](0x194);}return _0xf838f9;};}function handleError(_0x22ea3d,_0x410cad){_0x410cad=_0x410cad||0x1f4;return function(_0x309885){logger[_0x2d70('0x21')](_0x309885[_0x2d70('0x34')]);if(_0x309885['name']){delete _0x309885[_0x2d70('0x35')];}_0x22ea3d[_0x2d70('0x27')](_0x410cad)[_0x2d70('0x36')](_0x309885);};}exports['index']=function(_0x3cb1d2,_0x92d3fa){var _0x310dd2={},_0x174ddc={},_0x32137b={'count':0x0,'rows':[]};var _0x3148c6=db['VoiceContext'][_0x2d70('0x37')];_0x174ddc['model']=_[_0x2d70('0x38')](_0x3148c6);_0x174ddc[_0x2d70('0x39')]=_[_0x2d70('0x38')](_0x3cb1d2[_0x2d70('0x39')]);_0x174ddc[_0x2d70('0x3a')]=_[_0x2d70('0x3b')](_0x174ddc[_0x2d70('0x3c')],_0x174ddc[_0x2d70('0x39')]);_0x310dd2[_0x2d70('0x3d')]=_['intersection'](_0x174ddc[_0x2d70('0x3c')],qs['fields'](_0x3cb1d2[_0x2d70('0x39')][_0x2d70('0x3e')]));_0x310dd2[_0x2d70('0x3d')]=_0x310dd2[_0x2d70('0x3d')]['length']?_0x310dd2[_0x2d70('0x3d')]:_0x174ddc[_0x2d70('0x3c')];if(!_0x3cb1d2[_0x2d70('0x39')][_0x2d70('0x3f')]('nolimit')){_0x310dd2[_0x2d70('0x2b')]=qs['limit'](_0x3cb1d2['query'][_0x2d70('0x2b')]);_0x310dd2[_0x2d70('0x2a')]=qs[_0x2d70('0x2a')](_0x3cb1d2['query']['offset']);}_0x310dd2[_0x2d70('0x40')]=qs[_0x2d70('0x41')](_0x3cb1d2[_0x2d70('0x39')][_0x2d70('0x41')]);_0x310dd2[_0x2d70('0x42')]=qs[_0x2d70('0x3a')](_[_0x2d70('0x43')](_0x3cb1d2[_0x2d70('0x39')],_0x174ddc[_0x2d70('0x3a')]));if(_0x3cb1d2[_0x2d70('0x39')][_0x2d70('0x44')]){_0x310dd2[_0x2d70('0x42')]=_['merge'](_0x310dd2[_0x2d70('0x42')],{'$or':_['map'](_0x3148c6,function(_0x5e9406){if(_0x5e9406[_0x2d70('0x45')][_0x2d70('0x46')]!==_0x2d70('0x47')){var _0xf04c4b={};_0xf04c4b[_0x5e9406[_0x2d70('0x48')]]={'$like':'%'+_0x3cb1d2[_0x2d70('0x39')][_0x2d70('0x44')]+'%'};return _0xf04c4b;}})});}_0x310dd2=_['merge']({},_0x310dd2,_0x3cb1d2[_0x2d70('0x49')]);var _0x45a053={'where':_0x310dd2['where']};return db[_0x2d70('0x4a')][_0x2d70('0x29')](_0x45a053)[_0x2d70('0x30')](function(_0x2908f4){_0x32137b[_0x2d70('0x29')]=_0x2908f4;if(_0x3cb1d2[_0x2d70('0x39')]['includeAll']){_0x310dd2[_0x2d70('0x4b')]=[{'all':!![]}];}return db[_0x2d70('0x4a')]['findAll'](_0x310dd2);})['then'](function(_0x382c16){_0x32137b['rows']=_0x382c16;return _0x32137b;})[_0x2d70('0x30')](respondWithFilteredResult(_0x92d3fa,_0x310dd2))[_0x2d70('0x25')](handleError(_0x92d3fa,null));};exports[_0x2d70('0x4c')]=function(_0x414f64,_0x1ed231){var _0x42308b={'raw':![],'where':{'id':_0x414f64['params']['id']}},_0x417a09={};_0x417a09[_0x2d70('0x3c')]=_[_0x2d70('0x38')](db['VoiceContext'][_0x2d70('0x37')]);_0x417a09[_0x2d70('0x39')]=_[_0x2d70('0x38')](_0x414f64['query']);_0x417a09[_0x2d70('0x3a')]=_['intersection'](_0x417a09[_0x2d70('0x3c')],_0x417a09[_0x2d70('0x39')]);_0x42308b[_0x2d70('0x3d')]=_[_0x2d70('0x3b')](_0x417a09[_0x2d70('0x3c')],qs[_0x2d70('0x3e')](_0x414f64[_0x2d70('0x39')][_0x2d70('0x3e')]));_0x42308b[_0x2d70('0x3d')]=_0x42308b[_0x2d70('0x3d')][_0x2d70('0x4d')]?_0x42308b[_0x2d70('0x3d')]:_0x417a09[_0x2d70('0x3c')];if(_0x414f64[_0x2d70('0x39')]['includeAll']){_0x42308b[_0x2d70('0x4b')]=[{'all':!![]}];}_0x42308b=_[_0x2d70('0x4e')]({},_0x42308b,_0x414f64[_0x2d70('0x49')]);return db[_0x2d70('0x4a')][_0x2d70('0x4f')](_0x42308b)['then'](handleEntityNotFound(_0x1ed231,null))['then'](respondWithResult(_0x1ed231,null))[_0x2d70('0x25')](handleError(_0x1ed231,null));};exports['create']=function(_0x51afcc,_0x49b05d,_0x1207cd){var _0x35d64b;return db['VoiceContext'][_0x2d70('0x50')](_0x51afcc[_0x2d70('0x51')],{'raw':!![]})[_0x2d70('0x30')](function(_0x3232df){_0x35d64b=_0x3232df;return db[_0x2d70('0x4a')][_0x2d70('0x52')]({'raw':!![]});})[_0x2d70('0x30')](function(_0x2a255c){var _0x38be0e=fs['readFileSync'](path[_0x2d70('0x53')](config[_0x2d70('0x54')],_0x2d70('0x55')),'utf8');var _0x363e7a=ejs[_0x2d70('0x56')](_0x38be0e,{'contexts':_0x2a255c||[]});fs[_0x2d70('0x57')]('/etc/asterisk/extensions_xcally_contexts.conf',_0x363e7a);})[_0x2d70('0x30')](function(){return respondWithRpcPromise(_0x2d70('0x58'),_0x2d70('0x50'),{'module':'chan_sip.so'});})['then'](function(){var _0x5350bd=_0x51afcc[_0x2d70('0x59')][_0x2d70('0x5a')]({'plain':!![]});if(!_0x5350bd)throw new Error(_0x2d70('0x5b'));if(_0x5350bd[_0x2d70('0x5c')]===_0x2d70('0x59')){var _0x441f9d=_0x35d64b[_0x2d70('0x5a')]({'plain':!![]});return db[_0x2d70('0x5d')]['find']({'where':{'name':_0x2d70('0x31'),'userProfileId':_0x5350bd[_0x2d70('0x5e')]},'raw':!![]})[_0x2d70('0x30')](function(_0x61ddaf){if(_0x61ddaf&&_0x61ddaf['autoAssociation']===0x0){return db[_0x2d70('0x32')]['create']({'name':_0x441f9d[_0x2d70('0x35')],'resourceId':_0x441f9d['id'],'type':_0x61ddaf[_0x2d70('0x35')],'sectionId':_0x61ddaf['id']},{})[_0x2d70('0x30')](function(){return _0x35d64b;});}else{return _0x35d64b;}})['catch'](function(_0x293f5f){logger[_0x2d70('0x21')](_0x2d70('0x5f'),_0x293f5f);throw _0x293f5f;});}return _0x35d64b;})[_0x2d70('0x30')](respondWithResult(_0x49b05d,0xc9))['catch'](handleError(_0x49b05d,null));};exports[_0x2d70('0x2f')]=function(_0x4a02f9,_0x299fba,_0x36d74f){var _0x16e1cc;return db['VoiceContext'][_0x2d70('0x4f')]({'where':{'id':_0x4a02f9[_0x2d70('0x60')]['id']}})['then'](handleEntityNotFound(_0x299fba,null))[_0x2d70('0x30')](saveUpdates(_0x4a02f9[_0x2d70('0x51')],null))[_0x2d70('0x30')](function(_0x20e7b7){if(_0x20e7b7){_0x16e1cc=_0x20e7b7;return db['VoiceContext'][_0x2d70('0x52')]({'raw':!![]});}})['then'](function(_0x123e06){var _0x54b941=fs[_0x2d70('0x61')](path[_0x2d70('0x53')](config[_0x2d70('0x54')],_0x2d70('0x55')),_0x2d70('0x62'));var _0x3ef8e6=ejs[_0x2d70('0x56')](_0x54b941,{'contexts':_0x123e06||[]});fs[_0x2d70('0x57')](_0x2d70('0x63'),_0x3ef8e6);})[_0x2d70('0x30')](function(){return respondWithRpcPromise(_0x2d70('0x58'),_0x2d70('0x2f'),{'module':_0x2d70('0x64')});})[_0x2d70('0x30')](function(){return _0x16e1cc;})[_0x2d70('0x30')](respondWithResult(_0x299fba,null))['catch'](handleError(_0x299fba,null));};exports[_0x2d70('0x33')]=function(_0x699136,_0x4dd78d,_0x5c7d1c){var _0xe12b95;return db[_0x2d70('0x4a')][_0x2d70('0x4f')]({'where':{'id':_0x699136['params']['id']}})['then'](handleEntityNotFound(_0x4dd78d,null))[_0x2d70('0x30')](removeEntity(_0x4dd78d,null))[_0x2d70('0x30')](function(){return db['VoiceContext']['findAll']({'raw':!![]});})['then'](function(_0x20c2f9){var _0xecb6ba=fs['readFileSync'](path[_0x2d70('0x53')](config[_0x2d70('0x54')],_0x2d70('0x55')),_0x2d70('0x62'));var _0x2a07d3=ejs[_0x2d70('0x56')](_0xecb6ba,{'contexts':_0x20c2f9});fs[_0x2d70('0x57')](_0x2d70('0x63'),_0x2a07d3);return respondWithRpcPromise(_0x2d70('0x58'),'destroy',{'module':_0x2d70('0x64')});})[_0x2d70('0x25')](handleError(_0x4dd78d,null));};