82d3a2789598932b9c0a5de3b4b6aecef845d76f
[motion2.git] / server / api / voicePrefix / voicePrefix.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 _0x4e2e=['from','team_has_voice_prefixes','join','user_has_teams','clone','ut.UserId\x20=\x20?','toString','QueryTypes','SELECT','TeamId','includes','all','union','compact','isEmpty','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','util','path','sox','to-csv','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','redis','defaults','socket.io-emitter','./voicePrefix.socket','register','sendStatus','status','end','json','offset','undefined','limit','count','set','Content-Range','apply','reject','update','then','destroy','VoicePrefixes','UserProfileResource','stack','name','send','index','VoicePrefix','rawAttributes','fieldName','type','key','map','query','keys','filters','intersection','model','attributes','fields','length','nolimit','order','sort','where','pick','filter','merge','findAll','rows','show','params','include','options','find','describe','create','sequelize','transaction','body','VoiceExtension','VoiceExtensionId','user','get','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','catch','error','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','context','from-sip','exten','app','system','priority','appdata','NoOp','Voice\x20Prefix','VoicePrefixId','bulkCreate','Extensions\x20creation\x20failed','prefix','push','Set','CDR(prefix)=','PREFIX-CALLERIDALL=','callerIdAll','No\x20callerid\x20available','goto','${EXTEN:','charAt','system-','findById','addAgents','ids','omit','emit','userVoicePrefix:save','removeAgents','isArray','userVoicePrefix:remove','getAgents','findOne','User','hasOwnProperty','getTeams','addTeams','Team','online','interface','Agents','each','upsert','UserVoicePrefix','findOrCreate','forEach','removeTeams','select','field','tq.TeamId'];(function(_0xb7e04c,_0x5c0d2e){var _0x51d4c5=function(_0x322442){while(--_0x322442){_0xb7e04c['push'](_0xb7e04c['shift']());}};_0x51d4c5(++_0x5c0d2e);}(_0x4e2e,0x1f2));var _0xe4e2=function(_0x59eb89,_0x3f928c){_0x59eb89=_0x59eb89-0x0;var _0x3629ef=_0x4e2e[_0x59eb89];return _0x3629ef;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xe4e2('0x0'));var zipdir=require(_0xe4e2('0x1'));var jsonpatch=require(_0xe4e2('0x2'));var rp=require(_0xe4e2('0x3'));var moment=require(_0xe4e2('0x4'));var BPromise=require(_0xe4e2('0x5'));var Mustache=require('mustache');var util=require(_0xe4e2('0x6'));var path=require(_0xe4e2('0x7'));var sox=require(_0xe4e2('0x8'));var csv=require(_0xe4e2('0x9'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xe4e2('0xa'));var _=require(_0xe4e2('0xb'));var squel=require(_0xe4e2('0xc'));var crypto=require(_0xe4e2('0xd'));var jsforce=require(_0xe4e2('0xe'));var deskjs=require(_0xe4e2('0xf'));var toCsv=require(_0xe4e2('0x9'));var querystring=require(_0xe4e2('0x10'));var Papa=require('papaparse');var Redis=require(_0xe4e2('0x11'));var authService=require(_0xe4e2('0x12'));var qs=require(_0xe4e2('0x13'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xe4e2('0x14'));var logger=require(_0xe4e2('0x15'))(_0xe4e2('0x16'));var utils=require(_0xe4e2('0x17'));var config=require(_0xe4e2('0x18'));var licenseUtil=require('../../config/license/util');var db=require(_0xe4e2('0x19'))['db'];config[_0xe4e2('0x1a')]=_[_0xe4e2('0x1b')](config[_0xe4e2('0x1a')],{'host':'localhost','port':0x18eb});var socket=require(_0xe4e2('0x1c'))(new Redis(config[_0xe4e2('0x1a')]));require(_0xe4e2('0x1d'))[_0xe4e2('0x1e')](socket);function respondWithStatusCode(_0x202486,_0x50678d){_0x50678d=_0x50678d||0xcc;return function(_0x58e012){if(_0x58e012){return _0x202486[_0xe4e2('0x1f')](_0x50678d);}return _0x202486[_0xe4e2('0x20')](_0x50678d)[_0xe4e2('0x21')]();};}function respondWithResult(_0x28ee12,_0x217ea5){_0x217ea5=_0x217ea5||0xc8;return function(_0x54107a){if(_0x54107a){return _0x28ee12[_0xe4e2('0x20')](_0x217ea5)[_0xe4e2('0x22')](_0x54107a);}};}function respondWithFilteredResult(_0x340935,_0x4fe2f2){return function(_0x196f16){if(_0x196f16){var _0x54c80b=typeof _0x4fe2f2[_0xe4e2('0x23')]===_0xe4e2('0x24')&&typeof _0x4fe2f2[_0xe4e2('0x25')]===_0xe4e2('0x24');var _0x3dfbdf=_0x196f16[_0xe4e2('0x26')];var _0x339d00=_0x54c80b?0x0:_0x4fe2f2[_0xe4e2('0x23')];var _0x4769dd=_0x54c80b?_0x196f16[_0xe4e2('0x26')]:_0x4fe2f2['offset']+_0x4fe2f2[_0xe4e2('0x25')];var _0x2e7ecd;if(_0x4769dd>=_0x3dfbdf){_0x4769dd=_0x3dfbdf;_0x2e7ecd=0xc8;}else{_0x2e7ecd=0xce;}_0x340935[_0xe4e2('0x20')](_0x2e7ecd);return _0x340935[_0xe4e2('0x27')](_0xe4e2('0x28'),_0x339d00+'-'+_0x4769dd+'/'+_0x3dfbdf)[_0xe4e2('0x22')](_0x196f16);}return null;};}function patchUpdates(_0x16f14b){return function(_0x51c67e){try{jsonpatch[_0xe4e2('0x29')](_0x51c67e,_0x16f14b,!![]);}catch(_0x2ab435){return BPromise[_0xe4e2('0x2a')](_0x2ab435);}return _0x51c67e['save']();};}function saveUpdates(_0x353030,_0x12ad33){return function(_0x598fa3){if(_0x598fa3){return _0x598fa3[_0xe4e2('0x2b')](_0x353030)[_0xe4e2('0x2c')](function(_0x29143c){return _0x29143c;});}return null;};}function removeEntity(_0x3f5265,_0x249b7e){return function(_0x5887c9){if(_0x5887c9){return _0x5887c9[_0xe4e2('0x2d')]()[_0xe4e2('0x2c')](function(){var _0x1f6d1f=_0x5887c9['get']({'plain':!![]});var _0x3a31b8=_0xe4e2('0x2e');return db[_0xe4e2('0x2f')]['destroy']({'where':{'type':_0x3a31b8,'resourceId':_0x1f6d1f['id']}})[_0xe4e2('0x2c')](function(){return _0x5887c9;});})['then'](function(){_0x3f5265[_0xe4e2('0x20')](0xcc)[_0xe4e2('0x21')]();});}};}function handleEntityNotFound(_0x52c849,_0x46926a){return function(_0x18e2e5){if(!_0x18e2e5){_0x52c849[_0xe4e2('0x1f')](0x194);}return _0x18e2e5;};}function handleError(_0x41500b,_0x1f7bcc){_0x1f7bcc=_0x1f7bcc||0x1f4;return function(_0x4d33de){logger['error'](_0x4d33de[_0xe4e2('0x30')]);if(_0x4d33de[_0xe4e2('0x31')]){delete _0x4d33de[_0xe4e2('0x31')];}_0x41500b[_0xe4e2('0x20')](_0x1f7bcc)[_0xe4e2('0x32')](_0x4d33de);};}exports[_0xe4e2('0x33')]=function(_0x1c7f9a,_0x40569e){var _0x37dec8={},_0x59eb={},_0x1c87b0={'count':0x0,'rows':[]};var _0x3fb693=_['map'](db[_0xe4e2('0x34')][_0xe4e2('0x35')],function(_0xe0846a){return{'name':_0xe0846a[_0xe4e2('0x36')],'type':_0xe0846a[_0xe4e2('0x37')][_0xe4e2('0x38')]};});_0x59eb['model']=_[_0xe4e2('0x39')](_0x3fb693,_0xe4e2('0x31'));_0x59eb[_0xe4e2('0x3a')]=_[_0xe4e2('0x3b')](_0x1c7f9a[_0xe4e2('0x3a')]);_0x59eb[_0xe4e2('0x3c')]=_[_0xe4e2('0x3d')](_0x59eb[_0xe4e2('0x3e')],_0x59eb[_0xe4e2('0x3a')]);_0x37dec8[_0xe4e2('0x3f')]=_[_0xe4e2('0x3d')](_0x59eb['model'],qs[_0xe4e2('0x40')](_0x1c7f9a['query'][_0xe4e2('0x40')]));_0x37dec8[_0xe4e2('0x3f')]=_0x37dec8['attributes'][_0xe4e2('0x41')]?_0x37dec8[_0xe4e2('0x3f')]:_0x59eb[_0xe4e2('0x3e')];if(!_0x1c7f9a[_0xe4e2('0x3a')]['hasOwnProperty'](_0xe4e2('0x42'))){_0x37dec8['limit']=qs[_0xe4e2('0x25')](_0x1c7f9a['query'][_0xe4e2('0x25')]);_0x37dec8[_0xe4e2('0x23')]=qs[_0xe4e2('0x23')](_0x1c7f9a['query'][_0xe4e2('0x23')]);}_0x37dec8[_0xe4e2('0x43')]=qs['sort'](_0x1c7f9a[_0xe4e2('0x3a')][_0xe4e2('0x44')]);_0x37dec8[_0xe4e2('0x45')]=qs[_0xe4e2('0x3c')](_[_0xe4e2('0x46')](_0x1c7f9a[_0xe4e2('0x3a')],_0x59eb[_0xe4e2('0x3c')]),_0x3fb693);if(_0x1c7f9a[_0xe4e2('0x3a')][_0xe4e2('0x47')]){_0x37dec8['where']=_['merge'](_0x37dec8[_0xe4e2('0x45')],{'$or':_[_0xe4e2('0x39')](_0x3fb693,function(_0x5d05a4){if(_0x5d05a4[_0xe4e2('0x37')]!=='VIRTUAL'){var _0x4d8a2d={};_0x4d8a2d[_0x5d05a4[_0xe4e2('0x31')]]={'$like':'%'+_0x1c7f9a[_0xe4e2('0x3a')][_0xe4e2('0x47')]+'%'};return _0x4d8a2d;}})});}_0x37dec8=_[_0xe4e2('0x48')]({},_0x37dec8,_0x1c7f9a['options']);var _0x45e88c={'where':_0x37dec8[_0xe4e2('0x45')]};return db[_0xe4e2('0x34')]['count'](_0x45e88c)[_0xe4e2('0x2c')](function(_0x4789cf){_0x1c87b0[_0xe4e2('0x26')]=_0x4789cf;if(_0x1c7f9a[_0xe4e2('0x3a')]['includeAll']){_0x37dec8['include']=[{'all':!![]}];}return db[_0xe4e2('0x34')][_0xe4e2('0x49')](_0x37dec8);})[_0xe4e2('0x2c')](function(_0x5c29c3){_0x1c87b0[_0xe4e2('0x4a')]=_0x5c29c3;return _0x1c87b0;})[_0xe4e2('0x2c')](respondWithFilteredResult(_0x40569e,_0x37dec8))['catch'](handleError(_0x40569e,null));};exports[_0xe4e2('0x4b')]=function(_0x3d55f9,_0x1538bd){var _0x17f30f={'raw':![],'where':{'id':_0x3d55f9[_0xe4e2('0x4c')]['id']}},_0x4ed88f={};_0x4ed88f[_0xe4e2('0x3e')]=_[_0xe4e2('0x3b')](db['VoicePrefix'][_0xe4e2('0x35')]);_0x4ed88f[_0xe4e2('0x3a')]=_['keys'](_0x3d55f9['query']);_0x4ed88f[_0xe4e2('0x3c')]=_[_0xe4e2('0x3d')](_0x4ed88f[_0xe4e2('0x3e')],_0x4ed88f['query']);_0x17f30f[_0xe4e2('0x3f')]=_[_0xe4e2('0x3d')](_0x4ed88f[_0xe4e2('0x3e')],qs[_0xe4e2('0x40')](_0x3d55f9['query'][_0xe4e2('0x40')]));_0x17f30f[_0xe4e2('0x3f')]=_0x17f30f[_0xe4e2('0x3f')][_0xe4e2('0x41')]?_0x17f30f['attributes']:_0x4ed88f[_0xe4e2('0x3e')];if(_0x3d55f9[_0xe4e2('0x3a')]['includeAll']){_0x17f30f[_0xe4e2('0x4d')]=[{'all':!![]}];}_0x17f30f=_[_0xe4e2('0x48')]({},_0x17f30f,_0x3d55f9[_0xe4e2('0x4e')]);return db['VoicePrefix'][_0xe4e2('0x4f')](_0x17f30f)[_0xe4e2('0x2c')](handleEntityNotFound(_0x1538bd,null))[_0xe4e2('0x2c')](respondWithResult(_0x1538bd,null))['catch'](handleError(_0x1538bd,null));};exports['destroy']=function(_0xccf95e,_0x4c6253){return db[_0xe4e2('0x34')]['find']({'where':{'id':_0xccf95e[_0xe4e2('0x4c')]['id']}})[_0xe4e2('0x2c')](handleEntityNotFound(_0x4c6253,null))[_0xe4e2('0x2c')](removeEntity(_0x4c6253,null))['catch'](handleError(_0x4c6253,null));};exports[_0xe4e2('0x50')]=function(_0x504496,_0x11bd63){return db[_0xe4e2('0x34')]['describe']()[_0xe4e2('0x2c')](respondWithResult(_0x11bd63,null))['catch'](handleError(_0x11bd63,null));};exports[_0xe4e2('0x51')]=function(_0xf0885,_0x53d31d){var _0x297186;return db[_0xe4e2('0x52')][_0xe4e2('0x53')](function(_0x3e540d){return db[_0xe4e2('0x34')][_0xe4e2('0x51')](_0xf0885[_0xe4e2('0x54')],{'transaction':_0x3e540d})[_0xe4e2('0x2c')](function(_0x382d1b){_0x297186=_0x382d1b['get']({'plain':!![]});return db[_0xe4e2('0x55')][_0xe4e2('0x4f')]({'where':{'id':_0x297186[_0xe4e2('0x56')]},'raw':!![]})[_0xe4e2('0x2c')](function(_0x2b0885){return createVoicePrefixExtensions(_0x297186,_0x2b0885,_0x3e540d);});});})[_0xe4e2('0x2c')](function(){var _0x1e2012=_0xf0885[_0xe4e2('0x57')][_0xe4e2('0x58')]({'plain':!![]});if(!_0x1e2012)throw new Error(_0xe4e2('0x59'));if(_0x1e2012[_0xe4e2('0x5a')]==='user'){var _0x17a350=_0x297186;return db[_0xe4e2('0x5b')][_0xe4e2('0x4f')]({'where':{'name':_0xe4e2('0x2e'),'userProfileId':_0x1e2012['userProfileId']},'raw':!![]})[_0xe4e2('0x2c')](function(_0x1250a2){if(_0x1250a2&&_0x1250a2['autoAssociation']===0x0){return db[_0xe4e2('0x2f')][_0xe4e2('0x51')]({'name':_0x17a350[_0xe4e2('0x31')],'resourceId':_0x17a350['id'],'type':_0x1250a2[_0xe4e2('0x31')],'sectionId':_0x1250a2['id']},{})['then'](function(){return _0x297186;});}else{return _0x297186;}})[_0xe4e2('0x5c')](function(_0x5c9d88){logger[_0xe4e2('0x5d')](_0xe4e2('0x5e'),_0x5c9d88);throw _0x5c9d88;});}return _0x297186;})[_0xe4e2('0x2c')](respondWithResult(_0x53d31d,null))[_0xe4e2('0x5c')](handleError(_0x53d31d,null));};function Extension(_0x2cc813,_0x26ab38,_0x467cec,_0x33c5f4){this[_0xe4e2('0x5f')]=_0xe4e2('0x60');this[_0xe4e2('0x61')]=_0x2cc813;this[_0xe4e2('0x62')]=_0x467cec;this['type']=_0xe4e2('0x63');this['description']='Voice\x20Prefix\x20Extension';this[_0xe4e2('0x64')]=_0x26ab38;this[_0xe4e2('0x65')]=_0x33c5f4;}function createVoicePrefixExtensions(_0xa27bd1,_0x5e4e16,_0x477acd){return new BPromise(function(_0x4b6dfc,_0xb9e975){var _0x9ba757=new Extension(formatPrefixName(_0xa27bd1['prefix']),0x1,_0xe4e2('0x66'),_0xe4e2('0x67'));_0x9ba757['VoicePrefixId']=_0xa27bd1['id'];return db[_0xe4e2('0x55')][_0xe4e2('0x51')](_0x9ba757,{'transaction':_0x477acd})['then'](function(_0x476533){var _0x2ad558=_0x476533[_0xe4e2('0x58')]({'plain':!![]});var _0x3f7be9=_['map'](addVoicePrefixExtensions(_0xa27bd1,_0x5e4e16),function(_0x22640a){_0x22640a[_0xe4e2('0x56')]=_0x2ad558['id'];_0x22640a[_0xe4e2('0x68')]=_0xa27bd1['id'];return _0x22640a;});return db[_0xe4e2('0x55')][_0xe4e2('0x69')](_0x3f7be9,{'transaction':_0x477acd})[_0xe4e2('0x2c')](function(_0x1ef7f8){if(!_0x1ef7f8){return _0xb9e975(_0xe4e2('0x6a'));}else{return _0x4b6dfc(_0x1ef7f8);}})[_0xe4e2('0x5c')](function(_0x593635){return _0xb9e975(_0x593635);});});;});};function addVoicePrefixExtensions(_0x59b1c0,_0x5cd517){var _0x39f59c=[];var _0x17d904=formatPrefixName(_0x59b1c0[_0xe4e2('0x6b')]);_0x39f59c[_0xe4e2('0x6c')](new Extension(_0x17d904,0x2,_0xe4e2('0x6d'),_0xe4e2('0x6e')+_0x59b1c0[_0xe4e2('0x31')]));if(_0x59b1c0['callerIdAll']){_0x39f59c[_0xe4e2('0x6c')](new Extension(_0x17d904,0x3,_0xe4e2('0x6d'),_0xe4e2('0x6f')+_0x59b1c0[_0xe4e2('0x70')]));}else{_0x39f59c[_0xe4e2('0x6c')](new Extension(_0x17d904,0x3,_0xe4e2('0x66'),_0xe4e2('0x71')));}_0x39f59c[_0xe4e2('0x6c')](new Extension(_0x17d904,0x4,_0xe4e2('0x72'),_0x5cd517[_0xe4e2('0x5f')]+','+_0xe4e2('0x73')+(0x8+_0x59b1c0[_0xe4e2('0x31')][_0xe4e2('0x41')])+'}'+','+0x1));return _0x39f59c;}function formatPrefixName(_0x2ad8d1){var _0x3dde87='_';for(var _0x51d58d=0x0;_0x51d58d<_0x2ad8d1[_0xe4e2('0x41')];_0x51d58d++){if(_0x2ad8d1[_0xe4e2('0x74')](_0x51d58d)=='-'){_0x3dde87+=_0x2ad8d1[_0xe4e2('0x74')](_0x51d58d);}else{_0x3dde87+='['+_0x2ad8d1[_0xe4e2('0x74')](_0x51d58d)+']';}}_0x3dde87+='.';return _0x3dde87;}exports[_0xe4e2('0x2b')]=function(_0x26f90d,_0x26b31a,_0x3f40f8){var _0x134eec=_0x26f90d[_0xe4e2('0x54')];_0x134eec['prefix']=_0xe4e2('0x75')+_0x134eec[_0xe4e2('0x31')]+'-';return db[_0xe4e2('0x52')][_0xe4e2('0x53')](function(_0x24859b){return db[_0xe4e2('0x34')][_0xe4e2('0x2b')](_0x134eec,{'where':{'id':_0x134eec['id']},'transaction':_0x24859b})[_0xe4e2('0x2c')](function(){return db['VoiceExtension'][_0xe4e2('0x2d')]({'where':{'VoicePrefixId':_0x134eec['id']},'transaction':_0x24859b})[_0xe4e2('0x2c')](function(){return db[_0xe4e2('0x55')][_0xe4e2('0x4f')]({'where':{'id':_0x134eec[_0xe4e2('0x56')]},'raw':!![]})[_0xe4e2('0x2c')](function(_0x22f79e){return createVoicePrefixExtensions(_0x134eec,_0x22f79e,_0x24859b);});});});})[_0xe4e2('0x2c')](function(){return db[_0xe4e2('0x34')][_0xe4e2('0x76')](_0x134eec['id']);})['then'](respondWithResult(_0x26b31a,null))[_0xe4e2('0x5c')](handleError(_0x26b31a,null));};exports[_0xe4e2('0x77')]=function(_0x4da351,_0x2017d,_0x2cada0){return db[_0xe4e2('0x34')][_0xe4e2('0x4f')]({'where':{'id':_0x4da351[_0xe4e2('0x4c')]['id']}})['then'](handleEntityNotFound(_0x2017d,null))[_0xe4e2('0x2c')](function(_0x1447ee){if(_0x1447ee){return _0x1447ee[_0xe4e2('0x77')](_0x4da351[_0xe4e2('0x54')][_0xe4e2('0x78')],_[_0xe4e2('0x79')](_0x4da351[_0xe4e2('0x54')],[_0xe4e2('0x78'),'id'])||{})['spread'](function(_0xbdd6b4){for(var _0x386253=0x0;_0x386253<_0x4da351[_0xe4e2('0x54')][_0xe4e2('0x78')][_0xe4e2('0x41')];_0x386253+=0x1){socket[_0xe4e2('0x7a')](_0xe4e2('0x7b'),{'UserId':Number(_0x4da351[_0xe4e2('0x54')][_0xe4e2('0x78')][_0x386253]),'VoicePrefixId':Number(_0x4da351['params']['id'])});}return _0xbdd6b4;});}})[_0xe4e2('0x2c')](respondWithResult(_0x2017d,null))[_0xe4e2('0x5c')](handleError(_0x2017d,null));};exports[_0xe4e2('0x7c')]=function(_0x40fa3c,_0x420559,_0x28368a){return db[_0xe4e2('0x34')][_0xe4e2('0x4f')]({'where':{'id':_0x40fa3c[_0xe4e2('0x4c')]['id']}})[_0xe4e2('0x2c')](handleEntityNotFound(_0x420559,null))[_0xe4e2('0x2c')](function(_0x150c1a){if(_0x150c1a){return _0x150c1a[_0xe4e2('0x7c')](_0x40fa3c['query'][_0xe4e2('0x78')])['then'](function(){if(_[_0xe4e2('0x7d')](_0x40fa3c[_0xe4e2('0x3a')]['ids'])){for(var _0x326762=0x0;_0x326762<_0x40fa3c[_0xe4e2('0x3a')][_0xe4e2('0x78')][_0xe4e2('0x41')];_0x326762+=0x1){socket[_0xe4e2('0x7a')](_0xe4e2('0x7e'),{'UserId':Number(_0x40fa3c[_0xe4e2('0x3a')]['ids'][_0x326762]),'VoicePrefixId':Number(_0x40fa3c[_0xe4e2('0x4c')]['id'])});}}else{socket[_0xe4e2('0x7a')]('userVoicePrefix:remove',{'UserId':Number(_0x40fa3c['query'][_0xe4e2('0x78')]),'VoicePrefixId':Number(_0x40fa3c[_0xe4e2('0x4c')]['id'])});}});}})[_0xe4e2('0x2c')](respondWithStatusCode(_0x420559,null))['catch'](handleError(_0x420559,null));};exports[_0xe4e2('0x7f')]=function(_0x5b0948,_0x3b45c3,_0x406c7e){var _0x5dfe42={};var _0x2783f7={};var _0x94e5e1;var _0x45ecb8;return db[_0xe4e2('0x34')][_0xe4e2('0x80')]({'where':{'id':_0x5b0948[_0xe4e2('0x4c')]['id']}})[_0xe4e2('0x2c')](handleEntityNotFound(_0x3b45c3,null))[_0xe4e2('0x2c')](function(_0x3687d5){if(_0x3687d5){_0x94e5e1=_0x3687d5;_0x2783f7[_0xe4e2('0x3e')]=_['keys'](db[_0xe4e2('0x81')][_0xe4e2('0x35')]);_0x2783f7['query']=_[_0xe4e2('0x3b')](_0x5b0948['query']);_0x2783f7[_0xe4e2('0x3c')]=_[_0xe4e2('0x3d')](_0x2783f7[_0xe4e2('0x3e')],_0x2783f7[_0xe4e2('0x3a')]);_0x5dfe42['attributes']=_[_0xe4e2('0x3d')](_0x2783f7[_0xe4e2('0x3e')],qs[_0xe4e2('0x40')](_0x5b0948[_0xe4e2('0x3a')][_0xe4e2('0x40')]));_0x5dfe42[_0xe4e2('0x3f')]=_0x5dfe42[_0xe4e2('0x3f')]['length']?_0x5dfe42['attributes']:_0x2783f7[_0xe4e2('0x3e')];_0x5dfe42[_0xe4e2('0x43')]=qs[_0xe4e2('0x44')](_0x5b0948[_0xe4e2('0x3a')][_0xe4e2('0x44')]);_0x5dfe42[_0xe4e2('0x45')]=qs[_0xe4e2('0x3c')](_[_0xe4e2('0x46')](_0x5b0948[_0xe4e2('0x3a')],_0x2783f7[_0xe4e2('0x3c')]));if(_0x5b0948[_0xe4e2('0x3a')][_0xe4e2('0x47')]){_0x5dfe42[_0xe4e2('0x45')]=_[_0xe4e2('0x48')](_0x5dfe42[_0xe4e2('0x45')],{'$or':_[_0xe4e2('0x39')](_0x5dfe42[_0xe4e2('0x3f')],function(_0x1b630a){var _0x1930b9={};_0x1930b9[_0x1b630a]={'$like':'%'+_0x5b0948['query'][_0xe4e2('0x47')]+'%'};return _0x1930b9;})});}_0x5dfe42=_[_0xe4e2('0x48')]({},_0x5dfe42,_0x5b0948[_0xe4e2('0x4e')]);return _0x94e5e1['getAgents'](_0x5dfe42);}})['then'](function(_0xf31c76){if(_0xf31c76){_0x45ecb8=_0xf31c76['length'];if(!_0x5b0948[_0xe4e2('0x3a')][_0xe4e2('0x82')](_0xe4e2('0x42'))){_0x5dfe42[_0xe4e2('0x25')]=qs[_0xe4e2('0x25')](_0x5b0948[_0xe4e2('0x3a')][_0xe4e2('0x25')]);_0x5dfe42[_0xe4e2('0x23')]=qs[_0xe4e2('0x23')](_0x5b0948['query'][_0xe4e2('0x23')]);}return _0x94e5e1[_0xe4e2('0x7f')](_0x5dfe42);}})['then'](function(_0x4ab01e){if(_0x4ab01e){return _0x4ab01e?{'count':_0x45ecb8,'rows':_0x4ab01e}:null;}})[_0xe4e2('0x2c')](respondWithResult(_0x3b45c3,null))[_0xe4e2('0x5c')](handleError(_0x3b45c3,null));};exports[_0xe4e2('0x83')]=function(_0x10c166,_0x11707e,_0x11a6f4){var _0x38675b={};var _0x39fcac={};var _0x272ebb;var _0x2558c2;return db['VoicePrefix'][_0xe4e2('0x80')]({'where':{'id':_0x10c166[_0xe4e2('0x4c')]['id']}})[_0xe4e2('0x2c')](handleEntityNotFound(_0x11707e,null))[_0xe4e2('0x2c')](function(_0x46d566){if(_0x46d566){_0x272ebb=_0x46d566;_0x39fcac[_0xe4e2('0x3e')]=_[_0xe4e2('0x3b')](db['Team'][_0xe4e2('0x35')]);_0x39fcac[_0xe4e2('0x3a')]=_[_0xe4e2('0x3b')](_0x10c166[_0xe4e2('0x3a')]);_0x39fcac[_0xe4e2('0x3c')]=_[_0xe4e2('0x3d')](_0x39fcac[_0xe4e2('0x3e')],_0x39fcac[_0xe4e2('0x3a')]);_0x38675b[_0xe4e2('0x3f')]=_['intersection'](_0x39fcac[_0xe4e2('0x3e')],qs[_0xe4e2('0x40')](_0x10c166[_0xe4e2('0x3a')]['fields']));_0x38675b[_0xe4e2('0x3f')]=_0x38675b[_0xe4e2('0x3f')][_0xe4e2('0x41')]?_0x38675b[_0xe4e2('0x3f')]:_0x39fcac[_0xe4e2('0x3e')];_0x38675b[_0xe4e2('0x43')]=qs['sort'](_0x10c166[_0xe4e2('0x3a')][_0xe4e2('0x44')]);_0x38675b[_0xe4e2('0x45')]=qs['filters'](_[_0xe4e2('0x46')](_0x10c166[_0xe4e2('0x3a')],_0x39fcac[_0xe4e2('0x3c')]));if(_0x10c166[_0xe4e2('0x3a')][_0xe4e2('0x47')]){_0x38675b[_0xe4e2('0x45')]=_[_0xe4e2('0x48')](_0x38675b[_0xe4e2('0x45')],{'$or':_[_0xe4e2('0x39')](_0x38675b[_0xe4e2('0x3f')],function(_0x3266a4){var _0x282545={};_0x282545[_0x3266a4]={'$like':'%'+_0x10c166[_0xe4e2('0x3a')][_0xe4e2('0x47')]+'%'};return _0x282545;})});}_0x38675b=_[_0xe4e2('0x48')]({},_0x38675b,_0x10c166['options']);return _0x272ebb['getTeams'](_0x38675b);}})[_0xe4e2('0x2c')](function(_0x4d730e){if(_0x4d730e){_0x2558c2=_0x4d730e['length'];if(!_0x10c166[_0xe4e2('0x3a')][_0xe4e2('0x82')](_0xe4e2('0x42'))){_0x38675b[_0xe4e2('0x25')]=qs['limit'](_0x10c166[_0xe4e2('0x3a')]['limit']);_0x38675b['offset']=qs[_0xe4e2('0x23')](_0x10c166['query'][_0xe4e2('0x23')]);}return _0x272ebb[_0xe4e2('0x83')](_0x38675b);}})[_0xe4e2('0x2c')](function(_0x4e6552){if(_0x4e6552){return _0x4e6552?{'count':_0x2558c2,'rows':_0x4e6552}:null;}})[_0xe4e2('0x2c')](respondWithResult(_0x11707e,null))[_0xe4e2('0x5c')](handleError(_0x11707e,null));};exports[_0xe4e2('0x84')]=function(_0x5e9fc3,_0x240089,_0x1b94e9){var _0x126eeb=_0x5e9fc3[_0xe4e2('0x54')]['ids'];var _0x35c2d4;return db[_0xe4e2('0x85')][_0xe4e2('0x49')]({'where':{'id':_0x126eeb},'attributes':['id'],'include':[{'model':db['User'],'as':'Agents','attributes':['id',_0xe4e2('0x31'),_0xe4e2('0x86'),'voicePause',_0xe4e2('0x87')],'raw':!![]}]})['then'](function(_0x47186a){if(_0x47186a){_0x35c2d4=_0x47186a;var _0x3fa1eb=_['flatMap'](_0x47186a,function(_0x3a8a2f){var _0x4e722d=_0x3a8a2f[_0xe4e2('0x58')]({'plain':!![]});return _0x4e722d[_0xe4e2('0x88')];});return db[_0xe4e2('0x34')][_0xe4e2('0x4f')]({'where':{'id':_0x5e9fc3[_0xe4e2('0x4c')]['id']}})[_0xe4e2('0x2c')](function(_0x50b129){return db[_0xe4e2('0x52')][_0xe4e2('0x53')](function(_0x45431c){return _0x50b129['addTeams'](_0x126eeb,{'transaction':_0x45431c})[_0xe4e2('0x2c')](function(){return BPromise[_0xe4e2('0x89')](_0x35c2d4,function(_0x19f368){return db['TeamVoicePrefix'][_0xe4e2('0x8a')]({'TeamId':_0x19f368['id'],'VoicePrefixId':_0x5e9fc3[_0xe4e2('0x4c')]['id']},{'transaction':_0x45431c});});})[_0xe4e2('0x2c')](function(){return BPromise['each'](_0x3fa1eb,function(_0x151d22){return db[_0xe4e2('0x8b')][_0xe4e2('0x8c')]({'where':{'UserId':_0x151d22['id'],'VoicePrefixId':_0x5e9fc3[_0xe4e2('0x4c')]['id']},'transaction':_0x45431c});});})[_0xe4e2('0x2c')](function(){_0x3fa1eb[_0xe4e2('0x8d')](function(_0x19405d){socket[_0xe4e2('0x7a')](_0xe4e2('0x7b'),{'UserId':_0x19405d['id'],'VoicePrefixId':_0x50b129['id']});});});});});}})[_0xe4e2('0x2c')](respondWithStatusCode(_0x240089,null))[_0xe4e2('0x5c')](handleError(_0x240089,null));};exports[_0xe4e2('0x8e')]=function(_0x515f57,_0x28b119,_0x373c88){return db[_0xe4e2('0x85')][_0xe4e2('0x49')]({'where':{'id':_0x515f57[_0xe4e2('0x3a')][_0xe4e2('0x78')]},'attributes':['id'],'include':[{'model':db[_0xe4e2('0x81')],'as':_0xe4e2('0x88'),'attributes':['id'],'raw':!![]}]})['then'](handleEntityNotFound(_0x28b119,null))[_0xe4e2('0x2c')](function(_0x21fa74){var _0x273236=_[_0xe4e2('0x39')](_0x21fa74,'id');var _0x278ad0=[];var _0x416ebe=[];var _0xfb32dd=squel[_0xe4e2('0x8f')]();_0xfb32dd[_0xe4e2('0x90')](_0xe4e2('0x91'))[_0xe4e2('0x92')](_0xe4e2('0x93'),'tq')[_0xe4e2('0x94')](_0xe4e2('0x95'),'ut','ut.TeamId\x20=\x20tq.TeamId')['where']('VoicePrefixId\x20=\x20?',_0x515f57[_0xe4e2('0x4c')]['id']);for(var _0x1060d9=0x0;_0x1060d9<_0x21fa74['length'];_0x1060d9+=0x1){let _0x3ca7ef=_0x21fa74[_0x1060d9];for(var _0x49dc91=0x0;_0x49dc91<_0x3ca7ef[_0xe4e2('0x88')][_0xe4e2('0x41')];_0x49dc91+=0x1){let _0x3cea27=_0x3ca7ef[_0xe4e2('0x88')][_0x49dc91];var _0x17b696=_0xfb32dd[_0xe4e2('0x96')]();_0x17b696['where'](_0xe4e2('0x97'),_0x3cea27['id']);_0x416ebe['push'](db[_0xe4e2('0x52')][_0xe4e2('0x3a')](_0x17b696[_0xe4e2('0x98')](),{'type':db[_0xe4e2('0x52')][_0xe4e2('0x99')][_0xe4e2('0x9a')]})[_0xe4e2('0x2c')](function(_0x55182e){if(_0x55182e['length']===0x1){return _0x3cea27['id'];}else{var _0x35d3da=_['every'](_['map'](_0x55182e,_0xe4e2('0x9b')),function(_0x2ab2d8){return _[_0xe4e2('0x9c')](_0x273236,_0x2ab2d8);});if(_0x35d3da){return _0x3cea27['id'];}}}));}}return BPromise[_0xe4e2('0x9d')](_0x416ebe)[_0xe4e2('0x2c')](function(_0x10a6c5){_0x278ad0=_(_0x278ad0)[_0xe4e2('0x9e')](_0x10a6c5)[_0xe4e2('0x9f')]()['value']();return db[_0xe4e2('0x34')][_0xe4e2('0x4f')]({'where':{'id':_0x515f57[_0xe4e2('0x4c')]['id']}})[_0xe4e2('0x2c')](function(_0x45ee82){return db[_0xe4e2('0x52')][_0xe4e2('0x53')](function(_0x181f47){return _0x45ee82[_0xe4e2('0x8e')](_0x515f57[_0xe4e2('0x3a')][_0xe4e2('0x78')],{'transaction':_0x181f47})['then'](function(){if(!_[_0xe4e2('0xa0')](_0x278ad0)){return _0x45ee82[_0xe4e2('0x7c')](_0x278ad0,{'transaction':_0x181f47});}})[_0xe4e2('0x2c')](function(){_0x278ad0['forEach'](function(_0x3dabd1){socket[_0xe4e2('0x7a')](_0xe4e2('0x7e'),{'UserId':_0x3dabd1,'VoicePrefixId':_0x45ee82['id']});});});});});});})[_0xe4e2('0x2c')](respondWithStatusCode(_0x28b119,null))[_0xe4e2('0x5c')](handleError(_0x28b119,null));};