Built motion from commit 9d1906d1.|2.5.40
[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 _0x4024=['../../components/parsers/qs','../../config/license/hardware','api','../../config/utils','../../config/license/util','../../mysqldb','redis','localhost','socket.io-emitter','./voicePrefix.socket','register','sendStatus','status','end','json','undefined','limit','count','offset','set','apply','reject','save','then','destroy','VoicePrefixes','UserProfileResource','error','stack','name','send','index','VoicePrefix','rawAttributes','fieldName','type','model','map','keys','query','intersection','attributes','fields','length','hasOwnProperty','order','sort','filters','pick','where','merge','VIRTUAL','filter','includeAll','include','findAll','rows','show','params','find','catch','describe','create','transaction','body','get','VoiceExtension','VoiceExtensionId','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','autoAssociation','context','from-sip','app','system','description','Voice\x20Prefix\x20Extension','appdata','prefix','Voice\x20Prefix','VoicePrefixId','Extensions\x20creation\x20failed','push','Set','callerIdAll','PREFIX-CALLERIDALL=','NoOp','No\x20callerid\x20available','goto','${EXTEN:','charAt','update','system-','sequelize','findById','addAgents','ids','omit','spread','emit','userVoicePrefix:save','removeAgents','userVoicePrefix:remove','getAgents','findOne','User','options','nolimit','getTeams','addTeams','Team','online','voicePause','flatMap','Agents','each','TeamVoicePrefix','upsert','UserVoicePrefix','findOrCreate','select','team_has_voice_prefixes','user_has_teams','ut.TeamId\x20=\x20tq.TeamId','VoicePrefixId\x20=\x20?','ut.UserId\x20=\x20?','toString','SELECT','every','includes','all','union','compact','value','forEach','eml-format','rimraf','fast-json-patch','request-promise','bluebird','util','path','ejs','fs-extra','lodash','crypto','to-csv','ioredis'];(function(_0x5c0b55,_0x56ef82){var _0x4323de=function(_0x2b1128){while(--_0x2b1128){_0x5c0b55['push'](_0x5c0b55['shift']());}};_0x4323de(++_0x56ef82);}(_0x4024,0x89));var _0x4402=function(_0x4b33b6,_0x7c9250){_0x4b33b6=_0x4b33b6-0x0;var _0x561853=_0x4024[_0x4b33b6];return _0x561853;};'use strict';var emlformat=require(_0x4402('0x0'));var rimraf=require(_0x4402('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x4402('0x2'));var rp=require(_0x4402('0x3'));var moment=require('moment');var BPromise=require(_0x4402('0x4'));var Mustache=require('mustache');var util=require(_0x4402('0x5'));var path=require(_0x4402('0x6'));var sox=require('sox');var csv=require('to-csv');var ejs=require(_0x4402('0x7'));var fs=require('fs');var fs_extra=require(_0x4402('0x8'));var _=require(_0x4402('0x9'));var squel=require('squel');var crypto=require(_0x4402('0xa'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0x4402('0xb'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0x4402('0xc'));var authService=require('../../components/auth/service');var qs=require(_0x4402('0xd'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x4402('0xe'));var logger=require('../../config/logger')(_0x4402('0xf'));var utils=require(_0x4402('0x10'));var config=require('../../config/environment');var licenseUtil=require(_0x4402('0x11'));var db=require(_0x4402('0x12'))['db'];config[_0x4402('0x13')]=_['defaults'](config[_0x4402('0x13')],{'host':_0x4402('0x14'),'port':0x18eb});var socket=require(_0x4402('0x15'))(new Redis(config[_0x4402('0x13')]));require(_0x4402('0x16'))[_0x4402('0x17')](socket);function respondWithStatusCode(_0x18c7a8,_0x3c7dd2){_0x3c7dd2=_0x3c7dd2||0xcc;return function(_0x295ac5){if(_0x295ac5){return _0x18c7a8[_0x4402('0x18')](_0x3c7dd2);}return _0x18c7a8[_0x4402('0x19')](_0x3c7dd2)[_0x4402('0x1a')]();};}function respondWithResult(_0x2a2ce8,_0x19fe7b){_0x19fe7b=_0x19fe7b||0xc8;return function(_0xfd9853){if(_0xfd9853){return _0x2a2ce8[_0x4402('0x19')](_0x19fe7b)[_0x4402('0x1b')](_0xfd9853);}};}function respondWithFilteredResult(_0x25e88b,_0x186c22){return function(_0x231382){if(_0x231382){var _0x5b127f=typeof _0x186c22['offset']===_0x4402('0x1c')&&typeof _0x186c22[_0x4402('0x1d')]==='undefined';var _0x756962=_0x231382[_0x4402('0x1e')];var _0x5cb0c5=_0x5b127f?0x0:_0x186c22[_0x4402('0x1f')];var _0x4e0340=_0x5b127f?_0x231382['count']:_0x186c22[_0x4402('0x1f')]+_0x186c22[_0x4402('0x1d')];var _0x28f44b;if(_0x4e0340>=_0x756962){_0x4e0340=_0x756962;_0x28f44b=0xc8;}else{_0x28f44b=0xce;}_0x25e88b['status'](_0x28f44b);return _0x25e88b[_0x4402('0x20')]('Content-Range',_0x5cb0c5+'-'+_0x4e0340+'/'+_0x756962)['json'](_0x231382);}return null;};}function patchUpdates(_0x6f1f72){return function(_0x275c70){try{jsonpatch[_0x4402('0x21')](_0x275c70,_0x6f1f72,!![]);}catch(_0xc583b){return BPromise[_0x4402('0x22')](_0xc583b);}return _0x275c70[_0x4402('0x23')]();};}function saveUpdates(_0x289a3e,_0x6b1fc5){return function(_0x24a9b8){if(_0x24a9b8){return _0x24a9b8['update'](_0x289a3e)[_0x4402('0x24')](function(_0x4e1c04){return _0x4e1c04;});}return null;};}function removeEntity(_0x3733cd,_0x5ab28d){return function(_0x29f56b){if(_0x29f56b){return _0x29f56b[_0x4402('0x25')]()['then'](function(){var _0x15c19f=_0x29f56b['get']({'plain':!![]});var _0x59d52f=_0x4402('0x26');return db[_0x4402('0x27')][_0x4402('0x25')]({'where':{'type':_0x59d52f,'resourceId':_0x15c19f['id']}})[_0x4402('0x24')](function(){return _0x29f56b;});})[_0x4402('0x24')](function(){_0x3733cd['status'](0xcc)[_0x4402('0x1a')]();});}};}function handleEntityNotFound(_0x52e625,_0x71da2f){return function(_0x1e2340){if(!_0x1e2340){_0x52e625[_0x4402('0x18')](0x194);}return _0x1e2340;};}function handleError(_0x48d20d,_0x38037e){_0x38037e=_0x38037e||0x1f4;return function(_0x6c87f6){logger[_0x4402('0x28')](_0x6c87f6[_0x4402('0x29')]);if(_0x6c87f6[_0x4402('0x2a')]){delete _0x6c87f6[_0x4402('0x2a')];}_0x48d20d[_0x4402('0x19')](_0x38037e)[_0x4402('0x2b')](_0x6c87f6);};}exports[_0x4402('0x2c')]=function(_0xd46d0,_0xcea26b){var _0x50748c={},_0x39f3fc={},_0x4d8d1a={'count':0x0,'rows':[]};var _0x336168=_['map'](db[_0x4402('0x2d')][_0x4402('0x2e')],function(_0x145003){return{'name':_0x145003[_0x4402('0x2f')],'type':_0x145003[_0x4402('0x30')]['key']};});_0x39f3fc[_0x4402('0x31')]=_[_0x4402('0x32')](_0x336168,_0x4402('0x2a'));_0x39f3fc['query']=_[_0x4402('0x33')](_0xd46d0[_0x4402('0x34')]);_0x39f3fc['filters']=_[_0x4402('0x35')](_0x39f3fc[_0x4402('0x31')],_0x39f3fc[_0x4402('0x34')]);_0x50748c[_0x4402('0x36')]=_[_0x4402('0x35')](_0x39f3fc[_0x4402('0x31')],qs[_0x4402('0x37')](_0xd46d0[_0x4402('0x34')][_0x4402('0x37')]));_0x50748c['attributes']=_0x50748c[_0x4402('0x36')][_0x4402('0x38')]?_0x50748c[_0x4402('0x36')]:_0x39f3fc['model'];if(!_0xd46d0[_0x4402('0x34')][_0x4402('0x39')]('nolimit')){_0x50748c['limit']=qs[_0x4402('0x1d')](_0xd46d0[_0x4402('0x34')][_0x4402('0x1d')]);_0x50748c[_0x4402('0x1f')]=qs['offset'](_0xd46d0['query']['offset']);}_0x50748c[_0x4402('0x3a')]=qs[_0x4402('0x3b')](_0xd46d0[_0x4402('0x34')][_0x4402('0x3b')]);_0x50748c['where']=qs[_0x4402('0x3c')](_[_0x4402('0x3d')](_0xd46d0[_0x4402('0x34')],_0x39f3fc['filters']),_0x336168);if(_0xd46d0[_0x4402('0x34')]['filter']){_0x50748c[_0x4402('0x3e')]=_[_0x4402('0x3f')](_0x50748c['where'],{'$or':_[_0x4402('0x32')](_0x336168,function(_0x529526){if(_0x529526[_0x4402('0x30')]!==_0x4402('0x40')){var _0x5a4e88={};_0x5a4e88[_0x529526[_0x4402('0x2a')]]={'$like':'%'+_0xd46d0[_0x4402('0x34')][_0x4402('0x41')]+'%'};return _0x5a4e88;}})});}_0x50748c=_[_0x4402('0x3f')]({},_0x50748c,_0xd46d0['options']);var _0x540440={'where':_0x50748c[_0x4402('0x3e')]};return db['VoicePrefix'][_0x4402('0x1e')](_0x540440)[_0x4402('0x24')](function(_0xb9cf85){_0x4d8d1a[_0x4402('0x1e')]=_0xb9cf85;if(_0xd46d0[_0x4402('0x34')][_0x4402('0x42')]){_0x50748c[_0x4402('0x43')]=[{'all':!![]}];}return db[_0x4402('0x2d')][_0x4402('0x44')](_0x50748c);})[_0x4402('0x24')](function(_0x486e43){_0x4d8d1a[_0x4402('0x45')]=_0x486e43;return _0x4d8d1a;})[_0x4402('0x24')](respondWithFilteredResult(_0xcea26b,_0x50748c))['catch'](handleError(_0xcea26b,null));};exports[_0x4402('0x46')]=function(_0x370878,_0x50552a){var _0x4115d6={'raw':![],'where':{'id':_0x370878[_0x4402('0x47')]['id']}},_0x40187f={};_0x40187f[_0x4402('0x31')]=_[_0x4402('0x33')](db['VoicePrefix'][_0x4402('0x2e')]);_0x40187f[_0x4402('0x34')]=_[_0x4402('0x33')](_0x370878[_0x4402('0x34')]);_0x40187f[_0x4402('0x3c')]=_[_0x4402('0x35')](_0x40187f[_0x4402('0x31')],_0x40187f[_0x4402('0x34')]);_0x4115d6[_0x4402('0x36')]=_[_0x4402('0x35')](_0x40187f[_0x4402('0x31')],qs['fields'](_0x370878[_0x4402('0x34')]['fields']));_0x4115d6[_0x4402('0x36')]=_0x4115d6[_0x4402('0x36')]['length']?_0x4115d6[_0x4402('0x36')]:_0x40187f[_0x4402('0x31')];if(_0x370878[_0x4402('0x34')][_0x4402('0x42')]){_0x4115d6[_0x4402('0x43')]=[{'all':!![]}];}_0x4115d6=_[_0x4402('0x3f')]({},_0x4115d6,_0x370878['options']);return db[_0x4402('0x2d')][_0x4402('0x48')](_0x4115d6)[_0x4402('0x24')](handleEntityNotFound(_0x50552a,null))[_0x4402('0x24')](respondWithResult(_0x50552a,null))[_0x4402('0x49')](handleError(_0x50552a,null));};exports[_0x4402('0x25')]=function(_0x43cfbd,_0x2e3934){return db[_0x4402('0x2d')]['find']({'where':{'id':_0x43cfbd['params']['id']}})['then'](handleEntityNotFound(_0x2e3934,null))['then'](removeEntity(_0x2e3934,null))[_0x4402('0x49')](handleError(_0x2e3934,null));};exports[_0x4402('0x4a')]=function(_0x3876a9,_0x3fe6b4){return db['VoicePrefix'][_0x4402('0x4a')]()[_0x4402('0x24')](respondWithResult(_0x3fe6b4,null))[_0x4402('0x49')](handleError(_0x3fe6b4,null));};exports[_0x4402('0x4b')]=function(_0x196b2f,_0x352898){var _0x12f1fa;return db['sequelize'][_0x4402('0x4c')](function(_0x2a8085){return db[_0x4402('0x2d')][_0x4402('0x4b')](_0x196b2f[_0x4402('0x4d')],{'transaction':_0x2a8085})[_0x4402('0x24')](function(_0x5477fd){_0x12f1fa=_0x5477fd[_0x4402('0x4e')]({'plain':!![]});return db[_0x4402('0x4f')][_0x4402('0x48')]({'where':{'id':_0x12f1fa[_0x4402('0x50')]},'raw':!![]})[_0x4402('0x24')](function(_0x476bf5){return createVoicePrefixExtensions(_0x12f1fa,_0x476bf5,_0x2a8085);});});})[_0x4402('0x24')](function(){var _0x5dbf62=_0x196b2f['user'][_0x4402('0x4e')]({'plain':!![]});if(!_0x5dbf62)throw new Error(_0x4402('0x51'));if(_0x5dbf62[_0x4402('0x52')]==='user'){var _0x5a076a=_0x12f1fa;return db[_0x4402('0x53')][_0x4402('0x48')]({'where':{'name':_0x4402('0x26'),'userProfileId':_0x5dbf62[_0x4402('0x54')]},'raw':!![]})[_0x4402('0x24')](function(_0x37ba14){if(_0x37ba14&&_0x37ba14[_0x4402('0x55')]===0x0){return db[_0x4402('0x27')][_0x4402('0x4b')]({'name':_0x5a076a[_0x4402('0x2a')],'resourceId':_0x5a076a['id'],'type':_0x37ba14[_0x4402('0x2a')],'sectionId':_0x37ba14['id']},{})[_0x4402('0x24')](function(){return _0x12f1fa;});}else{return _0x12f1fa;}})[_0x4402('0x49')](function(_0x4fd479){logger[_0x4402('0x28')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x4fd479);throw _0x4fd479;});}return _0x12f1fa;})[_0x4402('0x24')](respondWithResult(_0x352898,null))['catch'](handleError(_0x352898,null));};function Extension(_0x3fb9f0,_0x1e5891,_0x1e4f1a,_0x31e36c){this[_0x4402('0x56')]=_0x4402('0x57');this['exten']=_0x3fb9f0;this[_0x4402('0x58')]=_0x1e4f1a;this[_0x4402('0x30')]=_0x4402('0x59');this[_0x4402('0x5a')]=_0x4402('0x5b');this['priority']=_0x1e5891;this[_0x4402('0x5c')]=_0x31e36c;}function createVoicePrefixExtensions(_0x31d993,_0x474b04,_0xc15c0b){return new BPromise(function(_0x309077,_0x3f8e3b){var _0x33b605=new Extension(formatPrefixName(_0x31d993[_0x4402('0x5d')]),0x1,'NoOp',_0x4402('0x5e'));_0x33b605[_0x4402('0x5f')]=_0x31d993['id'];return db['VoiceExtension'][_0x4402('0x4b')](_0x33b605,{'transaction':_0xc15c0b})[_0x4402('0x24')](function(_0x582668){var _0x5218c6=_0x582668[_0x4402('0x4e')]({'plain':!![]});var _0x1746c6=_[_0x4402('0x32')](addVoicePrefixExtensions(_0x31d993,_0x474b04),function(_0x5c6121){_0x5c6121[_0x4402('0x50')]=_0x5218c6['id'];_0x5c6121[_0x4402('0x5f')]=_0x31d993['id'];return _0x5c6121;});return db[_0x4402('0x4f')]['bulkCreate'](_0x1746c6,{'transaction':_0xc15c0b})[_0x4402('0x24')](function(_0x41a2c6){if(!_0x41a2c6){return _0x3f8e3b(_0x4402('0x60'));}else{return _0x309077(_0x41a2c6);}})['catch'](function(_0x13f0d3){return _0x3f8e3b(_0x13f0d3);});});;});};function addVoicePrefixExtensions(_0x110e0f,_0x4f9865){var _0x5cef56=[];var _0x40869c=formatPrefixName(_0x110e0f['prefix']);_0x5cef56[_0x4402('0x61')](new Extension(_0x40869c,0x2,_0x4402('0x62'),'CDR(prefix)='+_0x110e0f['name']));if(_0x110e0f[_0x4402('0x63')]){_0x5cef56[_0x4402('0x61')](new Extension(_0x40869c,0x3,_0x4402('0x62'),_0x4402('0x64')+_0x110e0f['callerIdAll']));}else{_0x5cef56[_0x4402('0x61')](new Extension(_0x40869c,0x3,_0x4402('0x65'),_0x4402('0x66')));}_0x5cef56[_0x4402('0x61')](new Extension(_0x40869c,0x4,_0x4402('0x67'),_0x4f9865[_0x4402('0x56')]+','+_0x4402('0x68')+(0x8+_0x110e0f['name'][_0x4402('0x38')])+'}'+','+0x1));return _0x5cef56;}function formatPrefixName(_0x2ee6e8){var _0x559d1c='_';for(var _0x508111=0x0;_0x508111<_0x2ee6e8[_0x4402('0x38')];_0x508111++){if(_0x2ee6e8['charAt'](_0x508111)=='-'){_0x559d1c+=_0x2ee6e8[_0x4402('0x69')](_0x508111);}else{_0x559d1c+='['+_0x2ee6e8['charAt'](_0x508111)+']';}}_0x559d1c+='.';return _0x559d1c;}exports[_0x4402('0x6a')]=function(_0x10b89a,_0x22260b,_0x3f196a){var _0x3c89bf=_0x10b89a[_0x4402('0x4d')];_0x3c89bf[_0x4402('0x5d')]=_0x4402('0x6b')+_0x3c89bf[_0x4402('0x2a')]+'-';return db[_0x4402('0x6c')][_0x4402('0x4c')](function(_0xfd35f7){return db[_0x4402('0x2d')][_0x4402('0x6a')](_0x3c89bf,{'where':{'id':_0x3c89bf['id']},'transaction':_0xfd35f7})[_0x4402('0x24')](function(){return db[_0x4402('0x4f')]['destroy']({'where':{'VoicePrefixId':_0x3c89bf['id']},'transaction':_0xfd35f7})[_0x4402('0x24')](function(){return db[_0x4402('0x4f')][_0x4402('0x48')]({'where':{'id':_0x3c89bf['VoiceExtensionId']},'raw':!![]})[_0x4402('0x24')](function(_0x4a79b6){return createVoicePrefixExtensions(_0x3c89bf,_0x4a79b6,_0xfd35f7);});});});})[_0x4402('0x24')](function(){return db[_0x4402('0x2d')][_0x4402('0x6d')](_0x3c89bf['id']);})[_0x4402('0x24')](respondWithResult(_0x22260b,null))['catch'](handleError(_0x22260b,null));};exports[_0x4402('0x6e')]=function(_0x5ce15c,_0x127d47,_0x925736){return db[_0x4402('0x2d')]['find']({'where':{'id':_0x5ce15c[_0x4402('0x47')]['id']}})['then'](handleEntityNotFound(_0x127d47,null))[_0x4402('0x24')](function(_0x39ccc9){if(_0x39ccc9){return _0x39ccc9[_0x4402('0x6e')](_0x5ce15c[_0x4402('0x4d')][_0x4402('0x6f')],_[_0x4402('0x70')](_0x5ce15c[_0x4402('0x4d')],[_0x4402('0x6f'),'id'])||{})[_0x4402('0x71')](function(_0x5054f9){for(var _0x44d806=0x0;_0x44d806<_0x5ce15c[_0x4402('0x4d')][_0x4402('0x6f')][_0x4402('0x38')];_0x44d806+=0x1){socket[_0x4402('0x72')](_0x4402('0x73'),{'UserId':Number(_0x5ce15c[_0x4402('0x4d')][_0x4402('0x6f')][_0x44d806]),'VoicePrefixId':Number(_0x5ce15c[_0x4402('0x47')]['id'])});}return _0x5054f9;});}})['then'](respondWithResult(_0x127d47,null))[_0x4402('0x49')](handleError(_0x127d47,null));};exports[_0x4402('0x74')]=function(_0x2eae1c,_0x4c4845,_0xb5f21c){return db['VoicePrefix'][_0x4402('0x48')]({'where':{'id':_0x2eae1c['params']['id']}})[_0x4402('0x24')](handleEntityNotFound(_0x4c4845,null))[_0x4402('0x24')](function(_0x552962){if(_0x552962){return _0x552962[_0x4402('0x74')](_0x2eae1c['query'][_0x4402('0x6f')])[_0x4402('0x24')](function(){if(_['isArray'](_0x2eae1c[_0x4402('0x34')][_0x4402('0x6f')])){for(var _0x50f5ed=0x0;_0x50f5ed<_0x2eae1c[_0x4402('0x34')][_0x4402('0x6f')]['length'];_0x50f5ed+=0x1){socket[_0x4402('0x72')](_0x4402('0x75'),{'UserId':Number(_0x2eae1c[_0x4402('0x34')][_0x4402('0x6f')][_0x50f5ed]),'VoicePrefixId':Number(_0x2eae1c[_0x4402('0x47')]['id'])});}}else{socket[_0x4402('0x72')](_0x4402('0x75'),{'UserId':Number(_0x2eae1c[_0x4402('0x34')][_0x4402('0x6f')]),'VoicePrefixId':Number(_0x2eae1c[_0x4402('0x47')]['id'])});}});}})[_0x4402('0x24')](respondWithStatusCode(_0x4c4845,null))[_0x4402('0x49')](handleError(_0x4c4845,null));};exports[_0x4402('0x76')]=function(_0x2dd4b7,_0x5359ec,_0x1bc518){var _0xc3914e={};var _0x4b9ac8={};var _0x3f70a3;var _0x4eb578;return db[_0x4402('0x2d')][_0x4402('0x77')]({'where':{'id':_0x2dd4b7[_0x4402('0x47')]['id']}})['then'](handleEntityNotFound(_0x5359ec,null))[_0x4402('0x24')](function(_0x26fc3a){if(_0x26fc3a){_0x3f70a3=_0x26fc3a;_0x4b9ac8[_0x4402('0x31')]=_['keys'](db[_0x4402('0x78')][_0x4402('0x2e')]);_0x4b9ac8[_0x4402('0x34')]=_[_0x4402('0x33')](_0x2dd4b7['query']);_0x4b9ac8[_0x4402('0x3c')]=_[_0x4402('0x35')](_0x4b9ac8[_0x4402('0x31')],_0x4b9ac8[_0x4402('0x34')]);_0xc3914e[_0x4402('0x36')]=_[_0x4402('0x35')](_0x4b9ac8[_0x4402('0x31')],qs[_0x4402('0x37')](_0x2dd4b7[_0x4402('0x34')][_0x4402('0x37')]));_0xc3914e[_0x4402('0x36')]=_0xc3914e[_0x4402('0x36')][_0x4402('0x38')]?_0xc3914e['attributes']:_0x4b9ac8[_0x4402('0x31')];_0xc3914e[_0x4402('0x3a')]=qs[_0x4402('0x3b')](_0x2dd4b7[_0x4402('0x34')]['sort']);_0xc3914e['where']=qs[_0x4402('0x3c')](_[_0x4402('0x3d')](_0x2dd4b7[_0x4402('0x34')],_0x4b9ac8[_0x4402('0x3c')]));if(_0x2dd4b7['query'][_0x4402('0x41')]){_0xc3914e[_0x4402('0x3e')]=_['merge'](_0xc3914e[_0x4402('0x3e')],{'$or':_[_0x4402('0x32')](_0xc3914e[_0x4402('0x36')],function(_0x1271eb){var _0x297884={};_0x297884[_0x1271eb]={'$like':'%'+_0x2dd4b7['query'][_0x4402('0x41')]+'%'};return _0x297884;})});}_0xc3914e=_[_0x4402('0x3f')]({},_0xc3914e,_0x2dd4b7[_0x4402('0x79')]);return _0x3f70a3[_0x4402('0x76')](_0xc3914e);}})[_0x4402('0x24')](function(_0x1a2822){if(_0x1a2822){_0x4eb578=_0x1a2822[_0x4402('0x38')];if(!_0x2dd4b7['query'][_0x4402('0x39')](_0x4402('0x7a'))){_0xc3914e[_0x4402('0x1d')]=qs[_0x4402('0x1d')](_0x2dd4b7[_0x4402('0x34')]['limit']);_0xc3914e[_0x4402('0x1f')]=qs[_0x4402('0x1f')](_0x2dd4b7['query'][_0x4402('0x1f')]);}return _0x3f70a3['getAgents'](_0xc3914e);}})['then'](function(_0x364a26){if(_0x364a26){return _0x364a26?{'count':_0x4eb578,'rows':_0x364a26}:null;}})['then'](respondWithResult(_0x5359ec,null))[_0x4402('0x49')](handleError(_0x5359ec,null));};exports['getTeams']=function(_0x51e85d,_0x16af14,_0x7adf6d){var _0x43c796={};var _0x1f1222={};var _0x24bfa6;var _0x32b047;return db['VoicePrefix'][_0x4402('0x77')]({'where':{'id':_0x51e85d[_0x4402('0x47')]['id']}})['then'](handleEntityNotFound(_0x16af14,null))[_0x4402('0x24')](function(_0x48940e){if(_0x48940e){_0x24bfa6=_0x48940e;_0x1f1222['model']=_[_0x4402('0x33')](db['Team'][_0x4402('0x2e')]);_0x1f1222[_0x4402('0x34')]=_[_0x4402('0x33')](_0x51e85d[_0x4402('0x34')]);_0x1f1222[_0x4402('0x3c')]=_['intersection'](_0x1f1222['model'],_0x1f1222[_0x4402('0x34')]);_0x43c796[_0x4402('0x36')]=_['intersection'](_0x1f1222[_0x4402('0x31')],qs[_0x4402('0x37')](_0x51e85d[_0x4402('0x34')][_0x4402('0x37')]));_0x43c796[_0x4402('0x36')]=_0x43c796[_0x4402('0x36')]['length']?_0x43c796['attributes']:_0x1f1222[_0x4402('0x31')];_0x43c796[_0x4402('0x3a')]=qs[_0x4402('0x3b')](_0x51e85d[_0x4402('0x34')][_0x4402('0x3b')]);_0x43c796[_0x4402('0x3e')]=qs['filters'](_[_0x4402('0x3d')](_0x51e85d[_0x4402('0x34')],_0x1f1222[_0x4402('0x3c')]));if(_0x51e85d[_0x4402('0x34')][_0x4402('0x41')]){_0x43c796['where']=_[_0x4402('0x3f')](_0x43c796[_0x4402('0x3e')],{'$or':_[_0x4402('0x32')](_0x43c796[_0x4402('0x36')],function(_0x3b89e8){var _0x813e1b={};_0x813e1b[_0x3b89e8]={'$like':'%'+_0x51e85d['query']['filter']+'%'};return _0x813e1b;})});}_0x43c796=_[_0x4402('0x3f')]({},_0x43c796,_0x51e85d['options']);return _0x24bfa6[_0x4402('0x7b')](_0x43c796);}})[_0x4402('0x24')](function(_0x3eb205){if(_0x3eb205){_0x32b047=_0x3eb205[_0x4402('0x38')];if(!_0x51e85d[_0x4402('0x34')][_0x4402('0x39')](_0x4402('0x7a'))){_0x43c796[_0x4402('0x1d')]=qs[_0x4402('0x1d')](_0x51e85d[_0x4402('0x34')][_0x4402('0x1d')]);_0x43c796[_0x4402('0x1f')]=qs[_0x4402('0x1f')](_0x51e85d[_0x4402('0x34')][_0x4402('0x1f')]);}return _0x24bfa6[_0x4402('0x7b')](_0x43c796);}})[_0x4402('0x24')](function(_0x325eeb){if(_0x325eeb){return _0x325eeb?{'count':_0x32b047,'rows':_0x325eeb}:null;}})[_0x4402('0x24')](respondWithResult(_0x16af14,null))[_0x4402('0x49')](handleError(_0x16af14,null));};exports[_0x4402('0x7c')]=function(_0x385b8e,_0x418070,_0x47a76a){var _0xdd829a=_0x385b8e[_0x4402('0x4d')][_0x4402('0x6f')];var _0x2631bc;return db[_0x4402('0x7d')][_0x4402('0x44')]({'where':{'id':_0xdd829a},'attributes':['id'],'include':[{'model':db['User'],'as':'Agents','attributes':['id',_0x4402('0x2a'),_0x4402('0x7e'),_0x4402('0x7f'),'interface'],'raw':!![]}]})['then'](function(_0x54fee3){if(_0x54fee3){_0x2631bc=_0x54fee3;var _0x4f6010=_[_0x4402('0x80')](_0x54fee3,function(_0x179c27){var _0x2a6031=_0x179c27['get']({'plain':!![]});return _0x2a6031[_0x4402('0x81')];});return db[_0x4402('0x2d')][_0x4402('0x48')]({'where':{'id':_0x385b8e['params']['id']}})[_0x4402('0x24')](function(_0x5847b5){return db[_0x4402('0x6c')][_0x4402('0x4c')](function(_0x235d46){return _0x5847b5[_0x4402('0x7c')](_0xdd829a,{'transaction':_0x235d46})[_0x4402('0x24')](function(){return BPromise[_0x4402('0x82')](_0x2631bc,function(_0x4f2686){return db[_0x4402('0x83')][_0x4402('0x84')]({'TeamId':_0x4f2686['id'],'VoicePrefixId':_0x385b8e[_0x4402('0x47')]['id']},{'transaction':_0x235d46});});})['then'](function(){return BPromise[_0x4402('0x82')](_0x4f6010,function(_0x47e8f7){return db[_0x4402('0x85')][_0x4402('0x86')]({'where':{'UserId':_0x47e8f7['id'],'VoicePrefixId':_0x385b8e[_0x4402('0x47')]['id']},'transaction':_0x235d46});});})[_0x4402('0x24')](function(){_0x4f6010['forEach'](function(_0x91c49){socket[_0x4402('0x72')](_0x4402('0x73'),{'UserId':_0x91c49['id'],'VoicePrefixId':_0x5847b5['id']});});});});});}})[_0x4402('0x24')](respondWithStatusCode(_0x418070,null))[_0x4402('0x49')](handleError(_0x418070,null));};exports['removeTeams']=function(_0x8d0746,_0x2dbd34,_0x56f6d3){return db['Team']['findAll']({'where':{'id':_0x8d0746[_0x4402('0x34')][_0x4402('0x6f')]},'attributes':['id'],'include':[{'model':db[_0x4402('0x78')],'as':_0x4402('0x81'),'attributes':['id'],'raw':!![]}]})['then'](handleEntityNotFound(_0x2dbd34,null))[_0x4402('0x24')](function(_0x12130d){var _0x2a2579=_[_0x4402('0x32')](_0x12130d,'id');var _0x4e7189=[];var _0x2a3361=[];var _0x2949ce=squel[_0x4402('0x87')]();_0x2949ce['field']('tq.TeamId')['from'](_0x4402('0x88'),'tq')['join'](_0x4402('0x89'),'ut',_0x4402('0x8a'))[_0x4402('0x3e')](_0x4402('0x8b'),_0x8d0746[_0x4402('0x47')]['id']);for(var _0xd604a5=0x0;_0xd604a5<_0x12130d[_0x4402('0x38')];_0xd604a5+=0x1){let _0x3c442d=_0x12130d[_0xd604a5];for(var _0x14daa4=0x0;_0x14daa4<_0x3c442d[_0x4402('0x81')][_0x4402('0x38')];_0x14daa4+=0x1){let _0x329b60=_0x3c442d[_0x4402('0x81')][_0x14daa4];var _0x368b2c=_0x2949ce['clone']();_0x368b2c[_0x4402('0x3e')](_0x4402('0x8c'),_0x329b60['id']);_0x2a3361['push'](db['sequelize']['query'](_0x368b2c[_0x4402('0x8d')](),{'type':db['sequelize']['QueryTypes'][_0x4402('0x8e')]})[_0x4402('0x24')](function(_0x594366){if(_0x594366[_0x4402('0x38')]===0x1){return _0x329b60['id'];}else{var _0xe86dc6=_[_0x4402('0x8f')](_[_0x4402('0x32')](_0x594366,'TeamId'),function(_0x386377){return _[_0x4402('0x90')](_0x2a2579,_0x386377);});if(_0xe86dc6){return _0x329b60['id'];}}}));}}return BPromise[_0x4402('0x91')](_0x2a3361)[_0x4402('0x24')](function(_0x453838){_0x4e7189=_(_0x4e7189)[_0x4402('0x92')](_0x453838)[_0x4402('0x93')]()[_0x4402('0x94')]();return db[_0x4402('0x2d')]['find']({'where':{'id':_0x8d0746[_0x4402('0x47')]['id']}})[_0x4402('0x24')](function(_0x290346){return db[_0x4402('0x6c')]['transaction'](function(_0x439026){return _0x290346['removeTeams'](_0x8d0746[_0x4402('0x34')][_0x4402('0x6f')],{'transaction':_0x439026})['then'](function(){if(!_['isEmpty'](_0x4e7189)){return _0x290346[_0x4402('0x74')](_0x4e7189,{'transaction':_0x439026});}})[_0x4402('0x24')](function(){_0x4e7189[_0x4402('0x95')](function(_0x759c30){socket[_0x4402('0x72')](_0x4402('0x75'),{'UserId':_0x759c30,'VoicePrefixId':_0x290346['id']});});});});});});})['then'](respondWithStatusCode(_0x2dbd34,null))['catch'](handleError(_0x2dbd34,null));};