dc5ab814715fd1de1daeafa534056be43299cf75
[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 _0xefda=['value','isEmpty','eml-format','fast-json-patch','request-promise','bluebird','mustache','util','path','sox','to-csv','fs-extra','lodash','squel','crypto','desk.js','querystring','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','localhost','./voicePrefix.socket','register','sendStatus','status','end','offset','undefined','count','limit','set','apply','save','update','destroy','VoicePrefixes','then','error','stack','send','index','VoicePrefix','rawAttributes','fieldName','type','key','model','map','name','query','keys','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','VIRTUAL','merge','options','includeAll','include','findAll','catch','show','params','find','describe','create','transaction','body','VoiceExtensionId','user','get','role','UserProfileSection','UserProfileResource','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','context','app','system','description','priority','appdata','NoOp','Voice\x20Prefix','VoicePrefixId','VoiceExtension','bulkCreate','Extensions\x20creation\x20failed','prefix','Set','callerIdAll','push','PREFIX-CALLERIDALL=','No\x20callerid\x20available','goto','charAt','system-','sequelize','findById','addAgents','ids','spread','removeAgents','emit','userVoicePrefix:remove','getAgents','User','getTeams','findOne','Team','addTeams','interface','flatMap','Agents','upsert','each','UserVoicePrefix','forEach','userVoicePrefix:save','removeTeams','select','tq.TeamId','user_has_teams','ut.TeamId\x20=\x20tq.TeamId','toString','QueryTypes','SELECT','every','TeamId','all','union','compact'];(function(_0xac721a,_0x51dbc7){var _0x50dbde=function(_0x2e78e6){while(--_0x2e78e6){_0xac721a['push'](_0xac721a['shift']());}};_0x50dbde(++_0x51dbc7);}(_0xefda,0x96));var _0xaefd=function(_0x11c780,_0x30248f){_0x11c780=_0x11c780-0x0;var _0x55e66d=_0xefda[_0x11c780];return _0x55e66d;};'use strict';var emlformat=require(_0xaefd('0x0'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0xaefd('0x1'));var rp=require(_0xaefd('0x2'));var moment=require('moment');var BPromise=require(_0xaefd('0x3'));var Mustache=require(_0xaefd('0x4'));var util=require(_0xaefd('0x5'));var path=require(_0xaefd('0x6'));var sox=require(_0xaefd('0x7'));var csv=require(_0xaefd('0x8'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xaefd('0x9'));var _=require(_0xaefd('0xa'));var squel=require(_0xaefd('0xb'));var crypto=require(_0xaefd('0xc'));var jsforce=require('jsforce');var deskjs=require(_0xaefd('0xd'));var toCsv=require(_0xaefd('0x8'));var querystring=require(_0xaefd('0xe'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0xaefd('0xf'));var as=require(_0xaefd('0x10'));var hardwareService=require(_0xaefd('0x11'));var logger=require(_0xaefd('0x12'))(_0xaefd('0x13'));var utils=require(_0xaefd('0x14'));var config=require(_0xaefd('0x15'));var licenseUtil=require(_0xaefd('0x16'));var db=require(_0xaefd('0x17'))['db'];config[_0xaefd('0x18')]=_[_0xaefd('0x19')](config['redis'],{'host':_0xaefd('0x1a'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0xaefd('0x18')]));require(_0xaefd('0x1b'))[_0xaefd('0x1c')](socket);function respondWithStatusCode(_0x43b82a,_0x4ec92a){_0x4ec92a=_0x4ec92a||0xcc;return function(_0x16e4f4){if(_0x16e4f4){return _0x43b82a[_0xaefd('0x1d')](_0x4ec92a);}return _0x43b82a[_0xaefd('0x1e')](_0x4ec92a)[_0xaefd('0x1f')]();};}function respondWithResult(_0x10ee28,_0x32f75e){_0x32f75e=_0x32f75e||0xc8;return function(_0x277070){if(_0x277070){return _0x10ee28[_0xaefd('0x1e')](_0x32f75e)['json'](_0x277070);}};}function respondWithFilteredResult(_0x9d9c29,_0x109604){return function(_0x9748f4){if(_0x9748f4){var _0x1737a1=typeof _0x109604[_0xaefd('0x20')]===_0xaefd('0x21')&&typeof _0x109604['limit']===_0xaefd('0x21');var _0x182f9a=_0x9748f4[_0xaefd('0x22')];var _0x1260dd=_0x1737a1?0x0:_0x109604[_0xaefd('0x20')];var _0x1f302c=_0x1737a1?_0x9748f4['count']:_0x109604[_0xaefd('0x20')]+_0x109604[_0xaefd('0x23')];var _0x2dcdd8;if(_0x1f302c>=_0x182f9a){_0x1f302c=_0x182f9a;_0x2dcdd8=0xc8;}else{_0x2dcdd8=0xce;}_0x9d9c29[_0xaefd('0x1e')](_0x2dcdd8);return _0x9d9c29[_0xaefd('0x24')]('Content-Range',_0x1260dd+'-'+_0x1f302c+'/'+_0x182f9a)['json'](_0x9748f4);}return null;};}function patchUpdates(_0x5b9967){return function(_0x21680a){try{jsonpatch[_0xaefd('0x25')](_0x21680a,_0x5b9967,!![]);}catch(_0x313a6f){return BPromise['reject'](_0x313a6f);}return _0x21680a[_0xaefd('0x26')]();};}function saveUpdates(_0x4cd9b2,_0x3deec8){return function(_0x3caa99){if(_0x3caa99){return _0x3caa99[_0xaefd('0x27')](_0x4cd9b2)['then'](function(_0x435413){return _0x435413;});}return null;};}function removeEntity(_0x3ffc9c,_0x18e720){return function(_0x14cc9d){if(_0x14cc9d){return _0x14cc9d[_0xaefd('0x28')]()['then'](function(){var _0x2fe27e=_0x14cc9d['get']({'plain':!![]});var _0x810bf=_0xaefd('0x29');return db['UserProfileResource'][_0xaefd('0x28')]({'where':{'type':_0x810bf,'resourceId':_0x2fe27e['id']}})[_0xaefd('0x2a')](function(){return _0x14cc9d;});})['then'](function(){_0x3ffc9c[_0xaefd('0x1e')](0xcc)[_0xaefd('0x1f')]();});}};}function handleEntityNotFound(_0x36b6b7,_0x4c0898){return function(_0x45f0e8){if(!_0x45f0e8){_0x36b6b7['sendStatus'](0x194);}return _0x45f0e8;};}function handleError(_0x109e19,_0x5c5639){_0x5c5639=_0x5c5639||0x1f4;return function(_0x4a1acb){logger[_0xaefd('0x2b')](_0x4a1acb[_0xaefd('0x2c')]);if(_0x4a1acb['name']){delete _0x4a1acb['name'];}_0x109e19['status'](_0x5c5639)[_0xaefd('0x2d')](_0x4a1acb);};}exports[_0xaefd('0x2e')]=function(_0x4b6910,_0x5503d0){var _0x62ef86={},_0x465d99={},_0x3f4947={'count':0x0,'rows':[]};var _0x21d358=_['map'](db[_0xaefd('0x2f')][_0xaefd('0x30')],function(_0x3b11e4){return{'name':_0x3b11e4[_0xaefd('0x31')],'type':_0x3b11e4[_0xaefd('0x32')][_0xaefd('0x33')]};});_0x465d99[_0xaefd('0x34')]=_[_0xaefd('0x35')](_0x21d358,_0xaefd('0x36'));_0x465d99[_0xaefd('0x37')]=_[_0xaefd('0x38')](_0x4b6910[_0xaefd('0x37')]);_0x465d99[_0xaefd('0x39')]=_[_0xaefd('0x3a')](_0x465d99[_0xaefd('0x34')],_0x465d99[_0xaefd('0x37')]);_0x62ef86['attributes']=_[_0xaefd('0x3a')](_0x465d99[_0xaefd('0x34')],qs[_0xaefd('0x3b')](_0x4b6910['query'][_0xaefd('0x3b')]));_0x62ef86['attributes']=_0x62ef86[_0xaefd('0x3c')][_0xaefd('0x3d')]?_0x62ef86[_0xaefd('0x3c')]:_0x465d99[_0xaefd('0x34')];if(!_0x4b6910[_0xaefd('0x37')][_0xaefd('0x3e')](_0xaefd('0x3f'))){_0x62ef86[_0xaefd('0x23')]=qs[_0xaefd('0x23')](_0x4b6910[_0xaefd('0x37')][_0xaefd('0x23')]);_0x62ef86[_0xaefd('0x20')]=qs[_0xaefd('0x20')](_0x4b6910[_0xaefd('0x37')]['offset']);}_0x62ef86[_0xaefd('0x40')]=qs['sort'](_0x4b6910[_0xaefd('0x37')][_0xaefd('0x41')]);_0x62ef86[_0xaefd('0x42')]=qs[_0xaefd('0x39')](_[_0xaefd('0x43')](_0x4b6910[_0xaefd('0x37')],_0x465d99[_0xaefd('0x39')]),_0x21d358);if(_0x4b6910[_0xaefd('0x37')][_0xaefd('0x44')]){_0x62ef86[_0xaefd('0x42')]=_['merge'](_0x62ef86[_0xaefd('0x42')],{'$or':_[_0xaefd('0x35')](_0x21d358,function(_0x4dfea1){if(_0x4dfea1[_0xaefd('0x32')]!==_0xaefd('0x45')){var _0x27daa8={};_0x27daa8[_0x4dfea1['name']]={'$like':'%'+_0x4b6910['query'][_0xaefd('0x44')]+'%'};return _0x27daa8;}})});}_0x62ef86=_[_0xaefd('0x46')]({},_0x62ef86,_0x4b6910[_0xaefd('0x47')]);var _0x179648={'where':_0x62ef86[_0xaefd('0x42')]};return db[_0xaefd('0x2f')][_0xaefd('0x22')](_0x179648)[_0xaefd('0x2a')](function(_0x48a7af){_0x3f4947[_0xaefd('0x22')]=_0x48a7af;if(_0x4b6910[_0xaefd('0x37')][_0xaefd('0x48')]){_0x62ef86[_0xaefd('0x49')]=[{'all':!![]}];}return db[_0xaefd('0x2f')][_0xaefd('0x4a')](_0x62ef86);})[_0xaefd('0x2a')](function(_0x1f4a15){_0x3f4947['rows']=_0x1f4a15;return _0x3f4947;})['then'](respondWithFilteredResult(_0x5503d0,_0x62ef86))[_0xaefd('0x4b')](handleError(_0x5503d0,null));};exports[_0xaefd('0x4c')]=function(_0x532328,_0x599738){var _0x17d611={'raw':![],'where':{'id':_0x532328[_0xaefd('0x4d')]['id']}},_0xe37b2c={};_0xe37b2c[_0xaefd('0x34')]=_[_0xaefd('0x38')](db[_0xaefd('0x2f')][_0xaefd('0x30')]);_0xe37b2c[_0xaefd('0x37')]=_[_0xaefd('0x38')](_0x532328['query']);_0xe37b2c[_0xaefd('0x39')]=_[_0xaefd('0x3a')](_0xe37b2c[_0xaefd('0x34')],_0xe37b2c[_0xaefd('0x37')]);_0x17d611[_0xaefd('0x3c')]=_[_0xaefd('0x3a')](_0xe37b2c[_0xaefd('0x34')],qs['fields'](_0x532328[_0xaefd('0x37')]['fields']));_0x17d611[_0xaefd('0x3c')]=_0x17d611[_0xaefd('0x3c')][_0xaefd('0x3d')]?_0x17d611[_0xaefd('0x3c')]:_0xe37b2c['model'];if(_0x532328['query'][_0xaefd('0x48')]){_0x17d611[_0xaefd('0x49')]=[{'all':!![]}];}_0x17d611=_[_0xaefd('0x46')]({},_0x17d611,_0x532328['options']);return db[_0xaefd('0x2f')][_0xaefd('0x4e')](_0x17d611)['then'](handleEntityNotFound(_0x599738,null))[_0xaefd('0x2a')](respondWithResult(_0x599738,null))[_0xaefd('0x4b')](handleError(_0x599738,null));};exports[_0xaefd('0x28')]=function(_0x23d4a9,_0x398aee){return db[_0xaefd('0x2f')][_0xaefd('0x4e')]({'where':{'id':_0x23d4a9[_0xaefd('0x4d')]['id']}})['then'](handleEntityNotFound(_0x398aee,null))['then'](removeEntity(_0x398aee,null))[_0xaefd('0x4b')](handleError(_0x398aee,null));};exports[_0xaefd('0x4f')]=function(_0x578e0c,_0x332743){return db['VoicePrefix'][_0xaefd('0x4f')]()[_0xaefd('0x2a')](respondWithResult(_0x332743,null))[_0xaefd('0x4b')](handleError(_0x332743,null));};exports[_0xaefd('0x50')]=function(_0x27fd3f,_0xf727cd){var _0x4b709a;return db['sequelize'][_0xaefd('0x51')](function(_0x338823){return db['VoicePrefix'][_0xaefd('0x50')](_0x27fd3f[_0xaefd('0x52')],{'transaction':_0x338823})[_0xaefd('0x2a')](function(_0x23fee9){_0x4b709a=_0x23fee9['get']({'plain':!![]});return db['VoiceExtension'][_0xaefd('0x4e')]({'where':{'id':_0x4b709a[_0xaefd('0x53')]},'raw':!![]})[_0xaefd('0x2a')](function(_0x1fe44a){return createVoicePrefixExtensions(_0x4b709a,_0x1fe44a,_0x338823);});});})[_0xaefd('0x2a')](function(){var _0x47cac9=_0x27fd3f[_0xaefd('0x54')][_0xaefd('0x55')]({'plain':!![]});if(!_0x47cac9)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x47cac9[_0xaefd('0x56')]===_0xaefd('0x54')){var _0x5f2925=_0x4b709a;return db[_0xaefd('0x57')][_0xaefd('0x4e')]({'where':{'name':_0xaefd('0x29'),'userProfileId':_0x47cac9['userProfileId']},'raw':!![]})[_0xaefd('0x2a')](function(_0x1a9842){if(_0x1a9842&&_0x1a9842['autoAssociation']===0x0){return db[_0xaefd('0x58')][_0xaefd('0x50')]({'name':_0x5f2925[_0xaefd('0x36')],'resourceId':_0x5f2925['id'],'type':_0x1a9842[_0xaefd('0x36')],'sectionId':_0x1a9842['id']},{})['then'](function(){return _0x4b709a;});}else{return _0x4b709a;}})['catch'](function(_0x232bf9){logger[_0xaefd('0x2b')](_0xaefd('0x59'),_0x232bf9);throw _0x232bf9;});}return _0x4b709a;})[_0xaefd('0x2a')](respondWithResult(_0xf727cd,null))[_0xaefd('0x4b')](handleError(_0xf727cd,null));};function Extension(_0x8ab9e7,_0x314660,_0x368fd3,_0x1e519e){this[_0xaefd('0x5a')]='from-sip';this['exten']=_0x8ab9e7;this[_0xaefd('0x5b')]=_0x368fd3;this[_0xaefd('0x32')]=_0xaefd('0x5c');this[_0xaefd('0x5d')]='Voice\x20Prefix\x20Extension';this[_0xaefd('0x5e')]=_0x314660;this[_0xaefd('0x5f')]=_0x1e519e;}function createVoicePrefixExtensions(_0x422b9e,_0x1ad04e,_0x16c227){return new BPromise(function(_0x37414d,_0x241e93){var _0x2c1004=new Extension(formatPrefixName(_0x422b9e['prefix']),0x1,_0xaefd('0x60'),_0xaefd('0x61'));_0x2c1004[_0xaefd('0x62')]=_0x422b9e['id'];return db[_0xaefd('0x63')]['create'](_0x2c1004,{'transaction':_0x16c227})[_0xaefd('0x2a')](function(_0x53888d){var _0xeb739=_0x53888d[_0xaefd('0x55')]({'plain':!![]});var _0x516913=_['map'](addVoicePrefixExtensions(_0x422b9e,_0x1ad04e),function(_0x45028e){_0x45028e['VoiceExtensionId']=_0xeb739['id'];_0x45028e['VoicePrefixId']=_0x422b9e['id'];return _0x45028e;});return db['VoiceExtension'][_0xaefd('0x64')](_0x516913,{'transaction':_0x16c227})[_0xaefd('0x2a')](function(_0x27fcb4){if(!_0x27fcb4){return _0x241e93(_0xaefd('0x65'));}else{return _0x37414d(_0x27fcb4);}})[_0xaefd('0x4b')](function(_0x384847){return _0x241e93(_0x384847);});});;});};function addVoicePrefixExtensions(_0x509a87,_0x5d308a){var _0x4f8e16=[];var _0x5c7220=formatPrefixName(_0x509a87[_0xaefd('0x66')]);_0x4f8e16['push'](new Extension(_0x5c7220,0x2,_0xaefd('0x67'),'CDR(prefix)='+_0x509a87[_0xaefd('0x36')]));if(_0x509a87[_0xaefd('0x68')]){_0x4f8e16[_0xaefd('0x69')](new Extension(_0x5c7220,0x3,_0xaefd('0x67'),_0xaefd('0x6a')+_0x509a87[_0xaefd('0x68')]));}else{_0x4f8e16[_0xaefd('0x69')](new Extension(_0x5c7220,0x3,'NoOp',_0xaefd('0x6b')));}_0x4f8e16[_0xaefd('0x69')](new Extension(_0x5c7220,0x4,_0xaefd('0x6c'),_0x5d308a[_0xaefd('0x5a')]+','+'${EXTEN:'+(0x8+_0x509a87[_0xaefd('0x36')]['length'])+'}'+','+0x1));return _0x4f8e16;}function formatPrefixName(_0x28db3a){var _0x40b493='_';for(var _0x110379=0x0;_0x110379<_0x28db3a[_0xaefd('0x3d')];_0x110379++){if(_0x28db3a[_0xaefd('0x6d')](_0x110379)=='-'){_0x40b493+=_0x28db3a[_0xaefd('0x6d')](_0x110379);}else{_0x40b493+='['+_0x28db3a['charAt'](_0x110379)+']';}}_0x40b493+='.';return _0x40b493;}exports[_0xaefd('0x27')]=function(_0x3b39db,_0x4a9fa5,_0x39ee5){var _0x279ad4=_0x3b39db['body'];_0x279ad4[_0xaefd('0x66')]=_0xaefd('0x6e')+_0x279ad4[_0xaefd('0x36')]+'-';return db[_0xaefd('0x6f')][_0xaefd('0x51')](function(_0x406c6d){return db[_0xaefd('0x2f')][_0xaefd('0x27')](_0x279ad4,{'where':{'id':_0x279ad4['id']},'transaction':_0x406c6d})[_0xaefd('0x2a')](function(){return db[_0xaefd('0x63')][_0xaefd('0x28')]({'where':{'VoicePrefixId':_0x279ad4['id']},'transaction':_0x406c6d})[_0xaefd('0x2a')](function(){return db[_0xaefd('0x63')][_0xaefd('0x4e')]({'where':{'id':_0x279ad4[_0xaefd('0x53')]},'raw':!![]})[_0xaefd('0x2a')](function(_0x3e0836){return createVoicePrefixExtensions(_0x279ad4,_0x3e0836,_0x406c6d);});});});})['then'](function(){return db[_0xaefd('0x2f')][_0xaefd('0x70')](_0x279ad4['id']);})[_0xaefd('0x2a')](respondWithResult(_0x4a9fa5,null))['catch'](handleError(_0x4a9fa5,null));};exports[_0xaefd('0x71')]=function(_0x12391f,_0x47270b,_0x594a75){return db['VoicePrefix'][_0xaefd('0x4e')]({'where':{'id':_0x12391f['params']['id']}})[_0xaefd('0x2a')](handleEntityNotFound(_0x47270b,null))['then'](function(_0x1e8616){if(_0x1e8616){return _0x1e8616[_0xaefd('0x71')](_0x12391f[_0xaefd('0x52')]['ids'],_['omit'](_0x12391f[_0xaefd('0x52')],[_0xaefd('0x72'),'id'])||{})[_0xaefd('0x73')](function(_0x99f17b){for(var _0x157a2a=0x0;_0x157a2a<_0x12391f[_0xaefd('0x52')]['ids']['length'];_0x157a2a+=0x1){socket['emit']('userVoicePrefix:save',{'UserId':Number(_0x12391f['body'][_0xaefd('0x72')][_0x157a2a]),'VoicePrefixId':Number(_0x12391f[_0xaefd('0x4d')]['id'])});}return _0x99f17b;});}})[_0xaefd('0x2a')](respondWithResult(_0x47270b,null))[_0xaefd('0x4b')](handleError(_0x47270b,null));};exports['removeAgents']=function(_0x3ae6ba,_0x1c4508,_0x4a3586){return db[_0xaefd('0x2f')]['find']({'where':{'id':_0x3ae6ba[_0xaefd('0x4d')]['id']}})['then'](handleEntityNotFound(_0x1c4508,null))[_0xaefd('0x2a')](function(_0x4b1ade){if(_0x4b1ade){return _0x4b1ade[_0xaefd('0x74')](_0x3ae6ba['query'][_0xaefd('0x72')])[_0xaefd('0x2a')](function(){if(_['isArray'](_0x3ae6ba[_0xaefd('0x37')][_0xaefd('0x72')])){for(var _0x47235e=0x0;_0x47235e<_0x3ae6ba['query'][_0xaefd('0x72')][_0xaefd('0x3d')];_0x47235e+=0x1){socket[_0xaefd('0x75')](_0xaefd('0x76'),{'UserId':Number(_0x3ae6ba[_0xaefd('0x37')]['ids'][_0x47235e]),'VoicePrefixId':Number(_0x3ae6ba[_0xaefd('0x4d')]['id'])});}}else{socket[_0xaefd('0x75')]('userVoicePrefix:remove',{'UserId':Number(_0x3ae6ba[_0xaefd('0x37')][_0xaefd('0x72')]),'VoicePrefixId':Number(_0x3ae6ba[_0xaefd('0x4d')]['id'])});}});}})[_0xaefd('0x2a')](respondWithStatusCode(_0x1c4508,null))['catch'](handleError(_0x1c4508,null));};exports[_0xaefd('0x77')]=function(_0x491978,_0xf2925d,_0x1bbeec){var _0x19b574={};var _0x5e2823={};var _0xa53ec;var _0x888d96;return db[_0xaefd('0x2f')]['findOne']({'where':{'id':_0x491978[_0xaefd('0x4d')]['id']}})[_0xaefd('0x2a')](handleEntityNotFound(_0xf2925d,null))[_0xaefd('0x2a')](function(_0x317b55){if(_0x317b55){_0xa53ec=_0x317b55;_0x5e2823['model']=_[_0xaefd('0x38')](db[_0xaefd('0x78')][_0xaefd('0x30')]);_0x5e2823[_0xaefd('0x37')]=_['keys'](_0x491978[_0xaefd('0x37')]);_0x5e2823[_0xaefd('0x39')]=_[_0xaefd('0x3a')](_0x5e2823[_0xaefd('0x34')],_0x5e2823['query']);_0x19b574[_0xaefd('0x3c')]=_['intersection'](_0x5e2823[_0xaefd('0x34')],qs['fields'](_0x491978[_0xaefd('0x37')][_0xaefd('0x3b')]));_0x19b574[_0xaefd('0x3c')]=_0x19b574[_0xaefd('0x3c')][_0xaefd('0x3d')]?_0x19b574['attributes']:_0x5e2823[_0xaefd('0x34')];_0x19b574['order']=qs[_0xaefd('0x41')](_0x491978['query'][_0xaefd('0x41')]);_0x19b574[_0xaefd('0x42')]=qs[_0xaefd('0x39')](_['pick'](_0x491978[_0xaefd('0x37')],_0x5e2823['filters']));if(_0x491978[_0xaefd('0x37')][_0xaefd('0x44')]){_0x19b574[_0xaefd('0x42')]=_[_0xaefd('0x46')](_0x19b574['where'],{'$or':_[_0xaefd('0x35')](_0x19b574[_0xaefd('0x3c')],function(_0x215986){var _0x407c6a={};_0x407c6a[_0x215986]={'$like':'%'+_0x491978[_0xaefd('0x37')][_0xaefd('0x44')]+'%'};return _0x407c6a;})});}_0x19b574=_[_0xaefd('0x46')]({},_0x19b574,_0x491978[_0xaefd('0x47')]);return _0xa53ec[_0xaefd('0x77')](_0x19b574);}})['then'](function(_0x250d61){if(_0x250d61){_0x888d96=_0x250d61[_0xaefd('0x3d')];if(!_0x491978[_0xaefd('0x37')][_0xaefd('0x3e')](_0xaefd('0x3f'))){_0x19b574[_0xaefd('0x23')]=qs[_0xaefd('0x23')](_0x491978[_0xaefd('0x37')][_0xaefd('0x23')]);_0x19b574[_0xaefd('0x20')]=qs[_0xaefd('0x20')](_0x491978[_0xaefd('0x37')][_0xaefd('0x20')]);}return _0xa53ec[_0xaefd('0x77')](_0x19b574);}})[_0xaefd('0x2a')](function(_0x4db4b0){if(_0x4db4b0){return _0x4db4b0?{'count':_0x888d96,'rows':_0x4db4b0}:null;}})['then'](respondWithResult(_0xf2925d,null))[_0xaefd('0x4b')](handleError(_0xf2925d,null));};exports[_0xaefd('0x79')]=function(_0x48e33f,_0x24c994,_0x3ea496){var _0x320cc6={};var _0x17ba3d={};var _0x321b4c;var _0x128a26;return db['VoicePrefix'][_0xaefd('0x7a')]({'where':{'id':_0x48e33f[_0xaefd('0x4d')]['id']}})[_0xaefd('0x2a')](handleEntityNotFound(_0x24c994,null))[_0xaefd('0x2a')](function(_0x4d0fc3){if(_0x4d0fc3){_0x321b4c=_0x4d0fc3;_0x17ba3d[_0xaefd('0x34')]=_[_0xaefd('0x38')](db[_0xaefd('0x7b')][_0xaefd('0x30')]);_0x17ba3d['query']=_[_0xaefd('0x38')](_0x48e33f[_0xaefd('0x37')]);_0x17ba3d['filters']=_[_0xaefd('0x3a')](_0x17ba3d[_0xaefd('0x34')],_0x17ba3d['query']);_0x320cc6[_0xaefd('0x3c')]=_[_0xaefd('0x3a')](_0x17ba3d[_0xaefd('0x34')],qs['fields'](_0x48e33f[_0xaefd('0x37')][_0xaefd('0x3b')]));_0x320cc6['attributes']=_0x320cc6[_0xaefd('0x3c')][_0xaefd('0x3d')]?_0x320cc6[_0xaefd('0x3c')]:_0x17ba3d[_0xaefd('0x34')];_0x320cc6[_0xaefd('0x40')]=qs[_0xaefd('0x41')](_0x48e33f[_0xaefd('0x37')]['sort']);_0x320cc6[_0xaefd('0x42')]=qs[_0xaefd('0x39')](_['pick'](_0x48e33f['query'],_0x17ba3d[_0xaefd('0x39')]));if(_0x48e33f[_0xaefd('0x37')][_0xaefd('0x44')]){_0x320cc6['where']=_[_0xaefd('0x46')](_0x320cc6['where'],{'$or':_['map'](_0x320cc6[_0xaefd('0x3c')],function(_0x32045b){var _0x3056d2={};_0x3056d2[_0x32045b]={'$like':'%'+_0x48e33f[_0xaefd('0x37')][_0xaefd('0x44')]+'%'};return _0x3056d2;})});}_0x320cc6=_[_0xaefd('0x46')]({},_0x320cc6,_0x48e33f[_0xaefd('0x47')]);return _0x321b4c[_0xaefd('0x79')](_0x320cc6);}})[_0xaefd('0x2a')](function(_0x4e8481){if(_0x4e8481){_0x128a26=_0x4e8481[_0xaefd('0x3d')];if(!_0x48e33f[_0xaefd('0x37')][_0xaefd('0x3e')](_0xaefd('0x3f'))){_0x320cc6[_0xaefd('0x23')]=qs['limit'](_0x48e33f[_0xaefd('0x37')][_0xaefd('0x23')]);_0x320cc6['offset']=qs[_0xaefd('0x20')](_0x48e33f['query'][_0xaefd('0x20')]);}return _0x321b4c['getTeams'](_0x320cc6);}})['then'](function(_0x2d88da){if(_0x2d88da){return _0x2d88da?{'count':_0x128a26,'rows':_0x2d88da}:null;}})[_0xaefd('0x2a')](respondWithResult(_0x24c994,null))['catch'](handleError(_0x24c994,null));};exports[_0xaefd('0x7c')]=function(_0x1aa4f7,_0x67e396,_0x261efa){var _0x4e8867=_0x1aa4f7[_0xaefd('0x52')][_0xaefd('0x72')];var _0x5dad4e;return db[_0xaefd('0x7b')]['findAll']({'where':{'id':_0x4e8867},'attributes':['id'],'include':[{'model':db[_0xaefd('0x78')],'as':'Agents','attributes':['id','name','online','voicePause',_0xaefd('0x7d')],'raw':!![]}]})[_0xaefd('0x2a')](function(_0x3e7f61){if(_0x3e7f61){_0x5dad4e=_0x3e7f61;var _0x13fd50=_[_0xaefd('0x7e')](_0x3e7f61,function(_0x3a705b){var _0x46d502=_0x3a705b[_0xaefd('0x55')]({'plain':!![]});return _0x46d502[_0xaefd('0x7f')];});return db[_0xaefd('0x2f')]['find']({'where':{'id':_0x1aa4f7[_0xaefd('0x4d')]['id']}})['then'](function(_0x3dafc3){return db[_0xaefd('0x6f')][_0xaefd('0x51')](function(_0x336594){return _0x3dafc3[_0xaefd('0x7c')](_0x4e8867,{'transaction':_0x336594})['then'](function(){return BPromise['each'](_0x5dad4e,function(_0x27790f){return db['TeamVoicePrefix'][_0xaefd('0x80')]({'TeamId':_0x27790f['id'],'VoicePrefixId':_0x1aa4f7[_0xaefd('0x4d')]['id']},{'transaction':_0x336594});});})['then'](function(){return BPromise[_0xaefd('0x81')](_0x13fd50,function(_0x4887f7){return db[_0xaefd('0x82')]['findOrCreate']({'where':{'UserId':_0x4887f7['id'],'VoicePrefixId':_0x1aa4f7[_0xaefd('0x4d')]['id']},'transaction':_0x336594});});})['then'](function(){_0x13fd50[_0xaefd('0x83')](function(_0x47a053){socket['emit'](_0xaefd('0x84'),{'UserId':_0x47a053['id'],'VoicePrefixId':_0x3dafc3['id']});});});});});}})[_0xaefd('0x2a')](respondWithStatusCode(_0x67e396,null))[_0xaefd('0x4b')](handleError(_0x67e396,null));};exports[_0xaefd('0x85')]=function(_0x2f3049,_0x7fd0d8,_0x2efdca){return db[_0xaefd('0x7b')][_0xaefd('0x4a')]({'where':{'id':_0x2f3049[_0xaefd('0x37')]['ids']},'attributes':['id'],'include':[{'model':db[_0xaefd('0x78')],'as':'Agents','attributes':['id'],'raw':!![]}]})[_0xaefd('0x2a')](handleEntityNotFound(_0x7fd0d8,null))[_0xaefd('0x2a')](function(_0x4c3cb0){var _0x7380d5=_['map'](_0x4c3cb0,'id');var _0x3723e6=[];var _0x58e4c5=[];var _0x42e09b=squel[_0xaefd('0x86')]();_0x42e09b['field'](_0xaefd('0x87'))['from']('team_has_voice_prefixes','tq')['join'](_0xaefd('0x88'),'ut',_0xaefd('0x89'))['where']('VoicePrefixId\x20=\x20?',_0x2f3049[_0xaefd('0x4d')]['id']);for(var _0x35b685=0x0;_0x35b685<_0x4c3cb0['length'];_0x35b685+=0x1){let _0x1af15a=_0x4c3cb0[_0x35b685];for(var _0x42c685=0x0;_0x42c685<_0x1af15a[_0xaefd('0x7f')][_0xaefd('0x3d')];_0x42c685+=0x1){let _0x2fe05a=_0x1af15a[_0xaefd('0x7f')][_0x42c685];var _0x4df2de=_0x42e09b['clone']();_0x4df2de[_0xaefd('0x42')]('ut.UserId\x20=\x20?',_0x2fe05a['id']);_0x58e4c5['push'](db[_0xaefd('0x6f')][_0xaefd('0x37')](_0x4df2de[_0xaefd('0x8a')](),{'type':db[_0xaefd('0x6f')][_0xaefd('0x8b')][_0xaefd('0x8c')]})['then'](function(_0x129a22){if(_0x129a22[_0xaefd('0x3d')]===0x1){return _0x2fe05a['id'];}else{var _0x1911a2=_[_0xaefd('0x8d')](_[_0xaefd('0x35')](_0x129a22,_0xaefd('0x8e')),function(_0x1ce217){return _['includes'](_0x7380d5,_0x1ce217);});if(_0x1911a2){return _0x2fe05a['id'];}}}));}}return BPromise[_0xaefd('0x8f')](_0x58e4c5)['then'](function(_0x1f0cc0){_0x3723e6=_(_0x3723e6)[_0xaefd('0x90')](_0x1f0cc0)[_0xaefd('0x91')]()[_0xaefd('0x92')]();return db[_0xaefd('0x2f')][_0xaefd('0x4e')]({'where':{'id':_0x2f3049[_0xaefd('0x4d')]['id']}})[_0xaefd('0x2a')](function(_0x34cc20){return db[_0xaefd('0x6f')][_0xaefd('0x51')](function(_0x5ee5cd){return _0x34cc20['removeTeams'](_0x2f3049[_0xaefd('0x37')][_0xaefd('0x72')],{'transaction':_0x5ee5cd})['then'](function(){if(!_[_0xaefd('0x93')](_0x3723e6)){return _0x34cc20[_0xaefd('0x74')](_0x3723e6,{'transaction':_0x5ee5cd});}})[_0xaefd('0x2a')](function(){_0x3723e6[_0xaefd('0x83')](function(_0x7a283b){socket[_0xaefd('0x75')]('userVoicePrefix:remove',{'UserId':_0x7a283b,'VoicePrefixId':_0x34cc20['id']});});});});});});})['then'](respondWithStatusCode(_0x7fd0d8,null))[_0xaefd('0x4b')](handleError(_0x7fd0d8,null));};