13055a9af284f94cac6690a538760e36e6462328
[motion2.git] / server / api / smsQueue / smsQueue.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 _0x207c=['json','count','offset','limit','set','Content-Range','apply','reject','update','then','destroy','get','SmsQueues','UserProfileResource','error','stack','name','send','index','map','SmsQueue','rawAttributes','fieldName','type','model','query','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','filter','merge','options','include','findAll','rows','catch','show','params','keys','includeAll','create','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','find','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','body','describe','getMembers','UserSmsQueue','pick','SmsQueueId','User','findAndCountAll','UserId','agent','updatedAt','createdAt','%s/%s','smsPause','addTeams','ids','Team','online','voicePause','interface','flatMap','Agents','transaction','findOrCreate','userSmsQueue:save','removeTeams','select','from','team_has_sms_queues','join','user_has_teams','sequelize','toString','QueryTypes','every','all','compact','value','removeAgents','forEach','userSmsQueue:remove','addAgents','omit','emit','getAgents','findOne','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','util','ejs','lodash','squel','jsforce','desk.js','to-csv','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/environment','../../mysqldb','redis','localhost','socket.io-emitter','./smsQueue.socket','sendStatus','status'];(function(_0x5c5905,_0x4afaac){var _0x305ee9=function(_0x466f5e){while(--_0x466f5e){_0x5c5905['push'](_0x5c5905['shift']());}};_0x305ee9(++_0x4afaac);}(_0x207c,0x1e8));var _0xc207=function(_0xa20086,_0x3978a9){_0xa20086=_0xa20086-0x0;var _0x121c6e=_0x207c[_0xa20086];return _0x121c6e;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0xc207('0x0'));var rimraf=require(_0xc207('0x1'));var zipdir=require(_0xc207('0x2'));var jsonpatch=require(_0xc207('0x3'));var rp=require(_0xc207('0x4'));var moment=require(_0xc207('0x5'));var BPromise=require(_0xc207('0x6'));var Mustache=require('mustache');var util=require(_0xc207('0x7'));var path=require('path');var sox=require('sox');var csv=require('to-csv');var ejs=require(_0xc207('0x8'));var fs=require('fs');var _=require(_0xc207('0x9'));var squel=require(_0xc207('0xa'));var crypto=require('crypto');var jsforce=require(_0xc207('0xb'));var deskjs=require(_0xc207('0xc'));var toCsv=require(_0xc207('0xd'));var querystring=require('querystring');var Papa=require(_0xc207('0xe'));var Redis=require(_0xc207('0xf'));var authService=require(_0xc207('0x10'));var qs=require(_0xc207('0x11'));var as=require(_0xc207('0x12'));var hardwareService=require(_0xc207('0x13'));var logger=require('../../config/logger')('api');var utils=require('../../config/utils');var config=require(_0xc207('0x14'));var licenseUtil=require('../../config/license/util');var db=require(_0xc207('0x15'))['db'];config[_0xc207('0x16')]=_['defaults'](config[_0xc207('0x16')],{'host':_0xc207('0x17'),'port':0x18eb});var socket=require(_0xc207('0x18'))(new Redis(config[_0xc207('0x16')]));require(_0xc207('0x19'))['register'](socket);function respondWithStatusCode(_0xc62672,_0x3c77b7){_0x3c77b7=_0x3c77b7||0xcc;return function(_0x274bbd){if(_0x274bbd){return _0xc62672[_0xc207('0x1a')](_0x3c77b7);}return _0xc62672['status'](_0x3c77b7)['end']();};}function respondWithResult(_0x554e5c,_0x1cebfa){_0x1cebfa=_0x1cebfa||0xc8;return function(_0x6e793d){if(_0x6e793d){return _0x554e5c[_0xc207('0x1b')](_0x1cebfa)[_0xc207('0x1c')](_0x6e793d);}};}function respondWithFilteredResult(_0x4b8f44,_0x1bc70c){return function(_0x282595){if(_0x282595){var _0x217d5e=_0x282595[_0xc207('0x1d')],_0x5f288e=_0x1bc70c[_0xc207('0x1e')],_0x4129b8=_0x1bc70c[_0xc207('0x1e')]+_0x1bc70c[_0xc207('0x1f')],_0x488cc0;if(_0x4129b8>=_0x217d5e){_0x4129b8=_0x217d5e;_0x488cc0=0xc8;}else{_0x488cc0=0xce;}_0x4b8f44[_0xc207('0x1b')](_0x488cc0);return _0x4b8f44[_0xc207('0x20')](_0xc207('0x21'),_0x5f288e+'-'+_0x4129b8+'/'+_0x217d5e)[_0xc207('0x1c')](_0x282595);}return null;};}function patchUpdates(_0x212005){return function(_0x2bd2eb){try{jsonpatch[_0xc207('0x22')](_0x2bd2eb,_0x212005,!![]);}catch(_0xe227a){return BPromise[_0xc207('0x23')](_0xe227a);}return _0x2bd2eb['save']();};}function saveUpdates(_0x163b36,_0x5cda23){return function(_0x2e89c5){if(_0x2e89c5){return _0x2e89c5[_0xc207('0x24')](_0x163b36)[_0xc207('0x25')](function(_0x83253f){return _0x83253f;});}return null;};}function removeEntity(_0x3539f4,_0xd209ac){return function(_0x300718){if(_0x300718){return _0x300718[_0xc207('0x26')]()[_0xc207('0x25')](function(){var _0x2385f7=_0x300718[_0xc207('0x27')]({'plain':!![]});var _0x27df03=_0xc207('0x28');return db[_0xc207('0x29')][_0xc207('0x26')]({'where':{'type':_0x27df03,'resourceId':_0x2385f7['id']}})['then'](function(){return _0x300718;});})[_0xc207('0x25')](function(){_0x3539f4['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x18ef72,_0x3a05f3){return function(_0x2e41b1){if(!_0x2e41b1){_0x18ef72[_0xc207('0x1a')](0x194);}return _0x2e41b1;};}function handleError(_0x6a653d,_0x478af7){_0x478af7=_0x478af7||0x1f4;return function(_0xe5e848){logger[_0xc207('0x2a')](_0xe5e848[_0xc207('0x2b')]);if(_0xe5e848[_0xc207('0x2c')]){delete _0xe5e848[_0xc207('0x2c')];}_0x6a653d[_0xc207('0x1b')](_0x478af7)[_0xc207('0x2d')](_0xe5e848);};}exports[_0xc207('0x2e')]=function(_0xc6a7ce,_0x3f79e8){var _0x2043cf={},_0xaa1b54={},_0x3cd4b4={'count':0x0,'rows':[]};var _0x5824e5=_[_0xc207('0x2f')](db[_0xc207('0x30')][_0xc207('0x31')],function(_0x448df1){return{'name':_0x448df1[_0xc207('0x32')],'type':_0x448df1[_0xc207('0x33')]['key']};});_0xaa1b54[_0xc207('0x34')]=_[_0xc207('0x2f')](_0x5824e5,_0xc207('0x2c'));_0xaa1b54[_0xc207('0x35')]=_['keys'](_0xc6a7ce[_0xc207('0x35')]);_0xaa1b54[_0xc207('0x36')]=_[_0xc207('0x37')](_0xaa1b54[_0xc207('0x34')],_0xaa1b54[_0xc207('0x35')]);_0x2043cf[_0xc207('0x38')]=_[_0xc207('0x37')](_0xaa1b54[_0xc207('0x34')],qs[_0xc207('0x39')](_0xc6a7ce['query']['fields']));_0x2043cf[_0xc207('0x38')]=_0x2043cf[_0xc207('0x38')][_0xc207('0x3a')]?_0x2043cf[_0xc207('0x38')]:_0xaa1b54['model'];if(!_0xc6a7ce[_0xc207('0x35')][_0xc207('0x3b')](_0xc207('0x3c'))){_0x2043cf[_0xc207('0x1f')]=qs[_0xc207('0x1f')](_0xc6a7ce['query'][_0xc207('0x1f')]);_0x2043cf[_0xc207('0x1e')]=qs['offset'](_0xc6a7ce[_0xc207('0x35')]['offset']);}_0x2043cf[_0xc207('0x3d')]=qs[_0xc207('0x3e')](_0xc6a7ce['query'][_0xc207('0x3e')]);_0x2043cf[_0xc207('0x3f')]=qs[_0xc207('0x36')](_['pick'](_0xc6a7ce['query'],_0xaa1b54[_0xc207('0x36')]),_0x5824e5);if(_0xc6a7ce[_0xc207('0x35')][_0xc207('0x40')]){_0x2043cf[_0xc207('0x3f')]=_['merge'](_0x2043cf[_0xc207('0x3f')],{'$or':_['map'](_0x5824e5,function(_0x4cce4f){if(_0x4cce4f['type']!=='VIRTUAL'){var _0x20cb64={};_0x20cb64[_0x4cce4f[_0xc207('0x2c')]]={'$like':'%'+_0xc6a7ce[_0xc207('0x35')]['filter']+'%'};return _0x20cb64;}})});}_0x2043cf=_[_0xc207('0x41')]({},_0x2043cf,_0xc6a7ce[_0xc207('0x42')]);var _0x3e7cd9={'where':_0x2043cf[_0xc207('0x3f')]};return db['SmsQueue'][_0xc207('0x1d')](_0x3e7cd9)[_0xc207('0x25')](function(_0x123a46){_0x3cd4b4[_0xc207('0x1d')]=_0x123a46;if(_0xc6a7ce[_0xc207('0x35')]['includeAll']){_0x2043cf[_0xc207('0x43')]=[{'all':!![]}];}return db[_0xc207('0x30')][_0xc207('0x44')](_0x2043cf);})[_0xc207('0x25')](function(_0x153490){_0x3cd4b4[_0xc207('0x45')]=_0x153490;return _0x3cd4b4;})[_0xc207('0x25')](respondWithFilteredResult(_0x3f79e8,_0x2043cf))[_0xc207('0x46')](handleError(_0x3f79e8,null));};exports[_0xc207('0x47')]=function(_0x5bab9f,_0x3eafd7){var _0x16ed4f={'raw':!![],'where':{'id':_0x5bab9f[_0xc207('0x48')]['id']}},_0x4b50db={};_0x4b50db[_0xc207('0x34')]=_[_0xc207('0x49')](db[_0xc207('0x30')][_0xc207('0x31')]);_0x4b50db['query']=_[_0xc207('0x49')](_0x5bab9f[_0xc207('0x35')]);_0x4b50db[_0xc207('0x36')]=_['intersection'](_0x4b50db[_0xc207('0x34')],_0x4b50db[_0xc207('0x35')]);_0x16ed4f[_0xc207('0x38')]=_[_0xc207('0x37')](_0x4b50db['model'],qs['fields'](_0x5bab9f[_0xc207('0x35')][_0xc207('0x39')]));_0x16ed4f[_0xc207('0x38')]=_0x16ed4f[_0xc207('0x38')][_0xc207('0x3a')]?_0x16ed4f[_0xc207('0x38')]:_0x4b50db[_0xc207('0x34')];if(_0x5bab9f[_0xc207('0x35')][_0xc207('0x4a')]){_0x16ed4f[_0xc207('0x43')]=[{'all':!![]}];}_0x16ed4f=_[_0xc207('0x41')]({},_0x16ed4f,_0x5bab9f[_0xc207('0x42')]);return db['SmsQueue']['find'](_0x16ed4f)[_0xc207('0x25')](handleEntityNotFound(_0x3eafd7,null))[_0xc207('0x25')](respondWithResult(_0x3eafd7,null))[_0xc207('0x46')](handleError(_0x3eafd7,null));};exports['create']=function(_0x2b89e0,_0x3f712d){return db[_0xc207('0x30')][_0xc207('0x4b')](_0x2b89e0['body'],{})[_0xc207('0x25')](function(_0x50bdf1){var _0x202935=_0x2b89e0['user']['get']({'plain':!![]});if(!_0x202935)throw new Error(_0xc207('0x4c'));if(_0x202935[_0xc207('0x4d')]==='user'){var _0x552edd=_0x50bdf1['get']({'plain':!![]});var _0x1ecae0=_0xc207('0x28');return db[_0xc207('0x4e')][_0xc207('0x4f')]({'where':{'name':_0x1ecae0,'userProfileId':_0x202935[_0xc207('0x50')]},'raw':!![]})[_0xc207('0x25')](function(_0x3dc457){if(_0x3dc457&&_0x3dc457[_0xc207('0x51')]===0x0){return db['UserProfileResource'][_0xc207('0x4b')]({'name':_0x552edd[_0xc207('0x2c')],'resourceId':_0x552edd['id'],'type':_0x3dc457['name'],'sectionId':_0x3dc457['id']},{})['then'](function(){return _0x50bdf1;});}else{return _0x50bdf1;}})[_0xc207('0x46')](function(_0x47c630){logger['error'](_0xc207('0x52'),_0x47c630);throw _0x47c630;});}return _0x50bdf1;})[_0xc207('0x25')](respondWithResult(_0x3f712d,0xc9))[_0xc207('0x46')](handleError(_0x3f712d,null));};exports[_0xc207('0x24')]=function(_0x3583b8,_0x3b926e){if(_0x3583b8[_0xc207('0x53')]['id']){delete _0x3583b8[_0xc207('0x53')]['id'];}return db[_0xc207('0x30')][_0xc207('0x4f')]({'where':{'id':_0x3583b8[_0xc207('0x48')]['id']}})['then'](handleEntityNotFound(_0x3b926e,null))['then'](saveUpdates(_0x3583b8[_0xc207('0x53')],null))[_0xc207('0x25')](respondWithResult(_0x3b926e,null))[_0xc207('0x46')](handleError(_0x3b926e,null));};exports[_0xc207('0x26')]=function(_0xaff7a0,_0x21c12b){return db[_0xc207('0x30')][_0xc207('0x4f')]({'where':{'id':_0xaff7a0[_0xc207('0x48')]['id']}})['then'](handleEntityNotFound(_0x21c12b,null))[_0xc207('0x25')](removeEntity(_0x21c12b,null))[_0xc207('0x46')](handleError(_0x21c12b,null));};exports[_0xc207('0x54')]=function(_0x6d387e,_0x569c85){return db[_0xc207('0x30')][_0xc207('0x54')]()[_0xc207('0x25')](respondWithResult(_0x569c85,null))[_0xc207('0x46')](handleError(_0x569c85,null));};exports[_0xc207('0x55')]=function(_0x45ad58,_0x3eb832,_0x547dee){var _0x305cab={'raw':!![],'where':{}},_0x3a9047={},_0x475a40;return db[_0xc207('0x30')]['findOne']({'where':{'id':_0x45ad58[_0xc207('0x48')]['id']}})['then'](handleEntityNotFound(_0x3eb832,null))['then'](function(_0x31e321){if(_0x31e321){_0x475a40=_0x31e321[_0xc207('0x27')]({'plain':!![]});_0x3a9047[_0xc207('0x34')]=_[_0xc207('0x49')](db[_0xc207('0x56')][_0xc207('0x31')]);_0x3a9047[_0xc207('0x35')]=_[_0xc207('0x49')](_0x45ad58[_0xc207('0x35')]);_0x3a9047[_0xc207('0x36')]=_[_0xc207('0x37')](_0x3a9047[_0xc207('0x34')],_0x3a9047[_0xc207('0x35')]);_0x305cab[_0xc207('0x38')]=_[_0xc207('0x37')](_0x3a9047['model'],qs[_0xc207('0x39')](_0x45ad58['query'][_0xc207('0x39')]));_0x305cab[_0xc207('0x38')]=_0x305cab[_0xc207('0x38')]['length']?_0x305cab['attributes']:_0x3a9047[_0xc207('0x34')];if(!_0x45ad58[_0xc207('0x35')][_0xc207('0x3b')]('nolimit')){_0x305cab[_0xc207('0x1f')]=qs[_0xc207('0x1f')](_0x45ad58[_0xc207('0x35')]['limit']);_0x305cab['offset']=qs[_0xc207('0x1e')](_0x45ad58['query'][_0xc207('0x1e')]);}_0x305cab[_0xc207('0x3d')]=qs[_0xc207('0x3e')](_0x45ad58[_0xc207('0x35')][_0xc207('0x3e')]);_0x305cab[_0xc207('0x3f')]=qs[_0xc207('0x36')](_[_0xc207('0x57')](_0x45ad58['query'],_0x3a9047[_0xc207('0x36')]));_0x305cab[_0xc207('0x3f')][_0xc207('0x58')]=_0x31e321['id'];if(_0x45ad58[_0xc207('0x35')][_0xc207('0x40')]){_0x305cab[_0xc207('0x3f')]=_[_0xc207('0x41')](_0x305cab[_0xc207('0x3f')],{'$or':_[_0xc207('0x2f')](_0x305cab[_0xc207('0x38')],function(_0x203686){var _0x53a210={};_0x53a210[_0x203686]={'$like':'%'+_0x45ad58[_0xc207('0x35')][_0xc207('0x40')]+'%'};return _0x53a210;})});}_0x305cab=_[_0xc207('0x41')]({},_0x305cab,_0x45ad58[_0xc207('0x42')]);return db['UserSmsQueue']['findAll'](_0x305cab);}})[_0xc207('0x25')](function(_0x375518){if(_0x375518){return db[_0xc207('0x59')][_0xc207('0x5a')]({'where':{'id':_['map'](_0x375518,_0xc207('0x5b')),'role':_0xc207('0x5c')},'attributes':['id',_0xc207('0x2c'),'smsPause',_0xc207('0x5d'),_0xc207('0x5e')]});}})[_0xc207('0x25')](function(_0x5a8241){if(_0x5a8241){return{'count':_0x5a8241[_0xc207('0x1d')],'rows':_['map'](_0x5a8241[_0xc207('0x45')],function(_0x4d116b){return{'membername':_0x4d116b[_0xc207('0x2c')],'UserId':_0x4d116b['id'],'queue_name':_0x475a40[_0xc207('0x2c')],'SmsQueueId':_0x475a40['id'],'interface':util['format'](_0xc207('0x5f'),'SIP',_0x4d116b[_0xc207('0x2c')]),'penalty':0x0,'paused':_0x4d116b[_0xc207('0x60')],'createdAt':_0x4d116b[_0xc207('0x5e')],'updatedAt':_0x4d116b[_0xc207('0x5d')]};})};}else{return{'count':0x0,'rows':[]};}})[_0xc207('0x25')](respondWithFilteredResult(_0x3eb832,_0x305cab))['catch'](handleError(_0x3eb832,null));};exports['getTeams']=function(_0x3d1659,_0x28b166,_0x5320a9){var _0x19aa62={};var _0x3971c8={};var _0x52d7f1;var _0x10ab93;return db[_0xc207('0x30')]['findOne']({'where':{'id':_0x3d1659[_0xc207('0x48')]['id']}})[_0xc207('0x25')](handleEntityNotFound(_0x28b166,null))[_0xc207('0x25')](function(_0x1d550d){if(_0x1d550d){_0x52d7f1=_0x1d550d;_0x3971c8[_0xc207('0x34')]=_[_0xc207('0x49')](db['Team']['rawAttributes']);_0x3971c8[_0xc207('0x35')]=_[_0xc207('0x49')](_0x3d1659[_0xc207('0x35')]);_0x3971c8[_0xc207('0x36')]=_[_0xc207('0x37')](_0x3971c8['model'],_0x3971c8[_0xc207('0x35')]);_0x19aa62['attributes']=_[_0xc207('0x37')](_0x3971c8[_0xc207('0x34')],qs[_0xc207('0x39')](_0x3d1659[_0xc207('0x35')][_0xc207('0x39')]));_0x19aa62[_0xc207('0x38')]=_0x19aa62['attributes'][_0xc207('0x3a')]?_0x19aa62[_0xc207('0x38')]:_0x3971c8['model'];_0x19aa62[_0xc207('0x3d')]=qs[_0xc207('0x3e')](_0x3d1659[_0xc207('0x35')][_0xc207('0x3e')]);_0x19aa62[_0xc207('0x3f')]=qs[_0xc207('0x36')](_[_0xc207('0x57')](_0x3d1659[_0xc207('0x35')],_0x3971c8[_0xc207('0x36')]));if(_0x3d1659[_0xc207('0x35')][_0xc207('0x40')]){_0x19aa62[_0xc207('0x3f')]=_[_0xc207('0x41')](_0x19aa62['where'],{'$or':_[_0xc207('0x2f')](_0x19aa62[_0xc207('0x38')],function(_0x2f4efd){var _0x266e65={};_0x266e65[_0x2f4efd]={'$like':'%'+_0x3d1659['query'][_0xc207('0x40')]+'%'};return _0x266e65;})});}_0x19aa62=_['merge']({},_0x19aa62,_0x3d1659[_0xc207('0x42')]);return _0x52d7f1['getTeams'](_0x19aa62);}})['then'](function(_0x2967e6){if(_0x2967e6){_0x10ab93=_0x2967e6[_0xc207('0x3a')];if(!_0x3d1659[_0xc207('0x35')][_0xc207('0x3b')](_0xc207('0x3c'))){_0x19aa62[_0xc207('0x1f')]=qs['limit'](_0x3d1659[_0xc207('0x35')]['limit']);_0x19aa62[_0xc207('0x1e')]=qs[_0xc207('0x1e')](_0x3d1659[_0xc207('0x35')][_0xc207('0x1e')]);}return _0x52d7f1['getTeams'](_0x19aa62);}})[_0xc207('0x25')](function(_0x444efa){if(_0x444efa){return _0x444efa?{'count':_0x10ab93,'rows':_0x444efa}:null;}})['then'](respondWithResult(_0x28b166,null))[_0xc207('0x46')](handleError(_0x28b166,null));};exports[_0xc207('0x61')]=function(_0xcc7f92,_0x1365f4,_0x5af9f6){var _0xc814f3=_0xcc7f92[_0xc207('0x53')][_0xc207('0x62')];return db[_0xc207('0x63')]['findAll']({'where':{'id':_0xc814f3},'attributes':['id'],'include':[{'model':db['User'],'as':'Agents','attributes':['id','name',_0xc207('0x64'),_0xc207('0x65'),_0xc207('0x66')],'raw':!![]}]})[_0xc207('0x25')](function(_0x504c6b){if(_0x504c6b){var _0x4f928b=_[_0xc207('0x67')](_0x504c6b,function(_0x4a5b76){var _0x50f110=_0x4a5b76[_0xc207('0x27')]({'plain':!![]});return _0x50f110[_0xc207('0x68')];});return db[_0xc207('0x30')][_0xc207('0x4f')]({'where':{'id':_0xcc7f92[_0xc207('0x48')]['id']}})['then'](function(_0x391e4f){return db['sequelize'][_0xc207('0x69')](function(_0x2d683e){return _0x391e4f[_0xc207('0x61')](_0xc814f3,{'transaction':_0x2d683e})['then'](function(){return BPromise['each'](_0x4f928b,function(_0x17783d){return db[_0xc207('0x56')][_0xc207('0x6a')]({'where':{'UserId':_0x17783d['id'],'SmsQueueId':_0xcc7f92[_0xc207('0x48')]['id']},'transaction':_0x2d683e});});})['then'](function(){_0x4f928b['forEach'](function(_0x3e8b84){socket['emit'](_0xc207('0x6b'),{'UserId':_0x3e8b84['id'],'SmsQueueId':_0x391e4f['id']});});});});});}})[_0xc207('0x25')](respondWithStatusCode(_0x1365f4,null))[_0xc207('0x46')](handleError(_0x1365f4,null));};exports[_0xc207('0x6c')]=function(_0x1d9b75,_0x5a7bc9,_0x2afdc9){return db[_0xc207('0x63')][_0xc207('0x44')]({'where':{'id':_0x1d9b75[_0xc207('0x35')][_0xc207('0x62')]},'attributes':['id'],'include':[{'model':db[_0xc207('0x59')],'as':_0xc207('0x68'),'attributes':['id'],'raw':!![]}]})[_0xc207('0x25')](handleEntityNotFound(_0x5a7bc9,null))[_0xc207('0x25')](function(_0x214516){var _0x48213b=_[_0xc207('0x2f')](_0x214516,'id');var _0x59d6f7=[];var _0x4a7dd2=[];var _0x22e47c=squel[_0xc207('0x6d')]();_0x22e47c['field']('tq.TeamId')[_0xc207('0x6e')](_0xc207('0x6f'),'tq')[_0xc207('0x70')](_0xc207('0x71'),'ut','ut.TeamId\x20=\x20tq.TeamId')[_0xc207('0x3f')]('SmsQueueId\x20=\x20?',_0x1d9b75[_0xc207('0x48')]['id']);for(var _0x1c7886=0x0;_0x1c7886<_0x214516[_0xc207('0x3a')];_0x1c7886+=0x1){let _0x1e48f3=_0x214516[_0x1c7886];for(var _0x3a449a=0x0;_0x3a449a<_0x1e48f3[_0xc207('0x68')]['length'];_0x3a449a+=0x1){let _0x1f293e=_0x1e48f3[_0xc207('0x68')][_0x3a449a];var _0x5e2df2=_0x22e47c['clone']();_0x5e2df2['where']('ut.UserId\x20=\x20?',_0x1f293e['id']);_0x4a7dd2['push'](db[_0xc207('0x72')][_0xc207('0x35')](_0x5e2df2[_0xc207('0x73')](),{'type':db['sequelize'][_0xc207('0x74')]['SELECT']})[_0xc207('0x25')](function(_0x1f1876){if(_0x1f1876[_0xc207('0x3a')]===0x1){return _0x1f293e['id'];}else{var _0x4fcd51=_[_0xc207('0x75')](_[_0xc207('0x2f')](_0x1f1876,'TeamId'),function(_0xbfed0b){return _['includes'](_0x48213b,_0xbfed0b);});if(_0x4fcd51){return _0x1f293e['id'];}}}));}}return BPromise[_0xc207('0x76')](_0x4a7dd2)['then'](function(_0x2b95f7){_0x59d6f7=_(_0x59d6f7)['union'](_0x2b95f7)[_0xc207('0x77')]()[_0xc207('0x78')]();return db[_0xc207('0x30')][_0xc207('0x4f')]({'where':{'id':_0x1d9b75[_0xc207('0x48')]['id']}})[_0xc207('0x25')](function(_0x50bc7e){return db[_0xc207('0x72')][_0xc207('0x69')](function(_0xe9177e){return _0x50bc7e[_0xc207('0x6c')](_0x1d9b75['query'][_0xc207('0x62')],{'transaction':_0xe9177e})[_0xc207('0x25')](function(){if(!_['isEmpty'](_0x59d6f7)){return _0x50bc7e[_0xc207('0x79')](_0x59d6f7,{'transaction':_0xe9177e});}})[_0xc207('0x25')](function(){_0x59d6f7[_0xc207('0x7a')](function(_0x308c6d){socket['emit'](_0xc207('0x7b'),{'UserId':_0x308c6d,'SmsQueueId':_0x50bc7e['id']});});});});});});})[_0xc207('0x25')](respondWithStatusCode(_0x5a7bc9,null))[_0xc207('0x46')](handleError(_0x5a7bc9,null));};exports[_0xc207('0x7c')]=function(_0x53a701,_0x1f6492,_0x4f8767){return db[_0xc207('0x30')][_0xc207('0x4f')]({'where':{'id':_0x53a701[_0xc207('0x48')]['id']}})['then'](handleEntityNotFound(_0x1f6492,null))[_0xc207('0x25')](function(_0x235084){if(_0x235084){return _0x235084[_0xc207('0x7c')](_0x53a701[_0xc207('0x53')][_0xc207('0x62')],_[_0xc207('0x7d')](_0x53a701[_0xc207('0x53')],[_0xc207('0x62'),'id'])||{})['spread'](function(_0x2c38e0){for(var _0xc58cd3=0x0;_0xc58cd3<_0x53a701[_0xc207('0x53')][_0xc207('0x62')][_0xc207('0x3a')];_0xc58cd3+=0x1){socket[_0xc207('0x7e')](_0xc207('0x6b'),{'UserId':_0x53a701[_0xc207('0x53')][_0xc207('0x62')][_0xc58cd3],'SmsQueueId':_0x53a701[_0xc207('0x48')]['id']});}return _0x2c38e0;});}})['then'](respondWithResult(_0x1f6492,null))[_0xc207('0x46')](handleError(_0x1f6492,null));};exports[_0xc207('0x79')]=function(_0x30d790,_0x1381ef,_0x1c29f6){return db[_0xc207('0x30')][_0xc207('0x4f')]({'where':{'id':_0x30d790[_0xc207('0x48')]['id']}})[_0xc207('0x25')](handleEntityNotFound(_0x1381ef,null))[_0xc207('0x25')](function(_0x473b90){if(_0x473b90){return _0x473b90[_0xc207('0x79')](_0x30d790[_0xc207('0x35')]['ids'])[_0xc207('0x25')](function(){if(_['isArray'](_0x30d790['query'][_0xc207('0x62')])){for(var _0x130fd9=0x0;_0x130fd9<_0x30d790['query'][_0xc207('0x62')][_0xc207('0x3a')];_0x130fd9+=0x1){socket['emit'](_0xc207('0x7b'),{'UserId':Number(_0x30d790[_0xc207('0x35')]['ids'][_0x130fd9]),'SmsQueueId':Number(_0x30d790['params']['id'])});}}else{socket[_0xc207('0x7e')](_0xc207('0x7b'),{'UserId':Number(_0x30d790[_0xc207('0x35')][_0xc207('0x62')]),'SmsQueueId':Number(_0x30d790[_0xc207('0x48')]['id'])});}});}})[_0xc207('0x25')](respondWithStatusCode(_0x1381ef,null))[_0xc207('0x46')](handleError(_0x1381ef,null));};exports[_0xc207('0x7f')]=function(_0x4b6515,_0x2d41d3,_0x1c8189){var _0x17617c={};var _0x40738c={};var _0xe5b189;var _0x2b00af;return db[_0xc207('0x30')][_0xc207('0x80')]({'where':{'id':_0x4b6515[_0xc207('0x48')]['id']}})['then'](handleEntityNotFound(_0x2d41d3,null))[_0xc207('0x25')](function(_0x541750){if(_0x541750){_0xe5b189=_0x541750;_0x40738c['model']=_[_0xc207('0x49')](db[_0xc207('0x59')][_0xc207('0x31')]);_0x40738c[_0xc207('0x35')]=_[_0xc207('0x49')](_0x4b6515['query']);_0x40738c[_0xc207('0x36')]=_[_0xc207('0x37')](_0x40738c['model'],_0x40738c['query']);_0x17617c[_0xc207('0x38')]=_['intersection'](_0x40738c[_0xc207('0x34')],qs[_0xc207('0x39')](_0x4b6515[_0xc207('0x35')]['fields']));_0x17617c[_0xc207('0x38')]=_0x17617c[_0xc207('0x38')][_0xc207('0x3a')]?_0x17617c[_0xc207('0x38')]:_0x40738c['model'];_0x17617c[_0xc207('0x3d')]=qs[_0xc207('0x3e')](_0x4b6515['query'][_0xc207('0x3e')]);_0x17617c[_0xc207('0x3f')]=qs['filters'](_[_0xc207('0x57')](_0x4b6515[_0xc207('0x35')],_0x40738c[_0xc207('0x36')]));if(_0x4b6515[_0xc207('0x35')][_0xc207('0x40')]){_0x17617c[_0xc207('0x3f')]=_[_0xc207('0x41')](_0x17617c[_0xc207('0x3f')],{'$or':_[_0xc207('0x2f')](_0x17617c['attributes'],function(_0xe603f8){var _0x3bdf16={};_0x3bdf16[_0xe603f8]={'$like':'%'+_0x4b6515[_0xc207('0x35')][_0xc207('0x40')]+'%'};return _0x3bdf16;})});}_0x17617c=_[_0xc207('0x41')]({},_0x17617c,_0x4b6515[_0xc207('0x42')]);return _0xe5b189[_0xc207('0x7f')](_0x17617c);}})[_0xc207('0x25')](function(_0x1874f6){if(_0x1874f6){_0x2b00af=_0x1874f6[_0xc207('0x3a')];if(!_0x4b6515[_0xc207('0x35')]['hasOwnProperty'](_0xc207('0x3c'))){_0x17617c['limit']=qs[_0xc207('0x1f')](_0x4b6515[_0xc207('0x35')][_0xc207('0x1f')]);_0x17617c[_0xc207('0x1e')]=qs['offset'](_0x4b6515['query'][_0xc207('0x1e')]);}return _0xe5b189[_0xc207('0x7f')](_0x17617c);}})[_0xc207('0x25')](function(_0x22491c){if(_0x22491c){return _0x22491c?{'count':_0x2b00af,'rows':_0x22491c}:null;}})[_0xc207('0x25')](respondWithResult(_0x2d41d3,null))[_0xc207('0x46')](handleError(_0x2d41d3,null));};