324ee7336bddb7446dc153265e62b5d2c340be50
[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 _0x2985=['rows','show','params','length','includeAll','find','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','SmsAccounts','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','describe','addDisposition','SmsAccountId','Disposition','removeDispositions','ids','CannedAnswer','create','getAnswers','findOne','hasOwnProperty','removeAnswers','notify','sms','SmsApplication','orderBy','Applications','account','Sequelize','ValidationError','no\x20available\x20attributes','difference','createdAt','updatedAt','CompanyId','ListId','mobile','twilio','from','messageId','MessageSid','sender','connectel','clicksend','message_id','From','Text','MessageUUID','infobip','results','text','csc','originatingAddress','segmentedMessage','fromNumber','replyMessageId','bandwidth','intelepeer','refid','isNil','from\x20is\x20mandatory','body\x20is\x20mandatory\x20and\x20not\x20empty','mapKey\x20is\x20mandatory,\x20please\x20use\x20one\x20of\x20these:\x20','mapKey\x20invalid,\x20please\x20use\x20one\x20of\x20these:\x20','mapKey','CmContact','DESC','list','omit','Contacts','contact','SmsInteraction','spread','interaction','autoclose','applications','push','close','unmanaged','*,*,*,*','SmsMessage','ContactId','AttachmentId','UserId','User','agent','waitForTheAssignedAgent','Start','startRouting','receiveMessage','entity\x20found','Content-Type','<?xml\x20version=\x221.0\x22\x20encoding=\x22UTF-8\x22?>\x0a<Response></Response>','addApplications','sequelize','transaction','Transaction','ISOLATION_LEVELS','READ_COMMITTED','bulkCreate','findAndCountAll','priority','finally','getApplications','getInteractions','Contact','Owner','fullname','internal','Tag','Tags','tag','to\x20is\x20mandatory','CmList','List','Messages','dataValues','inspect','skebby','skebby_dispatch_id','statusInt','status_code','DELIVERED','groupName','redif','clickatell','DELIVERED_TO_GATEWAY','DELIVRD','statusGet','received\x20delivery\x20report\x20from','state','message-id','addAgents','userSmsAccount:save','removeAgents','isArray','emit','userSmsAccount:remove','getAgents','rimraf','zip-dir','fast-json-patch','moment','bluebird','mustache','util','path','sox','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./smsAccount.socket','register','jayson/promise','client','http','request','info','SmsAccount,\x20%s,\x20%s','request\x20sent','debug','SmsAccount,\x20%s,\x20%s,\x20%s','stringify','error','code','message','result','catch','sendStatus','status','end','json','offset','undefined','count','limit','set','Content-Range','reject','save','update','then','destroy','get','UserProfileResource','stack','name','send','index','Pause','mandatoryDispositionPause','SmsAccount','rawAttributes','fieldName','type','key','model','map','query','keys','filters','intersection','attributes','fields','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','options','include','findAll'];(function(_0x140461,_0x396889){var _0x133efb=function(_0x11a6ec){while(--_0x11a6ec){_0x140461['push'](_0x140461['shift']());}};_0x133efb(++_0x396889);}(_0x2985,0x17e));var _0x5298=function(_0x76fd1f,_0x2c0b0b){_0x76fd1f=_0x76fd1f-0x0;var _0x1db4f7=_0x2985[_0x76fd1f];return _0x1db4f7;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x5298('0x0'));var zipdir=require(_0x5298('0x1'));var jsonpatch=require(_0x5298('0x2'));var rp=require('request-promise');var moment=require(_0x5298('0x3'));var BPromise=require(_0x5298('0x4'));var Mustache=require(_0x5298('0x5'));var util=require(_0x5298('0x6'));var path=require(_0x5298('0x7'));var sox=require(_0x5298('0x8'));var csv=require('to-csv');var ejs=require(_0x5298('0x9'));var fs=require('fs');var fs_extra=require(_0x5298('0xa'));var _=require(_0x5298('0xb'));var squel=require(_0x5298('0xc'));var crypto=require(_0x5298('0xd'));var jsforce=require(_0x5298('0xe'));var deskjs=require(_0x5298('0xf'));var toCsv=require(_0x5298('0x10'));var querystring=require(_0x5298('0x11'));var Papa=require(_0x5298('0x12'));var Redis=require(_0x5298('0x13'));var authService=require(_0x5298('0x14'));var qs=require(_0x5298('0x15'));var as=require(_0x5298('0x16'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x5298('0x17'))('api');var utils=require(_0x5298('0x18'));var config=require(_0x5298('0x19'));var licenseUtil=require(_0x5298('0x1a'));var db=require(_0x5298('0x1b'))['db'];config[_0x5298('0x1c')]=_[_0x5298('0x1d')](config[_0x5298('0x1c')],{'host':_0x5298('0x1e'),'port':0x18eb});var socket=require(_0x5298('0x1f'))(new Redis(config[_0x5298('0x1c')]));require(_0x5298('0x20'))[_0x5298('0x21')](socket);var jayson=require(_0x5298('0x22'));var client=jayson[_0x5298('0x23')][_0x5298('0x24')]({'port':0x232c});function respondWithRpcPromise(_0x452946,_0x2b2fd3,_0x1f60ef,_0x342b24){return new BPromise(function(_0x5031f7,_0x24e00d){var _0x52f415=_0x342b24||client;return _0x52f415[_0x5298('0x25')](_0x452946,_0x1f60ef)['then'](function(_0x51f440){logger[_0x5298('0x26')](_0x5298('0x27'),_0x2b2fd3,_0x5298('0x28'));logger[_0x5298('0x29')](_0x5298('0x2a'),_0x2b2fd3,_0x5298('0x28'),JSON[_0x5298('0x2b')](_0x51f440));if(_0x51f440['error']){if(_0x51f440[_0x5298('0x2c')][_0x5298('0x2d')]===0x1f4){logger[_0x5298('0x2c')](_0x5298('0x27'),_0x2b2fd3,_0x51f440[_0x5298('0x2c')][_0x5298('0x2e')]);return _0x24e00d(_0x51f440['error'][_0x5298('0x2e')]);}logger[_0x5298('0x2c')](_0x5298('0x27'),_0x2b2fd3,_0x51f440[_0x5298('0x2c')]['message']);return _0x5031f7(_0x51f440['error']['message']);}else{logger[_0x5298('0x26')](_0x5298('0x27'),_0x2b2fd3,'request\x20sent');_0x5031f7(_0x51f440[_0x5298('0x2f')][_0x5298('0x2e')]);}})[_0x5298('0x30')](function(_0x103edf){logger[_0x5298('0x2c')](_0x5298('0x27'),_0x2b2fd3,_0x103edf);_0x24e00d(_0x103edf);});});}function respondWithStatusCode(_0x17fa89,_0x583194){_0x583194=_0x583194||0xcc;return function(_0x431e63){if(_0x431e63){return _0x17fa89[_0x5298('0x31')](_0x583194);}return _0x17fa89[_0x5298('0x32')](_0x583194)[_0x5298('0x33')]();};}function respondWithResult(_0x91a3c7,_0x2296b6){_0x2296b6=_0x2296b6||0xc8;return function(_0x3209b0){if(_0x3209b0){return _0x91a3c7['status'](_0x2296b6)[_0x5298('0x34')](_0x3209b0);}};}function respondWithFilteredResult(_0x2ad9bd,_0xab8be7){return function(_0x237d3f){if(_0x237d3f){var _0x2d79f5=typeof _0xab8be7[_0x5298('0x35')]===_0x5298('0x36')&&typeof _0xab8be7['limit']===_0x5298('0x36');var _0x2c3df3=_0x237d3f[_0x5298('0x37')];var _0x13a90b=_0x2d79f5?0x0:_0xab8be7[_0x5298('0x35')];var _0x4dc148=_0x2d79f5?_0x237d3f['count']:_0xab8be7[_0x5298('0x35')]+_0xab8be7[_0x5298('0x38')];var _0x916e5a;if(_0x4dc148>=_0x2c3df3){_0x4dc148=_0x2c3df3;_0x916e5a=0xc8;}else{_0x916e5a=0xce;}_0x2ad9bd[_0x5298('0x32')](_0x916e5a);return _0x2ad9bd[_0x5298('0x39')](_0x5298('0x3a'),_0x13a90b+'-'+_0x4dc148+'/'+_0x2c3df3)['json'](_0x237d3f);}return null;};}function patchUpdates(_0x163ecd){return function(_0x3069a6){try{jsonpatch['apply'](_0x3069a6,_0x163ecd,!![]);}catch(_0x401106){return BPromise[_0x5298('0x3b')](_0x401106);}return _0x3069a6[_0x5298('0x3c')]();};}function saveUpdates(_0x22bbbc,_0x484581){return function(_0x27b20b){if(_0x27b20b){return _0x27b20b[_0x5298('0x3d')](_0x22bbbc)[_0x5298('0x3e')](function(_0x47ecfe){return _0x47ecfe;});}return null;};}function removeEntity(_0x1ebff5,_0xf78689){return function(_0x3550e9){if(_0x3550e9){return _0x3550e9[_0x5298('0x3f')]()[_0x5298('0x3e')](function(){var _0x3f7f9c=_0x3550e9[_0x5298('0x40')]({'plain':!![]});var _0x4c08df='SmsAccounts';return db[_0x5298('0x41')][_0x5298('0x3f')]({'where':{'type':_0x4c08df,'resourceId':_0x3f7f9c['id']}})[_0x5298('0x3e')](function(){return _0x3550e9;});})['then'](function(){_0x1ebff5[_0x5298('0x32')](0xcc)[_0x5298('0x33')]();});}};}function handleEntityNotFound(_0x38ee40,_0x1ead70){return function(_0xdc021e){if(!_0xdc021e){_0x38ee40['sendStatus'](0x194);}return _0xdc021e;};}function handleError(_0x467310,_0x444c93){_0x444c93=_0x444c93||0x1f4;return function(_0xf03ae8){logger[_0x5298('0x2c')](_0xf03ae8[_0x5298('0x42')]);if(_0xf03ae8[_0x5298('0x43')]){delete _0xf03ae8[_0x5298('0x43')];}_0x467310['status'](_0x444c93)[_0x5298('0x44')](_0xf03ae8);};}exports[_0x5298('0x45')]=function(_0x112b72,_0x54f5bf){var _0x3fb9b9={'include':[{'model':db[_0x5298('0x46')],'as':_0x5298('0x47')}]},_0x1acbf4={},_0x41fc67={'count':0x0,'rows':[]};var _0x4a9045=_['map'](db[_0x5298('0x48')][_0x5298('0x49')],function(_0x1c861b){return{'name':_0x1c861b[_0x5298('0x4a')],'type':_0x1c861b[_0x5298('0x4b')][_0x5298('0x4c')]};});_0x1acbf4[_0x5298('0x4d')]=_[_0x5298('0x4e')](_0x4a9045,'name');_0x1acbf4[_0x5298('0x4f')]=_[_0x5298('0x50')](_0x112b72[_0x5298('0x4f')]);_0x1acbf4[_0x5298('0x51')]=_[_0x5298('0x52')](_0x1acbf4[_0x5298('0x4d')],_0x1acbf4[_0x5298('0x4f')]);_0x3fb9b9[_0x5298('0x53')]=_[_0x5298('0x52')](_0x1acbf4[_0x5298('0x4d')],qs[_0x5298('0x54')](_0x112b72[_0x5298('0x4f')][_0x5298('0x54')]));_0x3fb9b9[_0x5298('0x53')]=_0x3fb9b9['attributes']['length']?_0x3fb9b9[_0x5298('0x53')]:_0x1acbf4['model'];if(!_0x112b72[_0x5298('0x4f')]['hasOwnProperty'](_0x5298('0x55'))){_0x3fb9b9['limit']=qs[_0x5298('0x38')](_0x112b72[_0x5298('0x4f')][_0x5298('0x38')]);_0x3fb9b9[_0x5298('0x35')]=qs['offset'](_0x112b72[_0x5298('0x4f')][_0x5298('0x35')]);}_0x3fb9b9[_0x5298('0x56')]=qs[_0x5298('0x57')](_0x112b72['query'][_0x5298('0x57')]);_0x3fb9b9[_0x5298('0x58')]=qs[_0x5298('0x51')](_[_0x5298('0x59')](_0x112b72[_0x5298('0x4f')],_0x1acbf4[_0x5298('0x51')]),_0x4a9045);if(_0x112b72['query'][_0x5298('0x5a')]){_0x3fb9b9[_0x5298('0x58')]=_[_0x5298('0x5b')](_0x3fb9b9['where'],{'$or':_[_0x5298('0x4e')](_0x4a9045,function(_0xa1edce){if(_0xa1edce[_0x5298('0x4b')]!==_0x5298('0x5c')){var _0x58ef2b={};_0x58ef2b[_0xa1edce[_0x5298('0x43')]]={'$like':'%'+_0x112b72[_0x5298('0x4f')]['filter']+'%'};return _0x58ef2b;}})});}_0x3fb9b9=_['merge']({},_0x3fb9b9,_0x112b72[_0x5298('0x5d')]);var _0x4e7edd={'where':_0x3fb9b9[_0x5298('0x58')]};return db['SmsAccount'][_0x5298('0x37')](_0x4e7edd)['then'](function(_0x3ccc6c){_0x41fc67[_0x5298('0x37')]=_0x3ccc6c;if(_0x112b72[_0x5298('0x4f')]['includeAll']){_0x3fb9b9[_0x5298('0x5e')]=[{'all':!![]}];}return db['SmsAccount'][_0x5298('0x5f')](_0x3fb9b9);})['then'](function(_0x393f50){_0x41fc67[_0x5298('0x60')]=_0x393f50;return _0x41fc67;})[_0x5298('0x3e')](respondWithFilteredResult(_0x54f5bf,_0x3fb9b9))[_0x5298('0x30')](handleError(_0x54f5bf,null));};exports[_0x5298('0x61')]=function(_0x2499c7,_0xd708db){var _0x3bfe21={'raw':![],'where':{'id':_0x2499c7[_0x5298('0x62')]['id']},'include':[{'model':db[_0x5298('0x46')],'as':_0x5298('0x47')}]},_0x5ab56b={};_0x5ab56b[_0x5298('0x4d')]=_['keys'](db[_0x5298('0x48')][_0x5298('0x49')]);_0x5ab56b[_0x5298('0x4f')]=_[_0x5298('0x50')](_0x2499c7[_0x5298('0x4f')]);_0x5ab56b['filters']=_['intersection'](_0x5ab56b[_0x5298('0x4d')],_0x5ab56b['query']);_0x3bfe21['attributes']=_[_0x5298('0x52')](_0x5ab56b[_0x5298('0x4d')],qs[_0x5298('0x54')](_0x2499c7[_0x5298('0x4f')]['fields']));_0x3bfe21[_0x5298('0x53')]=_0x3bfe21[_0x5298('0x53')][_0x5298('0x63')]?_0x3bfe21[_0x5298('0x53')]:_0x5ab56b[_0x5298('0x4d')];if(_0x2499c7[_0x5298('0x4f')][_0x5298('0x64')]){_0x3bfe21['include']=[{'all':!![]}];}_0x3bfe21=_[_0x5298('0x5b')]({},_0x3bfe21,_0x2499c7[_0x5298('0x5d')]);return db[_0x5298('0x48')][_0x5298('0x65')](_0x3bfe21)[_0x5298('0x3e')](handleEntityNotFound(_0xd708db,null))['then'](respondWithResult(_0xd708db,null))[_0x5298('0x30')](handleError(_0xd708db,null));};exports['create']=function(_0x1721e7,_0x269f4e){return db['SmsAccount']['create'](_0x1721e7[_0x5298('0x66')],{})[_0x5298('0x3e')](function(_0x226dda){var _0x5b91d4=_0x1721e7[_0x5298('0x67')]['get']({'plain':!![]});if(!_0x5b91d4)throw new Error(_0x5298('0x68'));if(_0x5b91d4['role']==='user'){var _0x5567ad=_0x226dda['get']({'plain':!![]});var _0x5baf1a=_0x5298('0x69');return db[_0x5298('0x6a')][_0x5298('0x65')]({'where':{'name':_0x5baf1a,'userProfileId':_0x5b91d4[_0x5298('0x6b')]},'raw':!![]})[_0x5298('0x3e')](function(_0x5f3f2d){if(_0x5f3f2d&&_0x5f3f2d[_0x5298('0x6c')]===0x0){return db[_0x5298('0x41')]['create']({'name':_0x5567ad[_0x5298('0x43')],'resourceId':_0x5567ad['id'],'type':_0x5f3f2d[_0x5298('0x43')],'sectionId':_0x5f3f2d['id']},{})[_0x5298('0x3e')](function(){return _0x226dda;});}else{return _0x226dda;}})[_0x5298('0x30')](function(_0x10b091){logger[_0x5298('0x2c')](_0x5298('0x6d'),_0x10b091);throw _0x10b091;});}return _0x226dda;})[_0x5298('0x3e')](respondWithResult(_0x269f4e,0xc9))[_0x5298('0x30')](handleError(_0x269f4e,null));};exports['update']=function(_0x1f7c8a,_0x54fb4e){if(_0x1f7c8a[_0x5298('0x66')]['id']){delete _0x1f7c8a['body']['id'];}return db['SmsAccount'][_0x5298('0x65')]({'where':{'id':_0x1f7c8a['params']['id']},'include':[{'model':db[_0x5298('0x46')],'as':_0x5298('0x47')}]})[_0x5298('0x3e')](handleEntityNotFound(_0x54fb4e,null))['then'](saveUpdates(_0x1f7c8a[_0x5298('0x66')],null))[_0x5298('0x3e')](respondWithResult(_0x54fb4e,null))[_0x5298('0x30')](handleError(_0x54fb4e,null));};exports[_0x5298('0x3f')]=function(_0x42a2b0,_0x3205bb){return db[_0x5298('0x48')][_0x5298('0x65')]({'where':{'id':_0x42a2b0[_0x5298('0x62')]['id']}})[_0x5298('0x3e')](handleEntityNotFound(_0x3205bb,null))[_0x5298('0x3e')](removeEntity(_0x3205bb,null))[_0x5298('0x30')](handleError(_0x3205bb,null));};exports[_0x5298('0x6e')]=function(_0x347566,_0x508b9f){return db[_0x5298('0x48')]['describe']()[_0x5298('0x3e')](respondWithResult(_0x508b9f,null))[_0x5298('0x30')](handleError(_0x508b9f,null));};exports[_0x5298('0x6f')]=function(_0x4a6815,_0x4f9203,_0xadff57){if(_0x4a6815[_0x5298('0x66')]['id']){delete _0x4a6815[_0x5298('0x66')]['id'];}return db[_0x5298('0x48')][_0x5298('0x65')]({'where':{'id':_0x4a6815['params']['id']}})['then'](handleEntityNotFound(_0x4f9203,null))[_0x5298('0x3e')](function(_0x15a1b1){if(_0x15a1b1){_0x4a6815[_0x5298('0x66')][_0x5298('0x70')]=_0x15a1b1['id'];return db[_0x5298('0x71')]['create'](_0x4a6815[_0x5298('0x66')]);}})[_0x5298('0x3e')](respondWithResult(_0x4f9203,null))['catch'](handleError(_0x4f9203,null));};exports['getDispositions']=function(_0x1081a4,_0x5bc673,_0x48c2ec){var _0x4a25e5={'raw':![],'where':{}};var _0x247928={};var _0x50e198={'count':0x0,'rows':[]};return db['SmsAccount']['findOne']({'where':{'id':_0x1081a4['params']['id']}})[_0x5298('0x3e')](handleEntityNotFound(_0x5bc673,null))[_0x5298('0x3e')](function(_0x59da0a){if(_0x59da0a){_0x247928[_0x5298('0x4d')]=_[_0x5298('0x50')](db['Disposition'][_0x5298('0x49')]);_0x247928['query']=_[_0x5298('0x50')](_0x1081a4[_0x5298('0x4f')]);_0x247928[_0x5298('0x51')]=_[_0x5298('0x52')](_0x247928[_0x5298('0x4d')],_0x247928['query']);_0x4a25e5[_0x5298('0x53')]=_[_0x5298('0x52')](_0x247928[_0x5298('0x4d')],qs[_0x5298('0x54')](_0x1081a4['query'][_0x5298('0x54')]));_0x4a25e5[_0x5298('0x53')]=_0x4a25e5[_0x5298('0x53')]['length']?_0x4a25e5[_0x5298('0x53')]:_0x247928[_0x5298('0x4d')];if(!_0x1081a4[_0x5298('0x4f')]['hasOwnProperty'](_0x5298('0x55'))){_0x4a25e5[_0x5298('0x38')]=qs[_0x5298('0x38')](_0x1081a4[_0x5298('0x4f')][_0x5298('0x38')]);_0x4a25e5[_0x5298('0x35')]=qs[_0x5298('0x35')](_0x1081a4['query']['offset']);}_0x4a25e5[_0x5298('0x56')]=qs[_0x5298('0x57')](_0x1081a4[_0x5298('0x4f')][_0x5298('0x57')]);_0x4a25e5[_0x5298('0x58')]=qs[_0x5298('0x51')](_[_0x5298('0x59')](_0x1081a4[_0x5298('0x4f')],_0x247928[_0x5298('0x51')]));_0x4a25e5[_0x5298('0x58')][_0x5298('0x70')]=_0x59da0a['id'];if(_0x1081a4[_0x5298('0x4f')][_0x5298('0x5a')]){_0x4a25e5['where']=_[_0x5298('0x5b')](_0x4a25e5[_0x5298('0x58')],{'$or':_['map'](_0x4a25e5['attributes'],function(_0x1b5b47){var _0x50fc21={};_0x50fc21[_0x1b5b47]={'$like':'%'+_0x1081a4['query'][_0x5298('0x5a')]+'%'};return _0x50fc21;})});}_0x4a25e5=_[_0x5298('0x5b')]({},_0x4a25e5,_0x1081a4[_0x5298('0x5d')]);return db['Disposition']['count']({'where':_0x4a25e5[_0x5298('0x58')]})['then'](function(_0x5001b9){_0x50e198[_0x5298('0x37')]=_0x5001b9;if(_0x1081a4[_0x5298('0x4f')][_0x5298('0x64')]){_0x4a25e5[_0x5298('0x5e')]=[{'all':!![]}];}return db[_0x5298('0x71')][_0x5298('0x5f')](_0x4a25e5);})[_0x5298('0x3e')](function(_0x17e952){_0x50e198['rows']=_0x17e952;return _0x50e198;});}})[_0x5298('0x3e')](respondWithFilteredResult(_0x5bc673,_0x4a25e5))[_0x5298('0x30')](handleError(_0x5bc673,null));};exports[_0x5298('0x72')]=function(_0x5a5d2f,_0x40fef3,_0x158c5c){return db[_0x5298('0x48')]['find']({'where':{'id':_0x5a5d2f['params']['id']}})['then'](handleEntityNotFound(_0x40fef3,null))['then'](function(_0x27829b){if(_0x27829b){return _0x27829b[_0x5298('0x72')](_0x5a5d2f[_0x5298('0x4f')][_0x5298('0x73')]);}})['then'](respondWithStatusCode(_0x40fef3,null))['catch'](handleError(_0x40fef3,null));};exports['addAnswer']=function(_0x13437e,_0x2d4d64,_0x3854c2){if(_0x13437e['body']['id']){delete _0x13437e['body']['id'];}return db['SmsAccount']['find']({'where':{'id':_0x13437e[_0x5298('0x62')]['id']}})[_0x5298('0x3e')](handleEntityNotFound(_0x2d4d64,null))[_0x5298('0x3e')](function(_0x57070e){if(_0x57070e){_0x13437e['body'][_0x5298('0x70')]=_0x57070e['id'];return db[_0x5298('0x74')][_0x5298('0x75')](_0x13437e['body']);}})[_0x5298('0x3e')](respondWithResult(_0x2d4d64,null))[_0x5298('0x30')](handleError(_0x2d4d64,null));};exports[_0x5298('0x76')]=function(_0xfed253,_0x134781,_0x4bbf03){var _0xa513ef={'raw':![],'where':{}};var _0x50751f={};var _0x247a74={'count':0x0,'rows':[]};return db[_0x5298('0x48')][_0x5298('0x77')]({'where':{'id':_0xfed253[_0x5298('0x62')]['id']}})[_0x5298('0x3e')](handleEntityNotFound(_0x134781,null))[_0x5298('0x3e')](function(_0x54530f){if(_0x54530f){_0x50751f[_0x5298('0x4d')]=_[_0x5298('0x50')](db[_0x5298('0x74')][_0x5298('0x49')]);_0x50751f[_0x5298('0x4f')]=_['keys'](_0xfed253['query']);_0x50751f[_0x5298('0x51')]=_[_0x5298('0x52')](_0x50751f[_0x5298('0x4d')],_0x50751f[_0x5298('0x4f')]);_0xa513ef[_0x5298('0x53')]=_[_0x5298('0x52')](_0x50751f[_0x5298('0x4d')],qs[_0x5298('0x54')](_0xfed253[_0x5298('0x4f')]['fields']));_0xa513ef[_0x5298('0x53')]=_0xa513ef[_0x5298('0x53')]['length']?_0xa513ef[_0x5298('0x53')]:_0x50751f[_0x5298('0x4d')];if(!_0xfed253[_0x5298('0x4f')][_0x5298('0x78')](_0x5298('0x55'))){_0xa513ef[_0x5298('0x38')]=qs['limit'](_0xfed253[_0x5298('0x4f')][_0x5298('0x38')]);_0xa513ef[_0x5298('0x35')]=qs[_0x5298('0x35')](_0xfed253['query'][_0x5298('0x35')]);}_0xa513ef[_0x5298('0x56')]=qs[_0x5298('0x57')](_0xfed253['query'][_0x5298('0x57')]);_0xa513ef[_0x5298('0x58')]=qs[_0x5298('0x51')](_['pick'](_0xfed253['query'],_0x50751f[_0x5298('0x51')]));_0xa513ef[_0x5298('0x58')]['SmsAccountId']=_0x54530f['id'];if(_0xfed253[_0x5298('0x4f')][_0x5298('0x5a')]){_0xa513ef[_0x5298('0x58')]=_[_0x5298('0x5b')](_0xa513ef['where'],{'$or':_[_0x5298('0x4e')](_0xa513ef[_0x5298('0x53')],function(_0x51cbe8){var _0x292835={};_0x292835[_0x51cbe8]={'$like':'%'+_0xfed253[_0x5298('0x4f')][_0x5298('0x5a')]+'%'};return _0x292835;})});}_0xa513ef=_[_0x5298('0x5b')]({},_0xa513ef,_0xfed253['options']);return db['CannedAnswer'][_0x5298('0x37')]({'where':_0xa513ef['where']})[_0x5298('0x3e')](function(_0x177bcc){_0x247a74[_0x5298('0x37')]=_0x177bcc;if(_0xfed253[_0x5298('0x4f')][_0x5298('0x64')]){_0xa513ef[_0x5298('0x5e')]=[{'all':!![]}];}return db[_0x5298('0x74')][_0x5298('0x5f')](_0xa513ef);})[_0x5298('0x3e')](function(_0x58cd4c){_0x247a74[_0x5298('0x60')]=_0x58cd4c;return _0x247a74;});}})['then'](respondWithFilteredResult(_0x134781,_0xa513ef))[_0x5298('0x30')](handleError(_0x134781,null));};exports[_0x5298('0x79')]=function(_0x4acd7c,_0x255e18,_0x53dceb){return db[_0x5298('0x48')]['find']({'where':{'id':_0x4acd7c[_0x5298('0x62')]['id']}})['then'](handleEntityNotFound(_0x255e18,null))[_0x5298('0x3e')](function(_0x268ffb){if(_0x268ffb){return _0x268ffb[_0x5298('0x79')](_0x4acd7c['query']['ids']);}})[_0x5298('0x3e')](respondWithStatusCode(_0x255e18,null))[_0x5298('0x30')](handleError(_0x255e18,null));};exports[_0x5298('0x7a')]=function(_0x529803,_0x4ad0e8,_0x40e39a){var _0x270598={'channel':_0x5298('0x7b')};var _0x5ab86f=[];var _0x50db06=[];var _0x2671c7={};return db[_0x5298('0x48')][_0x5298('0x65')]({'where':{'id':_0x529803[_0x5298('0x62')]['id']},'include':[{'model':db[_0x5298('0x7c')],'as':'Applications'}]})[_0x5298('0x3e')](handleEntityNotFound(_0x4ad0e8,null))[_0x5298('0x3e')](function(_0x3a8f42){_0x270598['account']=_0x3a8f42;_0x270598['applications']=_[_0x5298('0x7d')](_0x3a8f42[_0x5298('0x7e')],['priority'],['asc']);if(_0x270598[_0x5298('0x7f')]['Applications']){delete _0x270598[_0x5298('0x7f')][_0x5298('0x7e')];}return db['CmContact'][_0x5298('0x6e')]();})[_0x5298('0x3e')](function(_0x4bbc45){if(!_0x4bbc45){throw new db[(_0x5298('0x80'))][(_0x5298('0x81'))](_0x5298('0x82'));}_0x5ab86f=_[_0x5298('0x83')](_[_0x5298('0x50')](_0x4bbc45),[_0x5298('0x84'),_0x5298('0x85')]);_0x50db06=_[_0x5298('0x83')](_[_0x5298('0x50')](_0x4bbc45),[_0x5298('0x84'),'updatedAt',_0x5298('0x86'),_0x5298('0x87')]);_0x270598[_0x5298('0x66')]={'mapKey':_0x5298('0x88')};if(_0x270598[_0x5298('0x7f')][_0x5298('0x4b')]){switch(_0x270598[_0x5298('0x7f')][_0x5298('0x4b')]){case _0x5298('0x89'):_0x270598[_0x5298('0x66')][_0x5298('0x8a')]=_0x529803['body']['From'];_0x270598[_0x5298('0x66')][_0x5298('0x66')]=_0x529803[_0x5298('0x66')]['Body'];_0x270598[_0x5298('0x66')][_0x5298('0x8b')]=_0x529803[_0x5298('0x66')][_0x5298('0x8c')];break;case'skebby':_0x270598[_0x5298('0x66')]['from']='+'+_0x529803[_0x5298('0x66')][_0x5298('0x8d')];_0x270598[_0x5298('0x66')][_0x5298('0x66')]=_0x529803[_0x5298('0x66')]['text'];break;case _0x5298('0x8e'):_0x270598[_0x5298('0x66')][_0x5298('0x8a')]=_0x529803[_0x5298('0x66')][_0x5298('0x8a')];_0x270598[_0x5298('0x66')][_0x5298('0x66')]=_0x529803[_0x5298('0x66')][_0x5298('0x2e')];break;case _0x5298('0x8f'):_0x270598[_0x5298('0x66')][_0x5298('0x8a')]=_0x529803['body'][_0x5298('0x8a')];_0x270598[_0x5298('0x66')]['body']=_0x529803[_0x5298('0x66')]['body'];_0x270598[_0x5298('0x66')]['messageId']=_0x529803[_0x5298('0x66')][_0x5298('0x90')];break;case'plivo':_0x270598[_0x5298('0x66')][_0x5298('0x8a')]=_0x529803['body'][_0x5298('0x91')];_0x270598[_0x5298('0x66')][_0x5298('0x66')]=_0x529803[_0x5298('0x66')][_0x5298('0x92')];_0x270598[_0x5298('0x66')][_0x5298('0x8b')]=_0x529803['body'][_0x5298('0x93')];break;case _0x5298('0x94'):_0x270598[_0x5298('0x66')][_0x5298('0x8a')]='+'+_0x529803[_0x5298('0x66')][_0x5298('0x95')][0x0][_0x5298('0x8a')];_0x270598[_0x5298('0x66')][_0x5298('0x66')]=_0x529803[_0x5298('0x66')][_0x5298('0x95')][0x0][_0x5298('0x96')];_0x270598[_0x5298('0x66')][_0x5298('0x8b')]=_0x529803[_0x5298('0x66')]['results'][0x0][_0x5298('0x8b')];break;case _0x5298('0x97'):_0x270598[_0x5298('0x66')][_0x5298('0x8a')]=_0x529803[_0x5298('0x66')][_0x5298('0x98')];_0x270598['body'][_0x5298('0x66')]=_0x529803[_0x5298('0x66')][_0x5298('0x99')][_0x5298('0x2e')];break;case'clickatell':_0x270598['body'][_0x5298('0x8a')]=_0x529803['body'][_0x5298('0x9a')];_0x270598[_0x5298('0x66')][_0x5298('0x66')]=_0x529803[_0x5298('0x66')][_0x5298('0x96')];_0x270598[_0x5298('0x66')][_0x5298('0x8b')]=_0x529803[_0x5298('0x66')][_0x5298('0x9b')];break;case _0x5298('0x9c'):_0x270598[_0x5298('0x66')][_0x5298('0x8b')]=_0x529803['body'][0x0]['message']['id'];_0x270598[_0x5298('0x66')][_0x5298('0x8a')]=_0x529803['body'][0x0][_0x5298('0x2e')][_0x5298('0x8a')];_0x270598[_0x5298('0x66')][_0x5298('0x66')]=_0x529803[_0x5298('0x66')][0x0][_0x5298('0x2e')][_0x5298('0x96')];break;case _0x5298('0x9d'):_0x270598[_0x5298('0x66')][_0x5298('0x8a')]=_0x529803[_0x5298('0x66')][_0x5298('0x8a')];_0x270598['body'][_0x5298('0x66')]=_0x529803[_0x5298('0x66')]['message'];_0x270598[_0x5298('0x66')]['messageId']=_0x529803[_0x5298('0x66')][_0x5298('0x9e')];break;}}if(_0x270598[_0x5298('0x66')]['id']){delete _0x270598[_0x5298('0x66')]['id'];}if(_[_0x5298('0x9f')](_0x270598[_0x5298('0x66')]['from'])){throw new db[(_0x5298('0x80'))][(_0x5298('0x81'))](_0x5298('0xa0'));}if(_[_0x5298('0x9f')](_0x270598[_0x5298('0x66')][_0x5298('0x66')])||_0x270598['body'][_0x5298('0x66')]===''){throw new db[(_0x5298('0x80'))][(_0x5298('0x81'))](_0x5298('0xa1'));}if(_['isNil'](_0x270598[_0x5298('0x66')]['mapKey'])){throw new db[(_0x5298('0x80'))][(_0x5298('0x81'))](_0x5298('0xa2')+_0x50db06);}if(!_['includes'](_0x50db06,_0x270598[_0x5298('0x66')]['mapKey'])){throw new db[(_0x5298('0x80'))][(_0x5298('0x81'))](_0x5298('0xa3')+_0x50db06);}_0x2671c7[_0x270598[_0x5298('0x66')][_0x5298('0xa4')]]=_0x270598[_0x5298('0x66')][_0x5298('0x8a')];return db['CmList'][_0x5298('0x65')]({'where':{'id':_0x270598[_0x5298('0x7f')][_0x5298('0x87')]},'include':[{'model':db[_0x5298('0xa5')],'as':'Contacts','where':_0x2671c7,'limit':0x1,'order':[[_0x5298('0x85'),_0x5298('0xa6')]]}]});})[_0x5298('0x3e')](handleEntityNotFound(_0x4ad0e8,null))[_0x5298('0x3e')](function(_0x101172){if(_0x101172){_0x270598[_0x5298('0xa7')]=_[_0x5298('0xa8')](_0x101172,[_0x5298('0xa9')]);if(_0x101172['Contacts'][_0x5298('0x63')]){return _0x101172[_0x5298('0xa9')][0x0];}var _0x3e56a7=_[_0x5298('0x1d')](_0x270598[_0x5298('0x66')],{'firstName':_0x270598[_0x5298('0x66')]['from'],'ListId':_0x101172['id']});_0x3e56a7[_0x270598[_0x5298('0x66')][_0x5298('0xa4')]]=_0x270598[_0x5298('0x66')][_0x5298('0x8a')];return db['CmContact']['create'](_0x3e56a7,{'fields':_0x5ab86f,'raw':!![]});}})[_0x5298('0x3e')](handleEntityNotFound(_0x4ad0e8,null))['then'](function(_0x195a16){if(_0x195a16){_0x270598[_0x5298('0xaa')]=_0x195a16;var _0x3ecf73={'ContactId':_0x195a16['id'],'phone':_0x270598[_0x5298('0x66')]['from'],'SmsAccountId':_0x529803[_0x5298('0x62')]['id']};var _0x1f2b28={'ContactId':_0x195a16['id'],'SmsAccountId':_0x529803[_0x5298('0x62')]['id'],'closed':![]};return db[_0x5298('0xab')][_0x5298('0x65')]({'where':_0x1f2b28})[_0x5298('0x3e')](function(_0x1b5a5b){if(_0x1b5a5b){return[_0x1b5a5b,![]];}return db['SmsInteraction'][_0x5298('0x75')](_0x3ecf73)[_0x5298('0x3e')](function(_0x1ab89d){return[_0x1ab89d,!![]];});});}})[_0x5298('0xac')](function(_0x28e2c7,_0x3f5878){_0x270598['interaction']=_0x28e2c7[_0x5298('0x40')]({'plain':!![]});_0x270598[_0x5298('0xad')]['created']=![];if(_0x3f5878){if(_0x270598['account'][_0x5298('0xae')]){_0x270598[_0x5298('0xaf')][_0x5298('0xb0')]({'id':0x0,'priority':_0x270598[_0x5298('0xaf')]['length']+0x1,'app':_0x5298('0xb1'),'appdata':_0x5298('0xb2'),'interval':_0x5298('0xb3')});}_0x270598[_0x5298('0xad')]['created']=!![];}return db[_0x5298('0xb4')][_0x5298('0x75')]({'phone':_0x270598['body'][_0x5298('0x8a')],'messageId':_0x270598['body']['messageId'],'body':_0x270598['body'][_0x5298('0x66')],'SmsAccountId':_0x529803[_0x5298('0x62')]['id'],'SmsInteractionId':_0x28e2c7['id'],'direction':'in','ContactId':_0x28e2c7[_0x5298('0xb5')],'AttachmentId':_0x270598[_0x5298('0x66')][_0x5298('0xb6')]});})[_0x5298('0x3e')](function(_0x462782){_0x270598['message']=_0x462782;if(_0x270598[_0x5298('0xad')][_0x5298('0xb7')]){return db[_0x5298('0xb8')]['find']({'attributes':['id',_0x5298('0x43')],'where':{'id':_0x270598[_0x5298('0xad')][_0x5298('0xb7')]}})[_0x5298('0x3e')](function(_0x26eef5){if(_0x26eef5){_0x270598[_0x5298('0xaf')]['unshift']({'id':0x0,'priority':0x0,'app':_0x5298('0xb9'),'appdata':_0x26eef5[_0x5298('0x43')]+','+(_0x270598[_0x5298('0x7f')][_0x5298('0xba')]||0xa),'interval':_0x5298('0xb3')});}return respondWithRpcPromise(_0x5298('0xbb'),_0x5298('0xbc'),_0x270598);});}return respondWithRpcPromise(_0x5298('0xbb'),_0x5298('0xbc'),_0x270598);})[_0x5298('0x3e')](function(_0x481977){if(_0x481977){var _0x523fd1=0xc8;var _0x2fcf92=_0x5298('0xbd');logger[_0x5298('0x26')](_0x5298('0x2a'),_0x2fcf92,_0x523fd1,_0x5298('0xbe'));logger[_0x5298('0x29')]('SmsAccount,\x20%s,\x20%s,\x20%s,\x20%s',_0x2fcf92,_0x523fd1,_0x5298('0xbe'),JSON[_0x5298('0x2b')](_0x481977));if(_0x270598[_0x5298('0x7f')]['type']===_0x5298('0x89')){return _0x4ad0e8['status'](_0x523fd1)[_0x5298('0x39')](_0x5298('0xbf'),'text/xml')[_0x5298('0x44')](_0x5298('0xc0'));}else{return _0x4ad0e8['status'](_0x523fd1)[_0x5298('0x34')](_0x481977);}}})['catch'](handleError(_0x4ad0e8,null));};exports[_0x5298('0xc1')]=function(_0x5be2ca,_0x6110bb){var _0x1867d4=_0x5be2ca[_0x5298('0x62')]['id'];var _0x36b764=_0x5be2ca[_0x5298('0x66')];var _0x4a3f83=0xc8;var _0x79437c=null;return db[_0x5298('0xc2')][_0x5298('0xc3')]({'isolationLevel':db[_0x5298('0xc2')][_0x5298('0xc4')][_0x5298('0xc5')][_0x5298('0xc6')]},function(_0x35aa03){return db[_0x5298('0x48')][_0x5298('0x77')]({'where':{'id':_0x1867d4},'transaction':_0x35aa03})['then'](function(_0x21dfcc){if(_0x21dfcc){return db[_0x5298('0x7c')][_0x5298('0x3f')]({'where':{'SmsAccountId':_0x1867d4},'transaction':_0x35aa03})['then'](function(){var _0xafae49=_[_0x5298('0x4e')](_0x36b764,function(_0x5455e7){_0x5455e7['SmsAccountId']=_0x1867d4;return _0x5455e7;});return db[_0x5298('0x7c')][_0x5298('0xc7')](_0xafae49,{'transaction':_0x35aa03});});}else{_0x4a3f83=0x194;_0x79437c=[];}});})[_0x5298('0x3e')](function(){if(_0x4a3f83!==0x194){return db[_0x5298('0x7c')][_0x5298('0xc8')]({'where':{'SmsAccountId':_0x1867d4},'order':_0x5298('0xc9')})[_0x5298('0x3e')](function(_0x15a259){_0x79437c=_0x15a259;});}})[_0x5298('0x30')](function(_0x227cfa){_0x4a3f83=0x1f4;logger[_0x5298('0x2c')](_0x227cfa[_0x5298('0x42')]);if(_0x227cfa[_0x5298('0x43')]){delete _0x227cfa['name'];}_0x79437c=_0x227cfa;})[_0x5298('0xca')](function(){if(_0x79437c===null){_0x6110bb['sendStatus'](_0x4a3f83);}else{if(_0x4a3f83===0x1f4){_0x6110bb[_0x5298('0x32')](_0x4a3f83)['send'](_0x79437c);}else{_0x6110bb['status'](_0x4a3f83)['json'](_0x79437c);}}});};exports[_0x5298('0xcb')]=function(_0x41508e,_0x7a4351,_0x28fee3){var _0x596d72={};var _0x957216={};var _0x382d89;var _0x3e1769;return db['SmsAccount'][_0x5298('0x77')]({'where':{'id':_0x41508e[_0x5298('0x62')]['id']}})[_0x5298('0x3e')](handleEntityNotFound(_0x7a4351,null))['then'](function(_0x510480){if(_0x510480){_0x382d89=_0x510480;_0x957216['model']=_[_0x5298('0x50')](db[_0x5298('0x7c')][_0x5298('0x49')]);_0x957216[_0x5298('0x4f')]=_[_0x5298('0x50')](_0x41508e[_0x5298('0x4f')]);_0x957216[_0x5298('0x51')]=_[_0x5298('0x52')](_0x957216[_0x5298('0x4d')],_0x957216['query']);_0x596d72['attributes']=_[_0x5298('0x52')](_0x957216[_0x5298('0x4d')],qs[_0x5298('0x54')](_0x41508e[_0x5298('0x4f')][_0x5298('0x54')]));_0x596d72[_0x5298('0x53')]=_0x596d72[_0x5298('0x53')][_0x5298('0x63')]?_0x596d72[_0x5298('0x53')]:_0x957216[_0x5298('0x4d')];_0x596d72['order']=qs['sort'](_0x41508e[_0x5298('0x4f')][_0x5298('0x57')]);_0x596d72[_0x5298('0x58')]=qs[_0x5298('0x51')](_[_0x5298('0x59')](_0x41508e[_0x5298('0x4f')],_0x957216['filters']));if(_0x41508e[_0x5298('0x4f')][_0x5298('0x5a')]){_0x596d72['where']=_[_0x5298('0x5b')](_0x596d72[_0x5298('0x58')],{'$or':_[_0x5298('0x4e')](_0x596d72['attributes'],function(_0x4908e6){var _0x381ea3={};_0x381ea3[_0x4908e6]={'$like':'%'+_0x41508e[_0x5298('0x4f')][_0x5298('0x5a')]+'%'};return _0x381ea3;})});}_0x596d72=_[_0x5298('0x5b')]({},_0x596d72,_0x41508e[_0x5298('0x5d')]);return _0x382d89['getApplications'](_0x596d72);}})['then'](function(_0x45f49b){if(_0x45f49b){_0x3e1769=_0x45f49b[_0x5298('0x63')];if(!_0x41508e['query'][_0x5298('0x78')](_0x5298('0x55'))){_0x596d72[_0x5298('0x38')]=qs['limit'](_0x41508e[_0x5298('0x4f')]['limit']);_0x596d72[_0x5298('0x35')]=qs['offset'](_0x41508e[_0x5298('0x4f')][_0x5298('0x35')]);}return _0x382d89['getApplications'](_0x596d72);}})[_0x5298('0x3e')](function(_0x3155fe){if(_0x3155fe){return _0x3155fe?{'count':_0x3e1769,'rows':_0x3155fe}:null;}})['then'](respondWithResult(_0x7a4351,null))[_0x5298('0x30')](handleError(_0x7a4351,null));};exports[_0x5298('0xcc')]=function(_0x2eb96e,_0x365e79,_0x508154){var _0x502209={'raw':![],'where':{}};var _0x29f22d={};var _0x4e247f={'count':0x0,'rows':[]};return db[_0x5298('0x48')][_0x5298('0x77')]({'where':{'id':_0x2eb96e[_0x5298('0x62')]['id']}})[_0x5298('0x3e')](handleEntityNotFound(_0x365e79,null))[_0x5298('0x3e')](function(_0x3296d4){if(_0x3296d4){_0x29f22d[_0x5298('0x4d')]=_['keys'](db[_0x5298('0xab')][_0x5298('0x49')]);_0x29f22d['query']=_[_0x5298('0x50')](_0x2eb96e[_0x5298('0x4f')]);_0x29f22d[_0x5298('0x51')]=_[_0x5298('0x52')](_0x29f22d[_0x5298('0x4d')],_0x29f22d[_0x5298('0x4f')]);_0x502209[_0x5298('0x53')]=_[_0x5298('0x52')](_0x29f22d[_0x5298('0x4d')],qs['fields'](_0x2eb96e[_0x5298('0x4f')][_0x5298('0x54')]));_0x502209['attributes']=_0x502209[_0x5298('0x53')][_0x5298('0x63')]?_0x502209[_0x5298('0x53')]:_0x29f22d[_0x5298('0x4d')];if(!_0x2eb96e[_0x5298('0x4f')]['hasOwnProperty'](_0x5298('0x55'))){_0x502209['limit']=qs[_0x5298('0x38')](_0x2eb96e[_0x5298('0x4f')][_0x5298('0x38')]);_0x502209['offset']=qs['offset'](_0x2eb96e['query'][_0x5298('0x35')]);}_0x502209[_0x5298('0x56')]=qs[_0x5298('0x57')](_0x2eb96e[_0x5298('0x4f')][_0x5298('0x57')]);_0x502209['where']=qs[_0x5298('0x51')](_[_0x5298('0x59')](_0x2eb96e[_0x5298('0x4f')],_0x29f22d[_0x5298('0x51')]));_0x502209[_0x5298('0x58')][_0x5298('0x70')]=_0x3296d4['id'];if(_0x2eb96e['query'][_0x5298('0x5a')]){_0x502209[_0x5298('0x58')]=_['merge'](_0x502209[_0x5298('0x58')],{'$or':_['map'](_0x502209[_0x5298('0x53')],function(_0x51cb71){var _0x4a7be0={};_0x4a7be0[_0x51cb71]={'$like':'%'+_0x2eb96e[_0x5298('0x4f')][_0x5298('0x5a')]+'%'};return _0x4a7be0;})});}_0x502209=_[_0x5298('0x5b')]({},_0x502209,_0x2eb96e[_0x5298('0x5d')]);return db[_0x5298('0xab')][_0x5298('0x37')]({'where':_0x502209[_0x5298('0x58')]})['then'](function(_0x4d17e2){_0x4e247f[_0x5298('0x37')]=_0x4d17e2;if(_0x2eb96e['query'][_0x5298('0x64')]){_0x502209[_0x5298('0x5e')]=[{'model':db['CmContact'],'as':_0x5298('0xcd'),'required':![]},{'model':db[_0x5298('0xb8')],'as':_0x5298('0xce'),'attributes':[_0x5298('0x43'),_0x5298('0xcf'),_0x5298('0xd0')],'required':![]},{'model':db[_0x5298('0xd1')],'as':_0x5298('0xd2'),'attributes':['id',_0x5298('0x43'),'color'],'where':_0x2eb96e[_0x5298('0x4f')][_0x5298('0xd3')]?{'id':_0x2eb96e['query'][_0x5298('0xd3')]}:undefined,'required':_0x2eb96e[_0x5298('0x4f')]['tag']?!![]:![]}];}return db['SmsInteraction']['findAll'](_0x502209);})[_0x5298('0x3e')](function(_0x4cd824){_0x4e247f[_0x5298('0x60')]=_0x4cd824;return _0x4e247f;});}})[_0x5298('0x3e')](respondWithFilteredResult(_0x365e79,_0x502209))[_0x5298('0x30')](handleError(_0x365e79,null));};exports['send']=function(_0x568365,_0x55c4c0,_0x41cab1){var _0x1db01e,_0x3bef82,_0x2ba65b;if(_[_0x5298('0x9f')](_0x568365[_0x5298('0x66')][_0x5298('0x66')])||_0x568365['body'][_0x5298('0x66')]===''){throw new db[(_0x5298('0x80'))][(_0x5298('0x81'))]('body\x20is\x20mandatory\x20and\x20not\x20empty');}if(_['isNil'](_0x568365['body']['to'])){throw new db[(_0x5298('0x80'))]['ValidationError'](_0x5298('0xd4'));}_0x1db01e=_0x568365[_0x5298('0x66')]['to'];return db[_0x5298('0x48')]['find']({'where':{'id':_0x568365[_0x5298('0x62')]['id']},'include':[{'model':db[_0x5298('0xd5')],'as':_0x5298('0xd6'),'include':[{'model':db[_0x5298('0xa5')],'as':_0x5298('0xa9'),'where':{'mobile':_0x1db01e},'limit':0x1,'order':[[_0x5298('0x85'),_0x5298('0xa6')]]}]}]})[_0x5298('0x3e')](handleEntityNotFound(_0x55c4c0,null))[_0x5298('0x3e')](function(_0x46b5cd){if(_0x46b5cd&&_0x46b5cd[_0x5298('0xd6')]){_0x3bef82=_0x46b5cd[_0x5298('0x40')]({'plain':!![]});if(_0x3bef82['List']&&_0x3bef82[_0x5298('0xd6')][_0x5298('0xa9')][_0x5298('0x63')]){return _0x3bef82['List'][_0x5298('0xa9')][0x0];}return db[_0x5298('0xa5')][_0x5298('0x75')](_[_0x5298('0x1d')](_0x568365[_0x5298('0x66')],{'firstName':_0x1db01e,'mobile':_0x1db01e,'phone':_0x1db01e,'ListId':_0x3bef82[_0x5298('0x87')]}));}})[_0x5298('0x3e')](handleEntityNotFound(_0x55c4c0,null))[_0x5298('0x3e')](function(_0xd68f2c){if(_0xd68f2c){_0x2ba65b=_0xd68f2c;return db[_0x5298('0xab')]['find']({'where':{'ContactId':_0x2ba65b['id'],'closed':![],'SmsAccountId':_0x3bef82['id']}})[_0x5298('0x3e')](function(_0x30ad1e){if(_0x30ad1e){return[_0x30ad1e,![]];}return db['SmsInteraction'][_0x5298('0x75')]({'UserId':_0x568365[_0x5298('0x67')]['id'],'ContactId':_0x2ba65b['id'],'SmsAccountId':_0x3bef82['id'],'phone':_0x1db01e,'firstMsgDirection':'out','Messages':[_[_0x5298('0x5b')](_0x568365[_0x5298('0x66')],{'read':![],'body':_0x568365[_0x5298('0x66')][_0x5298('0x66')],'phone':_0x1db01e,'SmsAccountId':_0x3bef82['id'],'UserId':_0x568365[_0x5298('0x67')]['id'],'ContactId':_0x2ba65b['id']})]},{'include':[{'model':db[_0x5298('0xb4')],'as':_0x5298('0xd7')}]})[_0x5298('0x3e')](function(_0x382eff){return[_0x382eff,!![]];});});}})[_0x5298('0xac')](function(_0x393b49,_0xcb5bc7){if(_0xcb5bc7){return _0x393b49;}return db[_0x5298('0xb4')][_0x5298('0x75')](_[_0x5298('0x5b')](_0x568365[_0x5298('0x66')],{'read':![],'body':_0x568365[_0x5298('0x66')][_0x5298('0x66')],'phone':_0x1db01e,'SmsAccountId':_0x3bef82['id'],'SmsInteractionId':_0x393b49['id'],'UserId':_0x568365[_0x5298('0x67')]['id'],'ContactId':_0x2ba65b['id']}))[_0x5298('0x3e')](function(_0x1afd0f){_0x393b49[_0x5298('0xd8')]['Messages']=[];_0x393b49['dataValues'][_0x5298('0xd7')][_0x5298('0xb0')](_0x1afd0f['dataValues']);return _0x393b49;});})[_0x5298('0x3e')](respondWithResult(_0x55c4c0,null))[_0x5298('0x30')](handleError(_0x55c4c0,null));};exports['status']=function(_0x14195d,_0x5bc550,_0x582a85){if(_0x14195d[_0x5298('0x66')]['id']){delete _0x14195d[_0x5298('0x66')]['id'];}var _0x346d77,_0xe852a,_0x5406dd;return db['SmsAccount'][_0x5298('0x65')]({'where':{'id':_0x14195d['params']['id']}})[_0x5298('0x3e')](handleEntityNotFound(_0x5bc550,null))[_0x5298('0x3e')](function(_0x46c71b){if(_0x46c71b){_0x5406dd=_0x46c71b;logger[_0x5298('0x29')](_0x5298('0x2a'),_0x5298('0x32'),'received\x20delivery\x20report\x20from',_0x46c71b[_0x5298('0x4b')],util[_0x5298('0xd9')](_0x14195d[_0x5298('0x66')],{'showHidden':![],'depth':null}));switch(_0x46c71b[_0x5298('0x4b')]){case _0x5298('0xda'):if(_0x14195d['body'][_0x5298('0xdb')]&&_0x14195d['body'][_0x5298('0x32')]){_0xe852a=_0x14195d[_0x5298('0x66')][_0x5298('0x32')];return db['SmsMessage'][_0x5298('0x65')]({'where':{'messageId':_0x14195d[_0x5298('0x66')][_0x5298('0xdb')]}});}break;case _0x5298('0x8e'):if(_0x14195d[_0x5298('0x66')]['requestid']&&_0x14195d['body'][_0x5298('0xdc')]){_0xe852a=_0x14195d[_0x5298('0x66')][_0x5298('0xdc')];return db[_0x5298('0xb4')][_0x5298('0x65')]({'where':{'messageId':_0x14195d['body']['requestid']}});}break;case _0x5298('0x8f'):if(_0x14195d[_0x5298('0x66')][_0x5298('0x90')]&&_0x14195d[_0x5298('0x66')][_0x5298('0xdd')]){_0xe852a=_0x14195d[_0x5298('0x66')][_0x5298('0xdd')];return db[_0x5298('0xb4')][_0x5298('0x65')]({'where':{'messageId':_0x14195d[_0x5298('0x66')][_0x5298('0x90')]}});}break;case _0x5298('0x94'):var _0x325e29=_0x14195d[_0x5298('0x66')][_0x5298('0x95')][0x0];if(_0x325e29['messageId']&&_0x325e29[_0x5298('0x32')]['groupName']===_0x5298('0xde')){_0xe852a=_0x325e29[_0x5298('0x32')][_0x5298('0xdf')];return db[_0x5298('0xb4')][_0x5298('0x65')]({'where':{'messageId':_0x325e29[_0x5298('0x8b')]}});}break;case'clickatell':if(_0x14195d['body']['messageId']&&_0x14195d[_0x5298('0x66')][_0x5298('0x32')]){_0xe852a=_0x14195d[_0x5298('0x66')][_0x5298('0x32')];return db[_0x5298('0xb4')][_0x5298('0x65')]({'where':{'messageId':_0x14195d[_0x5298('0x66')]['messageId']}});}break;case _0x5298('0x9c'):if(_0x14195d[_0x5298('0x66')][0x0][_0x5298('0x2e')]['id']){_0xe852a=_0x14195d[_0x5298('0x66')][0x0]['type'];return db[_0x5298('0xb4')]['find']({'where':{'messageId':_0x14195d[_0x5298('0x66')][0x0][_0x5298('0x2e')]['id']}});}break;case _0x5298('0x9d'):if(_0x14195d[_0x5298('0x66')]['redif']&&_0x14195d[_0x5298('0x66')][_0x5298('0x32')]){_0xe852a=_0x14195d[_0x5298('0x66')]['status'];return db[_0x5298('0xb4')][_0x5298('0x65')]({'where':{'messageId':_0x14195d['body'][_0x5298('0xe0')]}});}break;}}})[_0x5298('0x3e')](handleEntityNotFound(_0x5bc550,null))[_0x5298('0x3e')](function(_0x2a0c85){if(_0x2a0c85){_0x346d77=_0x2a0c85;switch(_0x5406dd['type']){case'skebby':if(_0xe852a===_0x5298('0xde')){return _0x346d77['update']({'read':!![]});}else{logger[_0x5298('0x2c')](_0x5298('0x2a'),'status',_0x5298('0xda'),util[_0x5298('0xd9')](_0x14195d['body'],{'showHidden':![],'depth':null}));}break;case _0x5298('0x8e'):if(_0xe852a==='1'){return _0x346d77['update']({'read':!![]});}else{logger[_0x5298('0x2c')](_0x5298('0x2a'),_0x5298('0x32'),_0x5298('0xda'),util[_0x5298('0xd9')](_0x14195d['body'],{'showHidden':![],'depth':null}));}break;case _0x5298('0x8f'):if(!_0x14195d[_0x5298('0x66')]['error_code']&&_0xe852a>=0xc8&&_0xe852a<=0xce){return _0x346d77[_0x5298('0x3d')]({'read':!![]});}else{logger['error']('SmsAccount,\x20%s,\x20%s,\x20%s',_0x5298('0x32'),'clicksend',util['inspect'](_0x14195d[_0x5298('0x66')],{'showHidden':![],'depth':null}));}break;case _0x5298('0x94'):var _0x5e07de=_0x14195d[_0x5298('0x66')][_0x5298('0x95')][0x0];if(_0x5e07de['status'][_0x5298('0xdf')]==='DELIVERED'){return _0x346d77['update']({'read':!![]});}else{logger['error'](_0x5298('0x2a'),'status','infobip',util[_0x5298('0xd9')](_0x14195d[_0x5298('0x66')],{'showHidden':![],'depth':null}));}break;case _0x5298('0xe1'):if(_0xe852a==_0x5298('0xe2')||_0xe852a=='RECEIVED_BY_RECIPIENT'){return _0x346d77[_0x5298('0x3d')]({'read':!![]});}else{logger[_0x5298('0x2c')](_0x5298('0x2a'),'status',_0x5298('0xe1'),util[_0x5298('0xd9')](_0x14195d['body'],{'showHidden':![],'depth':null}));}break;case _0x5298('0x9c'):if(_0xe852a=='message-delivered'){return _0x346d77['update']({'read':!![]});}else{logger[_0x5298('0x2c')](_0x5298('0x2a'),'status',_0x5298('0x9c'),util[_0x5298('0xd9')](_0x14195d[_0x5298('0x66')],{'showHidden':![],'depth':null}));}break;case _0x5298('0x9d'):if(_0xe852a===_0x5298('0xe3')||_0xe852a==='ACCEPTD'){return _0x346d77[_0x5298('0x3d')]({'read':!![]});}else{logger['error'](_0x5298('0x2a'),_0x5298('0x32'),'intelepeer',util['inspect'](_0x14195d[_0x5298('0x66')],{'showHidden':![],'depth':null}));}break;}return _0x346d77;}})[_0x5298('0x3e')](respondWithResult(_0x5bc550,null))[_0x5298('0x30')](handleError(_0x5bc550,null));};exports[_0x5298('0xe4')]=function(_0x3a16f8,_0x5f3cbb,_0x3c7fcd){var _0x4e59a6,_0x1bccae,_0xcde756;return db[_0x5298('0x48')][_0x5298('0x65')]({'where':{'id':_0x3a16f8[_0x5298('0x62')]['id']}})[_0x5298('0x3e')](handleEntityNotFound(_0x5f3cbb,null))[_0x5298('0x3e')](function(_0xa5969e){if(_0xa5969e){_0xcde756=_0xa5969e;logger[_0x5298('0x29')]('SmsAccount,\x20%s,\x20%s,\x20%s',_0x5298('0x32'),_0x5298('0xe5'),_0xa5969e['type'],util[_0x5298('0xd9')](_0x3a16f8[_0x5298('0x4f')],{'showHidden':![],'depth':null}));switch(_0xa5969e['type']){case _0x5298('0x97'):if(_0x3a16f8[_0x5298('0x4f')]['message-id']&&_0x3a16f8[_0x5298('0x4f')][_0x5298('0xe6')]){_0x1bccae=_0x3a16f8[_0x5298('0x4f')][_0x5298('0xe6')];return db['SmsMessage']['find']({'where':{'messageId':_0x3a16f8[_0x5298('0x4f')][_0x5298('0xe7')]}});}break;}}})[_0x5298('0x3e')](handleEntityNotFound(_0x5f3cbb,null))[_0x5298('0x3e')](function(_0x5109e6){if(_0x5109e6){_0x4e59a6=_0x5109e6;switch(_0xcde756['type']){case'csc':if(_0x1bccae==='2'||_0x1bccae==='6'){return _0x4e59a6[_0x5298('0x3d')]({'read':!![]});}else{logger[_0x5298('0x2c')](_0x5298('0x2a'),'status',_0x5298('0x97'),util[_0x5298('0xd9')](_0x3a16f8[_0x5298('0x4f')],{'showHidden':![],'depth':null}));};break;}return _0x4e59a6;}})[_0x5298('0x3e')](respondWithResult(_0x5f3cbb,null))[_0x5298('0x30')](handleError(_0x5f3cbb,null));};exports[_0x5298('0xe8')]=function(_0x15d75f,_0x12c7ce,_0x526aba){return db[_0x5298('0x48')][_0x5298('0x65')]({'where':{'id':_0x15d75f[_0x5298('0x62')]['id']}})['then'](handleEntityNotFound(_0x12c7ce,null))[_0x5298('0x3e')](function(_0x32ea83){if(_0x32ea83){return _0x32ea83[_0x5298('0xe8')](_0x15d75f['body'][_0x5298('0x73')],_[_0x5298('0xa8')](_0x15d75f['body'],['ids','id'])||{})[_0x5298('0xac')](function(_0x3ee183){for(var _0x5d66bf=0x0;_0x5d66bf<_0x15d75f[_0x5298('0x66')][_0x5298('0x73')]['length'];_0x5d66bf+=0x1){socket['emit'](_0x5298('0xe9'),{'UserId':Number(_0x15d75f[_0x5298('0x66')][_0x5298('0x73')][_0x5d66bf]),'SmsAccountId':Number(_0x15d75f['params']['id'])});}return _0x3ee183;});}})[_0x5298('0x3e')](respondWithResult(_0x12c7ce,null))['catch'](handleError(_0x12c7ce,null));};exports[_0x5298('0xea')]=function(_0x11c49b,_0x579dbd,_0x5692cd){return db['SmsAccount'][_0x5298('0x65')]({'where':{'id':_0x11c49b[_0x5298('0x62')]['id']}})[_0x5298('0x3e')](handleEntityNotFound(_0x579dbd,null))[_0x5298('0x3e')](function(_0x4a6ef8){if(_0x4a6ef8){return _0x4a6ef8[_0x5298('0xea')](_0x11c49b[_0x5298('0x4f')][_0x5298('0x73')])[_0x5298('0x3e')](function(){if(_[_0x5298('0xeb')](_0x11c49b['query'][_0x5298('0x73')])){for(var _0x529bd1=0x0;_0x529bd1<_0x11c49b[_0x5298('0x4f')][_0x5298('0x73')]['length'];_0x529bd1+=0x1){socket[_0x5298('0xec')](_0x5298('0xed'),{'UserId':Number(_0x11c49b[_0x5298('0x4f')][_0x5298('0x73')][_0x529bd1]),'SmsAccountId':Number(_0x11c49b[_0x5298('0x62')]['id'])});}}else{socket['emit']('userSmsAccount:remove',{'UserId':Number(_0x11c49b[_0x5298('0x4f')][_0x5298('0x73')]),'SmsAccountId':Number(_0x11c49b[_0x5298('0x62')]['id'])});}});}})[_0x5298('0x3e')](respondWithStatusCode(_0x579dbd,null))[_0x5298('0x30')](handleError(_0x579dbd,null));};exports[_0x5298('0xee')]=function(_0x5cc6de,_0x166952,_0x16d064){var _0x129f3d={};var _0x59d0be={};var _0x23d4bf;var _0x22ba91;return db['SmsAccount']['findOne']({'where':{'id':_0x5cc6de[_0x5298('0x62')]['id']}})[_0x5298('0x3e')](handleEntityNotFound(_0x166952,null))['then'](function(_0x267b7b){if(_0x267b7b){_0x23d4bf=_0x267b7b;_0x59d0be[_0x5298('0x4d')]=_['keys'](db['User']['rawAttributes']);_0x59d0be[_0x5298('0x4f')]=_['keys'](_0x5cc6de[_0x5298('0x4f')]);_0x59d0be[_0x5298('0x51')]=_[_0x5298('0x52')](_0x59d0be[_0x5298('0x4d')],_0x59d0be[_0x5298('0x4f')]);_0x129f3d[_0x5298('0x53')]=_[_0x5298('0x52')](_0x59d0be[_0x5298('0x4d')],qs['fields'](_0x5cc6de[_0x5298('0x4f')]['fields']));_0x129f3d[_0x5298('0x53')]=_0x129f3d[_0x5298('0x53')][_0x5298('0x63')]?_0x129f3d[_0x5298('0x53')]:_0x59d0be[_0x5298('0x4d')];_0x129f3d[_0x5298('0x56')]=qs[_0x5298('0x57')](_0x5cc6de[_0x5298('0x4f')][_0x5298('0x57')]);_0x129f3d['where']=qs[_0x5298('0x51')](_[_0x5298('0x59')](_0x5cc6de[_0x5298('0x4f')],_0x59d0be[_0x5298('0x51')]));if(_0x5cc6de['query'][_0x5298('0x5a')]){_0x129f3d[_0x5298('0x58')]=_[_0x5298('0x5b')](_0x129f3d[_0x5298('0x58')],{'$or':_[_0x5298('0x4e')](_0x129f3d[_0x5298('0x53')],function(_0x943d9f){var _0x28875e={};_0x28875e[_0x943d9f]={'$like':'%'+_0x5cc6de[_0x5298('0x4f')]['filter']+'%'};return _0x28875e;})});}_0x129f3d=_[_0x5298('0x5b')]({},_0x129f3d,_0x5cc6de[_0x5298('0x5d')]);return _0x23d4bf['getAgents'](_0x129f3d);}})[_0x5298('0x3e')](function(_0x2f25e9){if(_0x2f25e9){_0x22ba91=_0x2f25e9[_0x5298('0x63')];if(!_0x5cc6de[_0x5298('0x4f')][_0x5298('0x78')](_0x5298('0x55'))){_0x129f3d[_0x5298('0x38')]=qs[_0x5298('0x38')](_0x5cc6de[_0x5298('0x4f')][_0x5298('0x38')]);_0x129f3d['offset']=qs[_0x5298('0x35')](_0x5cc6de[_0x5298('0x4f')]['offset']);}return _0x23d4bf[_0x5298('0xee')](_0x129f3d);}})['then'](function(_0x19ad7a){if(_0x19ad7a){return _0x19ad7a?{'count':_0x22ba91,'rows':_0x19ad7a}:null;}})[_0x5298('0x3e')](respondWithResult(_0x166952,null))[_0x5298('0x30')](handleError(_0x166952,null));};