9326dfc37135bfef58f9f07cd29b5310e7654f82
[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 _0x25e7=['ejs','squel','crypto','jsforce','desk.js','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/utils','../../config/environment','redis','defaults','localhost','socket.io-emitter','register','sendStatus','status','json','offset','limit','undefined','count','set','Content-Range','apply','reject','save','destroy','then','get','UserProfileResource','end','stack','name','send','index','map','VoicePrefix','type','model','query','keys','attributes','fields','hasOwnProperty','order','sort','filters','pick','where','merge','VIRTUAL','filter','include','findAll','catch','show','rawAttributes','intersection','includeAll','options','find','params','describe','create','sequelize','transaction','VoiceExtension','VoiceExtensionId','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','user','UserProfileSection','VoicePrefixes','error','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','context','from-sip','exten','app','description','Voice\x20Prefix\x20Extension','priority','appdata','prefix','VoicePrefixId','bulkCreate','Extensions\x20creation\x20failed','Set','CDR(prefix)=','push','PREFIX-CALLERIDALL=','callerIdAll','NoOp','No\x20callerid\x20available','goto','${EXTEN:','length','charAt','body','system-','update','findById','addAgents','ids','omit','spread','emit','userVoicePrefix:save','removeAgents','isArray','userVoicePrefix:remove','getAgents','findOne','User','nolimit','getTeams','Team','Agents','voicePause','interface','addTeams','each','TeamVoicePrefix','upsert','UserVoicePrefix','findOrCreate','forEach','removeTeams','select','field','tq.TeamId','from','ut.TeamId\x20=\x20tq.TeamId','clone','ut.UserId\x20=\x20?','toString','SELECT','every','TeamId','all','union','compact','value','isEmpty','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path'];(function(_0x343808,_0x5b2472){var _0x48156a=function(_0x2ebc0d){while(--_0x2ebc0d){_0x343808['push'](_0x343808['shift']());}};_0x48156a(++_0x5b2472);}(_0x25e7,0x1d6));var _0x725e=function(_0x2cde51,_0x41b85c){_0x2cde51=_0x2cde51-0x0;var _0x37177e=_0x25e7[_0x2cde51];return _0x37177e;};'use strict';var emlformat=require(_0x725e('0x0'));var rimraf=require(_0x725e('0x1'));var zipdir=require(_0x725e('0x2'));var jsonpatch=require(_0x725e('0x3'));var rp=require(_0x725e('0x4'));var moment=require(_0x725e('0x5'));var BPromise=require(_0x725e('0x6'));var Mustache=require(_0x725e('0x7'));var util=require(_0x725e('0x8'));var path=require(_0x725e('0x9'));var sox=require('sox');var csv=require('to-csv');var ejs=require(_0x725e('0xa'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require(_0x725e('0xb'));var crypto=require(_0x725e('0xc'));var jsforce=require(_0x725e('0xd'));var deskjs=require(_0x725e('0xe'));var toCsv=require(_0x725e('0xf'));var querystring=require(_0x725e('0x10'));var Papa=require(_0x725e('0x11'));var Redis=require(_0x725e('0x12'));var authService=require(_0x725e('0x13'));var qs=require(_0x725e('0x14'));var as=require(_0x725e('0x15'));var hardwareService=require(_0x725e('0x16'));var logger=require('../../config/logger')('api');var utils=require(_0x725e('0x17'));var config=require(_0x725e('0x18'));var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];config[_0x725e('0x19')]=_[_0x725e('0x1a')](config['redis'],{'host':_0x725e('0x1b'),'port':0x18eb});var socket=require(_0x725e('0x1c'))(new Redis(config[_0x725e('0x19')]));require('./voicePrefix.socket')[_0x725e('0x1d')](socket);function respondWithStatusCode(_0x221e02,_0x44e652){_0x44e652=_0x44e652||0xcc;return function(_0x2e78d2){if(_0x2e78d2){return _0x221e02[_0x725e('0x1e')](_0x44e652);}return _0x221e02[_0x725e('0x1f')](_0x44e652)['end']();};}function respondWithResult(_0x156b99,_0x268312){_0x268312=_0x268312||0xc8;return function(_0x297bb7){if(_0x297bb7){return _0x156b99['status'](_0x268312)[_0x725e('0x20')](_0x297bb7);}};}function respondWithFilteredResult(_0x125fef,_0x2dda5c){return function(_0x397e33){if(_0x397e33){var _0x268438=typeof _0x2dda5c[_0x725e('0x21')]==='undefined'&&typeof _0x2dda5c[_0x725e('0x22')]===_0x725e('0x23');var _0x1b8879=_0x397e33[_0x725e('0x24')];var _0x1a9ea6=_0x268438?0x0:_0x2dda5c[_0x725e('0x21')];var _0x540802=_0x268438?_0x397e33[_0x725e('0x24')]:_0x2dda5c[_0x725e('0x21')]+_0x2dda5c[_0x725e('0x22')];var _0x40c21b;if(_0x540802>=_0x1b8879){_0x540802=_0x1b8879;_0x40c21b=0xc8;}else{_0x40c21b=0xce;}_0x125fef[_0x725e('0x1f')](_0x40c21b);return _0x125fef[_0x725e('0x25')](_0x725e('0x26'),_0x1a9ea6+'-'+_0x540802+'/'+_0x1b8879)[_0x725e('0x20')](_0x397e33);}return null;};}function patchUpdates(_0x7d0792){return function(_0x5c33c1){try{jsonpatch[_0x725e('0x27')](_0x5c33c1,_0x7d0792,!![]);}catch(_0x36cbab){return BPromise[_0x725e('0x28')](_0x36cbab);}return _0x5c33c1[_0x725e('0x29')]();};}function saveUpdates(_0x5a8191,_0xffe474){return function(_0x5268c8){if(_0x5268c8){return _0x5268c8['update'](_0x5a8191)['then'](function(_0x2aad7b){return _0x2aad7b;});}return null;};}function removeEntity(_0x1cbaae,_0x2d3c55){return function(_0x590aff){if(_0x590aff){return _0x590aff[_0x725e('0x2a')]()[_0x725e('0x2b')](function(){var _0x5a5bef=_0x590aff[_0x725e('0x2c')]({'plain':!![]});var _0x339a58='VoicePrefixes';return db[_0x725e('0x2d')]['destroy']({'where':{'type':_0x339a58,'resourceId':_0x5a5bef['id']}})['then'](function(){return _0x590aff;});})[_0x725e('0x2b')](function(){_0x1cbaae['status'](0xcc)[_0x725e('0x2e')]();});}};}function handleEntityNotFound(_0x4cc4ad,_0x4de2e0){return function(_0x9b5b7f){if(!_0x9b5b7f){_0x4cc4ad[_0x725e('0x1e')](0x194);}return _0x9b5b7f;};}function handleError(_0x33fe34,_0x545237){_0x545237=_0x545237||0x1f4;return function(_0x2e0534){logger['error'](_0x2e0534[_0x725e('0x2f')]);if(_0x2e0534[_0x725e('0x30')]){delete _0x2e0534[_0x725e('0x30')];}_0x33fe34[_0x725e('0x1f')](_0x545237)[_0x725e('0x31')](_0x2e0534);};}exports[_0x725e('0x32')]=function(_0x154ca0,_0x100c63){var _0x4271d2={},_0x3e7637={},_0x9179a4={'count':0x0,'rows':[]};var _0x5493d0=_[_0x725e('0x33')](db[_0x725e('0x34')]['rawAttributes'],function(_0x43f3c6){return{'name':_0x43f3c6['fieldName'],'type':_0x43f3c6[_0x725e('0x35')]['key']};});_0x3e7637[_0x725e('0x36')]=_[_0x725e('0x33')](_0x5493d0,_0x725e('0x30'));_0x3e7637[_0x725e('0x37')]=_[_0x725e('0x38')](_0x154ca0[_0x725e('0x37')]);_0x3e7637['filters']=_['intersection'](_0x3e7637[_0x725e('0x36')],_0x3e7637[_0x725e('0x37')]);_0x4271d2[_0x725e('0x39')]=_['intersection'](_0x3e7637[_0x725e('0x36')],qs['fields'](_0x154ca0[_0x725e('0x37')][_0x725e('0x3a')]));_0x4271d2[_0x725e('0x39')]=_0x4271d2[_0x725e('0x39')]['length']?_0x4271d2['attributes']:_0x3e7637[_0x725e('0x36')];if(!_0x154ca0[_0x725e('0x37')][_0x725e('0x3b')]('nolimit')){_0x4271d2[_0x725e('0x22')]=qs[_0x725e('0x22')](_0x154ca0[_0x725e('0x37')]['limit']);_0x4271d2[_0x725e('0x21')]=qs['offset'](_0x154ca0[_0x725e('0x37')][_0x725e('0x21')]);}_0x4271d2[_0x725e('0x3c')]=qs[_0x725e('0x3d')](_0x154ca0[_0x725e('0x37')]['sort']);_0x4271d2['where']=qs[_0x725e('0x3e')](_[_0x725e('0x3f')](_0x154ca0[_0x725e('0x37')],_0x3e7637['filters']),_0x5493d0);if(_0x154ca0[_0x725e('0x37')]['filter']){_0x4271d2[_0x725e('0x40')]=_[_0x725e('0x41')](_0x4271d2[_0x725e('0x40')],{'$or':_[_0x725e('0x33')](_0x5493d0,function(_0x48e532){if(_0x48e532[_0x725e('0x35')]!==_0x725e('0x42')){var _0x1ae4e2={};_0x1ae4e2[_0x48e532[_0x725e('0x30')]]={'$like':'%'+_0x154ca0[_0x725e('0x37')][_0x725e('0x43')]+'%'};return _0x1ae4e2;}})});}_0x4271d2=_[_0x725e('0x41')]({},_0x4271d2,_0x154ca0['options']);var _0x36b0ae={'where':_0x4271d2[_0x725e('0x40')]};return db['VoicePrefix'][_0x725e('0x24')](_0x36b0ae)[_0x725e('0x2b')](function(_0x5e719e){_0x9179a4['count']=_0x5e719e;if(_0x154ca0['query']['includeAll']){_0x4271d2[_0x725e('0x44')]=[{'all':!![]}];}return db[_0x725e('0x34')][_0x725e('0x45')](_0x4271d2);})['then'](function(_0x1eee42){_0x9179a4['rows']=_0x1eee42;return _0x9179a4;})['then'](respondWithFilteredResult(_0x100c63,_0x4271d2))[_0x725e('0x46')](handleError(_0x100c63,null));};exports[_0x725e('0x47')]=function(_0x12ffd0,_0x241960){var _0x3081df={'raw':![],'where':{'id':_0x12ffd0['params']['id']}},_0x45eed6={};_0x45eed6[_0x725e('0x36')]=_['keys'](db[_0x725e('0x34')][_0x725e('0x48')]);_0x45eed6['query']=_[_0x725e('0x38')](_0x12ffd0['query']);_0x45eed6[_0x725e('0x3e')]=_[_0x725e('0x49')](_0x45eed6['model'],_0x45eed6['query']);_0x3081df[_0x725e('0x39')]=_['intersection'](_0x45eed6[_0x725e('0x36')],qs['fields'](_0x12ffd0['query']['fields']));_0x3081df[_0x725e('0x39')]=_0x3081df[_0x725e('0x39')]['length']?_0x3081df[_0x725e('0x39')]:_0x45eed6[_0x725e('0x36')];if(_0x12ffd0['query'][_0x725e('0x4a')]){_0x3081df[_0x725e('0x44')]=[{'all':!![]}];}_0x3081df=_[_0x725e('0x41')]({},_0x3081df,_0x12ffd0[_0x725e('0x4b')]);return db[_0x725e('0x34')][_0x725e('0x4c')](_0x3081df)[_0x725e('0x2b')](handleEntityNotFound(_0x241960,null))[_0x725e('0x2b')](respondWithResult(_0x241960,null))[_0x725e('0x46')](handleError(_0x241960,null));};exports[_0x725e('0x2a')]=function(_0x34edcd,_0x14753a){return db[_0x725e('0x34')]['find']({'where':{'id':_0x34edcd[_0x725e('0x4d')]['id']}})['then'](handleEntityNotFound(_0x14753a,null))[_0x725e('0x2b')](removeEntity(_0x14753a,null))[_0x725e('0x46')](handleError(_0x14753a,null));};exports[_0x725e('0x4e')]=function(_0x1a289e,_0x34eab7){return db[_0x725e('0x34')][_0x725e('0x4e')]()[_0x725e('0x2b')](respondWithResult(_0x34eab7,null))[_0x725e('0x46')](handleError(_0x34eab7,null));};exports[_0x725e('0x4f')]=function(_0x3f4d9b,_0x248252){var _0x361050;return db[_0x725e('0x50')][_0x725e('0x51')](function(_0x3c994e){return db[_0x725e('0x34')][_0x725e('0x4f')](_0x3f4d9b['body'],{'transaction':_0x3c994e})[_0x725e('0x2b')](function(_0x5ce25f){_0x361050=_0x5ce25f[_0x725e('0x2c')]({'plain':!![]});return db[_0x725e('0x52')]['find']({'where':{'id':_0x361050[_0x725e('0x53')]},'raw':!![]})['then'](function(_0x3a2d0a){return createVoicePrefixExtensions(_0x361050,_0x3a2d0a,_0x3c994e);});});})[_0x725e('0x2b')](function(){var _0x1330b1=_0x3f4d9b['user'][_0x725e('0x2c')]({'plain':!![]});if(!_0x1330b1)throw new Error(_0x725e('0x54'));if(_0x1330b1[_0x725e('0x55')]===_0x725e('0x56')){var _0x2afb6e=_0x361050;return db[_0x725e('0x57')][_0x725e('0x4c')]({'where':{'name':_0x725e('0x58'),'userProfileId':_0x1330b1['userProfileId']},'raw':!![]})[_0x725e('0x2b')](function(_0x215018){if(_0x215018&&_0x215018['autoAssociation']===0x0){return db['UserProfileResource'][_0x725e('0x4f')]({'name':_0x2afb6e[_0x725e('0x30')],'resourceId':_0x2afb6e['id'],'type':_0x215018['name'],'sectionId':_0x215018['id']},{})['then'](function(){return _0x361050;});}else{return _0x361050;}})[_0x725e('0x46')](function(_0x2c343f){logger[_0x725e('0x59')](_0x725e('0x5a'),_0x2c343f);throw _0x2c343f;});}return _0x361050;})[_0x725e('0x2b')](respondWithResult(_0x248252,null))[_0x725e('0x46')](handleError(_0x248252,null));};function Extension(_0x591c00,_0x18fb12,_0x4498fb,_0x5c5a3f){this[_0x725e('0x5b')]=_0x725e('0x5c');this[_0x725e('0x5d')]=_0x591c00;this[_0x725e('0x5e')]=_0x4498fb;this[_0x725e('0x35')]='system';this[_0x725e('0x5f')]=_0x725e('0x60');this[_0x725e('0x61')]=_0x18fb12;this[_0x725e('0x62')]=_0x5c5a3f;}function createVoicePrefixExtensions(_0x3af5fd,_0x104a68,_0x4a742b){return new BPromise(function(_0x342ba9,_0x5f46f0){var _0x517bb9=new Extension(formatPrefixName(_0x3af5fd[_0x725e('0x63')]),0x1,'NoOp','Voice\x20Prefix');_0x517bb9[_0x725e('0x64')]=_0x3af5fd['id'];return db[_0x725e('0x52')][_0x725e('0x4f')](_0x517bb9,{'transaction':_0x4a742b})[_0x725e('0x2b')](function(_0x402eb3){var _0x2b748c=_0x402eb3[_0x725e('0x2c')]({'plain':!![]});var _0x5ecc04=_[_0x725e('0x33')](addVoicePrefixExtensions(_0x3af5fd,_0x104a68),function(_0xa138bf){_0xa138bf[_0x725e('0x53')]=_0x2b748c['id'];_0xa138bf['VoicePrefixId']=_0x3af5fd['id'];return _0xa138bf;});return db['VoiceExtension'][_0x725e('0x65')](_0x5ecc04,{'transaction':_0x4a742b})[_0x725e('0x2b')](function(_0x449f1f){if(!_0x449f1f){return _0x5f46f0(_0x725e('0x66'));}else{return _0x342ba9(_0x449f1f);}})[_0x725e('0x46')](function(_0x10c7ba){return _0x5f46f0(_0x10c7ba);});});;});};function addVoicePrefixExtensions(_0x1f977b,_0x4d97c9){var _0x24e2ed=[];var _0x5c31b6=formatPrefixName(_0x1f977b[_0x725e('0x63')]);_0x24e2ed['push'](new Extension(_0x5c31b6,0x2,_0x725e('0x67'),_0x725e('0x68')+_0x1f977b[_0x725e('0x30')]));if(_0x1f977b['callerIdAll']){_0x24e2ed[_0x725e('0x69')](new Extension(_0x5c31b6,0x3,_0x725e('0x67'),_0x725e('0x6a')+_0x1f977b[_0x725e('0x6b')]));}else{_0x24e2ed[_0x725e('0x69')](new Extension(_0x5c31b6,0x3,_0x725e('0x6c'),_0x725e('0x6d')));}_0x24e2ed[_0x725e('0x69')](new Extension(_0x5c31b6,0x4,_0x725e('0x6e'),_0x4d97c9['context']+','+_0x725e('0x6f')+(0x8+_0x1f977b[_0x725e('0x30')]['length'])+'}'+','+0x1));return _0x24e2ed;}function formatPrefixName(_0x12cc3e){var _0x1a12c1='_';for(var _0x1d2e49=0x0;_0x1d2e49<_0x12cc3e[_0x725e('0x70')];_0x1d2e49++){if(_0x12cc3e[_0x725e('0x71')](_0x1d2e49)=='-'){_0x1a12c1+=_0x12cc3e[_0x725e('0x71')](_0x1d2e49);}else{_0x1a12c1+='['+_0x12cc3e[_0x725e('0x71')](_0x1d2e49)+']';}}_0x1a12c1+='.';return _0x1a12c1;}exports['update']=function(_0x5e54b6,_0x5216eb,_0x2d13df){var _0x3fc31d=_0x5e54b6[_0x725e('0x72')];_0x3fc31d['prefix']=_0x725e('0x73')+_0x3fc31d[_0x725e('0x30')]+'-';return db['sequelize']['transaction'](function(_0xd456e4){return db['VoicePrefix'][_0x725e('0x74')](_0x3fc31d,{'where':{'id':_0x3fc31d['id']},'transaction':_0xd456e4})[_0x725e('0x2b')](function(){return db['VoiceExtension'][_0x725e('0x2a')]({'where':{'VoicePrefixId':_0x3fc31d['id']},'transaction':_0xd456e4})[_0x725e('0x2b')](function(){return db[_0x725e('0x52')]['find']({'where':{'id':_0x3fc31d[_0x725e('0x53')]},'raw':!![]})[_0x725e('0x2b')](function(_0x44bcaa){return createVoicePrefixExtensions(_0x3fc31d,_0x44bcaa,_0xd456e4);});});});})['then'](function(){return db[_0x725e('0x34')][_0x725e('0x75')](_0x3fc31d['id']);})[_0x725e('0x2b')](respondWithResult(_0x5216eb,null))[_0x725e('0x46')](handleError(_0x5216eb,null));};exports[_0x725e('0x76')]=function(_0x57dd58,_0x5b84ae,_0x2fbf91){return db[_0x725e('0x34')][_0x725e('0x4c')]({'where':{'id':_0x57dd58['params']['id']}})[_0x725e('0x2b')](handleEntityNotFound(_0x5b84ae,null))[_0x725e('0x2b')](function(_0x4d0809){if(_0x4d0809){return _0x4d0809[_0x725e('0x76')](_0x57dd58[_0x725e('0x72')][_0x725e('0x77')],_[_0x725e('0x78')](_0x57dd58[_0x725e('0x72')],['ids','id'])||{})[_0x725e('0x79')](function(_0x543e18){for(var _0xc7201d=0x0;_0xc7201d<_0x57dd58[_0x725e('0x72')][_0x725e('0x77')][_0x725e('0x70')];_0xc7201d+=0x1){socket[_0x725e('0x7a')](_0x725e('0x7b'),{'UserId':Number(_0x57dd58[_0x725e('0x72')][_0x725e('0x77')][_0xc7201d]),'VoicePrefixId':Number(_0x57dd58[_0x725e('0x4d')]['id'])});}return _0x543e18;});}})['then'](respondWithResult(_0x5b84ae,null))[_0x725e('0x46')](handleError(_0x5b84ae,null));};exports[_0x725e('0x7c')]=function(_0x2e35a9,_0x41eeeb,_0x59ef64){return db[_0x725e('0x34')][_0x725e('0x4c')]({'where':{'id':_0x2e35a9[_0x725e('0x4d')]['id']}})[_0x725e('0x2b')](handleEntityNotFound(_0x41eeeb,null))['then'](function(_0x3072d8){if(_0x3072d8){return _0x3072d8['removeAgents'](_0x2e35a9[_0x725e('0x37')]['ids'])['then'](function(){if(_[_0x725e('0x7d')](_0x2e35a9['query'][_0x725e('0x77')])){for(var _0x4ed673=0x0;_0x4ed673<_0x2e35a9[_0x725e('0x37')][_0x725e('0x77')][_0x725e('0x70')];_0x4ed673+=0x1){socket['emit'](_0x725e('0x7e'),{'UserId':Number(_0x2e35a9[_0x725e('0x37')]['ids'][_0x4ed673]),'VoicePrefixId':Number(_0x2e35a9[_0x725e('0x4d')]['id'])});}}else{socket['emit'](_0x725e('0x7e'),{'UserId':Number(_0x2e35a9[_0x725e('0x37')]['ids']),'VoicePrefixId':Number(_0x2e35a9[_0x725e('0x4d')]['id'])});}});}})[_0x725e('0x2b')](respondWithStatusCode(_0x41eeeb,null))[_0x725e('0x46')](handleError(_0x41eeeb,null));};exports[_0x725e('0x7f')]=function(_0x3beead,_0x35f227,_0x17a099){var _0x42416e={};var _0x12b0e3={};var _0x1898be;var _0xc67a2f;return db[_0x725e('0x34')][_0x725e('0x80')]({'where':{'id':_0x3beead[_0x725e('0x4d')]['id']}})[_0x725e('0x2b')](handleEntityNotFound(_0x35f227,null))[_0x725e('0x2b')](function(_0x2ca538){if(_0x2ca538){_0x1898be=_0x2ca538;_0x12b0e3['model']=_[_0x725e('0x38')](db[_0x725e('0x81')][_0x725e('0x48')]);_0x12b0e3[_0x725e('0x37')]=_[_0x725e('0x38')](_0x3beead[_0x725e('0x37')]);_0x12b0e3[_0x725e('0x3e')]=_[_0x725e('0x49')](_0x12b0e3['model'],_0x12b0e3['query']);_0x42416e[_0x725e('0x39')]=_[_0x725e('0x49')](_0x12b0e3[_0x725e('0x36')],qs['fields'](_0x3beead['query'][_0x725e('0x3a')]));_0x42416e[_0x725e('0x39')]=_0x42416e[_0x725e('0x39')][_0x725e('0x70')]?_0x42416e[_0x725e('0x39')]:_0x12b0e3[_0x725e('0x36')];_0x42416e['order']=qs[_0x725e('0x3d')](_0x3beead[_0x725e('0x37')][_0x725e('0x3d')]);_0x42416e['where']=qs[_0x725e('0x3e')](_[_0x725e('0x3f')](_0x3beead['query'],_0x12b0e3[_0x725e('0x3e')]));if(_0x3beead[_0x725e('0x37')][_0x725e('0x43')]){_0x42416e[_0x725e('0x40')]=_[_0x725e('0x41')](_0x42416e[_0x725e('0x40')],{'$or':_['map'](_0x42416e['attributes'],function(_0x3b35ba){var _0x21d697={};_0x21d697[_0x3b35ba]={'$like':'%'+_0x3beead[_0x725e('0x37')][_0x725e('0x43')]+'%'};return _0x21d697;})});}_0x42416e=_[_0x725e('0x41')]({},_0x42416e,_0x3beead['options']);return _0x1898be[_0x725e('0x7f')](_0x42416e);}})[_0x725e('0x2b')](function(_0x6e24d0){if(_0x6e24d0){_0xc67a2f=_0x6e24d0['length'];if(!_0x3beead['query'][_0x725e('0x3b')](_0x725e('0x82'))){_0x42416e[_0x725e('0x22')]=qs['limit'](_0x3beead[_0x725e('0x37')][_0x725e('0x22')]);_0x42416e[_0x725e('0x21')]=qs[_0x725e('0x21')](_0x3beead[_0x725e('0x37')][_0x725e('0x21')]);}return _0x1898be[_0x725e('0x7f')](_0x42416e);}})[_0x725e('0x2b')](function(_0x54fbe6){if(_0x54fbe6){return _0x54fbe6?{'count':_0xc67a2f,'rows':_0x54fbe6}:null;}})[_0x725e('0x2b')](respondWithResult(_0x35f227,null))['catch'](handleError(_0x35f227,null));};exports[_0x725e('0x83')]=function(_0x56fc9a,_0x51e00d,_0x2e02a3){var _0x1b6528={};var _0x4fc3ef={};var _0x50bb3e;var _0x2d37f3;return db[_0x725e('0x34')]['findOne']({'where':{'id':_0x56fc9a[_0x725e('0x4d')]['id']}})[_0x725e('0x2b')](handleEntityNotFound(_0x51e00d,null))[_0x725e('0x2b')](function(_0x1fe8bd){if(_0x1fe8bd){_0x50bb3e=_0x1fe8bd;_0x4fc3ef[_0x725e('0x36')]=_[_0x725e('0x38')](db[_0x725e('0x84')][_0x725e('0x48')]);_0x4fc3ef['query']=_[_0x725e('0x38')](_0x56fc9a[_0x725e('0x37')]);_0x4fc3ef[_0x725e('0x3e')]=_[_0x725e('0x49')](_0x4fc3ef[_0x725e('0x36')],_0x4fc3ef[_0x725e('0x37')]);_0x1b6528[_0x725e('0x39')]=_['intersection'](_0x4fc3ef[_0x725e('0x36')],qs['fields'](_0x56fc9a[_0x725e('0x37')][_0x725e('0x3a')]));_0x1b6528[_0x725e('0x39')]=_0x1b6528[_0x725e('0x39')][_0x725e('0x70')]?_0x1b6528[_0x725e('0x39')]:_0x4fc3ef['model'];_0x1b6528['order']=qs[_0x725e('0x3d')](_0x56fc9a[_0x725e('0x37')][_0x725e('0x3d')]);_0x1b6528[_0x725e('0x40')]=qs[_0x725e('0x3e')](_[_0x725e('0x3f')](_0x56fc9a[_0x725e('0x37')],_0x4fc3ef[_0x725e('0x3e')]));if(_0x56fc9a[_0x725e('0x37')][_0x725e('0x43')]){_0x1b6528[_0x725e('0x40')]=_[_0x725e('0x41')](_0x1b6528[_0x725e('0x40')],{'$or':_['map'](_0x1b6528[_0x725e('0x39')],function(_0x5877e9){var _0x2a5ee9={};_0x2a5ee9[_0x5877e9]={'$like':'%'+_0x56fc9a[_0x725e('0x37')]['filter']+'%'};return _0x2a5ee9;})});}_0x1b6528=_[_0x725e('0x41')]({},_0x1b6528,_0x56fc9a['options']);return _0x50bb3e[_0x725e('0x83')](_0x1b6528);}})[_0x725e('0x2b')](function(_0x579756){if(_0x579756){_0x2d37f3=_0x579756['length'];if(!_0x56fc9a[_0x725e('0x37')]['hasOwnProperty'](_0x725e('0x82'))){_0x1b6528['limit']=qs[_0x725e('0x22')](_0x56fc9a[_0x725e('0x37')]['limit']);_0x1b6528[_0x725e('0x21')]=qs[_0x725e('0x21')](_0x56fc9a[_0x725e('0x37')][_0x725e('0x21')]);}return _0x50bb3e[_0x725e('0x83')](_0x1b6528);}})[_0x725e('0x2b')](function(_0x354d76){if(_0x354d76){return _0x354d76?{'count':_0x2d37f3,'rows':_0x354d76}:null;}})['then'](respondWithResult(_0x51e00d,null))[_0x725e('0x46')](handleError(_0x51e00d,null));};exports['addTeams']=function(_0x1dffdd,_0x125a60,_0x58773a){var _0x58c8fe=_0x1dffdd['body'][_0x725e('0x77')];var _0x5b3b7c;return db['Team'][_0x725e('0x45')]({'where':{'id':_0x58c8fe},'attributes':['id'],'include':[{'model':db[_0x725e('0x81')],'as':_0x725e('0x85'),'attributes':['id',_0x725e('0x30'),'online',_0x725e('0x86'),_0x725e('0x87')],'raw':!![]}]})[_0x725e('0x2b')](function(_0x4cb90b){if(_0x4cb90b){_0x5b3b7c=_0x4cb90b;var _0x100b33=_['flatMap'](_0x4cb90b,function(_0x358cda){var _0x20f0a9=_0x358cda[_0x725e('0x2c')]({'plain':!![]});return _0x20f0a9[_0x725e('0x85')];});return db[_0x725e('0x34')][_0x725e('0x4c')]({'where':{'id':_0x1dffdd[_0x725e('0x4d')]['id']}})['then'](function(_0x530ac5){return db[_0x725e('0x50')][_0x725e('0x51')](function(_0xe17e71){return _0x530ac5[_0x725e('0x88')](_0x58c8fe,{'transaction':_0xe17e71})['then'](function(){return BPromise[_0x725e('0x89')](_0x5b3b7c,function(_0x4a6dd1){return db[_0x725e('0x8a')][_0x725e('0x8b')]({'TeamId':_0x4a6dd1['id'],'VoicePrefixId':_0x1dffdd[_0x725e('0x4d')]['id']},{'transaction':_0xe17e71});});})[_0x725e('0x2b')](function(){return BPromise[_0x725e('0x89')](_0x100b33,function(_0x3455da){return db[_0x725e('0x8c')][_0x725e('0x8d')]({'where':{'UserId':_0x3455da['id'],'VoicePrefixId':_0x1dffdd['params']['id']},'transaction':_0xe17e71});});})[_0x725e('0x2b')](function(){_0x100b33[_0x725e('0x8e')](function(_0x34bd67){socket[_0x725e('0x7a')](_0x725e('0x7b'),{'UserId':_0x34bd67['id'],'VoicePrefixId':_0x530ac5['id']});});});});});}})[_0x725e('0x2b')](respondWithStatusCode(_0x125a60,null))['catch'](handleError(_0x125a60,null));};exports[_0x725e('0x8f')]=function(_0x127f9b,_0x3da4d9,_0x543e64){return db[_0x725e('0x84')][_0x725e('0x45')]({'where':{'id':_0x127f9b[_0x725e('0x37')][_0x725e('0x77')]},'attributes':['id'],'include':[{'model':db[_0x725e('0x81')],'as':_0x725e('0x85'),'attributes':['id'],'raw':!![]}]})[_0x725e('0x2b')](handleEntityNotFound(_0x3da4d9,null))[_0x725e('0x2b')](function(_0x46b8f8){var _0x1f9130=_[_0x725e('0x33')](_0x46b8f8,'id');var _0x1851df=[];var _0x5ad4be=[];var _0x256b12=squel[_0x725e('0x90')]();_0x256b12[_0x725e('0x91')](_0x725e('0x92'))[_0x725e('0x93')]('team_has_voice_prefixes','tq')['join']('user_has_teams','ut',_0x725e('0x94'))['where']('VoicePrefixId\x20=\x20?',_0x127f9b[_0x725e('0x4d')]['id']);for(var _0x545eb3=0x0;_0x545eb3<_0x46b8f8[_0x725e('0x70')];_0x545eb3+=0x1){let _0x28aebc=_0x46b8f8[_0x545eb3];for(var _0x322347=0x0;_0x322347<_0x28aebc['Agents'][_0x725e('0x70')];_0x322347+=0x1){let _0x35aa4a=_0x28aebc['Agents'][_0x322347];var _0x3e7f45=_0x256b12[_0x725e('0x95')]();_0x3e7f45[_0x725e('0x40')](_0x725e('0x96'),_0x35aa4a['id']);_0x5ad4be[_0x725e('0x69')](db['sequelize']['query'](_0x3e7f45[_0x725e('0x97')](),{'type':db[_0x725e('0x50')]['QueryTypes'][_0x725e('0x98')]})['then'](function(_0x55ef18){if(_0x55ef18[_0x725e('0x70')]===0x1){return _0x35aa4a['id'];}else{var _0x5c11d5=_[_0x725e('0x99')](_[_0x725e('0x33')](_0x55ef18,_0x725e('0x9a')),function(_0x4cc2fb){return _['includes'](_0x1f9130,_0x4cc2fb);});if(_0x5c11d5){return _0x35aa4a['id'];}}}));}}return BPromise[_0x725e('0x9b')](_0x5ad4be)[_0x725e('0x2b')](function(_0x1d533b){_0x1851df=_(_0x1851df)[_0x725e('0x9c')](_0x1d533b)[_0x725e('0x9d')]()[_0x725e('0x9e')]();return db['VoicePrefix'][_0x725e('0x4c')]({'where':{'id':_0x127f9b[_0x725e('0x4d')]['id']}})[_0x725e('0x2b')](function(_0x51ba9d){return db[_0x725e('0x50')][_0x725e('0x51')](function(_0xe8e8d7){return _0x51ba9d[_0x725e('0x8f')](_0x127f9b['query'][_0x725e('0x77')],{'transaction':_0xe8e8d7})[_0x725e('0x2b')](function(){if(!_[_0x725e('0x9f')](_0x1851df)){return _0x51ba9d[_0x725e('0x7c')](_0x1851df,{'transaction':_0xe8e8d7});}})['then'](function(){_0x1851df[_0x725e('0x8e')](function(_0x5f3ad7){socket[_0x725e('0x7a')]('userVoicePrefix:remove',{'UserId':_0x5f3ad7,'VoicePrefixId':_0x51ba9d['id']});});});});});});})[_0x725e('0x2b')](respondWithStatusCode(_0x3da4d9,null))[_0x725e('0x46')](handleError(_0x3da4d9,null));};