ec3a4494ae143e90e772b21f264af703acbd4f74
[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 _0xe511=['bulkCreate','push','Set','CDR(prefix)=','callerIdAll','PREFIX-CALLERIDALL=','No\x20callerid\x20available','${EXTEN:','charAt','prefix','system-','addAgents','ids','omit','spread','userVoicePrefix:save','removeAgents','isArray','userVoicePrefix:remove','getAgents','findOne','User','getTeams','Team','Agents','online','voicePause','flatMap','addTeams','each','TeamVoicePrefix','findOrCreate','forEach','removeTeams','select','field','tq.TeamId','from','team_has_voice_prefixes','join','user_has_teams','ut.TeamId\x20=\x20tq.TeamId','VoicePrefixId\x20=\x20?','ut.UserId\x20=\x20?','toString','QueryTypes','SELECT','every','TeamId','includes','union','value','isEmpty','eml-format','rimraf','fast-json-patch','moment','bluebird','util','path','sox','to-csv','fs-extra','lodash','jsforce','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','redis','localhost','socket.io-emitter','./voicePrefix.socket','register','sendStatus','end','status','offset','undefined','limit','count','set','json','apply','reject','save','update','then','get','VoicePrefixes','stack','name','send','index','map','VoicePrefix','rawAttributes','fieldName','key','query','intersection','attributes','model','hasOwnProperty','nolimit','order','sort','where','filters','pick','merge','type','VIRTUAL','filter','include','findAll','rows','show','params','keys','fields','length','options','catch','destroy','describe','create','sequelize','transaction','body','VoiceExtension','find','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','UserProfileSection','userProfileId','autoAssociation','UserProfileResource','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','context','from-sip','exten','app','system','description','NoOp','Voice\x20Prefix','VoicePrefixId','VoiceExtensionId'];(function(_0x3dd15e,_0x1f0015){var _0x231fd0=function(_0x4f680a){while(--_0x4f680a){_0x3dd15e['push'](_0x3dd15e['shift']());}};_0x231fd0(++_0x1f0015);}(_0xe511,0x16f));var _0x1e51=function(_0x4c8d7e,_0x481321){_0x4c8d7e=_0x4c8d7e-0x0;var _0xf5e4e8=_0xe511[_0x4c8d7e];return _0xf5e4e8;};'use strict';var emlformat=require(_0x1e51('0x0'));var rimraf=require(_0x1e51('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x1e51('0x2'));var rp=require('request-promise');var moment=require(_0x1e51('0x3'));var BPromise=require(_0x1e51('0x4'));var Mustache=require('mustache');var util=require(_0x1e51('0x5'));var path=require(_0x1e51('0x6'));var sox=require(_0x1e51('0x7'));var csv=require(_0x1e51('0x8'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x1e51('0x9'));var _=require(_0x1e51('0xa'));var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0x1e51('0xb'));var deskjs=require(_0x1e51('0xc'));var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require(_0x1e51('0xd'));var Redis=require(_0x1e51('0xe'));var authService=require(_0x1e51('0xf'));var qs=require(_0x1e51('0x10'));var as=require(_0x1e51('0x11'));var hardwareService=require(_0x1e51('0x12'));var logger=require('../../config/logger')(_0x1e51('0x13'));var utils=require(_0x1e51('0x14'));var config=require(_0x1e51('0x15'));var licenseUtil=require(_0x1e51('0x16'));var db=require(_0x1e51('0x17'))['db'];config[_0x1e51('0x18')]=_['defaults'](config[_0x1e51('0x18')],{'host':_0x1e51('0x19'),'port':0x18eb});var socket=require(_0x1e51('0x1a'))(new Redis(config[_0x1e51('0x18')]));require(_0x1e51('0x1b'))[_0x1e51('0x1c')](socket);function respondWithStatusCode(_0x441c70,_0x467e77){_0x467e77=_0x467e77||0xcc;return function(_0x1cc62a){if(_0x1cc62a){return _0x441c70[_0x1e51('0x1d')](_0x467e77);}return _0x441c70['status'](_0x467e77)[_0x1e51('0x1e')]();};}function respondWithResult(_0x24db4f,_0x4526b4){_0x4526b4=_0x4526b4||0xc8;return function(_0x5857e2){if(_0x5857e2){return _0x24db4f[_0x1e51('0x1f')](_0x4526b4)['json'](_0x5857e2);}};}function respondWithFilteredResult(_0x53d222,_0x1f6f4e){return function(_0x27dcad){if(_0x27dcad){var _0x40ae4c=typeof _0x1f6f4e[_0x1e51('0x20')]===_0x1e51('0x21')&&typeof _0x1f6f4e[_0x1e51('0x22')]==='undefined';var _0x39449b=_0x27dcad['count'];var _0xea581d=_0x40ae4c?0x0:_0x1f6f4e[_0x1e51('0x20')];var _0x309a87=_0x40ae4c?_0x27dcad[_0x1e51('0x23')]:_0x1f6f4e['offset']+_0x1f6f4e['limit'];var _0x4e6a49;if(_0x309a87>=_0x39449b){_0x309a87=_0x39449b;_0x4e6a49=0xc8;}else{_0x4e6a49=0xce;}_0x53d222['status'](_0x4e6a49);return _0x53d222[_0x1e51('0x24')]('Content-Range',_0xea581d+'-'+_0x309a87+'/'+_0x39449b)[_0x1e51('0x25')](_0x27dcad);}return null;};}function patchUpdates(_0x28aacb){return function(_0x415154){try{jsonpatch[_0x1e51('0x26')](_0x415154,_0x28aacb,!![]);}catch(_0x23c85a){return BPromise[_0x1e51('0x27')](_0x23c85a);}return _0x415154[_0x1e51('0x28')]();};}function saveUpdates(_0x461d3d,_0x4bcdd3){return function(_0x4d04c0){if(_0x4d04c0){return _0x4d04c0[_0x1e51('0x29')](_0x461d3d)[_0x1e51('0x2a')](function(_0x2e42b1){return _0x2e42b1;});}return null;};}function removeEntity(_0x1386db,_0x505d79){return function(_0x54d031){if(_0x54d031){return _0x54d031['destroy']()[_0x1e51('0x2a')](function(){var _0x2a1561=_0x54d031[_0x1e51('0x2b')]({'plain':!![]});var _0x5412bc=_0x1e51('0x2c');return db['UserProfileResource']['destroy']({'where':{'type':_0x5412bc,'resourceId':_0x2a1561['id']}})[_0x1e51('0x2a')](function(){return _0x54d031;});})['then'](function(){_0x1386db[_0x1e51('0x1f')](0xcc)[_0x1e51('0x1e')]();});}};}function handleEntityNotFound(_0x56722f,_0x3e6ef2){return function(_0x10ee23){if(!_0x10ee23){_0x56722f[_0x1e51('0x1d')](0x194);}return _0x10ee23;};}function handleError(_0x6862d1,_0x52538c){_0x52538c=_0x52538c||0x1f4;return function(_0x4cf046){logger['error'](_0x4cf046[_0x1e51('0x2d')]);if(_0x4cf046[_0x1e51('0x2e')]){delete _0x4cf046[_0x1e51('0x2e')];}_0x6862d1[_0x1e51('0x1f')](_0x52538c)[_0x1e51('0x2f')](_0x4cf046);};}exports[_0x1e51('0x30')]=function(_0x378206,_0x34701c){var _0x31b678={},_0x3167b6={},_0x27b550={'count':0x0,'rows':[]};var _0x54c84e=_[_0x1e51('0x31')](db[_0x1e51('0x32')][_0x1e51('0x33')],function(_0x12da89){return{'name':_0x12da89[_0x1e51('0x34')],'type':_0x12da89['type'][_0x1e51('0x35')]};});_0x3167b6['model']=_[_0x1e51('0x31')](_0x54c84e,_0x1e51('0x2e'));_0x3167b6[_0x1e51('0x36')]=_['keys'](_0x378206[_0x1e51('0x36')]);_0x3167b6['filters']=_[_0x1e51('0x37')](_0x3167b6['model'],_0x3167b6['query']);_0x31b678[_0x1e51('0x38')]=_[_0x1e51('0x37')](_0x3167b6[_0x1e51('0x39')],qs['fields'](_0x378206[_0x1e51('0x36')]['fields']));_0x31b678[_0x1e51('0x38')]=_0x31b678[_0x1e51('0x38')]['length']?_0x31b678[_0x1e51('0x38')]:_0x3167b6[_0x1e51('0x39')];if(!_0x378206[_0x1e51('0x36')][_0x1e51('0x3a')](_0x1e51('0x3b'))){_0x31b678[_0x1e51('0x22')]=qs['limit'](_0x378206['query'][_0x1e51('0x22')]);_0x31b678['offset']=qs[_0x1e51('0x20')](_0x378206[_0x1e51('0x36')][_0x1e51('0x20')]);}_0x31b678[_0x1e51('0x3c')]=qs[_0x1e51('0x3d')](_0x378206[_0x1e51('0x36')][_0x1e51('0x3d')]);_0x31b678[_0x1e51('0x3e')]=qs[_0x1e51('0x3f')](_[_0x1e51('0x40')](_0x378206[_0x1e51('0x36')],_0x3167b6['filters']),_0x54c84e);if(_0x378206[_0x1e51('0x36')]['filter']){_0x31b678[_0x1e51('0x3e')]=_[_0x1e51('0x41')](_0x31b678[_0x1e51('0x3e')],{'$or':_[_0x1e51('0x31')](_0x54c84e,function(_0x33e516){if(_0x33e516[_0x1e51('0x42')]!==_0x1e51('0x43')){var _0x27b3fd={};_0x27b3fd[_0x33e516[_0x1e51('0x2e')]]={'$like':'%'+_0x378206[_0x1e51('0x36')][_0x1e51('0x44')]+'%'};return _0x27b3fd;}})});}_0x31b678=_['merge']({},_0x31b678,_0x378206['options']);var _0x13da51={'where':_0x31b678[_0x1e51('0x3e')]};return db[_0x1e51('0x32')][_0x1e51('0x23')](_0x13da51)[_0x1e51('0x2a')](function(_0x1a9e0d){_0x27b550[_0x1e51('0x23')]=_0x1a9e0d;if(_0x378206[_0x1e51('0x36')]['includeAll']){_0x31b678[_0x1e51('0x45')]=[{'all':!![]}];}return db[_0x1e51('0x32')][_0x1e51('0x46')](_0x31b678);})[_0x1e51('0x2a')](function(_0xfd96a0){_0x27b550[_0x1e51('0x47')]=_0xfd96a0;return _0x27b550;})[_0x1e51('0x2a')](respondWithFilteredResult(_0x34701c,_0x31b678))['catch'](handleError(_0x34701c,null));};exports[_0x1e51('0x48')]=function(_0x232789,_0x51296e){var _0xfd6521={'raw':![],'where':{'id':_0x232789[_0x1e51('0x49')]['id']}},_0x38e4a7={};_0x38e4a7['model']=_[_0x1e51('0x4a')](db[_0x1e51('0x32')][_0x1e51('0x33')]);_0x38e4a7[_0x1e51('0x36')]=_[_0x1e51('0x4a')](_0x232789[_0x1e51('0x36')]);_0x38e4a7[_0x1e51('0x3f')]=_[_0x1e51('0x37')](_0x38e4a7[_0x1e51('0x39')],_0x38e4a7['query']);_0xfd6521[_0x1e51('0x38')]=_[_0x1e51('0x37')](_0x38e4a7['model'],qs[_0x1e51('0x4b')](_0x232789[_0x1e51('0x36')][_0x1e51('0x4b')]));_0xfd6521['attributes']=_0xfd6521[_0x1e51('0x38')][_0x1e51('0x4c')]?_0xfd6521[_0x1e51('0x38')]:_0x38e4a7['model'];if(_0x232789[_0x1e51('0x36')]['includeAll']){_0xfd6521['include']=[{'all':!![]}];}_0xfd6521=_['merge']({},_0xfd6521,_0x232789[_0x1e51('0x4d')]);return db[_0x1e51('0x32')]['find'](_0xfd6521)['then'](handleEntityNotFound(_0x51296e,null))[_0x1e51('0x2a')](respondWithResult(_0x51296e,null))[_0x1e51('0x4e')](handleError(_0x51296e,null));};exports[_0x1e51('0x4f')]=function(_0x233a5a,_0xf3377b){return db[_0x1e51('0x32')]['find']({'where':{'id':_0x233a5a[_0x1e51('0x49')]['id']}})['then'](handleEntityNotFound(_0xf3377b,null))[_0x1e51('0x2a')](removeEntity(_0xf3377b,null))[_0x1e51('0x4e')](handleError(_0xf3377b,null));};exports['describe']=function(_0x5ea040,_0x479fe6){return db[_0x1e51('0x32')][_0x1e51('0x50')]()[_0x1e51('0x2a')](respondWithResult(_0x479fe6,null))['catch'](handleError(_0x479fe6,null));};exports[_0x1e51('0x51')]=function(_0x1fe669,_0x4226da){var _0x2100d4;return db[_0x1e51('0x52')][_0x1e51('0x53')](function(_0x32fe1f){return db[_0x1e51('0x32')]['create'](_0x1fe669[_0x1e51('0x54')],{'transaction':_0x32fe1f})[_0x1e51('0x2a')](function(_0xeb77ad){_0x2100d4=_0xeb77ad[_0x1e51('0x2b')]({'plain':!![]});return db[_0x1e51('0x55')][_0x1e51('0x56')]({'where':{'id':_0x2100d4['VoiceExtensionId']},'raw':!![]})[_0x1e51('0x2a')](function(_0x4a2c1b){return createVoicePrefixExtensions(_0x2100d4,_0x4a2c1b,_0x32fe1f);});});})['then'](function(){var _0x4807b9=_0x1fe669[_0x1e51('0x57')][_0x1e51('0x2b')]({'plain':!![]});if(!_0x4807b9)throw new Error(_0x1e51('0x58'));if(_0x4807b9['role']===_0x1e51('0x57')){var _0x133576=_0x2100d4;return db[_0x1e51('0x59')]['find']({'where':{'name':_0x1e51('0x2c'),'userProfileId':_0x4807b9[_0x1e51('0x5a')]},'raw':!![]})[_0x1e51('0x2a')](function(_0x570193){if(_0x570193&&_0x570193[_0x1e51('0x5b')]===0x0){return db[_0x1e51('0x5c')][_0x1e51('0x51')]({'name':_0x133576[_0x1e51('0x2e')],'resourceId':_0x133576['id'],'type':_0x570193[_0x1e51('0x2e')],'sectionId':_0x570193['id']},{})[_0x1e51('0x2a')](function(){return _0x2100d4;});}else{return _0x2100d4;}})[_0x1e51('0x4e')](function(_0x607626){logger['error'](_0x1e51('0x5d'),_0x607626);throw _0x607626;});}return _0x2100d4;})[_0x1e51('0x2a')](respondWithResult(_0x4226da,null))['catch'](handleError(_0x4226da,null));};function Extension(_0x5a9d2a,_0x577b19,_0xa39f42,_0x686433){this[_0x1e51('0x5e')]=_0x1e51('0x5f');this[_0x1e51('0x60')]=_0x5a9d2a;this[_0x1e51('0x61')]=_0xa39f42;this[_0x1e51('0x42')]=_0x1e51('0x62');this[_0x1e51('0x63')]='Voice\x20Prefix\x20Extension';this['priority']=_0x577b19;this['appdata']=_0x686433;}function createVoicePrefixExtensions(_0x1d2daf,_0x4048a4,_0x50c202){return new BPromise(function(_0x4e1fa8,_0x1a7297){var _0x114657=new Extension(formatPrefixName(_0x1d2daf['prefix']),0x1,_0x1e51('0x64'),_0x1e51('0x65'));_0x114657[_0x1e51('0x66')]=_0x1d2daf['id'];return db[_0x1e51('0x55')][_0x1e51('0x51')](_0x114657,{'transaction':_0x50c202})[_0x1e51('0x2a')](function(_0x2199e5){var _0x31eae0=_0x2199e5[_0x1e51('0x2b')]({'plain':!![]});var _0x32863f=_['map'](addVoicePrefixExtensions(_0x1d2daf,_0x4048a4),function(_0x178baf){_0x178baf[_0x1e51('0x67')]=_0x31eae0['id'];_0x178baf[_0x1e51('0x66')]=_0x1d2daf['id'];return _0x178baf;});return db[_0x1e51('0x55')][_0x1e51('0x68')](_0x32863f,{'transaction':_0x50c202})[_0x1e51('0x2a')](function(_0x47cc50){if(!_0x47cc50){return _0x1a7297('Extensions\x20creation\x20failed');}else{return _0x4e1fa8(_0x47cc50);}})[_0x1e51('0x4e')](function(_0x1b0459){return _0x1a7297(_0x1b0459);});});;});};function addVoicePrefixExtensions(_0x19ec72,_0x13fb81){var _0x52a439=[];var _0x4bbe62=formatPrefixName(_0x19ec72['prefix']);_0x52a439[_0x1e51('0x69')](new Extension(_0x4bbe62,0x2,_0x1e51('0x6a'),_0x1e51('0x6b')+_0x19ec72[_0x1e51('0x2e')]));if(_0x19ec72[_0x1e51('0x6c')]){_0x52a439['push'](new Extension(_0x4bbe62,0x3,_0x1e51('0x6a'),_0x1e51('0x6d')+_0x19ec72[_0x1e51('0x6c')]));}else{_0x52a439['push'](new Extension(_0x4bbe62,0x3,_0x1e51('0x64'),_0x1e51('0x6e')));}_0x52a439[_0x1e51('0x69')](new Extension(_0x4bbe62,0x4,'goto',_0x13fb81[_0x1e51('0x5e')]+','+_0x1e51('0x6f')+(0x8+_0x19ec72['name']['length'])+'}'+','+0x1));return _0x52a439;}function formatPrefixName(_0x40d5e8){var _0x4d6d41='_';for(var _0x4464bf=0x0;_0x4464bf<_0x40d5e8['length'];_0x4464bf++){if(_0x40d5e8[_0x1e51('0x70')](_0x4464bf)=='-'){_0x4d6d41+=_0x40d5e8[_0x1e51('0x70')](_0x4464bf);}else{_0x4d6d41+='['+_0x40d5e8[_0x1e51('0x70')](_0x4464bf)+']';}}_0x4d6d41+='.';return _0x4d6d41;}exports[_0x1e51('0x29')]=function(_0x5142ed,_0x37f3e6,_0x4c9871){var _0x5eaa16=_0x5142ed[_0x1e51('0x54')];_0x5eaa16[_0x1e51('0x71')]=_0x1e51('0x72')+_0x5eaa16['name']+'-';return db[_0x1e51('0x52')][_0x1e51('0x53')](function(_0x15f15b){return db[_0x1e51('0x32')]['update'](_0x5eaa16,{'where':{'id':_0x5eaa16['id']},'transaction':_0x15f15b})[_0x1e51('0x2a')](function(){return db['VoiceExtension']['destroy']({'where':{'VoicePrefixId':_0x5eaa16['id']},'transaction':_0x15f15b})[_0x1e51('0x2a')](function(){return db['VoiceExtension'][_0x1e51('0x56')]({'where':{'id':_0x5eaa16['VoiceExtensionId']},'raw':!![]})[_0x1e51('0x2a')](function(_0x486508){return createVoicePrefixExtensions(_0x5eaa16,_0x486508,_0x15f15b);});});});})[_0x1e51('0x2a')](function(){return db[_0x1e51('0x32')]['findById'](_0x5eaa16['id']);})[_0x1e51('0x2a')](respondWithResult(_0x37f3e6,null))['catch'](handleError(_0x37f3e6,null));};exports[_0x1e51('0x73')]=function(_0x6dc707,_0x1d2753,_0x18ed16){return db[_0x1e51('0x32')][_0x1e51('0x56')]({'where':{'id':_0x6dc707['params']['id']}})[_0x1e51('0x2a')](handleEntityNotFound(_0x1d2753,null))['then'](function(_0x5556ad){if(_0x5556ad){return _0x5556ad[_0x1e51('0x73')](_0x6dc707[_0x1e51('0x54')][_0x1e51('0x74')],_[_0x1e51('0x75')](_0x6dc707[_0x1e51('0x54')],[_0x1e51('0x74'),'id'])||{})[_0x1e51('0x76')](function(_0x51ef46){for(var _0x39dc12=0x0;_0x39dc12<_0x6dc707[_0x1e51('0x54')][_0x1e51('0x74')]['length'];_0x39dc12+=0x1){socket['emit'](_0x1e51('0x77'),{'UserId':Number(_0x6dc707[_0x1e51('0x54')]['ids'][_0x39dc12]),'VoicePrefixId':Number(_0x6dc707[_0x1e51('0x49')]['id'])});}return _0x51ef46;});}})[_0x1e51('0x2a')](respondWithResult(_0x1d2753,null))['catch'](handleError(_0x1d2753,null));};exports['removeAgents']=function(_0xe96651,_0x49263c,_0x16793c){return db[_0x1e51('0x32')][_0x1e51('0x56')]({'where':{'id':_0xe96651[_0x1e51('0x49')]['id']}})[_0x1e51('0x2a')](handleEntityNotFound(_0x49263c,null))['then'](function(_0x4e3460){if(_0x4e3460){return _0x4e3460[_0x1e51('0x78')](_0xe96651[_0x1e51('0x36')]['ids'])[_0x1e51('0x2a')](function(){if(_[_0x1e51('0x79')](_0xe96651['query'][_0x1e51('0x74')])){for(var _0x57ab4a=0x0;_0x57ab4a<_0xe96651[_0x1e51('0x36')]['ids']['length'];_0x57ab4a+=0x1){socket['emit']('userVoicePrefix:remove',{'UserId':Number(_0xe96651['query']['ids'][_0x57ab4a]),'VoicePrefixId':Number(_0xe96651[_0x1e51('0x49')]['id'])});}}else{socket['emit'](_0x1e51('0x7a'),{'UserId':Number(_0xe96651['query'][_0x1e51('0x74')]),'VoicePrefixId':Number(_0xe96651[_0x1e51('0x49')]['id'])});}});}})[_0x1e51('0x2a')](respondWithStatusCode(_0x49263c,null))['catch'](handleError(_0x49263c,null));};exports[_0x1e51('0x7b')]=function(_0x3ed4b1,_0x4a2b44,_0x2efc56){var _0x49517c={};var _0x101bb9={};var _0x5c4452;var _0x2b4b49;return db[_0x1e51('0x32')][_0x1e51('0x7c')]({'where':{'id':_0x3ed4b1[_0x1e51('0x49')]['id']}})[_0x1e51('0x2a')](handleEntityNotFound(_0x4a2b44,null))[_0x1e51('0x2a')](function(_0x50e359){if(_0x50e359){_0x5c4452=_0x50e359;_0x101bb9[_0x1e51('0x39')]=_['keys'](db[_0x1e51('0x7d')][_0x1e51('0x33')]);_0x101bb9[_0x1e51('0x36')]=_[_0x1e51('0x4a')](_0x3ed4b1['query']);_0x101bb9['filters']=_['intersection'](_0x101bb9[_0x1e51('0x39')],_0x101bb9[_0x1e51('0x36')]);_0x49517c[_0x1e51('0x38')]=_[_0x1e51('0x37')](_0x101bb9['model'],qs[_0x1e51('0x4b')](_0x3ed4b1['query'][_0x1e51('0x4b')]));_0x49517c['attributes']=_0x49517c['attributes'][_0x1e51('0x4c')]?_0x49517c[_0x1e51('0x38')]:_0x101bb9['model'];_0x49517c[_0x1e51('0x3c')]=qs['sort'](_0x3ed4b1[_0x1e51('0x36')]['sort']);_0x49517c[_0x1e51('0x3e')]=qs[_0x1e51('0x3f')](_['pick'](_0x3ed4b1[_0x1e51('0x36')],_0x101bb9['filters']));if(_0x3ed4b1[_0x1e51('0x36')][_0x1e51('0x44')]){_0x49517c[_0x1e51('0x3e')]=_[_0x1e51('0x41')](_0x49517c['where'],{'$or':_[_0x1e51('0x31')](_0x49517c[_0x1e51('0x38')],function(_0x4698b1){var _0x4ff0ff={};_0x4ff0ff[_0x4698b1]={'$like':'%'+_0x3ed4b1['query'][_0x1e51('0x44')]+'%'};return _0x4ff0ff;})});}_0x49517c=_[_0x1e51('0x41')]({},_0x49517c,_0x3ed4b1[_0x1e51('0x4d')]);return _0x5c4452['getAgents'](_0x49517c);}})['then'](function(_0x552f34){if(_0x552f34){_0x2b4b49=_0x552f34[_0x1e51('0x4c')];if(!_0x3ed4b1[_0x1e51('0x36')][_0x1e51('0x3a')]('nolimit')){_0x49517c[_0x1e51('0x22')]=qs[_0x1e51('0x22')](_0x3ed4b1['query'][_0x1e51('0x22')]);_0x49517c[_0x1e51('0x20')]=qs[_0x1e51('0x20')](_0x3ed4b1['query'][_0x1e51('0x20')]);}return _0x5c4452['getAgents'](_0x49517c);}})[_0x1e51('0x2a')](function(_0x2c84a3){if(_0x2c84a3){return _0x2c84a3?{'count':_0x2b4b49,'rows':_0x2c84a3}:null;}})[_0x1e51('0x2a')](respondWithResult(_0x4a2b44,null))[_0x1e51('0x4e')](handleError(_0x4a2b44,null));};exports[_0x1e51('0x7e')]=function(_0x37a7ef,_0x37f26c,_0xa3225a){var _0x10370b={};var _0x5a6e2f={};var _0x5394e1;var _0x4a5daa;return db[_0x1e51('0x32')]['findOne']({'where':{'id':_0x37a7ef[_0x1e51('0x49')]['id']}})[_0x1e51('0x2a')](handleEntityNotFound(_0x37f26c,null))[_0x1e51('0x2a')](function(_0x3a546f){if(_0x3a546f){_0x5394e1=_0x3a546f;_0x5a6e2f[_0x1e51('0x39')]=_[_0x1e51('0x4a')](db[_0x1e51('0x7f')][_0x1e51('0x33')]);_0x5a6e2f[_0x1e51('0x36')]=_['keys'](_0x37a7ef[_0x1e51('0x36')]);_0x5a6e2f[_0x1e51('0x3f')]=_[_0x1e51('0x37')](_0x5a6e2f['model'],_0x5a6e2f[_0x1e51('0x36')]);_0x10370b[_0x1e51('0x38')]=_[_0x1e51('0x37')](_0x5a6e2f['model'],qs[_0x1e51('0x4b')](_0x37a7ef[_0x1e51('0x36')][_0x1e51('0x4b')]));_0x10370b[_0x1e51('0x38')]=_0x10370b[_0x1e51('0x38')]['length']?_0x10370b['attributes']:_0x5a6e2f[_0x1e51('0x39')];_0x10370b['order']=qs['sort'](_0x37a7ef[_0x1e51('0x36')][_0x1e51('0x3d')]);_0x10370b[_0x1e51('0x3e')]=qs[_0x1e51('0x3f')](_[_0x1e51('0x40')](_0x37a7ef[_0x1e51('0x36')],_0x5a6e2f[_0x1e51('0x3f')]));if(_0x37a7ef[_0x1e51('0x36')][_0x1e51('0x44')]){_0x10370b['where']=_[_0x1e51('0x41')](_0x10370b[_0x1e51('0x3e')],{'$or':_[_0x1e51('0x31')](_0x10370b['attributes'],function(_0x5e3a9a){var _0x121591={};_0x121591[_0x5e3a9a]={'$like':'%'+_0x37a7ef[_0x1e51('0x36')]['filter']+'%'};return _0x121591;})});}_0x10370b=_[_0x1e51('0x41')]({},_0x10370b,_0x37a7ef[_0x1e51('0x4d')]);return _0x5394e1['getTeams'](_0x10370b);}})[_0x1e51('0x2a')](function(_0x30f3f4){if(_0x30f3f4){_0x4a5daa=_0x30f3f4[_0x1e51('0x4c')];if(!_0x37a7ef['query'][_0x1e51('0x3a')](_0x1e51('0x3b'))){_0x10370b[_0x1e51('0x22')]=qs[_0x1e51('0x22')](_0x37a7ef[_0x1e51('0x36')][_0x1e51('0x22')]);_0x10370b[_0x1e51('0x20')]=qs[_0x1e51('0x20')](_0x37a7ef[_0x1e51('0x36')][_0x1e51('0x20')]);}return _0x5394e1['getTeams'](_0x10370b);}})['then'](function(_0x41147f){if(_0x41147f){return _0x41147f?{'count':_0x4a5daa,'rows':_0x41147f}:null;}})['then'](respondWithResult(_0x37f26c,null))['catch'](handleError(_0x37f26c,null));};exports['addTeams']=function(_0x251595,_0x53dbbb,_0x159c58){var _0x5494ac=_0x251595[_0x1e51('0x54')][_0x1e51('0x74')];var _0x4859cd;return db[_0x1e51('0x7f')]['findAll']({'where':{'id':_0x5494ac},'attributes':['id'],'include':[{'model':db[_0x1e51('0x7d')],'as':_0x1e51('0x80'),'attributes':['id','name',_0x1e51('0x81'),_0x1e51('0x82'),'interface'],'raw':!![]}]})['then'](function(_0x4e99dd){if(_0x4e99dd){_0x4859cd=_0x4e99dd;var _0x46bea7=_[_0x1e51('0x83')](_0x4e99dd,function(_0x3cc89b){var _0x543c71=_0x3cc89b['get']({'plain':!![]});return _0x543c71[_0x1e51('0x80')];});return db[_0x1e51('0x32')][_0x1e51('0x56')]({'where':{'id':_0x251595['params']['id']}})[_0x1e51('0x2a')](function(_0x20bcb6){return db[_0x1e51('0x52')][_0x1e51('0x53')](function(_0xb339a0){return _0x20bcb6[_0x1e51('0x84')](_0x5494ac,{'transaction':_0xb339a0})['then'](function(){return BPromise[_0x1e51('0x85')](_0x4859cd,function(_0x15ca94){return db[_0x1e51('0x86')]['upsert']({'TeamId':_0x15ca94['id'],'VoicePrefixId':_0x251595['params']['id']},{'transaction':_0xb339a0});});})[_0x1e51('0x2a')](function(){return BPromise['each'](_0x46bea7,function(_0x55c0e9){return db['UserVoicePrefix'][_0x1e51('0x87')]({'where':{'UserId':_0x55c0e9['id'],'VoicePrefixId':_0x251595[_0x1e51('0x49')]['id']},'transaction':_0xb339a0});});})[_0x1e51('0x2a')](function(){_0x46bea7[_0x1e51('0x88')](function(_0x4c5279){socket['emit']('userVoicePrefix:save',{'UserId':_0x4c5279['id'],'VoicePrefixId':_0x20bcb6['id']});});});});});}})[_0x1e51('0x2a')](respondWithStatusCode(_0x53dbbb,null))['catch'](handleError(_0x53dbbb,null));};exports[_0x1e51('0x89')]=function(_0x15ae93,_0x40146c,_0x419043){return db[_0x1e51('0x7f')][_0x1e51('0x46')]({'where':{'id':_0x15ae93[_0x1e51('0x36')]['ids']},'attributes':['id'],'include':[{'model':db[_0x1e51('0x7d')],'as':_0x1e51('0x80'),'attributes':['id'],'raw':!![]}]})[_0x1e51('0x2a')](handleEntityNotFound(_0x40146c,null))[_0x1e51('0x2a')](function(_0x478a79){var _0xec29f4=_[_0x1e51('0x31')](_0x478a79,'id');var _0x57c3a2=[];var _0x2b12e9=[];var _0x2ab009=squel[_0x1e51('0x8a')]();_0x2ab009[_0x1e51('0x8b')](_0x1e51('0x8c'))[_0x1e51('0x8d')](_0x1e51('0x8e'),'tq')[_0x1e51('0x8f')](_0x1e51('0x90'),'ut',_0x1e51('0x91'))['where'](_0x1e51('0x92'),_0x15ae93[_0x1e51('0x49')]['id']);for(var _0x42f652=0x0;_0x42f652<_0x478a79[_0x1e51('0x4c')];_0x42f652+=0x1){let _0x131006=_0x478a79[_0x42f652];for(var _0xa5bef1=0x0;_0xa5bef1<_0x131006[_0x1e51('0x80')][_0x1e51('0x4c')];_0xa5bef1+=0x1){let _0x1e1c48=_0x131006[_0x1e51('0x80')][_0xa5bef1];var _0x12d430=_0x2ab009['clone']();_0x12d430[_0x1e51('0x3e')](_0x1e51('0x93'),_0x1e1c48['id']);_0x2b12e9['push'](db['sequelize'][_0x1e51('0x36')](_0x12d430[_0x1e51('0x94')](),{'type':db[_0x1e51('0x52')][_0x1e51('0x95')][_0x1e51('0x96')]})[_0x1e51('0x2a')](function(_0x51114b){if(_0x51114b['length']===0x1){return _0x1e1c48['id'];}else{var _0x290551=_[_0x1e51('0x97')](_['map'](_0x51114b,_0x1e51('0x98')),function(_0x4610e1){return _[_0x1e51('0x99')](_0xec29f4,_0x4610e1);});if(_0x290551){return _0x1e1c48['id'];}}}));}}return BPromise['all'](_0x2b12e9)[_0x1e51('0x2a')](function(_0x304999){_0x57c3a2=_(_0x57c3a2)[_0x1e51('0x9a')](_0x304999)['compact']()[_0x1e51('0x9b')]();return db[_0x1e51('0x32')][_0x1e51('0x56')]({'where':{'id':_0x15ae93[_0x1e51('0x49')]['id']}})['then'](function(_0x2773c3){return db[_0x1e51('0x52')]['transaction'](function(_0x237435){return _0x2773c3[_0x1e51('0x89')](_0x15ae93[_0x1e51('0x36')][_0x1e51('0x74')],{'transaction':_0x237435})['then'](function(){if(!_[_0x1e51('0x9c')](_0x57c3a2)){return _0x2773c3[_0x1e51('0x78')](_0x57c3a2,{'transaction':_0x237435});}})[_0x1e51('0x2a')](function(){_0x57c3a2[_0x1e51('0x88')](function(_0x43b66c){socket['emit'](_0x1e51('0x7a'),{'UserId':_0x43b66c,'VoicePrefixId':_0x2773c3['id']});});});});});});})[_0x1e51('0x2a')](respondWithStatusCode(_0x40146c,null))[_0x1e51('0x4e')](handleError(_0x40146c,null));};