Built motion from commit 3e059bc2.|2.5.32
[motion2.git] / server / api / team / team.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 _0xbb27=['query','keys','filters','attributes','intersection','fields','hasOwnProperty','nolimit','order','sort','pick','filter','where','merge','VIRTUAL','options','includeAll','include','findAll','catch','params','length','find','create','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','autoAssociation','body','getQueues','findOne','channel','isValidChannel','Sequelize','ValidationError','Unknown\x20channel','capitalize','toLowerCase','Queue','Queues','add','removeQueues','Voice','Chat','Mail','Openchannel','Whatsapp','sequelize','transaction','through','penalty','QueueId','User','findOrCreate','emit','Queue:save','ids','online','interface','UserVoiceQueueRt','isNil','SIP/%s','TeamVoiceQueue','all','addAgents','spread','removeAgents','parse','getAgents','rawAttributes','eml-format','rimraf','zip-dir','request-promise','moment','mustache','util','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','ioredis','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../mysqldb','redis','localhost','./team.socket','register','sendStatus','status','end','json','offset','undefined','limit','count','set','Content-Range','apply','reject','save','update','then','destroy','get','Teams','UserProfileResource','error','stack','name','index','map','Team','fieldName','type','model'];(function(_0x2d5dae,_0x1ff713){var _0x5c579c=function(_0x7165a){while(--_0x7165a){_0x2d5dae['push'](_0x2d5dae['shift']());}};_0x5c579c(++_0x1ff713);}(_0xbb27,0x146));var _0x7bb2=function(_0x23e81d,_0x1e6cf0){_0x23e81d=_0x23e81d-0x0;var _0x2d255d=_0xbb27[_0x23e81d];return _0x2d255d;};'use strict';var emlformat=require(_0x7bb2('0x0'));var rimraf=require(_0x7bb2('0x1'));var zipdir=require(_0x7bb2('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0x7bb2('0x3'));var moment=require(_0x7bb2('0x4'));var BPromise=require('bluebird');var Mustache=require(_0x7bb2('0x5'));var util=require(_0x7bb2('0x6'));var path=require('path');var sox=require(_0x7bb2('0x7'));var csv=require(_0x7bb2('0x8'));var ejs=require(_0x7bb2('0x9'));var fs=require('fs');var fs_extra=require(_0x7bb2('0xa'));var _=require(_0x7bb2('0xb'));var squel=require(_0x7bb2('0xc'));var crypto=require(_0x7bb2('0xd'));var jsforce=require(_0x7bb2('0xe'));var deskjs=require(_0x7bb2('0xf'));var toCsv=require(_0x7bb2('0x8'));var querystring=require(_0x7bb2('0x10'));var Papa=require('papaparse');var Redis=require(_0x7bb2('0x11'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x7bb2('0x12'));var logger=require(_0x7bb2('0x13'))('api');var utils=require(_0x7bb2('0x14'));var config=require(_0x7bb2('0x15'));var licenseUtil=require('../../config/license/util');var db=require(_0x7bb2('0x16'))['db'];config[_0x7bb2('0x17')]=_['defaults'](config[_0x7bb2('0x17')],{'host':_0x7bb2('0x18'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0x7bb2('0x17')]));require(_0x7bb2('0x19'))[_0x7bb2('0x1a')](socket);function respondWithStatusCode(_0x328ce1,_0x218a77){_0x218a77=_0x218a77||0xcc;return function(_0x5ca252){if(_0x5ca252){return _0x328ce1[_0x7bb2('0x1b')](_0x218a77);}return _0x328ce1[_0x7bb2('0x1c')](_0x218a77)[_0x7bb2('0x1d')]();};}function respondWithResult(_0x1d0339,_0x225e3d){_0x225e3d=_0x225e3d||0xc8;return function(_0x13e87e){if(_0x13e87e){return _0x1d0339[_0x7bb2('0x1c')](_0x225e3d)[_0x7bb2('0x1e')](_0x13e87e);}};}function respondWithFilteredResult(_0xabeb07,_0x49dedf){return function(_0x15ee05){if(_0x15ee05){var _0x1403b1=typeof _0x49dedf[_0x7bb2('0x1f')]===_0x7bb2('0x20')&&typeof _0x49dedf[_0x7bb2('0x21')]===_0x7bb2('0x20');var _0x34ccde=_0x15ee05[_0x7bb2('0x22')];var _0x4b3c2a=_0x1403b1?0x0:_0x49dedf[_0x7bb2('0x1f')];var _0x45d2ae=_0x1403b1?_0x15ee05[_0x7bb2('0x22')]:_0x49dedf[_0x7bb2('0x1f')]+_0x49dedf[_0x7bb2('0x21')];var _0x3625c0;if(_0x45d2ae>=_0x34ccde){_0x45d2ae=_0x34ccde;_0x3625c0=0xc8;}else{_0x3625c0=0xce;}_0xabeb07[_0x7bb2('0x1c')](_0x3625c0);return _0xabeb07[_0x7bb2('0x23')](_0x7bb2('0x24'),_0x4b3c2a+'-'+_0x45d2ae+'/'+_0x34ccde)['json'](_0x15ee05);}return null;};}function patchUpdates(_0x3ce3e6){return function(_0x2d32db){try{jsonpatch[_0x7bb2('0x25')](_0x2d32db,_0x3ce3e6,!![]);}catch(_0x11f886){return BPromise[_0x7bb2('0x26')](_0x11f886);}return _0x2d32db[_0x7bb2('0x27')]();};}function saveUpdates(_0x40ae4c,_0x49d238){return function(_0x55249c){if(_0x55249c){return _0x55249c[_0x7bb2('0x28')](_0x40ae4c)[_0x7bb2('0x29')](function(_0x1c2b26){return _0x1c2b26;});}return null;};}function removeEntity(_0x150b72,_0x273e12){return function(_0x45afb2){if(_0x45afb2){return _0x45afb2[_0x7bb2('0x2a')]()[_0x7bb2('0x29')](function(){var _0x178822=_0x45afb2[_0x7bb2('0x2b')]({'plain':!![]});var _0x3b33e8=_0x7bb2('0x2c');return db[_0x7bb2('0x2d')][_0x7bb2('0x2a')]({'where':{'type':_0x3b33e8,'resourceId':_0x178822['id']}})[_0x7bb2('0x29')](function(){return _0x45afb2;});})[_0x7bb2('0x29')](function(){_0x150b72[_0x7bb2('0x1c')](0xcc)[_0x7bb2('0x1d')]();});}};}function handleEntityNotFound(_0x5a3ca6,_0x557176){return function(_0x515455){if(!_0x515455){_0x5a3ca6[_0x7bb2('0x1b')](0x194);}return _0x515455;};}function handleError(_0x23dd0b,_0x2db183){_0x2db183=_0x2db183||0x1f4;return function(_0x48ff2b){logger[_0x7bb2('0x2e')](_0x48ff2b[_0x7bb2('0x2f')]);if(_0x48ff2b[_0x7bb2('0x30')]){delete _0x48ff2b[_0x7bb2('0x30')];}_0x23dd0b[_0x7bb2('0x1c')](_0x2db183)['send'](_0x48ff2b);};}exports[_0x7bb2('0x31')]=function(_0x3c4adf,_0x119fbd){var _0x3535c8={},_0x5eebff={},_0x51e71f={'count':0x0,'rows':[]};var _0x4dcb7e=_[_0x7bb2('0x32')](db[_0x7bb2('0x33')]['rawAttributes'],function(_0x4925e4){return{'name':_0x4925e4[_0x7bb2('0x34')],'type':_0x4925e4[_0x7bb2('0x35')]['key']};});_0x5eebff[_0x7bb2('0x36')]=_[_0x7bb2('0x32')](_0x4dcb7e,_0x7bb2('0x30'));_0x5eebff[_0x7bb2('0x37')]=_[_0x7bb2('0x38')](_0x3c4adf['query']);_0x5eebff[_0x7bb2('0x39')]=_['intersection'](_0x5eebff[_0x7bb2('0x36')],_0x5eebff[_0x7bb2('0x37')]);_0x3535c8[_0x7bb2('0x3a')]=_[_0x7bb2('0x3b')](_0x5eebff[_0x7bb2('0x36')],qs[_0x7bb2('0x3c')](_0x3c4adf['query'][_0x7bb2('0x3c')]));_0x3535c8[_0x7bb2('0x3a')]=_0x3535c8[_0x7bb2('0x3a')]['length']?_0x3535c8[_0x7bb2('0x3a')]:_0x5eebff['model'];if(!_0x3c4adf[_0x7bb2('0x37')][_0x7bb2('0x3d')](_0x7bb2('0x3e'))){_0x3535c8[_0x7bb2('0x21')]=qs['limit'](_0x3c4adf[_0x7bb2('0x37')]['limit']);_0x3535c8[_0x7bb2('0x1f')]=qs[_0x7bb2('0x1f')](_0x3c4adf[_0x7bb2('0x37')][_0x7bb2('0x1f')]);}_0x3535c8[_0x7bb2('0x3f')]=qs[_0x7bb2('0x40')](_0x3c4adf['query'][_0x7bb2('0x40')]);_0x3535c8['where']=qs[_0x7bb2('0x39')](_[_0x7bb2('0x41')](_0x3c4adf['query'],_0x5eebff[_0x7bb2('0x39')]),_0x4dcb7e);if(_0x3c4adf[_0x7bb2('0x37')][_0x7bb2('0x42')]){_0x3535c8[_0x7bb2('0x43')]=_[_0x7bb2('0x44')](_0x3535c8['where'],{'$or':_['map'](_0x4dcb7e,function(_0x5a7067){if(_0x5a7067[_0x7bb2('0x35')]!==_0x7bb2('0x45')){var _0x2161e4={};_0x2161e4[_0x5a7067[_0x7bb2('0x30')]]={'$like':'%'+_0x3c4adf[_0x7bb2('0x37')][_0x7bb2('0x42')]+'%'};return _0x2161e4;}})});}_0x3535c8=_[_0x7bb2('0x44')]({},_0x3535c8,_0x3c4adf[_0x7bb2('0x46')]);var _0x4e3ab2={'where':_0x3535c8[_0x7bb2('0x43')]};return db['Team'][_0x7bb2('0x22')](_0x4e3ab2)[_0x7bb2('0x29')](function(_0x40ea91){_0x51e71f[_0x7bb2('0x22')]=_0x40ea91;if(_0x3c4adf['query'][_0x7bb2('0x47')]){_0x3535c8[_0x7bb2('0x48')]=[{'all':!![]}];}return db[_0x7bb2('0x33')][_0x7bb2('0x49')](_0x3535c8);})[_0x7bb2('0x29')](function(_0x50b6f6){_0x51e71f['rows']=_0x50b6f6;return _0x51e71f;})['then'](respondWithFilteredResult(_0x119fbd,_0x3535c8))[_0x7bb2('0x4a')](handleError(_0x119fbd,null));};exports['show']=function(_0x7a6d0c,_0x374694){var _0x65de4b={'raw':![],'where':{'id':_0x7a6d0c[_0x7bb2('0x4b')]['id']}},_0x559944={};_0x559944[_0x7bb2('0x36')]=_[_0x7bb2('0x38')](db[_0x7bb2('0x33')]['rawAttributes']);_0x559944['query']=_['keys'](_0x7a6d0c[_0x7bb2('0x37')]);_0x559944[_0x7bb2('0x39')]=_['intersection'](_0x559944['model'],_0x559944[_0x7bb2('0x37')]);_0x65de4b[_0x7bb2('0x3a')]=_['intersection'](_0x559944[_0x7bb2('0x36')],qs[_0x7bb2('0x3c')](_0x7a6d0c[_0x7bb2('0x37')][_0x7bb2('0x3c')]));_0x65de4b[_0x7bb2('0x3a')]=_0x65de4b['attributes'][_0x7bb2('0x4c')]?_0x65de4b[_0x7bb2('0x3a')]:_0x559944[_0x7bb2('0x36')];if(_0x7a6d0c[_0x7bb2('0x37')][_0x7bb2('0x47')]){_0x65de4b[_0x7bb2('0x48')]=[{'all':!![]}];}_0x65de4b=_[_0x7bb2('0x44')]({},_0x65de4b,_0x7a6d0c['options']);return db[_0x7bb2('0x33')][_0x7bb2('0x4d')](_0x65de4b)[_0x7bb2('0x29')](handleEntityNotFound(_0x374694,null))[_0x7bb2('0x29')](respondWithResult(_0x374694,null))[_0x7bb2('0x4a')](handleError(_0x374694,null));};exports[_0x7bb2('0x4e')]=function(_0x4fe68a,_0xe938ca){return db[_0x7bb2('0x33')][_0x7bb2('0x4e')](_0x4fe68a['body'],{})[_0x7bb2('0x29')](function(_0x37b4ce){var _0x363bf9=_0x4fe68a[_0x7bb2('0x4f')][_0x7bb2('0x2b')]({'plain':!![]});if(!_0x363bf9)throw new Error(_0x7bb2('0x50'));if(_0x363bf9[_0x7bb2('0x51')]===_0x7bb2('0x4f')){var _0x4dc8ac=_0x37b4ce[_0x7bb2('0x2b')]({'plain':!![]});var _0x3a88be=_0x7bb2('0x2c');return db[_0x7bb2('0x52')]['find']({'where':{'name':_0x3a88be,'userProfileId':_0x363bf9[_0x7bb2('0x53')]},'raw':!![]})[_0x7bb2('0x29')](function(_0x59c4f2){if(_0x59c4f2&&_0x59c4f2[_0x7bb2('0x54')]===0x0){return db[_0x7bb2('0x2d')][_0x7bb2('0x4e')]({'name':_0x4dc8ac[_0x7bb2('0x30')],'resourceId':_0x4dc8ac['id'],'type':_0x59c4f2['name'],'sectionId':_0x59c4f2['id']},{})[_0x7bb2('0x29')](function(){return _0x37b4ce;});}else{return _0x37b4ce;}})['catch'](function(_0x1e7160){logger[_0x7bb2('0x2e')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x1e7160);throw _0x1e7160;});}return _0x37b4ce;})[_0x7bb2('0x29')](respondWithResult(_0xe938ca,0xc9))[_0x7bb2('0x4a')](handleError(_0xe938ca,null));};exports['update']=function(_0x2481ee,_0x44af66){if(_0x2481ee[_0x7bb2('0x55')]['id']){delete _0x2481ee['body']['id'];}return db['Team'][_0x7bb2('0x4d')]({'where':{'id':_0x2481ee['params']['id']}})[_0x7bb2('0x29')](handleEntityNotFound(_0x44af66,null))[_0x7bb2('0x29')](saveUpdates(_0x2481ee[_0x7bb2('0x55')],null))['then'](respondWithResult(_0x44af66,null))[_0x7bb2('0x4a')](handleError(_0x44af66,null));};exports['destroy']=function(_0x42dfe9,_0x125ef1){return db[_0x7bb2('0x33')][_0x7bb2('0x4d')]({'where':{'id':_0x42dfe9[_0x7bb2('0x4b')]['id']}})[_0x7bb2('0x29')](handleEntityNotFound(_0x125ef1,null))[_0x7bb2('0x29')](removeEntity(_0x125ef1,null))[_0x7bb2('0x4a')](handleError(_0x125ef1,null));};exports[_0x7bb2('0x56')]=function(_0x470a0d,_0x10130e,_0x42f6ea){return db['Team'][_0x7bb2('0x57')]({'where':{'id':_0x470a0d['params']['id']}})[_0x7bb2('0x29')](handleEntityNotFound(_0x10130e,null))[_0x7bb2('0x29')](function(_0x36bc13){if(!_0x470a0d['query'][_0x7bb2('0x58')]||!utils[_0x7bb2('0x59')](_0x470a0d[_0x7bb2('0x37')][_0x7bb2('0x58')])){throw new db[(_0x7bb2('0x5a'))][(_0x7bb2('0x5b'))](_0x7bb2('0x5c'));}var _0x320b90={};var _0x5490cc={};_0x5490cc[_0x7bb2('0x36')]=_[_0x7bb2('0x38')](db[_[_0x7bb2('0x5d')](_0x470a0d[_0x7bb2('0x37')][_0x7bb2('0x58')][_0x7bb2('0x5e')]())+_0x7bb2('0x5f')]['rawAttributes']);_0x5490cc[_0x7bb2('0x37')]=_[_0x7bb2('0x38')](_0x470a0d[_0x7bb2('0x37')]);_0x5490cc['filters']=_[_0x7bb2('0x3b')](_0x5490cc[_0x7bb2('0x36')],_0x5490cc[_0x7bb2('0x37')]);_0x320b90[_0x7bb2('0x3a')]=_[_0x7bb2('0x3b')](_0x5490cc['model'],qs[_0x7bb2('0x3c')](_0x470a0d[_0x7bb2('0x37')][_0x7bb2('0x3c')]));_0x320b90[_0x7bb2('0x3a')]=_0x320b90[_0x7bb2('0x3a')][_0x7bb2('0x4c')]?_0x320b90['attributes']:_0x5490cc[_0x7bb2('0x36')];_0x320b90[_0x7bb2('0x21')]=qs[_0x7bb2('0x21')](_0x470a0d[_0x7bb2('0x37')][_0x7bb2('0x21')]);_0x320b90['offset']=qs[_0x7bb2('0x1f')](_0x470a0d[_0x7bb2('0x37')]['offset']);_0x320b90[_0x7bb2('0x3f')]=qs[_0x7bb2('0x40')](_0x470a0d['query']['sort']);_0x320b90[_0x7bb2('0x43')]=qs['filters'](_[_0x7bb2('0x41')](_0x470a0d['query'],_0x5490cc[_0x7bb2('0x39')]));_0x320b90=_['merge']({},_0x320b90,_0x470a0d[_0x7bb2('0x46')]);return _0x36bc13['get'+_[_0x7bb2('0x5d')](_0x470a0d['query'][_0x7bb2('0x58')][_0x7bb2('0x5e')]())+_0x7bb2('0x60')](_0x320b90);})['then'](respondWithResult(_0x10130e,null))[_0x7bb2('0x4a')](handleError(_0x10130e,null));};exports['addQueues']=function(_0x3b3161,_0x4bef7e,_0x300a62){return db['Team'][_0x7bb2('0x57')]({'where':{'id':_0x3b3161['params']['id']}})['then'](function(_0x2e953b){if(_0x2e953b){if(!_0x3b3161[_0x7bb2('0x55')][_0x7bb2('0x58')]||!utils[_0x7bb2('0x59')](_0x3b3161[_0x7bb2('0x55')][_0x7bb2('0x58')])){throw new db['Sequelize']['ValidationError'](_0x7bb2('0x5c'));}return _0x2e953b[_0x7bb2('0x61')+_['capitalize'](_0x3b3161['body']['channel'][_0x7bb2('0x5e')]())+_0x7bb2('0x60')](_0x3b3161[_0x7bb2('0x55')]['ids']);}return null;})[_0x7bb2('0x29')](handleEntityNotFound(_0x4bef7e,null))[_0x7bb2('0x29')](respondWithStatusCode(_0x4bef7e,null))[_0x7bb2('0x4a')](handleError(_0x4bef7e,null));};exports[_0x7bb2('0x62')]=function(_0x45292c,_0x2cd511,_0x34fd2f){return db['Team'][_0x7bb2('0x57')]({'where':{'id':_0x45292c[_0x7bb2('0x4b')]['id']}})[_0x7bb2('0x29')](function(_0x1c891b){if(_0x1c891b){if(!_0x45292c[_0x7bb2('0x37')][_0x7bb2('0x58')]||!utils['isValidChannel'](_0x45292c[_0x7bb2('0x37')][_0x7bb2('0x58')])){throw new db[(_0x7bb2('0x5a'))]['ValidationError'](_0x7bb2('0x5c'));}return _0x1c891b['remove'+_[_0x7bb2('0x5d')](_0x45292c[_0x7bb2('0x37')][_0x7bb2('0x58')][_0x7bb2('0x5e')]())+_0x7bb2('0x60')](_0x45292c[_0x7bb2('0x37')]['ids']);}return null;})[_0x7bb2('0x29')](handleEntityNotFound(_0x2cd511,null))[_0x7bb2('0x29')](respondWithStatusCode(_0x2cd511,null))['catch'](handleError(_0x2cd511,null));};exports['addAgents']=function(_0x54b7ff,_0x170973){return db['Team'][_0x7bb2('0x4d')]({'where':{'id':_0x54b7ff[_0x7bb2('0x4b')]['id']}})[_0x7bb2('0x29')](handleEntityNotFound(_0x170973,null))['then'](function(_0x225591){if(_0x225591){var _0x56b79f=[_0x7bb2('0x63'),_0x7bb2('0x64'),_0x7bb2('0x65'),'Sms','Fax',_0x7bb2('0x66'),_0x7bb2('0x67')];return db[_0x7bb2('0x68')][_0x7bb2('0x69')](function(_0xea678a){var _0x446657=_[_0x7bb2('0x32')](_0x56b79f,function(_0x1b85e1){var _0xabaca0={'attributes':['id','name']};if(_0x1b85e1===_0x7bb2('0x63')){_0xabaca0[_0x7bb2('0x6a')]={'attributes':[_0x7bb2('0x6b')]};}return _0x225591[_0x7bb2('0x2b')+_0x1b85e1+_0x7bb2('0x60')](_0xabaca0)[_0x7bb2('0x29')](function(_0x27fcdd){var _0x3bab8f=_[_0x7bb2('0x32')](_0x27fcdd,function(_0x3defb7){var _0x16d1cf=_['map'](_0x54b7ff[_0x7bb2('0x55')]['ids'],function(_0x4a8f25){var _0x5e68a5={'where':{'UserId':_0x4a8f25,[_0x1b85e1+_0x7bb2('0x6c')]:_0x3defb7['id']},'transaction':_0xea678a};if(_0x1b85e1===_0x7bb2('0x63')){_0x5e68a5['defaults']={'penalty':_0x3defb7['TeamVoiceQueue'][_0x7bb2('0x6b')]};}return db[_0x7bb2('0x6d')+_0x1b85e1+'Queue'][_0x7bb2('0x6e')](_0x5e68a5)['then'](function(){socket[_0x7bb2('0x6f')]('user'+_0x1b85e1+_0x7bb2('0x70'),{'UserId':_0x4a8f25,[_0x1b85e1+_0x7bb2('0x6c')]:_0x3defb7['id']});if(_0x1b85e1!==_0x7bb2('0x63'))return;return db[_0x7bb2('0x6d')][_0x7bb2('0x49')]({'where':{'id':_0x54b7ff[_0x7bb2('0x55')][_0x7bb2('0x71')],'online':0x1},'attributes':['id',_0x7bb2('0x30'),_0x7bb2('0x72'),'voicePause',_0x7bb2('0x73')],'raw':!![]})[_0x7bb2('0x29')](function(_0x4ec0ab){var _0x5be06b=_['map'](_0x4ec0ab,function(_0x512e57){return db[_0x7bb2('0x74')]['upsert']({'membername':_0x512e57[_0x7bb2('0x30')],'UserId':_0x512e57['id'],'queue_name':_0x3defb7[_0x7bb2('0x30')],'VoiceQueueId':_0x3defb7['id'],'interface':_[_0x7bb2('0x75')](_0x512e57[_0x7bb2('0x73')])?util['format'](_0x7bb2('0x76'),_0x512e57['name']):_0x512e57[_0x7bb2('0x73')],'paused':_0x512e57['voicePause']||![],'penalty':_0x3defb7[_0x7bb2('0x77')][_0x7bb2('0x6b')]},{'transaction':_0xea678a});});return Promise[_0x7bb2('0x78')](_0x5be06b);});});});return Promise[_0x7bb2('0x78')](_0x16d1cf);});return Promise[_0x7bb2('0x78')](_0x3bab8f);});});return Promise[_0x7bb2('0x78')](_0x446657)[_0x7bb2('0x29')](function(){return _0x225591[_0x7bb2('0x79')](_0x54b7ff[_0x7bb2('0x55')][_0x7bb2('0x71')],{'transaction':_0xea678a})[_0x7bb2('0x7a')](function(_0x268e4e){return _0x268e4e;});});});}})[_0x7bb2('0x29')](respondWithResult(_0x170973,null))['catch'](handleError(_0x170973,null));};exports[_0x7bb2('0x7b')]=function(_0x2885fb,_0x56ee2e){return db[_0x7bb2('0x33')][_0x7bb2('0x4d')]({'where':{'id':_0x2885fb[_0x7bb2('0x4b')]['id']}})[_0x7bb2('0x29')](handleEntityNotFound(_0x56ee2e,null))[_0x7bb2('0x29')](function(_0x20b5ea){if(_0x20b5ea){var _0x5c8b51=[_0x7bb2('0x63'),_0x7bb2('0x64'),_0x7bb2('0x65'),'Sms','Fax',_0x7bb2('0x66'),_0x7bb2('0x67')];return db[_0x7bb2('0x68')][_0x7bb2('0x69')](function(_0x46a835){var _0x4100f3=_[_0x7bb2('0x32')](_0x5c8b51,function(_0x471620){var _0x344402={'attributes':['id',_0x7bb2('0x30')]};return _0x20b5ea['get'+_0x471620+_0x7bb2('0x60')](_0x344402)[_0x7bb2('0x29')](function(_0x4cc5a5){var _0x596283=_[_0x7bb2('0x32')](_0x4cc5a5,function(_0x1c1048){return _0x1c1048[_0x7bb2('0x7b')](_0x2885fb['query'][_0x7bb2('0x71')],{'transaction':_0x46a835})[_0x7bb2('0x29')](function(){var _0x2832a9=JSON[_0x7bb2('0x7c')]('['+_0x2885fb[_0x7bb2('0x37')][_0x7bb2('0x71')]+']');var _0x3ed1c4=_['map'](_0x2832a9,function(_0x50fd72){socket[_0x7bb2('0x6f')](_0x7bb2('0x4f')+_0x471620+'Queue:remove',{'UserId':Number(_0x50fd72),[_0x471620+_0x7bb2('0x6c')]:_0x1c1048['id']});if(_0x471620!==_0x7bb2('0x63'))return;return db['UserVoiceQueueRt'][_0x7bb2('0x2a')]({'where':{'VoiceQueueId':_0x1c1048['id'],'UserId':_0x50fd72},'transaction':_0x46a835});});return Promise['all'](_0x3ed1c4);});});return Promise[_0x7bb2('0x78')](_0x596283);});});return Promise['all'](_0x4100f3)[_0x7bb2('0x29')](function(){return _0x20b5ea['removeAgents'](_0x2885fb['query'][_0x7bb2('0x71')],{'transaction':_0x46a835});});});}})['then'](respondWithStatusCode(_0x56ee2e,null))[_0x7bb2('0x4a')](handleError(_0x56ee2e,null));};exports[_0x7bb2('0x7d')]=function(_0x55f7c5,_0x42197a,_0x180b05){var _0x1c3684={};var _0x3ea88f={};var _0x3dbb80;var _0x4d79e1;return db[_0x7bb2('0x33')][_0x7bb2('0x57')]({'where':{'id':_0x55f7c5[_0x7bb2('0x4b')]['id']}})[_0x7bb2('0x29')](handleEntityNotFound(_0x42197a,null))['then'](function(_0x557eed){if(_0x557eed){_0x3dbb80=_0x557eed;_0x3ea88f[_0x7bb2('0x36')]=_['keys'](db['User'][_0x7bb2('0x7e')]);_0x3ea88f[_0x7bb2('0x37')]=_[_0x7bb2('0x38')](_0x55f7c5[_0x7bb2('0x37')]);_0x3ea88f['filters']=_[_0x7bb2('0x3b')](_0x3ea88f[_0x7bb2('0x36')],_0x3ea88f[_0x7bb2('0x37')]);_0x1c3684[_0x7bb2('0x3a')]=_['intersection'](_0x3ea88f[_0x7bb2('0x36')],qs['fields'](_0x55f7c5[_0x7bb2('0x37')][_0x7bb2('0x3c')]));_0x1c3684['attributes']=_0x1c3684[_0x7bb2('0x3a')][_0x7bb2('0x4c')]?_0x1c3684[_0x7bb2('0x3a')]:_0x3ea88f[_0x7bb2('0x36')];_0x1c3684[_0x7bb2('0x3f')]=qs[_0x7bb2('0x40')](_0x55f7c5['query'][_0x7bb2('0x40')]);_0x1c3684[_0x7bb2('0x43')]=qs[_0x7bb2('0x39')](_[_0x7bb2('0x41')](_0x55f7c5['query'],_0x3ea88f[_0x7bb2('0x39')]));if(_0x55f7c5['query']['filter']){_0x1c3684[_0x7bb2('0x43')]=_[_0x7bb2('0x44')](_0x1c3684['where'],{'$or':_['map'](_0x1c3684[_0x7bb2('0x3a')],function(_0x3e9298){var _0x4bcc56={};_0x4bcc56[_0x3e9298]={'$like':'%'+_0x55f7c5['query'][_0x7bb2('0x42')]+'%'};return _0x4bcc56;})});}_0x1c3684=_['merge']({},_0x1c3684,_0x55f7c5[_0x7bb2('0x46')]);return _0x3dbb80[_0x7bb2('0x7d')](_0x1c3684);}})[_0x7bb2('0x29')](function(_0x11e26b){if(_0x11e26b){_0x4d79e1=_0x11e26b[_0x7bb2('0x4c')];if(!_0x55f7c5['query'][_0x7bb2('0x3d')](_0x7bb2('0x3e'))){_0x1c3684[_0x7bb2('0x21')]=qs[_0x7bb2('0x21')](_0x55f7c5[_0x7bb2('0x37')]['limit']);_0x1c3684[_0x7bb2('0x1f')]=qs[_0x7bb2('0x1f')](_0x55f7c5['query'][_0x7bb2('0x1f')]);}return _0x3dbb80[_0x7bb2('0x7d')](_0x1c3684);}})[_0x7bb2('0x29')](function(_0x39f95d){if(_0x39f95d){return _0x39f95d?{'count':_0x4d79e1,'rows':_0x39f95d}:null;}})[_0x7bb2('0x29')](respondWithResult(_0x42197a,null))[_0x7bb2('0x4a')](handleError(_0x42197a,null));};