fe725756c124de633f915ce33f1ac51eb6f6f168
[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 _0x0598=['bluebird','mustache','to-csv','ejs','squel','crypto','jsforce','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','api','../../config/utils','redis','defaults','localhost','socket.io-emitter','./voicePrefix.socket','sendStatus','status','json','offset','undefined','limit','Content-Range','reject','save','update','then','destroy','get','VoicePrefixes','end','error','stack','name','send','index','map','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','fields','attributes','length','hasOwnProperty','sort','where','pick','VIRTUAL','filter','merge','count','includeAll','include','VoicePrefix','findAll','rows','catch','show','params','options','find','describe','sequelize','transaction','create','body','VoiceExtension','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','UserProfileResource','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','context','exten','app','description','Voice\x20Prefix\x20Extension','priority','NoOp','Voice\x20Prefix','VoiceExtensionId','VoicePrefixId','bulkCreate','prefix','push','Set','CDR(prefix)=','callerIdAll','PREFIX-CALLERIDALL=','No\x20callerid\x20available','${EXTEN:','charAt','system-','findById','addAgents','ids','emit','removeAgents','isArray','userVoicePrefix:remove','findOne','User','order','getAgents','nolimit','getTeams','Team','addTeams','Agents','online','voicePause','interface','flatMap','each','TeamVoicePrefix','upsert','UserVoicePrefix','findOrCreate','forEach','removeTeams','select','field','from','team_has_voice_prefixes','join','user_has_teams','VoicePrefixId\x20=\x20?','clone','toString','QueryTypes','SELECT','every','all','union','compact','value','isEmpty','eml-format','rimraf','fast-json-patch'];(function(_0x589acd,_0x13478a){var _0x33787c=function(_0x17b759){while(--_0x17b759){_0x589acd['push'](_0x589acd['shift']());}};_0x33787c(++_0x13478a);}(_0x0598,0x92));var _0x8059=function(_0x3ab02d,_0x3c79e4){_0x3ab02d=_0x3ab02d-0x0;var _0x457d76=_0x0598[_0x3ab02d];return _0x457d76;};'use strict';var emlformat=require(_0x8059('0x0'));var rimraf=require(_0x8059('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x8059('0x2'));var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0x8059('0x3'));var Mustache=require(_0x8059('0x4'));var util=require('util');var path=require('path');var sox=require('sox');var csv=require(_0x8059('0x5'));var ejs=require(_0x8059('0x6'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require(_0x8059('0x7'));var crypto=require(_0x8059('0x8'));var jsforce=require(_0x8059('0x9'));var deskjs=require(_0x8059('0xa'));var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require(_0x8059('0xb'));var Redis=require(_0x8059('0xc'));var authService=require(_0x8059('0xd'));var qs=require(_0x8059('0xe'));var as=require(_0x8059('0xf'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0x8059('0x10'));var utils=require(_0x8059('0x11'));var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];config[_0x8059('0x12')]=_[_0x8059('0x13')](config[_0x8059('0x12')],{'host':_0x8059('0x14'),'port':0x18eb});var socket=require(_0x8059('0x15'))(new Redis(config['redis']));require(_0x8059('0x16'))['register'](socket);function respondWithStatusCode(_0x346b23,_0x5c916e){_0x5c916e=_0x5c916e||0xcc;return function(_0x3e4f08){if(_0x3e4f08){return _0x346b23[_0x8059('0x17')](_0x5c916e);}return _0x346b23[_0x8059('0x18')](_0x5c916e)['end']();};}function respondWithResult(_0x516c1f,_0x5cda43){_0x5cda43=_0x5cda43||0xc8;return function(_0x3b8f18){if(_0x3b8f18){return _0x516c1f[_0x8059('0x18')](_0x5cda43)[_0x8059('0x19')](_0x3b8f18);}};}function respondWithFilteredResult(_0x246c9d,_0x3abfe8){return function(_0x4b6d55){if(_0x4b6d55){var _0x10ad98=typeof _0x3abfe8[_0x8059('0x1a')]===_0x8059('0x1b')&&typeof _0x3abfe8[_0x8059('0x1c')]==='undefined';var _0x5456a9=_0x4b6d55['count'];var _0x113f42=_0x10ad98?0x0:_0x3abfe8['offset'];var _0x1857c1=_0x10ad98?_0x4b6d55['count']:_0x3abfe8[_0x8059('0x1a')]+_0x3abfe8[_0x8059('0x1c')];var _0x1e9ac5;if(_0x1857c1>=_0x5456a9){_0x1857c1=_0x5456a9;_0x1e9ac5=0xc8;}else{_0x1e9ac5=0xce;}_0x246c9d['status'](_0x1e9ac5);return _0x246c9d['set'](_0x8059('0x1d'),_0x113f42+'-'+_0x1857c1+'/'+_0x5456a9)[_0x8059('0x19')](_0x4b6d55);}return null;};}function patchUpdates(_0x32aeda){return function(_0x1585a3){try{jsonpatch['apply'](_0x1585a3,_0x32aeda,!![]);}catch(_0x3bc226){return BPromise[_0x8059('0x1e')](_0x3bc226);}return _0x1585a3[_0x8059('0x1f')]();};}function saveUpdates(_0x5449d9,_0xe9a72d){return function(_0x2256b1){if(_0x2256b1){return _0x2256b1[_0x8059('0x20')](_0x5449d9)[_0x8059('0x21')](function(_0x59d3a6){return _0x59d3a6;});}return null;};}function removeEntity(_0x140f64,_0x2cd179){return function(_0x4781e2){if(_0x4781e2){return _0x4781e2[_0x8059('0x22')]()[_0x8059('0x21')](function(){var _0x54b88b=_0x4781e2[_0x8059('0x23')]({'plain':!![]});var _0x19b95a=_0x8059('0x24');return db['UserProfileResource']['destroy']({'where':{'type':_0x19b95a,'resourceId':_0x54b88b['id']}})['then'](function(){return _0x4781e2;});})[_0x8059('0x21')](function(){_0x140f64[_0x8059('0x18')](0xcc)[_0x8059('0x25')]();});}};}function handleEntityNotFound(_0x1009af,_0x59abe9){return function(_0x1eb71b){if(!_0x1eb71b){_0x1009af['sendStatus'](0x194);}return _0x1eb71b;};}function handleError(_0x2f887c,_0x35c73e){_0x35c73e=_0x35c73e||0x1f4;return function(_0x5ecf7f){logger[_0x8059('0x26')](_0x5ecf7f[_0x8059('0x27')]);if(_0x5ecf7f[_0x8059('0x28')]){delete _0x5ecf7f[_0x8059('0x28')];}_0x2f887c[_0x8059('0x18')](_0x35c73e)[_0x8059('0x29')](_0x5ecf7f);};}exports[_0x8059('0x2a')]=function(_0x2016ea,_0x505756){var _0xb3c36e={},_0x40b39e={},_0x1f8983={'count':0x0,'rows':[]};var _0x15f843=_[_0x8059('0x2b')](db['VoicePrefix'][_0x8059('0x2c')],function(_0x22c492){return{'name':_0x22c492[_0x8059('0x2d')],'type':_0x22c492[_0x8059('0x2e')][_0x8059('0x2f')]};});_0x40b39e[_0x8059('0x30')]=_[_0x8059('0x2b')](_0x15f843,_0x8059('0x28'));_0x40b39e[_0x8059('0x31')]=_[_0x8059('0x32')](_0x2016ea['query']);_0x40b39e[_0x8059('0x33')]=_['intersection'](_0x40b39e[_0x8059('0x30')],_0x40b39e['query']);_0xb3c36e['attributes']=_[_0x8059('0x34')](_0x40b39e['model'],qs[_0x8059('0x35')](_0x2016ea['query'][_0x8059('0x35')]));_0xb3c36e['attributes']=_0xb3c36e[_0x8059('0x36')][_0x8059('0x37')]?_0xb3c36e['attributes']:_0x40b39e[_0x8059('0x30')];if(!_0x2016ea[_0x8059('0x31')][_0x8059('0x38')]('nolimit')){_0xb3c36e[_0x8059('0x1c')]=qs['limit'](_0x2016ea[_0x8059('0x31')]['limit']);_0xb3c36e[_0x8059('0x1a')]=qs[_0x8059('0x1a')](_0x2016ea[_0x8059('0x31')][_0x8059('0x1a')]);}_0xb3c36e['order']=qs[_0x8059('0x39')](_0x2016ea['query']['sort']);_0xb3c36e[_0x8059('0x3a')]=qs[_0x8059('0x33')](_[_0x8059('0x3b')](_0x2016ea[_0x8059('0x31')],_0x40b39e[_0x8059('0x33')]),_0x15f843);if(_0x2016ea['query']['filter']){_0xb3c36e['where']=_['merge'](_0xb3c36e[_0x8059('0x3a')],{'$or':_[_0x8059('0x2b')](_0x15f843,function(_0xc84f04){if(_0xc84f04['type']!==_0x8059('0x3c')){var _0x406ec3={};_0x406ec3[_0xc84f04['name']]={'$like':'%'+_0x2016ea[_0x8059('0x31')][_0x8059('0x3d')]+'%'};return _0x406ec3;}})});}_0xb3c36e=_[_0x8059('0x3e')]({},_0xb3c36e,_0x2016ea['options']);var _0x2c48cf={'where':_0xb3c36e[_0x8059('0x3a')]};return db['VoicePrefix'][_0x8059('0x3f')](_0x2c48cf)[_0x8059('0x21')](function(_0x3f00de){_0x1f8983[_0x8059('0x3f')]=_0x3f00de;if(_0x2016ea[_0x8059('0x31')][_0x8059('0x40')]){_0xb3c36e[_0x8059('0x41')]=[{'all':!![]}];}return db[_0x8059('0x42')][_0x8059('0x43')](_0xb3c36e);})[_0x8059('0x21')](function(_0x1d64db){_0x1f8983[_0x8059('0x44')]=_0x1d64db;return _0x1f8983;})[_0x8059('0x21')](respondWithFilteredResult(_0x505756,_0xb3c36e))[_0x8059('0x45')](handleError(_0x505756,null));};exports[_0x8059('0x46')]=function(_0x93ee2f,_0x35c94a){var _0x25f542={'raw':![],'where':{'id':_0x93ee2f[_0x8059('0x47')]['id']}},_0x1b613f={};_0x1b613f[_0x8059('0x30')]=_[_0x8059('0x32')](db[_0x8059('0x42')]['rawAttributes']);_0x1b613f[_0x8059('0x31')]=_['keys'](_0x93ee2f['query']);_0x1b613f[_0x8059('0x33')]=_['intersection'](_0x1b613f[_0x8059('0x30')],_0x1b613f['query']);_0x25f542[_0x8059('0x36')]=_[_0x8059('0x34')](_0x1b613f[_0x8059('0x30')],qs[_0x8059('0x35')](_0x93ee2f[_0x8059('0x31')][_0x8059('0x35')]));_0x25f542['attributes']=_0x25f542[_0x8059('0x36')]['length']?_0x25f542[_0x8059('0x36')]:_0x1b613f[_0x8059('0x30')];if(_0x93ee2f[_0x8059('0x31')]['includeAll']){_0x25f542[_0x8059('0x41')]=[{'all':!![]}];}_0x25f542=_[_0x8059('0x3e')]({},_0x25f542,_0x93ee2f[_0x8059('0x48')]);return db[_0x8059('0x42')]['find'](_0x25f542)[_0x8059('0x21')](handleEntityNotFound(_0x35c94a,null))[_0x8059('0x21')](respondWithResult(_0x35c94a,null))[_0x8059('0x45')](handleError(_0x35c94a,null));};exports['destroy']=function(_0x2ba3f1,_0x5d9458){return db['VoicePrefix'][_0x8059('0x49')]({'where':{'id':_0x2ba3f1['params']['id']}})[_0x8059('0x21')](handleEntityNotFound(_0x5d9458,null))['then'](removeEntity(_0x5d9458,null))[_0x8059('0x45')](handleError(_0x5d9458,null));};exports[_0x8059('0x4a')]=function(_0x5ea40c,_0x20d779){return db['VoicePrefix'][_0x8059('0x4a')]()[_0x8059('0x21')](respondWithResult(_0x20d779,null))[_0x8059('0x45')](handleError(_0x20d779,null));};exports['create']=function(_0x2dd991,_0x5035a9){var _0x21ceef;return db[_0x8059('0x4b')][_0x8059('0x4c')](function(_0xb63fee){return db['VoicePrefix'][_0x8059('0x4d')](_0x2dd991[_0x8059('0x4e')],{'transaction':_0xb63fee})['then'](function(_0x41e280){_0x21ceef=_0x41e280['get']({'plain':!![]});return db[_0x8059('0x4f')]['find']({'where':{'id':_0x21ceef['VoiceExtensionId']},'raw':!![]})[_0x8059('0x21')](function(_0x388829){return createVoicePrefixExtensions(_0x21ceef,_0x388829,_0xb63fee);});});})[_0x8059('0x21')](function(){var _0x3afe66=_0x2dd991[_0x8059('0x50')][_0x8059('0x23')]({'plain':!![]});if(!_0x3afe66)throw new Error(_0x8059('0x51'));if(_0x3afe66['role']==='user'){var _0x52ed37=_0x21ceef;return db['UserProfileSection'][_0x8059('0x49')]({'where':{'name':_0x8059('0x24'),'userProfileId':_0x3afe66['userProfileId']},'raw':!![]})[_0x8059('0x21')](function(_0x4b0078){if(_0x4b0078&&_0x4b0078['autoAssociation']===0x0){return db[_0x8059('0x52')]['create']({'name':_0x52ed37[_0x8059('0x28')],'resourceId':_0x52ed37['id'],'type':_0x4b0078[_0x8059('0x28')],'sectionId':_0x4b0078['id']},{})[_0x8059('0x21')](function(){return _0x21ceef;});}else{return _0x21ceef;}})['catch'](function(_0x52511f){logger[_0x8059('0x26')](_0x8059('0x53'),_0x52511f);throw _0x52511f;});}return _0x21ceef;})[_0x8059('0x21')](respondWithResult(_0x5035a9,null))['catch'](handleError(_0x5035a9,null));};function Extension(_0x501f2c,_0x1260b1,_0x538460,_0x479a19){this[_0x8059('0x54')]='from-sip';this[_0x8059('0x55')]=_0x501f2c;this[_0x8059('0x56')]=_0x538460;this['type']='system';this[_0x8059('0x57')]=_0x8059('0x58');this[_0x8059('0x59')]=_0x1260b1;this['appdata']=_0x479a19;}function createVoicePrefixExtensions(_0x2d9df5,_0x4452ab,_0xc6b6d8){return new BPromise(function(_0x18bce2,_0x4b4dbe){var _0x1b3553=new Extension(formatPrefixName(_0x2d9df5['prefix']),0x1,_0x8059('0x5a'),_0x8059('0x5b'));_0x1b3553['VoicePrefixId']=_0x2d9df5['id'];return db[_0x8059('0x4f')]['create'](_0x1b3553,{'transaction':_0xc6b6d8})[_0x8059('0x21')](function(_0x319c65){var _0x2e8ef2=_0x319c65[_0x8059('0x23')]({'plain':!![]});var _0x2750b0=_[_0x8059('0x2b')](addVoicePrefixExtensions(_0x2d9df5,_0x4452ab),function(_0x28b466){_0x28b466[_0x8059('0x5c')]=_0x2e8ef2['id'];_0x28b466[_0x8059('0x5d')]=_0x2d9df5['id'];return _0x28b466;});return db[_0x8059('0x4f')][_0x8059('0x5e')](_0x2750b0,{'transaction':_0xc6b6d8})[_0x8059('0x21')](function(_0x325f9c){if(!_0x325f9c){return _0x4b4dbe('Extensions\x20creation\x20failed');}else{return _0x18bce2(_0x325f9c);}})[_0x8059('0x45')](function(_0x2dc612){return _0x4b4dbe(_0x2dc612);});});;});};function addVoicePrefixExtensions(_0x391924,_0x421682){var _0x2cf1fd=[];var _0x59a211=formatPrefixName(_0x391924[_0x8059('0x5f')]);_0x2cf1fd[_0x8059('0x60')](new Extension(_0x59a211,0x2,_0x8059('0x61'),_0x8059('0x62')+_0x391924[_0x8059('0x28')]));if(_0x391924[_0x8059('0x63')]){_0x2cf1fd[_0x8059('0x60')](new Extension(_0x59a211,0x3,_0x8059('0x61'),_0x8059('0x64')+_0x391924['callerIdAll']));}else{_0x2cf1fd[_0x8059('0x60')](new Extension(_0x59a211,0x3,_0x8059('0x5a'),_0x8059('0x65')));}_0x2cf1fd['push'](new Extension(_0x59a211,0x4,'goto',_0x421682[_0x8059('0x54')]+','+_0x8059('0x66')+(0x8+_0x391924[_0x8059('0x28')][_0x8059('0x37')])+'}'+','+0x1));return _0x2cf1fd;}function formatPrefixName(_0x1878a6){var _0x2a1833='_';for(var _0x18b3d8=0x0;_0x18b3d8<_0x1878a6['length'];_0x18b3d8++){if(_0x1878a6[_0x8059('0x67')](_0x18b3d8)=='-'){_0x2a1833+=_0x1878a6[_0x8059('0x67')](_0x18b3d8);}else{_0x2a1833+='['+_0x1878a6[_0x8059('0x67')](_0x18b3d8)+']';}}_0x2a1833+='.';return _0x2a1833;}exports['update']=function(_0x3cacf8,_0x255ade,_0x3cd45d){var _0x2d4970=_0x3cacf8['body'];_0x2d4970['prefix']=_0x8059('0x68')+_0x2d4970[_0x8059('0x28')]+'-';return db['sequelize'][_0x8059('0x4c')](function(_0x1c19b0){return db[_0x8059('0x42')][_0x8059('0x20')](_0x2d4970,{'where':{'id':_0x2d4970['id']},'transaction':_0x1c19b0})[_0x8059('0x21')](function(){return db[_0x8059('0x4f')]['destroy']({'where':{'VoicePrefixId':_0x2d4970['id']},'transaction':_0x1c19b0})[_0x8059('0x21')](function(){return db[_0x8059('0x4f')][_0x8059('0x49')]({'where':{'id':_0x2d4970['VoiceExtensionId']},'raw':!![]})['then'](function(_0x36b586){return createVoicePrefixExtensions(_0x2d4970,_0x36b586,_0x1c19b0);});});});})[_0x8059('0x21')](function(){return db['VoicePrefix'][_0x8059('0x69')](_0x2d4970['id']);})[_0x8059('0x21')](respondWithResult(_0x255ade,null))[_0x8059('0x45')](handleError(_0x255ade,null));};exports[_0x8059('0x6a')]=function(_0x2009d9,_0xb36842,_0x2596ff){return db[_0x8059('0x42')][_0x8059('0x49')]({'where':{'id':_0x2009d9[_0x8059('0x47')]['id']}})[_0x8059('0x21')](handleEntityNotFound(_0xb36842,null))[_0x8059('0x21')](function(_0x598596){if(_0x598596){return _0x598596[_0x8059('0x6a')](_0x2009d9[_0x8059('0x4e')][_0x8059('0x6b')],_['omit'](_0x2009d9['body'],[_0x8059('0x6b'),'id'])||{})['spread'](function(_0x4b31cb){for(var _0x1554ca=0x0;_0x1554ca<_0x2009d9[_0x8059('0x4e')]['ids'][_0x8059('0x37')];_0x1554ca+=0x1){socket[_0x8059('0x6c')]('userVoicePrefix:save',{'UserId':Number(_0x2009d9['body'][_0x8059('0x6b')][_0x1554ca]),'VoicePrefixId':Number(_0x2009d9['params']['id'])});}return _0x4b31cb;});}})['then'](respondWithResult(_0xb36842,null))[_0x8059('0x45')](handleError(_0xb36842,null));};exports[_0x8059('0x6d')]=function(_0x230c39,_0x3be51a,_0x55257a){return db['VoicePrefix'][_0x8059('0x49')]({'where':{'id':_0x230c39[_0x8059('0x47')]['id']}})[_0x8059('0x21')](handleEntityNotFound(_0x3be51a,null))[_0x8059('0x21')](function(_0x1611d0){if(_0x1611d0){return _0x1611d0[_0x8059('0x6d')](_0x230c39['query']['ids'])[_0x8059('0x21')](function(){if(_[_0x8059('0x6e')](_0x230c39[_0x8059('0x31')]['ids'])){for(var _0x25bae4=0x0;_0x25bae4<_0x230c39[_0x8059('0x31')]['ids'][_0x8059('0x37')];_0x25bae4+=0x1){socket[_0x8059('0x6c')]('userVoicePrefix:remove',{'UserId':Number(_0x230c39[_0x8059('0x31')][_0x8059('0x6b')][_0x25bae4]),'VoicePrefixId':Number(_0x230c39[_0x8059('0x47')]['id'])});}}else{socket[_0x8059('0x6c')](_0x8059('0x6f'),{'UserId':Number(_0x230c39[_0x8059('0x31')][_0x8059('0x6b')]),'VoicePrefixId':Number(_0x230c39[_0x8059('0x47')]['id'])});}});}})[_0x8059('0x21')](respondWithStatusCode(_0x3be51a,null))['catch'](handleError(_0x3be51a,null));};exports['getAgents']=function(_0x1b9f1a,_0x1452ed,_0x3fbdbe){var _0x32c6f2={};var _0x1a92c9={};var _0x29715f;var _0x5f3d1a;return db[_0x8059('0x42')][_0x8059('0x70')]({'where':{'id':_0x1b9f1a[_0x8059('0x47')]['id']}})['then'](handleEntityNotFound(_0x1452ed,null))[_0x8059('0x21')](function(_0x3c3b4d){if(_0x3c3b4d){_0x29715f=_0x3c3b4d;_0x1a92c9[_0x8059('0x30')]=_[_0x8059('0x32')](db[_0x8059('0x71')][_0x8059('0x2c')]);_0x1a92c9[_0x8059('0x31')]=_[_0x8059('0x32')](_0x1b9f1a[_0x8059('0x31')]);_0x1a92c9[_0x8059('0x33')]=_[_0x8059('0x34')](_0x1a92c9[_0x8059('0x30')],_0x1a92c9[_0x8059('0x31')]);_0x32c6f2[_0x8059('0x36')]=_[_0x8059('0x34')](_0x1a92c9['model'],qs[_0x8059('0x35')](_0x1b9f1a[_0x8059('0x31')]['fields']));_0x32c6f2[_0x8059('0x36')]=_0x32c6f2['attributes'][_0x8059('0x37')]?_0x32c6f2[_0x8059('0x36')]:_0x1a92c9[_0x8059('0x30')];_0x32c6f2[_0x8059('0x72')]=qs[_0x8059('0x39')](_0x1b9f1a[_0x8059('0x31')][_0x8059('0x39')]);_0x32c6f2[_0x8059('0x3a')]=qs[_0x8059('0x33')](_[_0x8059('0x3b')](_0x1b9f1a[_0x8059('0x31')],_0x1a92c9[_0x8059('0x33')]));if(_0x1b9f1a['query']['filter']){_0x32c6f2[_0x8059('0x3a')]=_[_0x8059('0x3e')](_0x32c6f2['where'],{'$or':_[_0x8059('0x2b')](_0x32c6f2['attributes'],function(_0x27fb1c){var _0x33e2e9={};_0x33e2e9[_0x27fb1c]={'$like':'%'+_0x1b9f1a[_0x8059('0x31')][_0x8059('0x3d')]+'%'};return _0x33e2e9;})});}_0x32c6f2=_[_0x8059('0x3e')]({},_0x32c6f2,_0x1b9f1a[_0x8059('0x48')]);return _0x29715f[_0x8059('0x73')](_0x32c6f2);}})[_0x8059('0x21')](function(_0x403f68){if(_0x403f68){_0x5f3d1a=_0x403f68[_0x8059('0x37')];if(!_0x1b9f1a['query'][_0x8059('0x38')](_0x8059('0x74'))){_0x32c6f2['limit']=qs[_0x8059('0x1c')](_0x1b9f1a[_0x8059('0x31')][_0x8059('0x1c')]);_0x32c6f2[_0x8059('0x1a')]=qs[_0x8059('0x1a')](_0x1b9f1a['query'][_0x8059('0x1a')]);}return _0x29715f[_0x8059('0x73')](_0x32c6f2);}})[_0x8059('0x21')](function(_0x360f2d){if(_0x360f2d){return _0x360f2d?{'count':_0x5f3d1a,'rows':_0x360f2d}:null;}})['then'](respondWithResult(_0x1452ed,null))[_0x8059('0x45')](handleError(_0x1452ed,null));};exports[_0x8059('0x75')]=function(_0x6356ed,_0x36c21b,_0x299b67){var _0x43388b={};var _0x29e863={};var _0x3ac878;var _0x163883;return db[_0x8059('0x42')]['findOne']({'where':{'id':_0x6356ed[_0x8059('0x47')]['id']}})[_0x8059('0x21')](handleEntityNotFound(_0x36c21b,null))[_0x8059('0x21')](function(_0x3fe77d){if(_0x3fe77d){_0x3ac878=_0x3fe77d;_0x29e863[_0x8059('0x30')]=_[_0x8059('0x32')](db[_0x8059('0x76')][_0x8059('0x2c')]);_0x29e863[_0x8059('0x31')]=_[_0x8059('0x32')](_0x6356ed['query']);_0x29e863[_0x8059('0x33')]=_[_0x8059('0x34')](_0x29e863[_0x8059('0x30')],_0x29e863[_0x8059('0x31')]);_0x43388b[_0x8059('0x36')]=_[_0x8059('0x34')](_0x29e863['model'],qs['fields'](_0x6356ed[_0x8059('0x31')]['fields']));_0x43388b['attributes']=_0x43388b['attributes'][_0x8059('0x37')]?_0x43388b[_0x8059('0x36')]:_0x29e863[_0x8059('0x30')];_0x43388b[_0x8059('0x72')]=qs['sort'](_0x6356ed[_0x8059('0x31')][_0x8059('0x39')]);_0x43388b[_0x8059('0x3a')]=qs[_0x8059('0x33')](_[_0x8059('0x3b')](_0x6356ed[_0x8059('0x31')],_0x29e863['filters']));if(_0x6356ed[_0x8059('0x31')][_0x8059('0x3d')]){_0x43388b[_0x8059('0x3a')]=_[_0x8059('0x3e')](_0x43388b[_0x8059('0x3a')],{'$or':_[_0x8059('0x2b')](_0x43388b[_0x8059('0x36')],function(_0x1c2e18){var _0x15a50f={};_0x15a50f[_0x1c2e18]={'$like':'%'+_0x6356ed[_0x8059('0x31')][_0x8059('0x3d')]+'%'};return _0x15a50f;})});}_0x43388b=_[_0x8059('0x3e')]({},_0x43388b,_0x6356ed[_0x8059('0x48')]);return _0x3ac878[_0x8059('0x75')](_0x43388b);}})['then'](function(_0x26f318){if(_0x26f318){_0x163883=_0x26f318[_0x8059('0x37')];if(!_0x6356ed[_0x8059('0x31')][_0x8059('0x38')]('nolimit')){_0x43388b['limit']=qs['limit'](_0x6356ed['query'][_0x8059('0x1c')]);_0x43388b[_0x8059('0x1a')]=qs[_0x8059('0x1a')](_0x6356ed[_0x8059('0x31')][_0x8059('0x1a')]);}return _0x3ac878[_0x8059('0x75')](_0x43388b);}})[_0x8059('0x21')](function(_0x2ec671){if(_0x2ec671){return _0x2ec671?{'count':_0x163883,'rows':_0x2ec671}:null;}})[_0x8059('0x21')](respondWithResult(_0x36c21b,null))[_0x8059('0x45')](handleError(_0x36c21b,null));};exports[_0x8059('0x77')]=function(_0x28a925,_0x4bc6a7,_0x11462a){var _0x42378f=_0x28a925[_0x8059('0x4e')][_0x8059('0x6b')];var _0x5369dd;return db[_0x8059('0x76')][_0x8059('0x43')]({'where':{'id':_0x42378f},'attributes':['id'],'include':[{'model':db['User'],'as':_0x8059('0x78'),'attributes':['id','name',_0x8059('0x79'),_0x8059('0x7a'),_0x8059('0x7b')],'raw':!![]}]})[_0x8059('0x21')](function(_0x23c4ce){if(_0x23c4ce){_0x5369dd=_0x23c4ce;var _0x179a1a=_[_0x8059('0x7c')](_0x23c4ce,function(_0x485ca3){var _0x234f25=_0x485ca3[_0x8059('0x23')]({'plain':!![]});return _0x234f25[_0x8059('0x78')];});return db[_0x8059('0x42')][_0x8059('0x49')]({'where':{'id':_0x28a925[_0x8059('0x47')]['id']}})[_0x8059('0x21')](function(_0x59d597){return db[_0x8059('0x4b')]['transaction'](function(_0x396e77){return _0x59d597[_0x8059('0x77')](_0x42378f,{'transaction':_0x396e77})[_0x8059('0x21')](function(){return BPromise[_0x8059('0x7d')](_0x5369dd,function(_0x554d39){return db[_0x8059('0x7e')][_0x8059('0x7f')]({'TeamId':_0x554d39['id'],'VoicePrefixId':_0x28a925['params']['id']},{'transaction':_0x396e77});});})['then'](function(){return BPromise[_0x8059('0x7d')](_0x179a1a,function(_0x52dc27){return db[_0x8059('0x80')][_0x8059('0x81')]({'where':{'UserId':_0x52dc27['id'],'VoicePrefixId':_0x28a925[_0x8059('0x47')]['id']},'transaction':_0x396e77});});})[_0x8059('0x21')](function(){_0x179a1a[_0x8059('0x82')](function(_0x4f5235){socket['emit']('userVoicePrefix:save',{'UserId':_0x4f5235['id'],'VoicePrefixId':_0x59d597['id']});});});});});}})['then'](respondWithStatusCode(_0x4bc6a7,null))[_0x8059('0x45')](handleError(_0x4bc6a7,null));};exports[_0x8059('0x83')]=function(_0x3741b9,_0x59feb8,_0x390e92){return db[_0x8059('0x76')][_0x8059('0x43')]({'where':{'id':_0x3741b9[_0x8059('0x31')][_0x8059('0x6b')]},'attributes':['id'],'include':[{'model':db['User'],'as':'Agents','attributes':['id'],'raw':!![]}]})['then'](handleEntityNotFound(_0x59feb8,null))[_0x8059('0x21')](function(_0xe6758c){var _0x11b71b=_[_0x8059('0x2b')](_0xe6758c,'id');var _0x4cc1c0=[];var _0x4e1ca4=[];var _0x5282b2=squel[_0x8059('0x84')]();_0x5282b2[_0x8059('0x85')]('tq.TeamId')[_0x8059('0x86')](_0x8059('0x87'),'tq')[_0x8059('0x88')](_0x8059('0x89'),'ut','ut.TeamId\x20=\x20tq.TeamId')[_0x8059('0x3a')](_0x8059('0x8a'),_0x3741b9[_0x8059('0x47')]['id']);for(var _0xdd7d0d=0x0;_0xdd7d0d<_0xe6758c[_0x8059('0x37')];_0xdd7d0d+=0x1){let _0x1922be=_0xe6758c[_0xdd7d0d];for(var _0x1baaba=0x0;_0x1baaba<_0x1922be[_0x8059('0x78')][_0x8059('0x37')];_0x1baaba+=0x1){let _0x4ca098=_0x1922be[_0x8059('0x78')][_0x1baaba];var _0x1e5ff8=_0x5282b2[_0x8059('0x8b')]();_0x1e5ff8['where']('ut.UserId\x20=\x20?',_0x4ca098['id']);_0x4e1ca4['push'](db[_0x8059('0x4b')][_0x8059('0x31')](_0x1e5ff8[_0x8059('0x8c')](),{'type':db[_0x8059('0x4b')][_0x8059('0x8d')][_0x8059('0x8e')]})[_0x8059('0x21')](function(_0x31fa7f){if(_0x31fa7f[_0x8059('0x37')]===0x1){return _0x4ca098['id'];}else{var _0x38dc0d=_[_0x8059('0x8f')](_['map'](_0x31fa7f,'TeamId'),function(_0x2b6c58){return _['includes'](_0x11b71b,_0x2b6c58);});if(_0x38dc0d){return _0x4ca098['id'];}}}));}}return BPromise[_0x8059('0x90')](_0x4e1ca4)[_0x8059('0x21')](function(_0xbe8fb){_0x4cc1c0=_(_0x4cc1c0)[_0x8059('0x91')](_0xbe8fb)[_0x8059('0x92')]()[_0x8059('0x93')]();return db['VoicePrefix'][_0x8059('0x49')]({'where':{'id':_0x3741b9[_0x8059('0x47')]['id']}})[_0x8059('0x21')](function(_0x3a5e9a){return db[_0x8059('0x4b')][_0x8059('0x4c')](function(_0x13dcc1){return _0x3a5e9a[_0x8059('0x83')](_0x3741b9[_0x8059('0x31')][_0x8059('0x6b')],{'transaction':_0x13dcc1})[_0x8059('0x21')](function(){if(!_[_0x8059('0x94')](_0x4cc1c0)){return _0x3a5e9a[_0x8059('0x6d')](_0x4cc1c0,{'transaction':_0x13dcc1});}})[_0x8059('0x21')](function(){_0x4cc1c0['forEach'](function(_0x3be218){socket['emit']('userVoicePrefix:remove',{'UserId':_0x3be218,'VoicePrefixId':_0x3a5e9a['id']});});});});});});})['then'](respondWithStatusCode(_0x59feb8,null))[_0x8059('0x45')](handleError(_0x59feb8,null));};