8f224f8f111906c33b0ab7374a8fb348d6cc86db
[motion2.git] / server / api / smsAccount / smsAccount.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 _0xbc0a=['DESC','omit','CmContact','contact','SmsInteraction','spread','interaction','created','push','unmanaged','*,*,*,*','SmsMessage','ContactId','AttachmentId','User','unshift','agent','Start','receiveMessage','entity\x20found','debug','Content-Type','addApplications','transaction','bulkCreate','getApplications','getInteractions','internal','Tag','color','tag','body\x20is\x20mandatory\x20and\x20not\x20empty','to\x20is\x20mandatory','List','updatedAt','Messages','dataValues','log','endpoint\x20/status\x20POST\x20/','received\x20delivery\x20report\x20from','inspect','skebby_dispatch_id','requestid','statusInt','status_code','groupName','DELIVERED','error_code','DELIVERED_TO_GATEWAY','RECEIVED_BY_RECIPIENT','DELIVRD','ACCEPTD','statusGet','message-id','state','addAgents','userSmsAccount:save','removeAgents','isArray','emit','userSmsAccount:remove','getAgents','html-pdf','eml-format','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','to-csv','ejs','lodash','papaparse','../../config/license/hardware','../../config/logger','api','../../config/utils','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./smsAccount.socket','register','jayson/promise','client','The\x20password\x20must\x20be\x20at\x20least\x208\x20characters\x20long\x20and\x20have\x201\x20lowercase\x20character,\x201\x20uppercase\x20character,\x201\x20number\x20and\x201\x20special\x20character\x20~!@#$%^&-_=+[{]}.','request','info','SmsAccount,\x20%s,\x20%s','request\x20sent','SmsAccount,\x20%s,\x20%s,\x20%s','stringify','error','message','result','catch','sendStatus','status','json','count','offset','set','Content-Range','apply','reject','save','update','then','get','SmsAccounts','UserProfileResource','destroy','end','send','Pause','mandatoryDispositionPause','SmsAccount','keys','query','filters','model','attributes','intersection','fields','length','hasOwnProperty','nolimit','limit','sort','where','filter','type','VIRTUAL','merge','findAll','show','params','rawAttributes','include','find','create','body','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','user','name','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','describe','SmsAccountId','getDispositions','findOne','Disposition','order','pick','map','includeAll','rows','removeDispositions','ids','addAnswer','getAnswers','CannedAnswer','options','removeAnswers','notify','sms','SmsApplication','Applications','account','applications','priority','ValidationError','createdAt','difference','CompanyId','ListId','mobile','twilio','From','Body','messageId','MessageSid','skebby','from','sender','connectel','clicksend','message_id','plivo','Text','MessageUUID','infobip','results','csc','originatingAddress','clickatell','fromNumber','text','replyMessageId','intelepeer','refid','isNil','Sequelize','from\x20is\x20mandatory','mapKey','mapKey\x20is\x20mandatory,\x20please\x20use\x20one\x20of\x20these:\x20','includes','Contacts'];(function(_0x4e7c11,_0x202003){var _0x1d5f28=function(_0x4c0592){while(--_0x4c0592){_0x4e7c11['push'](_0x4e7c11['shift']());}};_0x1d5f28(++_0x202003);}(_0xbc0a,0x112));var _0xabc0=function(_0x15a60a,_0x2657a7){_0x15a60a=_0x15a60a-0x0;var _0x4193f9=_0xbc0a[_0x15a60a];return _0x4193f9;};'use strict';var pdf=require(_0xabc0('0x0'));var emlformat=require(_0xabc0('0x1'));var rimraf=require('rimraf');var zipdir=require(_0xabc0('0x2'));var jsonpatch=require(_0xabc0('0x3'));var rp=require(_0xabc0('0x4'));var moment=require(_0xabc0('0x5'));var BPromise=require(_0xabc0('0x6'));var Mustache=require(_0xabc0('0x7'));var util=require(_0xabc0('0x8'));var path=require(_0xabc0('0x9'));var sox=require('sox');var csv=require(_0xabc0('0xa'));var ejs=require(_0xabc0('0xb'));var fs=require('fs');var _=require(_0xabc0('0xc'));var squel=require('squel');var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0xabc0('0xa'));var querystring=require('querystring');var Papa=require(_0xabc0('0xd'));var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var hardwareService=require(_0xabc0('0xe'));var logger=require(_0xabc0('0xf'))(_0xabc0('0x10'));var utils=require(_0xabc0('0x11'));var config=require('../../config/environment');var db=require(_0xabc0('0x12'))['db'];config[_0xabc0('0x13')]=_[_0xabc0('0x14')](config['redis'],{'host':_0xabc0('0x15'),'port':0x18eb});var socket=require(_0xabc0('0x16'))(new Redis(config[_0xabc0('0x13')]));require(_0xabc0('0x17'))[_0xabc0('0x18')](socket);var jayson=require(_0xabc0('0x19'));var client=jayson[_0xabc0('0x1a')]['http']({'port':0x232c});function checkPasswordPattern(_0x4d681a,_0x596355,_0x4c3f6b){if(_0x4c3f6b){var _0x377686=new RegExp(/(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[?!@#\$%\^&\*~\-_=+[{\]\}])(?=.{8,})/);if(_0x377686['test'](_0x596355)){return _0x4d681a;}else{throw new Error(_0xabc0('0x1b'));}}else{return _0x4d681a;}}function respondWithRpcPromise(_0x48f957,_0x2b5441,_0x4499c6,_0x20f751){return new BPromise(function(_0x4fb8ef,_0x32b0a6){var _0x485272=_0x20f751||client;return _0x485272[_0xabc0('0x1c')](_0x48f957,_0x4499c6)['then'](function(_0x576b96){logger[_0xabc0('0x1d')](_0xabc0('0x1e'),_0x2b5441,_0xabc0('0x1f'));logger['debug'](_0xabc0('0x20'),_0x2b5441,_0xabc0('0x1f'),JSON[_0xabc0('0x21')](_0x576b96));if(_0x576b96[_0xabc0('0x22')]){if(_0x576b96[_0xabc0('0x22')]['code']===0x1f4){logger[_0xabc0('0x22')]('SmsAccount,\x20%s,\x20%s',_0x2b5441,_0x576b96['error']['message']);return _0x32b0a6(_0x576b96[_0xabc0('0x22')]['message']);}logger[_0xabc0('0x22')](_0xabc0('0x1e'),_0x2b5441,_0x576b96['error'][_0xabc0('0x23')]);return _0x4fb8ef(_0x576b96[_0xabc0('0x22')][_0xabc0('0x23')]);}else{logger[_0xabc0('0x1d')](_0xabc0('0x1e'),_0x2b5441,'request\x20sent');_0x4fb8ef(_0x576b96[_0xabc0('0x24')][_0xabc0('0x23')]);}})[_0xabc0('0x25')](function(_0x5eb711){logger[_0xabc0('0x22')](_0xabc0('0x1e'),_0x2b5441,_0x5eb711);_0x32b0a6(_0x5eb711);});});}function respondWithStatusCode(_0x4a47bd,_0x3ddb45){_0x3ddb45=_0x3ddb45||0xcc;return function(_0x4be33b){if(_0x4be33b){return _0x4a47bd[_0xabc0('0x26')](_0x3ddb45);}return _0x4a47bd['status'](_0x3ddb45)['end']();};}function respondWithResult(_0x408a3d,_0x338cae){_0x338cae=_0x338cae||0xc8;return function(_0x5adfd3){if(_0x5adfd3){return _0x408a3d[_0xabc0('0x27')](_0x338cae)[_0xabc0('0x28')](_0x5adfd3);}};}function respondWithFilteredResult(_0x30f9fc,_0x1499c4){return function(_0x14d87f){if(_0x14d87f){var _0x407317=_0x14d87f[_0xabc0('0x29')],_0x35cb25=_0x1499c4['offset'],_0x4af885=_0x1499c4[_0xabc0('0x2a')]+_0x1499c4['limit'],_0x330961;if(_0x4af885>=_0x407317){_0x4af885=_0x407317;_0x330961=0xc8;}else{_0x330961=0xce;}_0x30f9fc[_0xabc0('0x27')](_0x330961);return _0x30f9fc[_0xabc0('0x2b')](_0xabc0('0x2c'),_0x35cb25+'-'+_0x4af885+'/'+_0x407317)[_0xabc0('0x28')](_0x14d87f);}return null;};}function patchUpdates(_0x577604){return function(_0x50e6e6){try{jsonpatch[_0xabc0('0x2d')](_0x50e6e6,_0x577604,!![]);}catch(_0x3da094){return BPromise[_0xabc0('0x2e')](_0x3da094);}return _0x50e6e6[_0xabc0('0x2f')]();};}function saveUpdates(_0x2b5d62,_0x46b264){return function(_0x146f0a){if(_0x146f0a){return _0x146f0a[_0xabc0('0x30')](_0x2b5d62)['then'](function(_0x44d1e9){return _0x44d1e9;});}return null;};}function removeEntity(_0x2958d5,_0x26d9b2){return function(_0x1fe500){if(_0x1fe500){return _0x1fe500['destroy']()[_0xabc0('0x31')](function(){var _0xd028b9=_0x1fe500[_0xabc0('0x32')]({'plain':!![]});var _0x1cc088=_0xabc0('0x33');return db[_0xabc0('0x34')][_0xabc0('0x35')]({'where':{'type':_0x1cc088,'resourceId':_0xd028b9['id']}})[_0xabc0('0x31')](function(){return _0x1fe500;});})[_0xabc0('0x31')](function(){_0x2958d5[_0xabc0('0x27')](0xcc)[_0xabc0('0x36')]();});}};}function handleEntityNotFound(_0x36650d,_0x1778ba){return function(_0x2287f7){if(!_0x2287f7){_0x36650d[_0xabc0('0x26')](0x194);}return _0x2287f7;};}function handleError(_0x158189,_0x198351){_0x198351=_0x198351||0x1f4;return function(_0x3d6ae3){logger[_0xabc0('0x22')](_0x3d6ae3['stack']);if(_0x3d6ae3['name']){delete _0x3d6ae3['name'];}_0x158189['status'](_0x198351)[_0xabc0('0x37')](_0x3d6ae3);};}exports['index']=function(_0x471e2b,_0x53be2c){var _0x1a3dd1={'include':[{'model':db[_0xabc0('0x38')],'as':_0xabc0('0x39')}]},_0x2ba169={},_0x209bf8={'count':0x0,'rows':[]};var _0x45e42c=db[_0xabc0('0x3a')]['rawAttributes'];_0x2ba169['model']=_[_0xabc0('0x3b')](_0x45e42c);_0x2ba169[_0xabc0('0x3c')]=_[_0xabc0('0x3b')](_0x471e2b[_0xabc0('0x3c')]);_0x2ba169[_0xabc0('0x3d')]=_['intersection'](_0x2ba169[_0xabc0('0x3e')],_0x2ba169[_0xabc0('0x3c')]);_0x1a3dd1[_0xabc0('0x3f')]=_[_0xabc0('0x40')](_0x2ba169[_0xabc0('0x3e')],qs['fields'](_0x471e2b[_0xabc0('0x3c')][_0xabc0('0x41')]));_0x1a3dd1[_0xabc0('0x3f')]=_0x1a3dd1[_0xabc0('0x3f')][_0xabc0('0x42')]?_0x1a3dd1[_0xabc0('0x3f')]:_0x2ba169[_0xabc0('0x3e')];if(!_0x471e2b['query'][_0xabc0('0x43')](_0xabc0('0x44'))){_0x1a3dd1[_0xabc0('0x45')]=qs[_0xabc0('0x45')](_0x471e2b['query'][_0xabc0('0x45')]);_0x1a3dd1[_0xabc0('0x2a')]=qs[_0xabc0('0x2a')](_0x471e2b[_0xabc0('0x3c')]['offset']);}_0x1a3dd1['order']=qs[_0xabc0('0x46')](_0x471e2b[_0xabc0('0x3c')][_0xabc0('0x46')]);_0x1a3dd1[_0xabc0('0x47')]=qs['filters'](_['pick'](_0x471e2b[_0xabc0('0x3c')],_0x2ba169[_0xabc0('0x3d')]));if(_0x471e2b['query'][_0xabc0('0x48')]){_0x1a3dd1[_0xabc0('0x47')]=_['merge'](_0x1a3dd1['where'],{'$or':_['map'](_0x45e42c,function(_0x2f7de8){if(_0x2f7de8[_0xabc0('0x49')]['key']!==_0xabc0('0x4a')){var _0x49978b={};_0x49978b[_0x2f7de8['field']]={'$like':'%'+_0x471e2b['query'][_0xabc0('0x48')]+'%'};return _0x49978b;}})});}_0x1a3dd1=_[_0xabc0('0x4b')]({},_0x1a3dd1,_0x471e2b['options']);var _0x1dd54e={'where':_0x1a3dd1[_0xabc0('0x47')]};return db[_0xabc0('0x3a')][_0xabc0('0x29')](_0x1dd54e)[_0xabc0('0x31')](function(_0x1c2a06){_0x209bf8[_0xabc0('0x29')]=_0x1c2a06;if(_0x471e2b['query']['includeAll']){_0x1a3dd1['include']=[{'all':!![]}];}return db['SmsAccount'][_0xabc0('0x4c')](_0x1a3dd1);})['then'](function(_0x24a025){_0x209bf8['rows']=_0x24a025;return _0x209bf8;})[_0xabc0('0x31')](respondWithFilteredResult(_0x53be2c,_0x1a3dd1))['catch'](handleError(_0x53be2c,null));};exports[_0xabc0('0x4d')]=function(_0x55725d,_0x86734a){var _0x2a04cc={'raw':![],'where':{'id':_0x55725d[_0xabc0('0x4e')]['id']},'include':[{'model':db[_0xabc0('0x38')],'as':_0xabc0('0x39')}]},_0x299a90={};_0x299a90['model']=_['keys'](db['SmsAccount'][_0xabc0('0x4f')]);_0x299a90[_0xabc0('0x3c')]=_[_0xabc0('0x3b')](_0x55725d['query']);_0x299a90[_0xabc0('0x3d')]=_['intersection'](_0x299a90['model'],_0x299a90[_0xabc0('0x3c')]);_0x2a04cc[_0xabc0('0x3f')]=_[_0xabc0('0x40')](_0x299a90[_0xabc0('0x3e')],qs[_0xabc0('0x41')](_0x55725d[_0xabc0('0x3c')][_0xabc0('0x41')]));_0x2a04cc['attributes']=_0x2a04cc[_0xabc0('0x3f')][_0xabc0('0x42')]?_0x2a04cc['attributes']:_0x299a90[_0xabc0('0x3e')];if(_0x55725d[_0xabc0('0x3c')]['includeAll']){_0x2a04cc[_0xabc0('0x50')]=[{'all':!![]}];}_0x2a04cc=_[_0xabc0('0x4b')]({},_0x2a04cc,_0x55725d['options']);return db[_0xabc0('0x3a')][_0xabc0('0x51')](_0x2a04cc)[_0xabc0('0x31')](handleEntityNotFound(_0x86734a,null))['then'](respondWithResult(_0x86734a,null))['catch'](handleError(_0x86734a,null));};exports[_0xabc0('0x52')]=function(_0x2ff6c8,_0x8b90da){return db[_0xabc0('0x3a')]['create'](_0x2ff6c8[_0xabc0('0x53')],{})[_0xabc0('0x31')](function(_0x28d761){var _0x156821=_0x2ff6c8['user'][_0xabc0('0x32')]({'plain':!![]});if(!_0x156821)throw new Error(_0xabc0('0x54'));if(_0x156821[_0xabc0('0x55')]===_0xabc0('0x56')){var _0x72493b=_0x28d761[_0xabc0('0x32')]({'plain':!![]});var _0x1e7c21=_0xabc0('0x33');return db['UserProfileSection']['find']({'where':{'name':_0x1e7c21,'userProfileId':_0x156821['userProfileId']},'raw':!![]})['then'](function(_0x59959a){if(_0x59959a&&_0x59959a['autoAssociation']===0x0){return db['UserProfileResource'][_0xabc0('0x52')]({'name':_0x72493b[_0xabc0('0x57')],'resourceId':_0x72493b['id'],'type':_0x59959a['name'],'sectionId':_0x59959a['id']},{})[_0xabc0('0x31')](function(){return _0x28d761;});}else{return _0x28d761;}})[_0xabc0('0x25')](function(_0x4df6e4){logger[_0xabc0('0x22')](_0xabc0('0x58'),_0x4df6e4);throw _0x4df6e4;});}return _0x28d761;})[_0xabc0('0x31')](respondWithResult(_0x8b90da,0xc9))[_0xabc0('0x25')](handleError(_0x8b90da,null));};exports[_0xabc0('0x30')]=function(_0x19f35e,_0x453945){if(_0x19f35e[_0xabc0('0x53')]['id']){delete _0x19f35e[_0xabc0('0x53')]['id'];}return db['SmsAccount'][_0xabc0('0x51')]({'where':{'id':_0x19f35e['params']['id']},'include':[{'model':db[_0xabc0('0x38')],'as':_0xabc0('0x39')}]})[_0xabc0('0x31')](handleEntityNotFound(_0x453945,null))['then'](saveUpdates(_0x19f35e['body'],null))[_0xabc0('0x31')](respondWithResult(_0x453945,null))[_0xabc0('0x25')](handleError(_0x453945,null));};exports[_0xabc0('0x35')]=function(_0x8377e,_0x3e4f6d){return db[_0xabc0('0x3a')]['find']({'where':{'id':_0x8377e['params']['id']}})[_0xabc0('0x31')](handleEntityNotFound(_0x3e4f6d,null))['then'](removeEntity(_0x3e4f6d,null))[_0xabc0('0x25')](handleError(_0x3e4f6d,null));};exports[_0xabc0('0x59')]=function(_0xa4ef9f,_0x5c863c){return db['SmsAccount'][_0xabc0('0x59')]()[_0xabc0('0x31')](respondWithResult(_0x5c863c,null))['catch'](handleError(_0x5c863c,null));};exports['addDisposition']=function(_0x2b6262,_0x28210b,_0x1b4c16){if(_0x2b6262[_0xabc0('0x53')]['id']){delete _0x2b6262[_0xabc0('0x53')]['id'];}return db[_0xabc0('0x3a')]['find']({'where':{'id':_0x2b6262['params']['id']}})[_0xabc0('0x31')](handleEntityNotFound(_0x28210b,null))[_0xabc0('0x31')](function(_0x311209){if(_0x311209){_0x2b6262[_0xabc0('0x53')][_0xabc0('0x5a')]=_0x311209['id'];return db['Disposition'][_0xabc0('0x52')](_0x2b6262[_0xabc0('0x53')]);}})[_0xabc0('0x31')](respondWithResult(_0x28210b,null))[_0xabc0('0x25')](handleError(_0x28210b,null));};exports[_0xabc0('0x5b')]=function(_0x570bfd,_0x22c66e,_0x4648d1){var _0x50c559={'raw':![],'where':{}};var _0x356c14={};var _0x4391ae={'count':0x0,'rows':[]};return db[_0xabc0('0x3a')][_0xabc0('0x5c')]({'where':{'id':_0x570bfd[_0xabc0('0x4e')]['id']}})[_0xabc0('0x31')](handleEntityNotFound(_0x22c66e,null))[_0xabc0('0x31')](function(_0x596acb){if(_0x596acb){_0x356c14[_0xabc0('0x3e')]=_[_0xabc0('0x3b')](db[_0xabc0('0x5d')][_0xabc0('0x4f')]);_0x356c14['query']=_['keys'](_0x570bfd[_0xabc0('0x3c')]);_0x356c14[_0xabc0('0x3d')]=_[_0xabc0('0x40')](_0x356c14[_0xabc0('0x3e')],_0x356c14[_0xabc0('0x3c')]);_0x50c559[_0xabc0('0x3f')]=_[_0xabc0('0x40')](_0x356c14[_0xabc0('0x3e')],qs[_0xabc0('0x41')](_0x570bfd['query'][_0xabc0('0x41')]));_0x50c559[_0xabc0('0x3f')]=_0x50c559[_0xabc0('0x3f')][_0xabc0('0x42')]?_0x50c559[_0xabc0('0x3f')]:_0x356c14[_0xabc0('0x3e')];if(!_0x570bfd[_0xabc0('0x3c')][_0xabc0('0x43')](_0xabc0('0x44'))){_0x50c559[_0xabc0('0x45')]=qs[_0xabc0('0x45')](_0x570bfd['query']['limit']);_0x50c559[_0xabc0('0x2a')]=qs[_0xabc0('0x2a')](_0x570bfd[_0xabc0('0x3c')][_0xabc0('0x2a')]);}_0x50c559[_0xabc0('0x5e')]=qs[_0xabc0('0x46')](_0x570bfd['query'][_0xabc0('0x46')]);_0x50c559['where']=qs[_0xabc0('0x3d')](_[_0xabc0('0x5f')](_0x570bfd['query'],_0x356c14[_0xabc0('0x3d')]));_0x50c559[_0xabc0('0x47')][_0xabc0('0x5a')]=_0x596acb['id'];if(_0x570bfd[_0xabc0('0x3c')][_0xabc0('0x48')]){_0x50c559[_0xabc0('0x47')]=_[_0xabc0('0x4b')](_0x50c559[_0xabc0('0x47')],{'$or':_[_0xabc0('0x60')](_0x50c559[_0xabc0('0x3f')],function(_0x2f0650){var _0x37b06c={};_0x37b06c[_0x2f0650]={'$like':'%'+_0x570bfd['query'][_0xabc0('0x48')]+'%'};return _0x37b06c;})});}_0x50c559=_['merge']({},_0x50c559,_0x570bfd['options']);return db[_0xabc0('0x5d')]['count']({'where':_0x50c559[_0xabc0('0x47')]})[_0xabc0('0x31')](function(_0x644292){_0x4391ae[_0xabc0('0x29')]=_0x644292;if(_0x570bfd[_0xabc0('0x3c')][_0xabc0('0x61')]){_0x50c559[_0xabc0('0x50')]=[{'all':!![]}];}return db[_0xabc0('0x5d')][_0xabc0('0x4c')](_0x50c559);})['then'](function(_0x45faab){_0x4391ae[_0xabc0('0x62')]=_0x45faab;return _0x4391ae;});}})[_0xabc0('0x31')](respondWithFilteredResult(_0x22c66e,_0x50c559))[_0xabc0('0x25')](handleError(_0x22c66e,null));};exports[_0xabc0('0x63')]=function(_0x3d65c9,_0x2da714,_0x255374){return db['SmsAccount'][_0xabc0('0x51')]({'where':{'id':_0x3d65c9[_0xabc0('0x4e')]['id']}})['then'](handleEntityNotFound(_0x2da714,null))[_0xabc0('0x31')](function(_0x13fadc){if(_0x13fadc){return _0x13fadc['removeDispositions'](_0x3d65c9[_0xabc0('0x3c')][_0xabc0('0x64')]);}})[_0xabc0('0x31')](respondWithStatusCode(_0x2da714,null))[_0xabc0('0x25')](handleError(_0x2da714,null));};exports[_0xabc0('0x65')]=function(_0x37b5ba,_0x484de0,_0xfbf67f){if(_0x37b5ba['body']['id']){delete _0x37b5ba[_0xabc0('0x53')]['id'];}return db[_0xabc0('0x3a')][_0xabc0('0x51')]({'where':{'id':_0x37b5ba[_0xabc0('0x4e')]['id']}})['then'](handleEntityNotFound(_0x484de0,null))['then'](function(_0x2da96e){if(_0x2da96e){_0x37b5ba['body'][_0xabc0('0x5a')]=_0x2da96e['id'];return db['CannedAnswer'][_0xabc0('0x52')](_0x37b5ba[_0xabc0('0x53')]);}})[_0xabc0('0x31')](respondWithResult(_0x484de0,null))[_0xabc0('0x25')](handleError(_0x484de0,null));};exports[_0xabc0('0x66')]=function(_0x2f3d10,_0x19de99,_0xa0c415){var _0x51f3f6={'raw':![],'where':{}};var _0x4fca82={};var _0x229b53={'count':0x0,'rows':[]};return db[_0xabc0('0x3a')][_0xabc0('0x5c')]({'where':{'id':_0x2f3d10[_0xabc0('0x4e')]['id']}})[_0xabc0('0x31')](handleEntityNotFound(_0x19de99,null))[_0xabc0('0x31')](function(_0x4b4cf3){if(_0x4b4cf3){_0x4fca82[_0xabc0('0x3e')]=_['keys'](db[_0xabc0('0x67')][_0xabc0('0x4f')]);_0x4fca82[_0xabc0('0x3c')]=_['keys'](_0x2f3d10[_0xabc0('0x3c')]);_0x4fca82[_0xabc0('0x3d')]=_[_0xabc0('0x40')](_0x4fca82[_0xabc0('0x3e')],_0x4fca82[_0xabc0('0x3c')]);_0x51f3f6[_0xabc0('0x3f')]=_[_0xabc0('0x40')](_0x4fca82[_0xabc0('0x3e')],qs[_0xabc0('0x41')](_0x2f3d10[_0xabc0('0x3c')][_0xabc0('0x41')]));_0x51f3f6[_0xabc0('0x3f')]=_0x51f3f6[_0xabc0('0x3f')][_0xabc0('0x42')]?_0x51f3f6[_0xabc0('0x3f')]:_0x4fca82[_0xabc0('0x3e')];if(!_0x2f3d10[_0xabc0('0x3c')][_0xabc0('0x43')](_0xabc0('0x44'))){_0x51f3f6[_0xabc0('0x45')]=qs[_0xabc0('0x45')](_0x2f3d10[_0xabc0('0x3c')][_0xabc0('0x45')]);_0x51f3f6[_0xabc0('0x2a')]=qs[_0xabc0('0x2a')](_0x2f3d10['query'][_0xabc0('0x2a')]);}_0x51f3f6['order']=qs[_0xabc0('0x46')](_0x2f3d10[_0xabc0('0x3c')][_0xabc0('0x46')]);_0x51f3f6[_0xabc0('0x47')]=qs[_0xabc0('0x3d')](_[_0xabc0('0x5f')](_0x2f3d10[_0xabc0('0x3c')],_0x4fca82[_0xabc0('0x3d')]));_0x51f3f6[_0xabc0('0x47')][_0xabc0('0x5a')]=_0x4b4cf3['id'];if(_0x2f3d10[_0xabc0('0x3c')][_0xabc0('0x48')]){_0x51f3f6[_0xabc0('0x47')]=_[_0xabc0('0x4b')](_0x51f3f6[_0xabc0('0x47')],{'$or':_['map'](_0x51f3f6[_0xabc0('0x3f')],function(_0x361d19){var _0x2c7ccc={};_0x2c7ccc[_0x361d19]={'$like':'%'+_0x2f3d10[_0xabc0('0x3c')][_0xabc0('0x48')]+'%'};return _0x2c7ccc;})});}_0x51f3f6=_[_0xabc0('0x4b')]({},_0x51f3f6,_0x2f3d10[_0xabc0('0x68')]);return db[_0xabc0('0x67')][_0xabc0('0x29')]({'where':_0x51f3f6[_0xabc0('0x47')]})[_0xabc0('0x31')](function(_0x38c7f9){_0x229b53[_0xabc0('0x29')]=_0x38c7f9;if(_0x2f3d10['query'][_0xabc0('0x61')]){_0x51f3f6[_0xabc0('0x50')]=[{'all':!![]}];}return db[_0xabc0('0x67')][_0xabc0('0x4c')](_0x51f3f6);})[_0xabc0('0x31')](function(_0x37b943){_0x229b53[_0xabc0('0x62')]=_0x37b943;return _0x229b53;});}})['then'](respondWithFilteredResult(_0x19de99,_0x51f3f6))[_0xabc0('0x25')](handleError(_0x19de99,null));};exports[_0xabc0('0x69')]=function(_0x394bd3,_0x1d46a3,_0xebed5c){return db[_0xabc0('0x3a')][_0xabc0('0x51')]({'where':{'id':_0x394bd3['params']['id']}})[_0xabc0('0x31')](handleEntityNotFound(_0x1d46a3,null))[_0xabc0('0x31')](function(_0x54f985){if(_0x54f985){return _0x54f985[_0xabc0('0x69')](_0x394bd3[_0xabc0('0x3c')]['ids']);}})['then'](respondWithStatusCode(_0x1d46a3,null))[_0xabc0('0x25')](handleError(_0x1d46a3,null));};exports[_0xabc0('0x6a')]=function(_0x414b73,_0x4aa396,_0x27bd03){var _0x1e413e={'channel':_0xabc0('0x6b')};var _0x1f185f=[];var _0x15a42f=[];var _0x292fc4={};return db[_0xabc0('0x3a')][_0xabc0('0x51')]({'where':{'id':_0x414b73[_0xabc0('0x4e')]['id']},'include':[{'model':db[_0xabc0('0x6c')],'as':_0xabc0('0x6d')}]})[_0xabc0('0x31')](handleEntityNotFound(_0x4aa396,null))[_0xabc0('0x31')](function(_0x4d738f){_0x1e413e[_0xabc0('0x6e')]=_0x4d738f;_0x1e413e[_0xabc0('0x6f')]=_['orderBy'](_0x4d738f[_0xabc0('0x6d')],[_0xabc0('0x70')],['asc']);if(_0x1e413e[_0xabc0('0x6e')][_0xabc0('0x6d')]){delete _0x1e413e[_0xabc0('0x6e')]['Applications'];}return db['CmContact'][_0xabc0('0x59')]();})['then'](function(_0x510018){if(!_0x510018){throw new db['Sequelize'][(_0xabc0('0x71'))]('no\x20available\x20attributes');}_0x1f185f=_['difference'](_[_0xabc0('0x3b')](_0x510018),[_0xabc0('0x72'),'updatedAt']);_0x15a42f=_[_0xabc0('0x73')](_[_0xabc0('0x3b')](_0x510018),['createdAt','updatedAt',_0xabc0('0x74'),_0xabc0('0x75')]);_0x1e413e[_0xabc0('0x53')]={'mapKey':_0xabc0('0x76')};if(_0x1e413e[_0xabc0('0x6e')][_0xabc0('0x49')]){switch(_0x1e413e[_0xabc0('0x6e')][_0xabc0('0x49')]){case _0xabc0('0x77'):_0x1e413e['body']['from']=_0x414b73[_0xabc0('0x53')][_0xabc0('0x78')];_0x1e413e[_0xabc0('0x53')][_0xabc0('0x53')]=_0x414b73['body'][_0xabc0('0x79')];_0x1e413e['body'][_0xabc0('0x7a')]=_0x414b73[_0xabc0('0x53')][_0xabc0('0x7b')];break;case _0xabc0('0x7c'):_0x1e413e[_0xabc0('0x53')][_0xabc0('0x7d')]='+'+_0x414b73[_0xabc0('0x53')][_0xabc0('0x7e')];_0x1e413e[_0xabc0('0x53')]['body']=_0x414b73[_0xabc0('0x53')]['text'];break;case _0xabc0('0x7f'):_0x1e413e[_0xabc0('0x53')][_0xabc0('0x7d')]=_0x414b73[_0xabc0('0x53')][_0xabc0('0x7d')];_0x1e413e[_0xabc0('0x53')][_0xabc0('0x53')]=_0x414b73['body']['message'];break;case _0xabc0('0x80'):_0x1e413e['body'][_0xabc0('0x7d')]=_0x414b73[_0xabc0('0x53')][_0xabc0('0x7d')];_0x1e413e[_0xabc0('0x53')][_0xabc0('0x53')]=_0x414b73[_0xabc0('0x53')][_0xabc0('0x53')];_0x1e413e[_0xabc0('0x53')][_0xabc0('0x7a')]=_0x414b73[_0xabc0('0x53')][_0xabc0('0x81')];break;case _0xabc0('0x82'):_0x1e413e[_0xabc0('0x53')][_0xabc0('0x7d')]=_0x414b73[_0xabc0('0x53')][_0xabc0('0x78')];_0x1e413e[_0xabc0('0x53')][_0xabc0('0x53')]=_0x414b73[_0xabc0('0x53')][_0xabc0('0x83')];_0x1e413e[_0xabc0('0x53')][_0xabc0('0x7a')]=_0x414b73[_0xabc0('0x53')][_0xabc0('0x84')];break;case _0xabc0('0x85'):_0x1e413e['body'][_0xabc0('0x7d')]='+'+_0x414b73['body'][_0xabc0('0x86')][0x0][_0xabc0('0x7d')];_0x1e413e['body']['body']=_0x414b73[_0xabc0('0x53')]['results'][0x0]['text'];_0x1e413e[_0xabc0('0x53')][_0xabc0('0x7a')]=_0x414b73[_0xabc0('0x53')][_0xabc0('0x86')][0x0][_0xabc0('0x7a')];break;case _0xabc0('0x87'):_0x1e413e['body'][_0xabc0('0x7d')]=_0x414b73['body'][_0xabc0('0x88')];_0x1e413e['body']['body']=_0x414b73[_0xabc0('0x53')]['segmentedMessage'][_0xabc0('0x23')];break;case _0xabc0('0x89'):_0x1e413e[_0xabc0('0x53')][_0xabc0('0x7d')]=_0x414b73[_0xabc0('0x53')][_0xabc0('0x8a')];_0x1e413e['body'][_0xabc0('0x53')]=_0x414b73[_0xabc0('0x53')][_0xabc0('0x8b')];_0x1e413e[_0xabc0('0x53')]['messageId']=_0x414b73[_0xabc0('0x53')][_0xabc0('0x8c')];break;case _0xabc0('0x8d'):_0x1e413e[_0xabc0('0x53')][_0xabc0('0x7d')]=_0x414b73[_0xabc0('0x53')][_0xabc0('0x7d')];_0x1e413e[_0xabc0('0x53')][_0xabc0('0x53')]=_0x414b73[_0xabc0('0x53')]['message'];_0x1e413e[_0xabc0('0x53')][_0xabc0('0x7a')]=_0x414b73['body'][_0xabc0('0x8e')];break;}}if(_0x1e413e[_0xabc0('0x53')]['id']){delete _0x1e413e[_0xabc0('0x53')]['id'];}if(_[_0xabc0('0x8f')](_0x1e413e[_0xabc0('0x53')]['from'])){throw new db[(_0xabc0('0x90'))][(_0xabc0('0x71'))](_0xabc0('0x91'));}if(_[_0xabc0('0x8f')](_0x1e413e[_0xabc0('0x53')]['body'])||_0x1e413e[_0xabc0('0x53')]['body']===''){throw new db[(_0xabc0('0x90'))][(_0xabc0('0x71'))]('body\x20is\x20mandatory\x20and\x20not\x20empty');}if(_[_0xabc0('0x8f')](_0x1e413e['body'][_0xabc0('0x92')])){throw new db[(_0xabc0('0x90'))][(_0xabc0('0x71'))](_0xabc0('0x93')+_0x15a42f);}if(!_[_0xabc0('0x94')](_0x15a42f,_0x1e413e[_0xabc0('0x53')][_0xabc0('0x92')])){throw new db[(_0xabc0('0x90'))]['ValidationError']('mapKey\x20invalid,\x20please\x20use\x20one\x20of\x20these:\x20'+_0x15a42f);}_0x292fc4[_0x1e413e[_0xabc0('0x53')][_0xabc0('0x92')]]=_0x1e413e[_0xabc0('0x53')][_0xabc0('0x7d')];return db['CmList']['find']({'where':{'id':_0x1e413e['account']['ListId']},'include':[{'model':db['CmContact'],'as':_0xabc0('0x95'),'where':_0x292fc4,'limit':0x1,'order':[['updatedAt',_0xabc0('0x96')]]}]});})[_0xabc0('0x31')](handleEntityNotFound(_0x4aa396,null))[_0xabc0('0x31')](function(_0x2fb583){if(_0x2fb583){_0x1e413e['list']=_[_0xabc0('0x97')](_0x2fb583,[_0xabc0('0x95')]);if(_0x2fb583['Contacts'][_0xabc0('0x42')]){return _0x2fb583[_0xabc0('0x95')][0x0];}var _0x52813c=_[_0xabc0('0x14')](_0x1e413e[_0xabc0('0x53')],{'firstName':_0x1e413e[_0xabc0('0x53')][_0xabc0('0x7d')],'ListId':_0x2fb583['id']});_0x52813c[_0x1e413e['body'][_0xabc0('0x92')]]=_0x1e413e['body'][_0xabc0('0x7d')];return db[_0xabc0('0x98')][_0xabc0('0x52')](_0x52813c,{'fields':_0x1f185f,'raw':!![]});}})['then'](handleEntityNotFound(_0x4aa396,null))[_0xabc0('0x31')](function(_0x283c6e){if(_0x283c6e){_0x1e413e[_0xabc0('0x99')]=_0x283c6e;var _0x43ae20={'ContactId':_0x283c6e['id'],'phone':_0x1e413e[_0xabc0('0x53')]['from'],'SmsAccountId':_0x414b73[_0xabc0('0x4e')]['id']};var _0x57ccab={'ContactId':_0x283c6e['id'],'SmsAccountId':_0x414b73[_0xabc0('0x4e')]['id'],'closed':![]};return db[_0xabc0('0x9a')][_0xabc0('0x51')]({'where':_0x57ccab})['then'](function(_0x2b0f2b){if(_0x2b0f2b){return[_0x2b0f2b,![]];}return db[_0xabc0('0x9a')]['create'](_0x43ae20)[_0xabc0('0x31')](function(_0xc7973e){return[_0xc7973e,!![]];});});}})[_0xabc0('0x9b')](function(_0x9d2e6c,_0xd4804c){_0x1e413e[_0xabc0('0x9c')]=_0x9d2e6c['get']({'plain':!![]});_0x1e413e['interaction'][_0xabc0('0x9d')]=![];if(_0xd4804c){if(_0x1e413e[_0xabc0('0x6e')]['autoclose']){_0x1e413e[_0xabc0('0x6f')][_0xabc0('0x9e')]({'id':0x0,'priority':_0x1e413e[_0xabc0('0x6f')][_0xabc0('0x42')]+0x1,'app':'close','appdata':_0xabc0('0x9f'),'interval':_0xabc0('0xa0')});}_0x1e413e[_0xabc0('0x9c')][_0xabc0('0x9d')]=!![];}return db[_0xabc0('0xa1')][_0xabc0('0x52')]({'phone':_0x1e413e[_0xabc0('0x53')]['from'],'messageId':_0x1e413e[_0xabc0('0x53')]['messageId'],'body':_0x1e413e['body']['body'],'SmsAccountId':_0x414b73[_0xabc0('0x4e')]['id'],'SmsInteractionId':_0x9d2e6c['id'],'direction':'in','ContactId':_0x9d2e6c[_0xabc0('0xa2')],'AttachmentId':_0x1e413e['body'][_0xabc0('0xa3')]});})[_0xabc0('0x31')](function(_0xb0d24e){_0x1e413e[_0xabc0('0x23')]=_0xb0d24e;if(_0x1e413e['interaction']['UserId']){return db[_0xabc0('0xa4')][_0xabc0('0x51')]({'attributes':['id','name'],'where':{'id':_0x1e413e[_0xabc0('0x9c')]['UserId']}})['then'](function(_0x1de8d8){if(_0x1de8d8){_0x1e413e[_0xabc0('0x6f')][_0xabc0('0xa5')]({'id':0x0,'priority':0x0,'app':_0xabc0('0xa6'),'appdata':_0x1de8d8[_0xabc0('0x57')]+','+(_0x1e413e[_0xabc0('0x6e')]['waitForTheAssignedAgent']||0xa),'interval':'*,*,*,*'});}return respondWithRpcPromise(_0xabc0('0xa7'),'startRouting',_0x1e413e);});}return respondWithRpcPromise(_0xabc0('0xa7'),'startRouting',_0x1e413e);})[_0xabc0('0x31')](function(_0x3267b4){if(_0x3267b4){var _0x36df43=0xc8;var _0x27bdcf=_0xabc0('0xa8');logger[_0xabc0('0x1d')](_0xabc0('0x20'),_0x27bdcf,_0x36df43,_0xabc0('0xa9'));logger[_0xabc0('0xaa')]('SmsAccount,\x20%s,\x20%s,\x20%s,\x20%s',_0x27bdcf,_0x36df43,'entity\x20found',JSON['stringify'](_0x3267b4));if(_0x1e413e[_0xabc0('0x6e')][_0xabc0('0x49')]===_0xabc0('0x77')){return _0x4aa396[_0xabc0('0x27')](_0x36df43)['set'](_0xabc0('0xab'),'text/xml')[_0xabc0('0x37')]('<?xml\x20version=\x221.0\x22\x20encoding=\x22UTF-8\x22?>\x0a<Response></Response>');}else{return _0x4aa396['status'](_0x36df43)[_0xabc0('0x28')](_0x3267b4);}}})['catch'](handleError(_0x4aa396,null));};exports[_0xabc0('0xac')]=function(_0x1c5898,_0x4ffab5,_0x1a990b){return db[_0xabc0('0x3a')][_0xabc0('0x5c')]({'where':{'id':_0x1c5898['params']['id']}})[_0xabc0('0x31')](handleEntityNotFound(_0x4ffab5,null))[_0xabc0('0x31')](function(_0x2f6660){if(_0x2f6660){return db['sequelize'][_0xabc0('0xad')](function(_0x1faf20){return db[_0xabc0('0x6c')]['destroy']({'where':{'SmsAccountId':_0x1c5898[_0xabc0('0x4e')]['id']},'transaction':_0x1faf20})[_0xabc0('0x31')](function(_0x41a05c){var _0x44d55a=_['map'](_0x1c5898[_0xabc0('0x53')],function(_0x455dc7){_0x455dc7[_0xabc0('0x5a')]=_0x1c5898[_0xabc0('0x4e')]['id'];return _0x455dc7;});return db['SmsApplication'][_0xabc0('0xae')](_0x44d55a,{'transaction':_0x1faf20});});})[_0xabc0('0x31')](function(){return db[_0xabc0('0x6c')]['findAndCountAll']({'where':{'SmsAccountId':_0x1c5898[_0xabc0('0x4e')]['id']},'order':_0xabc0('0x70')});});}})[_0xabc0('0x31')](respondWithResult(_0x4ffab5,null))[_0xabc0('0x25')](handleError(_0x4ffab5,null));};exports[_0xabc0('0xaf')]=function(_0x110e1b,_0x190b7d,_0x5c0940){var _0x21a4b0={};var _0x23af90={};var _0x4d4818;var _0x93c3a8;return db[_0xabc0('0x3a')][_0xabc0('0x5c')]({'where':{'id':_0x110e1b[_0xabc0('0x4e')]['id']}})[_0xabc0('0x31')](handleEntityNotFound(_0x190b7d,null))['then'](function(_0x2964a0){if(_0x2964a0){_0x4d4818=_0x2964a0;_0x23af90[_0xabc0('0x3e')]=_[_0xabc0('0x3b')](db[_0xabc0('0x6c')][_0xabc0('0x4f')]);_0x23af90[_0xabc0('0x3c')]=_[_0xabc0('0x3b')](_0x110e1b[_0xabc0('0x3c')]);_0x23af90[_0xabc0('0x3d')]=_[_0xabc0('0x40')](_0x23af90['model'],_0x23af90[_0xabc0('0x3c')]);_0x21a4b0[_0xabc0('0x3f')]=_[_0xabc0('0x40')](_0x23af90[_0xabc0('0x3e')],qs[_0xabc0('0x41')](_0x110e1b[_0xabc0('0x3c')][_0xabc0('0x41')]));_0x21a4b0[_0xabc0('0x3f')]=_0x21a4b0['attributes'][_0xabc0('0x42')]?_0x21a4b0[_0xabc0('0x3f')]:_0x23af90[_0xabc0('0x3e')];_0x21a4b0[_0xabc0('0x5e')]=qs['sort'](_0x110e1b[_0xabc0('0x3c')][_0xabc0('0x46')]);_0x21a4b0[_0xabc0('0x47')]=qs[_0xabc0('0x3d')](_['pick'](_0x110e1b[_0xabc0('0x3c')],_0x23af90[_0xabc0('0x3d')]));if(_0x110e1b['query'][_0xabc0('0x48')]){_0x21a4b0[_0xabc0('0x47')]=_['merge'](_0x21a4b0['where'],{'$or':_[_0xabc0('0x60')](_0x21a4b0[_0xabc0('0x3f')],function(_0x365b3b){var _0x10fb74={};_0x10fb74[_0x365b3b]={'$like':'%'+_0x110e1b[_0xabc0('0x3c')]['filter']+'%'};return _0x10fb74;})});}_0x21a4b0=_['merge']({},_0x21a4b0,_0x110e1b['options']);return _0x4d4818[_0xabc0('0xaf')](_0x21a4b0);}})['then'](function(_0x5b1259){if(_0x5b1259){_0x93c3a8=_0x5b1259[_0xabc0('0x42')];if(!_0x110e1b[_0xabc0('0x3c')][_0xabc0('0x43')](_0xabc0('0x44'))){_0x21a4b0[_0xabc0('0x45')]=qs['limit'](_0x110e1b[_0xabc0('0x3c')][_0xabc0('0x45')]);_0x21a4b0[_0xabc0('0x2a')]=qs['offset'](_0x110e1b[_0xabc0('0x3c')][_0xabc0('0x2a')]);}return _0x4d4818[_0xabc0('0xaf')](_0x21a4b0);}})['then'](function(_0x56b218){if(_0x56b218){return _0x56b218?{'count':_0x93c3a8,'rows':_0x56b218}:null;}})['then'](respondWithResult(_0x190b7d,null))[_0xabc0('0x25')](handleError(_0x190b7d,null));};exports[_0xabc0('0xb0')]=function(_0x4dad2f,_0x23531b,_0x5c5545){var _0x18c73c={'raw':![],'where':{}};var _0x42c4e4={};var _0x703d0={'count':0x0,'rows':[]};return db[_0xabc0('0x3a')][_0xabc0('0x5c')]({'where':{'id':_0x4dad2f[_0xabc0('0x4e')]['id']}})[_0xabc0('0x31')](handleEntityNotFound(_0x23531b,null))[_0xabc0('0x31')](function(_0x4035b5){if(_0x4035b5){_0x42c4e4[_0xabc0('0x3e')]=_[_0xabc0('0x3b')](db[_0xabc0('0x9a')][_0xabc0('0x4f')]);_0x42c4e4[_0xabc0('0x3c')]=_[_0xabc0('0x3b')](_0x4dad2f[_0xabc0('0x3c')]);_0x42c4e4['filters']=_[_0xabc0('0x40')](_0x42c4e4[_0xabc0('0x3e')],_0x42c4e4[_0xabc0('0x3c')]);_0x18c73c[_0xabc0('0x3f')]=_['intersection'](_0x42c4e4[_0xabc0('0x3e')],qs['fields'](_0x4dad2f[_0xabc0('0x3c')][_0xabc0('0x41')]));_0x18c73c[_0xabc0('0x3f')]=_0x18c73c[_0xabc0('0x3f')]['length']?_0x18c73c[_0xabc0('0x3f')]:_0x42c4e4['model'];if(!_0x4dad2f['query'][_0xabc0('0x43')](_0xabc0('0x44'))){_0x18c73c['limit']=qs['limit'](_0x4dad2f[_0xabc0('0x3c')]['limit']);_0x18c73c['offset']=qs[_0xabc0('0x2a')](_0x4dad2f['query'][_0xabc0('0x2a')]);}_0x18c73c['order']=qs[_0xabc0('0x46')](_0x4dad2f[_0xabc0('0x3c')][_0xabc0('0x46')]);_0x18c73c[_0xabc0('0x47')]=qs[_0xabc0('0x3d')](_[_0xabc0('0x5f')](_0x4dad2f[_0xabc0('0x3c')],_0x42c4e4[_0xabc0('0x3d')]));_0x18c73c[_0xabc0('0x47')]['SmsAccountId']=_0x4035b5['id'];if(_0x4dad2f['query']['filter']){_0x18c73c['where']=_[_0xabc0('0x4b')](_0x18c73c[_0xabc0('0x47')],{'$or':_['map'](_0x18c73c[_0xabc0('0x3f')],function(_0x5d85b7){var _0x239feb={};_0x239feb[_0x5d85b7]={'$like':'%'+_0x4dad2f[_0xabc0('0x3c')][_0xabc0('0x48')]+'%'};return _0x239feb;})});}_0x18c73c=_['merge']({},_0x18c73c,_0x4dad2f[_0xabc0('0x68')]);return db[_0xabc0('0x9a')]['count']({'where':_0x18c73c['where']})[_0xabc0('0x31')](function(_0x463b5e){_0x703d0[_0xabc0('0x29')]=_0x463b5e;if(_0x4dad2f[_0xabc0('0x3c')]['includeAll']){_0x18c73c[_0xabc0('0x50')]=[{'model':db[_0xabc0('0x98')],'as':'Contact','required':![]},{'model':db['User'],'as':'Owner','attributes':[_0xabc0('0x57'),'fullname',_0xabc0('0xb1')],'required':![]},{'model':db[_0xabc0('0xb2')],'as':'Tags','attributes':['id','name',_0xabc0('0xb3')],'where':_0x4dad2f[_0xabc0('0x3c')][_0xabc0('0xb4')]?{'id':_0x4dad2f[_0xabc0('0x3c')]['tag']}:undefined,'required':_0x4dad2f['query'][_0xabc0('0xb4')]?!![]:![]}];}return db[_0xabc0('0x9a')][_0xabc0('0x4c')](_0x18c73c);})['then'](function(_0x6feefe){_0x703d0[_0xabc0('0x62')]=_0x6feefe;return _0x703d0;});}})[_0xabc0('0x31')](respondWithFilteredResult(_0x23531b,_0x18c73c))[_0xabc0('0x25')](handleError(_0x23531b,null));};exports[_0xabc0('0x37')]=function(_0x11ebe9,_0x88f76d,_0x23aa70){var _0x3cff54,_0x3ef64a,_0x59a966;if(_[_0xabc0('0x8f')](_0x11ebe9[_0xabc0('0x53')][_0xabc0('0x53')])||_0x11ebe9['body']['body']===''){throw new db[(_0xabc0('0x90'))][(_0xabc0('0x71'))](_0xabc0('0xb5'));}if(_[_0xabc0('0x8f')](_0x11ebe9['body']['to'])){throw new db[(_0xabc0('0x90'))][(_0xabc0('0x71'))](_0xabc0('0xb6'));}_0x3cff54=_0x11ebe9[_0xabc0('0x53')]['to'];return db[_0xabc0('0x3a')]['find']({'where':{'id':_0x11ebe9[_0xabc0('0x4e')]['id']},'include':[{'model':db['CmList'],'as':_0xabc0('0xb7'),'include':[{'model':db['CmContact'],'as':'Contacts','where':{'mobile':_0x3cff54},'limit':0x1,'order':[[_0xabc0('0xb8'),_0xabc0('0x96')]]}]}]})[_0xabc0('0x31')](handleEntityNotFound(_0x88f76d,null))[_0xabc0('0x31')](function(_0x15019e){if(_0x15019e&&_0x15019e[_0xabc0('0xb7')]){_0x3ef64a=_0x15019e[_0xabc0('0x32')]({'plain':!![]});if(_0x3ef64a['List']&&_0x3ef64a[_0xabc0('0xb7')][_0xabc0('0x95')][_0xabc0('0x42')]){return _0x3ef64a['List'][_0xabc0('0x95')][0x0];}return db[_0xabc0('0x98')][_0xabc0('0x52')](_[_0xabc0('0x14')](_0x11ebe9[_0xabc0('0x53')],{'firstName':_0x3cff54,'mobile':_0x3cff54,'phone':_0x3cff54,'ListId':_0x3ef64a[_0xabc0('0x75')]}));}})['then'](handleEntityNotFound(_0x88f76d,null))['then'](function(_0x12a718){if(_0x12a718){_0x59a966=_0x12a718;return db[_0xabc0('0x9a')][_0xabc0('0x51')]({'where':{'ContactId':_0x59a966['id'],'closed':![],'SmsAccountId':_0x3ef64a['id']}})['then'](function(_0x2b9669){if(_0x2b9669){return[_0x2b9669,![]];}return db[_0xabc0('0x9a')]['create']({'UserId':_0x11ebe9[_0xabc0('0x56')]['id'],'ContactId':_0x59a966['id'],'SmsAccountId':_0x3ef64a['id'],'phone':_0x3cff54,'firstMsgDirection':'out','Messages':[_['merge'](_0x11ebe9[_0xabc0('0x53')],{'read':![],'body':_0x11ebe9[_0xabc0('0x53')][_0xabc0('0x53')],'phone':_0x3cff54,'SmsAccountId':_0x3ef64a['id'],'UserId':_0x11ebe9[_0xabc0('0x56')]['id'],'ContactId':_0x59a966['id']})]},{'include':[{'model':db['SmsMessage'],'as':_0xabc0('0xb9')}]})[_0xabc0('0x31')](function(_0x535ffa){return[_0x535ffa,!![]];});});}})['spread'](function(_0x5ca51c,_0x4b7b93){if(_0x4b7b93){return _0x5ca51c;}return db[_0xabc0('0xa1')][_0xabc0('0x52')](_[_0xabc0('0x4b')](_0x11ebe9[_0xabc0('0x53')],{'read':![],'body':_0x11ebe9['body'][_0xabc0('0x53')],'phone':_0x3cff54,'SmsAccountId':_0x3ef64a['id'],'SmsInteractionId':_0x5ca51c['id'],'UserId':_0x11ebe9[_0xabc0('0x56')]['id'],'ContactId':_0x59a966['id']}))['then'](function(_0x3c161a){_0x5ca51c[_0xabc0('0xba')]['Messages']=[];_0x5ca51c[_0xabc0('0xba')][_0xabc0('0xb9')][_0xabc0('0x9e')](_0x3c161a[_0xabc0('0xba')]);return _0x5ca51c;});})[_0xabc0('0x31')](respondWithResult(_0x88f76d,null))['catch'](handleError(_0x88f76d,null));};exports[_0xabc0('0x27')]=function(_0x45938e,_0x445e4a,_0x50542e){if(_0x45938e[_0xabc0('0x53')]['id']){delete _0x45938e['body']['id'];}console[_0xabc0('0xbb')](_0xabc0('0xbc'),_0x45938e[_0xabc0('0x53')]);var _0x45c8af,_0x4af72d,_0x29bcda;return db[_0xabc0('0x3a')][_0xabc0('0x51')]({'where':{'id':_0x45938e[_0xabc0('0x4e')]['id']}})['then'](handleEntityNotFound(_0x445e4a,null))[_0xabc0('0x31')](function(_0x3b40b9){if(_0x3b40b9){_0x29bcda=_0x3b40b9;logger[_0xabc0('0xaa')](_0xabc0('0x20'),_0xabc0('0x27'),_0xabc0('0xbd'),_0x3b40b9[_0xabc0('0x49')],util[_0xabc0('0xbe')](_0x45938e[_0xabc0('0x53')],{'showHidden':![],'depth':null}));switch(_0x3b40b9[_0xabc0('0x49')]){case _0xabc0('0x7c'):if(_0x45938e[_0xabc0('0x53')]['skebby_dispatch_id']&&_0x45938e['body'][_0xabc0('0x27')]){_0x4af72d=_0x45938e['body'][_0xabc0('0x27')];return db['SmsMessage'][_0xabc0('0x51')]({'where':{'messageId':_0x45938e[_0xabc0('0x53')][_0xabc0('0xbf')]}});}break;case _0xabc0('0x7f'):if(_0x45938e[_0xabc0('0x53')][_0xabc0('0xc0')]&&_0x45938e[_0xabc0('0x53')][_0xabc0('0xc1')]){_0x4af72d=_0x45938e[_0xabc0('0x53')]['statusInt'];return db['SmsMessage'][_0xabc0('0x51')]({'where':{'messageId':_0x45938e[_0xabc0('0x53')][_0xabc0('0xc0')]}});}break;case _0xabc0('0x80'):if(_0x45938e['body']['message_id']&&_0x45938e['body']['status_code']){_0x4af72d=_0x45938e[_0xabc0('0x53')][_0xabc0('0xc2')];return db[_0xabc0('0xa1')][_0xabc0('0x51')]({'where':{'messageId':_0x45938e[_0xabc0('0x53')]['message_id']}});}break;case _0xabc0('0x85'):var _0x4d5c22=_0x45938e['body'][_0xabc0('0x86')][0x0];if(_0x4d5c22[_0xabc0('0x7a')]&&_0x4d5c22[_0xabc0('0x27')][_0xabc0('0xc3')]===_0xabc0('0xc4')){_0x4af72d=_0x4d5c22[_0xabc0('0x27')]['groupName'];return db[_0xabc0('0xa1')][_0xabc0('0x51')]({'where':{'messageId':_0x4d5c22['messageId']}});}break;case'clickatell':if(_0x45938e[_0xabc0('0x53')][_0xabc0('0x7a')]&&_0x45938e['body'][_0xabc0('0x27')]){_0x4af72d=_0x45938e[_0xabc0('0x53')][_0xabc0('0x27')];return db[_0xabc0('0xa1')][_0xabc0('0x51')]({'where':{'messageId':_0x45938e[_0xabc0('0x53')]['messageId']}});}break;case _0xabc0('0x8d'):if(_0x45938e['body']['redif']&&_0x45938e['body']['status']){_0x4af72d=_0x45938e[_0xabc0('0x53')][_0xabc0('0x27')];return db[_0xabc0('0xa1')][_0xabc0('0x51')]({'where':{'messageId':_0x45938e[_0xabc0('0x53')]['redif']}});}break;}}})[_0xabc0('0x31')](handleEntityNotFound(_0x445e4a,null))[_0xabc0('0x31')](function(_0x1fa37a){if(_0x1fa37a){_0x45c8af=_0x1fa37a;switch(_0x29bcda[_0xabc0('0x49')]){case _0xabc0('0x7c'):if(_0x4af72d===_0xabc0('0xc4')){return _0x45c8af[_0xabc0('0x30')]({'read':!![]});}else{logger['error'](_0xabc0('0x20'),_0xabc0('0x27'),_0xabc0('0x7c'),util[_0xabc0('0xbe')](_0x45938e[_0xabc0('0x53')],{'showHidden':![],'depth':null}));}break;case _0xabc0('0x7f'):if(_0x4af72d==='1'){return _0x45c8af[_0xabc0('0x30')]({'read':!![]});}else{logger['error'](_0xabc0('0x20'),_0xabc0('0x27'),_0xabc0('0x7c'),util[_0xabc0('0xbe')](_0x45938e[_0xabc0('0x53')],{'showHidden':![],'depth':null}));}break;case'clicksend':if(!_0x45938e['body'][_0xabc0('0xc5')]&&_0x4af72d>=0xc8&&_0x4af72d<=0xce){return _0x45c8af[_0xabc0('0x30')]({'read':!![]});}else{logger[_0xabc0('0x22')]('SmsAccount,\x20%s,\x20%s,\x20%s',_0xabc0('0x27'),_0xabc0('0x80'),util['inspect'](_0x45938e[_0xabc0('0x53')],{'showHidden':![],'depth':null}));}break;case _0xabc0('0x85'):var _0x4c228f=_0x45938e[_0xabc0('0x53')][_0xabc0('0x86')][0x0];if(_0x4c228f[_0xabc0('0x27')][_0xabc0('0xc3')]===_0xabc0('0xc4')){return _0x45c8af['update']({'read':!![]});}else{logger[_0xabc0('0x22')](_0xabc0('0x20'),'status',_0xabc0('0x85'),util['inspect'](_0x45938e['body'],{'showHidden':![],'depth':null}));}break;case _0xabc0('0x89'):if(_0x4af72d==_0xabc0('0xc6')||_0x4af72d==_0xabc0('0xc7')){return _0x45c8af['update']({'read':!![]});}else{logger[_0xabc0('0x22')](_0xabc0('0x20'),_0xabc0('0x27'),_0xabc0('0x89'),util['inspect'](_0x45938e[_0xabc0('0x53')],{'showHidden':![],'depth':null}));}break;case'intelepeer':if(_0x4af72d===_0xabc0('0xc8')||_0x4af72d===_0xabc0('0xc9')){return _0x45c8af[_0xabc0('0x30')]({'read':!![]});}else{logger[_0xabc0('0x22')](_0xabc0('0x20'),_0xabc0('0x27'),_0xabc0('0x8d'),util['inspect'](_0x45938e[_0xabc0('0x53')],{'showHidden':![],'depth':null}));}break;}return _0x45c8af;}})[_0xabc0('0x31')](respondWithResult(_0x445e4a,null))[_0xabc0('0x25')](handleError(_0x445e4a,null));};exports[_0xabc0('0xca')]=function(_0x934ea0,_0x585fff,_0x104405){var _0x51aa0d,_0x1d7e3e,_0x4efb4e;return db[_0xabc0('0x3a')]['find']({'where':{'id':_0x934ea0['params']['id']}})['then'](handleEntityNotFound(_0x585fff,null))[_0xabc0('0x31')](function(_0x2a1bd5){if(_0x2a1bd5){_0x4efb4e=_0x2a1bd5;logger[_0xabc0('0xaa')](_0xabc0('0x20'),_0xabc0('0x27'),_0xabc0('0xbd'),_0x2a1bd5[_0xabc0('0x49')],util['inspect'](_0x934ea0[_0xabc0('0x3c')],{'showHidden':![],'depth':null}));switch(_0x2a1bd5[_0xabc0('0x49')]){case'csc':if(_0x934ea0['query'][_0xabc0('0xcb')]&&_0x934ea0[_0xabc0('0x3c')][_0xabc0('0xcc')]){_0x1d7e3e=_0x934ea0[_0xabc0('0x3c')][_0xabc0('0xcc')];return db['SmsMessage'][_0xabc0('0x51')]({'where':{'messageId':_0x934ea0[_0xabc0('0x3c')][_0xabc0('0xcb')]}});}break;}}})['then'](handleEntityNotFound(_0x585fff,null))[_0xabc0('0x31')](function(_0x23b877){if(_0x23b877){_0x51aa0d=_0x23b877;switch(_0x4efb4e['type']){case'csc':if(_0x1d7e3e==='2'||_0x1d7e3e==='6'){return _0x51aa0d[_0xabc0('0x30')]({'read':!![]});}else{logger['error'](_0xabc0('0x20'),'status',_0xabc0('0x87'),util[_0xabc0('0xbe')](_0x934ea0[_0xabc0('0x3c')],{'showHidden':![],'depth':null}));};break;}return _0x51aa0d;}})[_0xabc0('0x31')](respondWithResult(_0x585fff,null))[_0xabc0('0x25')](handleError(_0x585fff,null));};exports[_0xabc0('0xcd')]=function(_0x522fdf,_0xac8b4,_0xbae4c2){return db['SmsAccount'][_0xabc0('0x51')]({'where':{'id':_0x522fdf[_0xabc0('0x4e')]['id']}})['then'](handleEntityNotFound(_0xac8b4,null))[_0xabc0('0x31')](function(_0x1d56f4){if(_0x1d56f4){return _0x1d56f4[_0xabc0('0xcd')](_0x522fdf[_0xabc0('0x53')][_0xabc0('0x64')],_[_0xabc0('0x97')](_0x522fdf['body'],[_0xabc0('0x64'),'id'])||{})[_0xabc0('0x9b')](function(_0x37d7df){for(var _0x271355=0x0;_0x271355<_0x522fdf[_0xabc0('0x53')]['ids']['length'];_0x271355+=0x1){socket['emit'](_0xabc0('0xce'),{'UserId':_0x522fdf[_0xabc0('0x53')][_0xabc0('0x64')][_0x271355],'SmsAccountId':_0x522fdf[_0xabc0('0x4e')]['id']});}return _0x37d7df;});}})[_0xabc0('0x31')](respondWithResult(_0xac8b4,null))[_0xabc0('0x25')](handleError(_0xac8b4,null));};exports[_0xabc0('0xcf')]=function(_0x52d960,_0x3ced60,_0x3a6922){return db[_0xabc0('0x3a')][_0xabc0('0x51')]({'where':{'id':_0x52d960[_0xabc0('0x4e')]['id']}})['then'](handleEntityNotFound(_0x3ced60,null))[_0xabc0('0x31')](function(_0x4e73d1){if(_0x4e73d1){return _0x4e73d1['removeAgents'](_0x52d960[_0xabc0('0x3c')][_0xabc0('0x64')])[_0xabc0('0x31')](function(){if(_[_0xabc0('0xd0')](_0x52d960[_0xabc0('0x3c')][_0xabc0('0x64')])){for(var _0x277302=0x0;_0x277302<_0x52d960[_0xabc0('0x3c')][_0xabc0('0x64')][_0xabc0('0x42')];_0x277302+=0x1){socket[_0xabc0('0xd1')](_0xabc0('0xd2'),{'UserId':Number(_0x52d960[_0xabc0('0x3c')]['ids'][_0x277302]),'SmsAccountId':Number(_0x52d960['params']['id'])});}}else{socket['emit'](_0xabc0('0xd2'),{'UserId':Number(_0x52d960[_0xabc0('0x3c')]['ids']),'SmsAccountId':Number(_0x52d960[_0xabc0('0x4e')]['id'])});}});}})['then'](respondWithStatusCode(_0x3ced60,null))[_0xabc0('0x25')](handleError(_0x3ced60,null));};exports[_0xabc0('0xd3')]=function(_0x53ede3,_0x3826fb,_0x2223ae){var _0x1dc755={};var _0x1f6f48={};var _0x3c29f8;var _0xa3cd57;return db[_0xabc0('0x3a')][_0xabc0('0x5c')]({'where':{'id':_0x53ede3['params']['id']}})[_0xabc0('0x31')](handleEntityNotFound(_0x3826fb,null))[_0xabc0('0x31')](function(_0x134687){if(_0x134687){_0x3c29f8=_0x134687;_0x1f6f48[_0xabc0('0x3e')]=_[_0xabc0('0x3b')](db[_0xabc0('0xa4')]['rawAttributes']);_0x1f6f48[_0xabc0('0x3c')]=_[_0xabc0('0x3b')](_0x53ede3[_0xabc0('0x3c')]);_0x1f6f48['filters']=_['intersection'](_0x1f6f48[_0xabc0('0x3e')],_0x1f6f48['query']);_0x1dc755[_0xabc0('0x3f')]=_[_0xabc0('0x40')](_0x1f6f48[_0xabc0('0x3e')],qs[_0xabc0('0x41')](_0x53ede3['query']['fields']));_0x1dc755['attributes']=_0x1dc755[_0xabc0('0x3f')][_0xabc0('0x42')]?_0x1dc755['attributes']:_0x1f6f48[_0xabc0('0x3e')];_0x1dc755[_0xabc0('0x5e')]=qs['sort'](_0x53ede3[_0xabc0('0x3c')][_0xabc0('0x46')]);_0x1dc755[_0xabc0('0x47')]=qs[_0xabc0('0x3d')](_[_0xabc0('0x5f')](_0x53ede3[_0xabc0('0x3c')],_0x1f6f48['filters']));if(_0x53ede3['query']['filter']){_0x1dc755[_0xabc0('0x47')]=_[_0xabc0('0x4b')](_0x1dc755[_0xabc0('0x47')],{'$or':_[_0xabc0('0x60')](_0x1dc755['attributes'],function(_0x29935f){var _0x24d00d={};_0x24d00d[_0x29935f]={'$like':'%'+_0x53ede3[_0xabc0('0x3c')]['filter']+'%'};return _0x24d00d;})});}_0x1dc755=_[_0xabc0('0x4b')]({},_0x1dc755,_0x53ede3[_0xabc0('0x68')]);return _0x3c29f8['getAgents'](_0x1dc755);}})[_0xabc0('0x31')](function(_0x184ee6){if(_0x184ee6){_0xa3cd57=_0x184ee6[_0xabc0('0x42')];if(!_0x53ede3['query'][_0xabc0('0x43')](_0xabc0('0x44'))){_0x1dc755['limit']=qs['limit'](_0x53ede3[_0xabc0('0x3c')]['limit']);_0x1dc755[_0xabc0('0x2a')]=qs[_0xabc0('0x2a')](_0x53ede3[_0xabc0('0x3c')]['offset']);}return _0x3c29f8[_0xabc0('0xd3')](_0x1dc755);}})[_0xabc0('0x31')](function(_0x2b2c27){if(_0x2b2c27){return _0x2b2c27?{'count':_0xa3cd57,'rows':_0x2b2c27}:null;}})[_0xabc0('0x31')](respondWithResult(_0x3826fb,null))[_0xabc0('0x25')](handleError(_0x3826fb,null));};