41020565bed6b3d9cdea9e0aa8126c2695a258f6
[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 _0x49a3=['fieldName','key','query','filters','intersection','model','attributes','fields','hasOwnProperty','nolimit','order','sort','where','pick','merge','type','VIRTUAL','filter','options','includeAll','include','findAll','rows','keys','length','find','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','params','describe','addDisposition','SmsAccountId','Disposition','getDispositions','findOne','map','addAnswer','CannedAnswer','getAnswers','notify','sms','SmsApplication','Applications','account','applications','orderBy','priority','asc','CmContact','ValidationError','no\x20available\x20attributes','difference','updatedAt','createdAt','CompanyId','ListId','mobile','twilio','from','Body','skebby','sender','text','connectel','clicksend','messageId','message_id','Text','results','csc','originatingAddress','segmentedMessage','clickatell','fromNumber','replyMessageId','bandwidth','intelepeer','refid','isNil','Sequelize','from\x20is\x20mandatory','body\x20is\x20mandatory\x20and\x20not\x20empty','mapKey','mapKey\x20is\x20mandatory,\x20please\x20use\x20one\x20of\x20these:\x20','includes','CmList','DESC','list','omit','Contacts','contact','SmsInteraction','spread','interaction','created','autoclose','push','close','unmanaged','*,*,*,*','SmsMessage','ContactId','AttachmentId','User','UserId','unshift','waitForTheAssignedAgent','Start','startRouting','receiveMessage','entity\x20found','SmsAccount,\x20%s,\x20%s,\x20%s,\x20%s','Content-Type','<?xml\x20version=\x221.0\x22\x20encoding=\x22UTF-8\x22?>\x0a<Response></Response>','transaction','findAndCountAll','getApplications','getInteractions','Contact','Owner','fullname','internal','Tags','color','List','Messages','dataValues','debug','received\x20delivery\x20report\x20from','inspect','skebby_dispatch_id','requestid','statusInt','status_code','infobip','groupName','DELIVERED','redif','error_code','DELIVERED_TO_GATEWAY','RECEIVED_BY_RECIPIENT','message-delivered','DELIVRD','ACCEPTD','statusGet','state','message-id','addAgents','ids','emit','removeAgents','userSmsAccount:remove','getAgents','eml-format','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','sox','squel','crypto','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../mysqldb','defaults','redis','localhost','socket.io-emitter','register','jayson/promise','client','request','SmsAccount,\x20%s,\x20%s','request\x20sent','SmsAccount,\x20%s,\x20%s,\x20%s','stringify','error','code','message','info','result','catch','sendStatus','status','end','json','offset','undefined','limit','count','set','Content-Range','apply','reject','update','then','destroy','get','SmsAccounts','UserProfileResource','name','send','index','Pause','mandatoryDispositionPause','SmsAccount','rawAttributes'];(function(_0x16e248,_0x3acc80){var _0x107821=function(_0x4e9cdc){while(--_0x4e9cdc){_0x16e248['push'](_0x16e248['shift']());}};_0x107821(++_0x3acc80);}(_0x49a3,0x9f));var _0x349a=function(_0x18b210,_0x3e2ce8){_0x18b210=_0x18b210-0x0;var _0x15f6df=_0x49a3[_0x18b210];return _0x15f6df;};'use strict';var emlformat=require(_0x349a('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x349a('0x1'));var jsonpatch=require(_0x349a('0x2'));var rp=require(_0x349a('0x3'));var moment=require(_0x349a('0x4'));var BPromise=require(_0x349a('0x5'));var Mustache=require(_0x349a('0x6'));var util=require(_0x349a('0x7'));var path=require('path');var sox=require(_0x349a('0x8'));var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require(_0x349a('0x9'));var crypto=require(_0x349a('0xa'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0x349a('0xb'));var querystring=require(_0x349a('0xc'));var Papa=require(_0x349a('0xd'));var Redis=require(_0x349a('0xe'));var authService=require(_0x349a('0xf'));var qs=require('../../components/parsers/qs');var as=require(_0x349a('0x10'));var hardwareService=require(_0x349a('0x11'));var logger=require(_0x349a('0x12'))('api');var utils=require(_0x349a('0x13'));var config=require(_0x349a('0x14'));var licenseUtil=require('../../config/license/util');var db=require(_0x349a('0x15'))['db'];config['redis']=_[_0x349a('0x16')](config[_0x349a('0x17')],{'host':_0x349a('0x18'),'port':0x18eb});var socket=require(_0x349a('0x19'))(new Redis(config['redis']));require('./smsAccount.socket')[_0x349a('0x1a')](socket);var jayson=require(_0x349a('0x1b'));var client=jayson[_0x349a('0x1c')]['http']({'port':0x232c});function respondWithRpcPromise(_0x4aa183,_0x16051b,_0x101c73,_0x19e364){return new BPromise(function(_0x2287e7,_0x2b6d53){var _0x370383=_0x19e364||client;return _0x370383[_0x349a('0x1d')](_0x4aa183,_0x101c73)['then'](function(_0x524848){logger['info'](_0x349a('0x1e'),_0x16051b,_0x349a('0x1f'));logger['debug'](_0x349a('0x20'),_0x16051b,_0x349a('0x1f'),JSON[_0x349a('0x21')](_0x524848));if(_0x524848[_0x349a('0x22')]){if(_0x524848['error'][_0x349a('0x23')]===0x1f4){logger[_0x349a('0x22')]('SmsAccount,\x20%s,\x20%s',_0x16051b,_0x524848[_0x349a('0x22')][_0x349a('0x24')]);return _0x2b6d53(_0x524848['error'][_0x349a('0x24')]);}logger['error'](_0x349a('0x1e'),_0x16051b,_0x524848['error'][_0x349a('0x24')]);return _0x2287e7(_0x524848[_0x349a('0x22')][_0x349a('0x24')]);}else{logger[_0x349a('0x25')](_0x349a('0x1e'),_0x16051b,_0x349a('0x1f'));_0x2287e7(_0x524848[_0x349a('0x26')][_0x349a('0x24')]);}})[_0x349a('0x27')](function(_0x3546ee){logger[_0x349a('0x22')](_0x349a('0x1e'),_0x16051b,_0x3546ee);_0x2b6d53(_0x3546ee);});});}function respondWithStatusCode(_0x2530cb,_0x138a7d){_0x138a7d=_0x138a7d||0xcc;return function(_0x7c6113){if(_0x7c6113){return _0x2530cb[_0x349a('0x28')](_0x138a7d);}return _0x2530cb[_0x349a('0x29')](_0x138a7d)[_0x349a('0x2a')]();};}function respondWithResult(_0x5f4fa7,_0x5a9754){_0x5a9754=_0x5a9754||0xc8;return function(_0x26958c){if(_0x26958c){return _0x5f4fa7[_0x349a('0x29')](_0x5a9754)[_0x349a('0x2b')](_0x26958c);}};}function respondWithFilteredResult(_0x1ae651,_0x3ad45c){return function(_0xa013ac){if(_0xa013ac){var _0x44b442=typeof _0x3ad45c[_0x349a('0x2c')]===_0x349a('0x2d')&&typeof _0x3ad45c[_0x349a('0x2e')]===_0x349a('0x2d');var _0x4ef2a9=_0xa013ac['count'];var _0x425e98=_0x44b442?0x0:_0x3ad45c[_0x349a('0x2c')];var _0xeae41c=_0x44b442?_0xa013ac[_0x349a('0x2f')]:_0x3ad45c[_0x349a('0x2c')]+_0x3ad45c[_0x349a('0x2e')];var _0x67fc27;if(_0xeae41c>=_0x4ef2a9){_0xeae41c=_0x4ef2a9;_0x67fc27=0xc8;}else{_0x67fc27=0xce;}_0x1ae651['status'](_0x67fc27);return _0x1ae651[_0x349a('0x30')](_0x349a('0x31'),_0x425e98+'-'+_0xeae41c+'/'+_0x4ef2a9)['json'](_0xa013ac);}return null;};}function patchUpdates(_0x3bf45f){return function(_0x180d2d){try{jsonpatch[_0x349a('0x32')](_0x180d2d,_0x3bf45f,!![]);}catch(_0x214ced){return BPromise[_0x349a('0x33')](_0x214ced);}return _0x180d2d['save']();};}function saveUpdates(_0x33b75e,_0x2a783e){return function(_0x1e781d){if(_0x1e781d){return _0x1e781d[_0x349a('0x34')](_0x33b75e)[_0x349a('0x35')](function(_0x5b7823){return _0x5b7823;});}return null;};}function removeEntity(_0xf2c540,_0x11ab1d){return function(_0x24a3cb){if(_0x24a3cb){return _0x24a3cb[_0x349a('0x36')]()['then'](function(){var _0x933215=_0x24a3cb[_0x349a('0x37')]({'plain':!![]});var _0x2c9a8f=_0x349a('0x38');return db[_0x349a('0x39')][_0x349a('0x36')]({'where':{'type':_0x2c9a8f,'resourceId':_0x933215['id']}})[_0x349a('0x35')](function(){return _0x24a3cb;});})['then'](function(){_0xf2c540[_0x349a('0x29')](0xcc)[_0x349a('0x2a')]();});}};}function handleEntityNotFound(_0x2cc160,_0xe373ef){return function(_0x5cc3a4){if(!_0x5cc3a4){_0x2cc160[_0x349a('0x28')](0x194);}return _0x5cc3a4;};}function handleError(_0x31c54d,_0x5500e2){_0x5500e2=_0x5500e2||0x1f4;return function(_0x47fd12){logger[_0x349a('0x22')](_0x47fd12['stack']);if(_0x47fd12[_0x349a('0x3a')]){delete _0x47fd12[_0x349a('0x3a')];}_0x31c54d[_0x349a('0x29')](_0x5500e2)[_0x349a('0x3b')](_0x47fd12);};}exports[_0x349a('0x3c')]=function(_0x5a10ae,_0x4d9d61){var _0x4f9f9b={'include':[{'model':db[_0x349a('0x3d')],'as':_0x349a('0x3e')}]},_0x2e7a1c={},_0x2c697e={'count':0x0,'rows':[]};var _0x268717=_['map'](db[_0x349a('0x3f')][_0x349a('0x40')],function(_0x517c66){return{'name':_0x517c66[_0x349a('0x41')],'type':_0x517c66['type'][_0x349a('0x42')]};});_0x2e7a1c['model']=_['map'](_0x268717,_0x349a('0x3a'));_0x2e7a1c[_0x349a('0x43')]=_['keys'](_0x5a10ae[_0x349a('0x43')]);_0x2e7a1c[_0x349a('0x44')]=_[_0x349a('0x45')](_0x2e7a1c[_0x349a('0x46')],_0x2e7a1c[_0x349a('0x43')]);_0x4f9f9b[_0x349a('0x47')]=_['intersection'](_0x2e7a1c[_0x349a('0x46')],qs[_0x349a('0x48')](_0x5a10ae[_0x349a('0x43')][_0x349a('0x48')]));_0x4f9f9b[_0x349a('0x47')]=_0x4f9f9b['attributes']['length']?_0x4f9f9b[_0x349a('0x47')]:_0x2e7a1c[_0x349a('0x46')];if(!_0x5a10ae[_0x349a('0x43')][_0x349a('0x49')](_0x349a('0x4a'))){_0x4f9f9b['limit']=qs[_0x349a('0x2e')](_0x5a10ae['query'][_0x349a('0x2e')]);_0x4f9f9b[_0x349a('0x2c')]=qs['offset'](_0x5a10ae[_0x349a('0x43')][_0x349a('0x2c')]);}_0x4f9f9b[_0x349a('0x4b')]=qs['sort'](_0x5a10ae['query'][_0x349a('0x4c')]);_0x4f9f9b[_0x349a('0x4d')]=qs[_0x349a('0x44')](_[_0x349a('0x4e')](_0x5a10ae['query'],_0x2e7a1c[_0x349a('0x44')]),_0x268717);if(_0x5a10ae[_0x349a('0x43')]['filter']){_0x4f9f9b['where']=_[_0x349a('0x4f')](_0x4f9f9b[_0x349a('0x4d')],{'$or':_['map'](_0x268717,function(_0x6523be){if(_0x6523be[_0x349a('0x50')]!==_0x349a('0x51')){var _0x1379e0={};_0x1379e0[_0x6523be[_0x349a('0x3a')]]={'$like':'%'+_0x5a10ae[_0x349a('0x43')][_0x349a('0x52')]+'%'};return _0x1379e0;}})});}_0x4f9f9b=_[_0x349a('0x4f')]({},_0x4f9f9b,_0x5a10ae[_0x349a('0x53')]);var _0x458c47={'where':_0x4f9f9b[_0x349a('0x4d')]};return db[_0x349a('0x3f')][_0x349a('0x2f')](_0x458c47)[_0x349a('0x35')](function(_0x385536){_0x2c697e[_0x349a('0x2f')]=_0x385536;if(_0x5a10ae[_0x349a('0x43')][_0x349a('0x54')]){_0x4f9f9b[_0x349a('0x55')]=[{'all':!![]}];}return db['SmsAccount'][_0x349a('0x56')](_0x4f9f9b);})[_0x349a('0x35')](function(_0x248991){_0x2c697e[_0x349a('0x57')]=_0x248991;return _0x2c697e;})[_0x349a('0x35')](respondWithFilteredResult(_0x4d9d61,_0x4f9f9b))['catch'](handleError(_0x4d9d61,null));};exports['show']=function(_0x1e4da9,_0x2ed239){var _0x599c81={'raw':![],'where':{'id':_0x1e4da9['params']['id']},'include':[{'model':db[_0x349a('0x3d')],'as':_0x349a('0x3e')}]},_0x417499={};_0x417499['model']=_['keys'](db[_0x349a('0x3f')][_0x349a('0x40')]);_0x417499['query']=_[_0x349a('0x58')](_0x1e4da9['query']);_0x417499[_0x349a('0x44')]=_[_0x349a('0x45')](_0x417499[_0x349a('0x46')],_0x417499[_0x349a('0x43')]);_0x599c81[_0x349a('0x47')]=_[_0x349a('0x45')](_0x417499[_0x349a('0x46')],qs[_0x349a('0x48')](_0x1e4da9[_0x349a('0x43')][_0x349a('0x48')]));_0x599c81[_0x349a('0x47')]=_0x599c81['attributes'][_0x349a('0x59')]?_0x599c81[_0x349a('0x47')]:_0x417499[_0x349a('0x46')];if(_0x1e4da9['query']['includeAll']){_0x599c81[_0x349a('0x55')]=[{'all':!![]}];}_0x599c81=_[_0x349a('0x4f')]({},_0x599c81,_0x1e4da9['options']);return db[_0x349a('0x3f')][_0x349a('0x5a')](_0x599c81)['then'](handleEntityNotFound(_0x2ed239,null))[_0x349a('0x35')](respondWithResult(_0x2ed239,null))[_0x349a('0x27')](handleError(_0x2ed239,null));};exports[_0x349a('0x5b')]=function(_0x7cc698,_0x3fafa4){return db[_0x349a('0x3f')][_0x349a('0x5b')](_0x7cc698[_0x349a('0x5c')],{})[_0x349a('0x35')](function(_0x40aca9){var _0x6355b4=_0x7cc698[_0x349a('0x5d')][_0x349a('0x37')]({'plain':!![]});if(!_0x6355b4)throw new Error(_0x349a('0x5e'));if(_0x6355b4[_0x349a('0x5f')]===_0x349a('0x5d')){var _0x204463=_0x40aca9[_0x349a('0x37')]({'plain':!![]});var _0x541f7f=_0x349a('0x38');return db['UserProfileSection'][_0x349a('0x5a')]({'where':{'name':_0x541f7f,'userProfileId':_0x6355b4[_0x349a('0x60')]},'raw':!![]})['then'](function(_0x246927){if(_0x246927&&_0x246927[_0x349a('0x61')]===0x0){return db[_0x349a('0x39')]['create']({'name':_0x204463['name'],'resourceId':_0x204463['id'],'type':_0x246927['name'],'sectionId':_0x246927['id']},{})[_0x349a('0x35')](function(){return _0x40aca9;});}else{return _0x40aca9;}})[_0x349a('0x27')](function(_0x436146){logger[_0x349a('0x22')](_0x349a('0x62'),_0x436146);throw _0x436146;});}return _0x40aca9;})[_0x349a('0x35')](respondWithResult(_0x3fafa4,0xc9))[_0x349a('0x27')](handleError(_0x3fafa4,null));};exports[_0x349a('0x34')]=function(_0x11b039,_0x67d77){if(_0x11b039[_0x349a('0x5c')]['id']){delete _0x11b039[_0x349a('0x5c')]['id'];}return db[_0x349a('0x3f')]['find']({'where':{'id':_0x11b039[_0x349a('0x63')]['id']},'include':[{'model':db[_0x349a('0x3d')],'as':'mandatoryDispositionPause'}]})[_0x349a('0x35')](handleEntityNotFound(_0x67d77,null))[_0x349a('0x35')](saveUpdates(_0x11b039[_0x349a('0x5c')],null))[_0x349a('0x35')](respondWithResult(_0x67d77,null))[_0x349a('0x27')](handleError(_0x67d77,null));};exports['destroy']=function(_0x2a1809,_0x20c0ba){return db[_0x349a('0x3f')][_0x349a('0x5a')]({'where':{'id':_0x2a1809['params']['id']}})[_0x349a('0x35')](handleEntityNotFound(_0x20c0ba,null))['then'](removeEntity(_0x20c0ba,null))['catch'](handleError(_0x20c0ba,null));};exports[_0x349a('0x64')]=function(_0x37ec93,_0x42a425){return db['SmsAccount'][_0x349a('0x64')]()[_0x349a('0x35')](respondWithResult(_0x42a425,null))['catch'](handleError(_0x42a425,null));};exports[_0x349a('0x65')]=function(_0x1f3159,_0x4e8012,_0xdafd95){if(_0x1f3159[_0x349a('0x5c')]['id']){delete _0x1f3159[_0x349a('0x5c')]['id'];}return db['SmsAccount'][_0x349a('0x5a')]({'where':{'id':_0x1f3159[_0x349a('0x63')]['id']}})[_0x349a('0x35')](handleEntityNotFound(_0x4e8012,null))[_0x349a('0x35')](function(_0x5a2474){if(_0x5a2474){_0x1f3159['body'][_0x349a('0x66')]=_0x5a2474['id'];return db[_0x349a('0x67')][_0x349a('0x5b')](_0x1f3159[_0x349a('0x5c')]);}})[_0x349a('0x35')](respondWithResult(_0x4e8012,null))[_0x349a('0x27')](handleError(_0x4e8012,null));};exports[_0x349a('0x68')]=function(_0x264908,_0x44c49b,_0x49c0b5){var _0x5352f4={'raw':![],'where':{}};var _0x288e1c={};var _0x36ad8f={'count':0x0,'rows':[]};return db['SmsAccount'][_0x349a('0x69')]({'where':{'id':_0x264908['params']['id']}})[_0x349a('0x35')](handleEntityNotFound(_0x44c49b,null))[_0x349a('0x35')](function(_0x5c47d9){if(_0x5c47d9){_0x288e1c['model']=_[_0x349a('0x58')](db[_0x349a('0x67')][_0x349a('0x40')]);_0x288e1c[_0x349a('0x43')]=_[_0x349a('0x58')](_0x264908[_0x349a('0x43')]);_0x288e1c['filters']=_[_0x349a('0x45')](_0x288e1c[_0x349a('0x46')],_0x288e1c[_0x349a('0x43')]);_0x5352f4[_0x349a('0x47')]=_[_0x349a('0x45')](_0x288e1c[_0x349a('0x46')],qs[_0x349a('0x48')](_0x264908[_0x349a('0x43')]['fields']));_0x5352f4[_0x349a('0x47')]=_0x5352f4[_0x349a('0x47')][_0x349a('0x59')]?_0x5352f4[_0x349a('0x47')]:_0x288e1c[_0x349a('0x46')];if(!_0x264908[_0x349a('0x43')][_0x349a('0x49')](_0x349a('0x4a'))){_0x5352f4[_0x349a('0x2e')]=qs[_0x349a('0x2e')](_0x264908[_0x349a('0x43')][_0x349a('0x2e')]);_0x5352f4[_0x349a('0x2c')]=qs[_0x349a('0x2c')](_0x264908[_0x349a('0x43')][_0x349a('0x2c')]);}_0x5352f4[_0x349a('0x4b')]=qs[_0x349a('0x4c')](_0x264908[_0x349a('0x43')]['sort']);_0x5352f4[_0x349a('0x4d')]=qs[_0x349a('0x44')](_[_0x349a('0x4e')](_0x264908['query'],_0x288e1c[_0x349a('0x44')]));_0x5352f4[_0x349a('0x4d')]['SmsAccountId']=_0x5c47d9['id'];if(_0x264908['query'][_0x349a('0x52')]){_0x5352f4['where']=_['merge'](_0x5352f4[_0x349a('0x4d')],{'$or':_[_0x349a('0x6a')](_0x5352f4['attributes'],function(_0x2b4055){var _0x8059a7={};_0x8059a7[_0x2b4055]={'$like':'%'+_0x264908['query'][_0x349a('0x52')]+'%'};return _0x8059a7;})});}_0x5352f4=_['merge']({},_0x5352f4,_0x264908[_0x349a('0x53')]);return db[_0x349a('0x67')][_0x349a('0x2f')]({'where':_0x5352f4[_0x349a('0x4d')]})[_0x349a('0x35')](function(_0x3ce09e){_0x36ad8f[_0x349a('0x2f')]=_0x3ce09e;if(_0x264908['query']['includeAll']){_0x5352f4['include']=[{'all':!![]}];}return db[_0x349a('0x67')]['findAll'](_0x5352f4);})['then'](function(_0x499ee6){_0x36ad8f['rows']=_0x499ee6;return _0x36ad8f;});}})[_0x349a('0x35')](respondWithFilteredResult(_0x44c49b,_0x5352f4))['catch'](handleError(_0x44c49b,null));};exports['removeDispositions']=function(_0x1eca57,_0x27c5f3,_0x54133d){return db[_0x349a('0x3f')]['find']({'where':{'id':_0x1eca57[_0x349a('0x63')]['id']}})[_0x349a('0x35')](handleEntityNotFound(_0x27c5f3,null))['then'](function(_0x32b3f4){if(_0x32b3f4){return _0x32b3f4['removeDispositions'](_0x1eca57[_0x349a('0x43')]['ids']);}})[_0x349a('0x35')](respondWithStatusCode(_0x27c5f3,null))[_0x349a('0x27')](handleError(_0x27c5f3,null));};exports[_0x349a('0x6b')]=function(_0x5d7522,_0x9e8247,_0x300ce6){if(_0x5d7522[_0x349a('0x5c')]['id']){delete _0x5d7522[_0x349a('0x5c')]['id'];}return db[_0x349a('0x3f')][_0x349a('0x5a')]({'where':{'id':_0x5d7522[_0x349a('0x63')]['id']}})[_0x349a('0x35')](handleEntityNotFound(_0x9e8247,null))[_0x349a('0x35')](function(_0x236a6d){if(_0x236a6d){_0x5d7522[_0x349a('0x5c')][_0x349a('0x66')]=_0x236a6d['id'];return db[_0x349a('0x6c')][_0x349a('0x5b')](_0x5d7522[_0x349a('0x5c')]);}})[_0x349a('0x35')](respondWithResult(_0x9e8247,null))[_0x349a('0x27')](handleError(_0x9e8247,null));};exports[_0x349a('0x6d')]=function(_0x4bcbb5,_0x94ec67,_0x481acf){var _0x15c2e8={'raw':![],'where':{}};var _0x1017f9={};var _0x13c43c={'count':0x0,'rows':[]};return db['SmsAccount'][_0x349a('0x69')]({'where':{'id':_0x4bcbb5['params']['id']}})[_0x349a('0x35')](handleEntityNotFound(_0x94ec67,null))[_0x349a('0x35')](function(_0x352a68){if(_0x352a68){_0x1017f9[_0x349a('0x46')]=_[_0x349a('0x58')](db[_0x349a('0x6c')][_0x349a('0x40')]);_0x1017f9[_0x349a('0x43')]=_['keys'](_0x4bcbb5[_0x349a('0x43')]);_0x1017f9[_0x349a('0x44')]=_[_0x349a('0x45')](_0x1017f9[_0x349a('0x46')],_0x1017f9['query']);_0x15c2e8[_0x349a('0x47')]=_[_0x349a('0x45')](_0x1017f9[_0x349a('0x46')],qs[_0x349a('0x48')](_0x4bcbb5[_0x349a('0x43')][_0x349a('0x48')]));_0x15c2e8[_0x349a('0x47')]=_0x15c2e8[_0x349a('0x47')]['length']?_0x15c2e8[_0x349a('0x47')]:_0x1017f9['model'];if(!_0x4bcbb5['query'][_0x349a('0x49')](_0x349a('0x4a'))){_0x15c2e8[_0x349a('0x2e')]=qs[_0x349a('0x2e')](_0x4bcbb5[_0x349a('0x43')][_0x349a('0x2e')]);_0x15c2e8[_0x349a('0x2c')]=qs[_0x349a('0x2c')](_0x4bcbb5['query'][_0x349a('0x2c')]);}_0x15c2e8['order']=qs[_0x349a('0x4c')](_0x4bcbb5['query'][_0x349a('0x4c')]);_0x15c2e8[_0x349a('0x4d')]=qs[_0x349a('0x44')](_[_0x349a('0x4e')](_0x4bcbb5['query'],_0x1017f9[_0x349a('0x44')]));_0x15c2e8[_0x349a('0x4d')][_0x349a('0x66')]=_0x352a68['id'];if(_0x4bcbb5[_0x349a('0x43')][_0x349a('0x52')]){_0x15c2e8[_0x349a('0x4d')]=_[_0x349a('0x4f')](_0x15c2e8[_0x349a('0x4d')],{'$or':_['map'](_0x15c2e8[_0x349a('0x47')],function(_0x54e90e){var _0x2b044f={};_0x2b044f[_0x54e90e]={'$like':'%'+_0x4bcbb5[_0x349a('0x43')][_0x349a('0x52')]+'%'};return _0x2b044f;})});}_0x15c2e8=_[_0x349a('0x4f')]({},_0x15c2e8,_0x4bcbb5[_0x349a('0x53')]);return db[_0x349a('0x6c')][_0x349a('0x2f')]({'where':_0x15c2e8['where']})[_0x349a('0x35')](function(_0x1147c3){_0x13c43c[_0x349a('0x2f')]=_0x1147c3;if(_0x4bcbb5['query'][_0x349a('0x54')]){_0x15c2e8['include']=[{'all':!![]}];}return db[_0x349a('0x6c')]['findAll'](_0x15c2e8);})[_0x349a('0x35')](function(_0x471aa6){_0x13c43c[_0x349a('0x57')]=_0x471aa6;return _0x13c43c;});}})['then'](respondWithFilteredResult(_0x94ec67,_0x15c2e8))[_0x349a('0x27')](handleError(_0x94ec67,null));};exports['removeAnswers']=function(_0xb64a4,_0x36f272,_0x239a28){return db[_0x349a('0x3f')][_0x349a('0x5a')]({'where':{'id':_0xb64a4['params']['id']}})[_0x349a('0x35')](handleEntityNotFound(_0x36f272,null))['then'](function(_0x5e3734){if(_0x5e3734){return _0x5e3734['removeAnswers'](_0xb64a4['query']['ids']);}})['then'](respondWithStatusCode(_0x36f272,null))[_0x349a('0x27')](handleError(_0x36f272,null));};exports[_0x349a('0x6e')]=function(_0x3a0441,_0x444186,_0x18589f){var _0x311bfb={'channel':_0x349a('0x6f')};var _0x14a24a=[];var _0x188ec1=[];var _0x1fddd7={};return db['SmsAccount'][_0x349a('0x5a')]({'where':{'id':_0x3a0441['params']['id']},'include':[{'model':db[_0x349a('0x70')],'as':_0x349a('0x71')}]})[_0x349a('0x35')](handleEntityNotFound(_0x444186,null))[_0x349a('0x35')](function(_0x31f891){_0x311bfb[_0x349a('0x72')]=_0x31f891;_0x311bfb[_0x349a('0x73')]=_[_0x349a('0x74')](_0x31f891[_0x349a('0x71')],[_0x349a('0x75')],[_0x349a('0x76')]);if(_0x311bfb['account']['Applications']){delete _0x311bfb[_0x349a('0x72')][_0x349a('0x71')];}return db[_0x349a('0x77')][_0x349a('0x64')]();})['then'](function(_0x384d4b){if(!_0x384d4b){throw new db['Sequelize'][(_0x349a('0x78'))](_0x349a('0x79'));}_0x14a24a=_[_0x349a('0x7a')](_[_0x349a('0x58')](_0x384d4b),['createdAt',_0x349a('0x7b')]);_0x188ec1=_[_0x349a('0x7a')](_[_0x349a('0x58')](_0x384d4b),[_0x349a('0x7c'),_0x349a('0x7b'),_0x349a('0x7d'),_0x349a('0x7e')]);_0x311bfb[_0x349a('0x5c')]={'mapKey':_0x349a('0x7f')};if(_0x311bfb[_0x349a('0x72')]['type']){switch(_0x311bfb[_0x349a('0x72')][_0x349a('0x50')]){case _0x349a('0x80'):_0x311bfb[_0x349a('0x5c')][_0x349a('0x81')]=_0x3a0441['body']['From'];_0x311bfb[_0x349a('0x5c')][_0x349a('0x5c')]=_0x3a0441[_0x349a('0x5c')][_0x349a('0x82')];_0x311bfb[_0x349a('0x5c')]['messageId']=_0x3a0441['body']['MessageSid'];break;case _0x349a('0x83'):_0x311bfb[_0x349a('0x5c')][_0x349a('0x81')]='+'+_0x3a0441[_0x349a('0x5c')][_0x349a('0x84')];_0x311bfb[_0x349a('0x5c')]['body']=_0x3a0441[_0x349a('0x5c')][_0x349a('0x85')];break;case _0x349a('0x86'):_0x311bfb[_0x349a('0x5c')][_0x349a('0x81')]=_0x3a0441[_0x349a('0x5c')][_0x349a('0x81')];_0x311bfb[_0x349a('0x5c')][_0x349a('0x5c')]=_0x3a0441[_0x349a('0x5c')]['message'];break;case _0x349a('0x87'):_0x311bfb[_0x349a('0x5c')][_0x349a('0x81')]=_0x3a0441[_0x349a('0x5c')][_0x349a('0x81')];_0x311bfb[_0x349a('0x5c')][_0x349a('0x5c')]=_0x3a0441['body'][_0x349a('0x5c')];_0x311bfb[_0x349a('0x5c')][_0x349a('0x88')]=_0x3a0441[_0x349a('0x5c')][_0x349a('0x89')];break;case'plivo':_0x311bfb[_0x349a('0x5c')][_0x349a('0x81')]=_0x3a0441['body']['From'];_0x311bfb[_0x349a('0x5c')][_0x349a('0x5c')]=_0x3a0441[_0x349a('0x5c')][_0x349a('0x8a')];_0x311bfb[_0x349a('0x5c')]['messageId']=_0x3a0441[_0x349a('0x5c')]['MessageUUID'];break;case'infobip':_0x311bfb[_0x349a('0x5c')]['from']='+'+_0x3a0441[_0x349a('0x5c')][_0x349a('0x8b')][0x0]['from'];_0x311bfb[_0x349a('0x5c')][_0x349a('0x5c')]=_0x3a0441['body'][_0x349a('0x8b')][0x0]['text'];_0x311bfb['body'][_0x349a('0x88')]=_0x3a0441[_0x349a('0x5c')][_0x349a('0x8b')][0x0][_0x349a('0x88')];break;case _0x349a('0x8c'):_0x311bfb[_0x349a('0x5c')][_0x349a('0x81')]=_0x3a0441[_0x349a('0x5c')][_0x349a('0x8d')];_0x311bfb[_0x349a('0x5c')]['body']=_0x3a0441['body'][_0x349a('0x8e')][_0x349a('0x24')];break;case _0x349a('0x8f'):_0x311bfb['body']['from']=_0x3a0441['body'][_0x349a('0x90')];_0x311bfb[_0x349a('0x5c')][_0x349a('0x5c')]=_0x3a0441[_0x349a('0x5c')][_0x349a('0x85')];_0x311bfb[_0x349a('0x5c')][_0x349a('0x88')]=_0x3a0441['body'][_0x349a('0x91')];break;case _0x349a('0x92'):_0x311bfb['body'][_0x349a('0x88')]=_0x3a0441['body'][0x0][_0x349a('0x24')]['id'];_0x311bfb[_0x349a('0x5c')][_0x349a('0x81')]=_0x3a0441['body'][0x0]['message'][_0x349a('0x81')];_0x311bfb[_0x349a('0x5c')][_0x349a('0x5c')]=_0x3a0441['body'][0x0][_0x349a('0x24')][_0x349a('0x85')];break;case _0x349a('0x93'):_0x311bfb[_0x349a('0x5c')][_0x349a('0x81')]=_0x3a0441[_0x349a('0x5c')]['from'];_0x311bfb['body'][_0x349a('0x5c')]=_0x3a0441['body'][_0x349a('0x24')];_0x311bfb[_0x349a('0x5c')][_0x349a('0x88')]=_0x3a0441[_0x349a('0x5c')][_0x349a('0x94')];break;}}if(_0x311bfb[_0x349a('0x5c')]['id']){delete _0x311bfb[_0x349a('0x5c')]['id'];}if(_[_0x349a('0x95')](_0x311bfb[_0x349a('0x5c')]['from'])){throw new db[(_0x349a('0x96'))][(_0x349a('0x78'))](_0x349a('0x97'));}if(_[_0x349a('0x95')](_0x311bfb[_0x349a('0x5c')][_0x349a('0x5c')])||_0x311bfb['body']['body']===''){throw new db['Sequelize'][(_0x349a('0x78'))](_0x349a('0x98'));}if(_[_0x349a('0x95')](_0x311bfb[_0x349a('0x5c')][_0x349a('0x99')])){throw new db[(_0x349a('0x96'))][(_0x349a('0x78'))](_0x349a('0x9a')+_0x188ec1);}if(!_[_0x349a('0x9b')](_0x188ec1,_0x311bfb[_0x349a('0x5c')]['mapKey'])){throw new db[(_0x349a('0x96'))][(_0x349a('0x78'))]('mapKey\x20invalid,\x20please\x20use\x20one\x20of\x20these:\x20'+_0x188ec1);}_0x1fddd7[_0x311bfb[_0x349a('0x5c')][_0x349a('0x99')]]=_0x311bfb[_0x349a('0x5c')][_0x349a('0x81')];return db[_0x349a('0x9c')]['find']({'where':{'id':_0x311bfb[_0x349a('0x72')][_0x349a('0x7e')]},'include':[{'model':db[_0x349a('0x77')],'as':'Contacts','where':_0x1fddd7,'limit':0x1,'order':[[_0x349a('0x7b'),_0x349a('0x9d')]]}]});})[_0x349a('0x35')](handleEntityNotFound(_0x444186,null))[_0x349a('0x35')](function(_0x42889c){if(_0x42889c){_0x311bfb[_0x349a('0x9e')]=_[_0x349a('0x9f')](_0x42889c,[_0x349a('0xa0')]);if(_0x42889c[_0x349a('0xa0')][_0x349a('0x59')]){return _0x42889c[_0x349a('0xa0')][0x0];}var _0x239bf9=_[_0x349a('0x16')](_0x311bfb[_0x349a('0x5c')],{'firstName':_0x311bfb[_0x349a('0x5c')][_0x349a('0x81')],'ListId':_0x42889c['id']});_0x239bf9[_0x311bfb['body'][_0x349a('0x99')]]=_0x311bfb[_0x349a('0x5c')]['from'];return db[_0x349a('0x77')][_0x349a('0x5b')](_0x239bf9,{'fields':_0x14a24a,'raw':!![]});}})[_0x349a('0x35')](handleEntityNotFound(_0x444186,null))[_0x349a('0x35')](function(_0x1ea26f){if(_0x1ea26f){_0x311bfb[_0x349a('0xa1')]=_0x1ea26f;var _0x23233e={'ContactId':_0x1ea26f['id'],'phone':_0x311bfb[_0x349a('0x5c')][_0x349a('0x81')],'SmsAccountId':_0x3a0441['params']['id']};var _0x584f00={'ContactId':_0x1ea26f['id'],'SmsAccountId':_0x3a0441[_0x349a('0x63')]['id'],'closed':![]};return db[_0x349a('0xa2')]['find']({'where':_0x584f00})[_0x349a('0x35')](function(_0x464b4e){if(_0x464b4e){return[_0x464b4e,![]];}return db[_0x349a('0xa2')]['create'](_0x23233e)['then'](function(_0x250166){return[_0x250166,!![]];});});}})[_0x349a('0xa3')](function(_0x4ee06e,_0x40e7e3){_0x311bfb[_0x349a('0xa4')]=_0x4ee06e[_0x349a('0x37')]({'plain':!![]});_0x311bfb[_0x349a('0xa4')][_0x349a('0xa5')]=![];if(_0x40e7e3){if(_0x311bfb[_0x349a('0x72')][_0x349a('0xa6')]){_0x311bfb[_0x349a('0x73')][_0x349a('0xa7')]({'id':0x0,'priority':_0x311bfb[_0x349a('0x73')][_0x349a('0x59')]+0x1,'app':_0x349a('0xa8'),'appdata':_0x349a('0xa9'),'interval':_0x349a('0xaa')});}_0x311bfb[_0x349a('0xa4')][_0x349a('0xa5')]=!![];}return db[_0x349a('0xab')][_0x349a('0x5b')]({'phone':_0x311bfb['body'][_0x349a('0x81')],'messageId':_0x311bfb[_0x349a('0x5c')][_0x349a('0x88')],'body':_0x311bfb[_0x349a('0x5c')][_0x349a('0x5c')],'SmsAccountId':_0x3a0441['params']['id'],'SmsInteractionId':_0x4ee06e['id'],'direction':'in','ContactId':_0x4ee06e[_0x349a('0xac')],'AttachmentId':_0x311bfb[_0x349a('0x5c')][_0x349a('0xad')]});})[_0x349a('0x35')](function(_0x5c081e){_0x311bfb['message']=_0x5c081e;if(_0x311bfb[_0x349a('0xa4')]['UserId']){return db[_0x349a('0xae')][_0x349a('0x5a')]({'attributes':['id','name'],'where':{'id':_0x311bfb[_0x349a('0xa4')][_0x349a('0xaf')]}})['then'](function(_0x1c1e20){if(_0x1c1e20){_0x311bfb[_0x349a('0x73')][_0x349a('0xb0')]({'id':0x0,'priority':0x0,'app':'agent','appdata':_0x1c1e20['name']+','+(_0x311bfb[_0x349a('0x72')][_0x349a('0xb1')]||0xa),'interval':'*,*,*,*'});}return respondWithRpcPromise(_0x349a('0xb2'),'startRouting',_0x311bfb);});}return respondWithRpcPromise(_0x349a('0xb2'),_0x349a('0xb3'),_0x311bfb);})[_0x349a('0x35')](function(_0x433f66){if(_0x433f66){var _0x1f283d=0xc8;var _0x29a2af=_0x349a('0xb4');logger[_0x349a('0x25')](_0x349a('0x20'),_0x29a2af,_0x1f283d,_0x349a('0xb5'));logger['debug'](_0x349a('0xb6'),_0x29a2af,_0x1f283d,_0x349a('0xb5'),JSON[_0x349a('0x21')](_0x433f66));if(_0x311bfb['account'][_0x349a('0x50')]===_0x349a('0x80')){return _0x444186[_0x349a('0x29')](_0x1f283d)['set'](_0x349a('0xb7'),'text/xml')['send'](_0x349a('0xb8'));}else{return _0x444186[_0x349a('0x29')](_0x1f283d)[_0x349a('0x2b')](_0x433f66);}}})[_0x349a('0x27')](handleError(_0x444186,null));};exports['addApplications']=function(_0x336328,_0x76f62b,_0x5efec9){return db['SmsAccount'][_0x349a('0x69')]({'where':{'id':_0x336328[_0x349a('0x63')]['id']}})[_0x349a('0x35')](handleEntityNotFound(_0x76f62b,null))[_0x349a('0x35')](function(_0x424432){if(_0x424432){return db['sequelize'][_0x349a('0xb9')](function(_0x349525){return db[_0x349a('0x70')]['destroy']({'where':{'SmsAccountId':_0x336328['params']['id']},'transaction':_0x349525})[_0x349a('0x35')](function(_0x3dc68b){var _0x246b26=_[_0x349a('0x6a')](_0x336328[_0x349a('0x5c')],function(_0xf846d1){_0xf846d1['SmsAccountId']=_0x336328[_0x349a('0x63')]['id'];return _0xf846d1;});return db[_0x349a('0x70')]['bulkCreate'](_0x246b26,{'transaction':_0x349525});});})['then'](function(){return db[_0x349a('0x70')][_0x349a('0xba')]({'where':{'SmsAccountId':_0x336328['params']['id']},'order':_0x349a('0x75')});});}})[_0x349a('0x35')](respondWithResult(_0x76f62b,null))[_0x349a('0x27')](handleError(_0x76f62b,null));};exports[_0x349a('0xbb')]=function(_0x2d74fa,_0x23e60d,_0x48cb05){var _0x59d675={};var _0x6b2b65={};var _0x36f3eb;var _0xc15ee0;return db['SmsAccount'][_0x349a('0x69')]({'where':{'id':_0x2d74fa[_0x349a('0x63')]['id']}})[_0x349a('0x35')](handleEntityNotFound(_0x23e60d,null))['then'](function(_0x2ed843){if(_0x2ed843){_0x36f3eb=_0x2ed843;_0x6b2b65[_0x349a('0x46')]=_[_0x349a('0x58')](db[_0x349a('0x70')][_0x349a('0x40')]);_0x6b2b65[_0x349a('0x43')]=_[_0x349a('0x58')](_0x2d74fa[_0x349a('0x43')]);_0x6b2b65[_0x349a('0x44')]=_[_0x349a('0x45')](_0x6b2b65[_0x349a('0x46')],_0x6b2b65[_0x349a('0x43')]);_0x59d675[_0x349a('0x47')]=_['intersection'](_0x6b2b65['model'],qs[_0x349a('0x48')](_0x2d74fa[_0x349a('0x43')][_0x349a('0x48')]));_0x59d675[_0x349a('0x47')]=_0x59d675[_0x349a('0x47')][_0x349a('0x59')]?_0x59d675[_0x349a('0x47')]:_0x6b2b65['model'];_0x59d675[_0x349a('0x4b')]=qs[_0x349a('0x4c')](_0x2d74fa[_0x349a('0x43')][_0x349a('0x4c')]);_0x59d675[_0x349a('0x4d')]=qs[_0x349a('0x44')](_[_0x349a('0x4e')](_0x2d74fa[_0x349a('0x43')],_0x6b2b65['filters']));if(_0x2d74fa['query'][_0x349a('0x52')]){_0x59d675['where']=_[_0x349a('0x4f')](_0x59d675[_0x349a('0x4d')],{'$or':_[_0x349a('0x6a')](_0x59d675['attributes'],function(_0x5a0dde){var _0xe6100d={};_0xe6100d[_0x5a0dde]={'$like':'%'+_0x2d74fa['query'][_0x349a('0x52')]+'%'};return _0xe6100d;})});}_0x59d675=_[_0x349a('0x4f')]({},_0x59d675,_0x2d74fa[_0x349a('0x53')]);return _0x36f3eb[_0x349a('0xbb')](_0x59d675);}})[_0x349a('0x35')](function(_0x3e1125){if(_0x3e1125){_0xc15ee0=_0x3e1125['length'];if(!_0x2d74fa[_0x349a('0x43')][_0x349a('0x49')](_0x349a('0x4a'))){_0x59d675[_0x349a('0x2e')]=qs[_0x349a('0x2e')](_0x2d74fa[_0x349a('0x43')][_0x349a('0x2e')]);_0x59d675['offset']=qs['offset'](_0x2d74fa[_0x349a('0x43')]['offset']);}return _0x36f3eb[_0x349a('0xbb')](_0x59d675);}})['then'](function(_0xecf91e){if(_0xecf91e){return _0xecf91e?{'count':_0xc15ee0,'rows':_0xecf91e}:null;}})[_0x349a('0x35')](respondWithResult(_0x23e60d,null))[_0x349a('0x27')](handleError(_0x23e60d,null));};exports[_0x349a('0xbc')]=function(_0x3173fe,_0x110a14,_0x2588e8){var _0x18d9fb={'raw':![],'where':{}};var _0x31727a={};var _0x2af7bb={'count':0x0,'rows':[]};return db[_0x349a('0x3f')][_0x349a('0x69')]({'where':{'id':_0x3173fe['params']['id']}})[_0x349a('0x35')](handleEntityNotFound(_0x110a14,null))[_0x349a('0x35')](function(_0x491753){if(_0x491753){_0x31727a[_0x349a('0x46')]=_['keys'](db[_0x349a('0xa2')]['rawAttributes']);_0x31727a[_0x349a('0x43')]=_[_0x349a('0x58')](_0x3173fe[_0x349a('0x43')]);_0x31727a[_0x349a('0x44')]=_[_0x349a('0x45')](_0x31727a[_0x349a('0x46')],_0x31727a[_0x349a('0x43')]);_0x18d9fb['attributes']=_[_0x349a('0x45')](_0x31727a['model'],qs[_0x349a('0x48')](_0x3173fe[_0x349a('0x43')][_0x349a('0x48')]));_0x18d9fb[_0x349a('0x47')]=_0x18d9fb[_0x349a('0x47')][_0x349a('0x59')]?_0x18d9fb[_0x349a('0x47')]:_0x31727a[_0x349a('0x46')];if(!_0x3173fe[_0x349a('0x43')][_0x349a('0x49')](_0x349a('0x4a'))){_0x18d9fb[_0x349a('0x2e')]=qs[_0x349a('0x2e')](_0x3173fe['query'][_0x349a('0x2e')]);_0x18d9fb[_0x349a('0x2c')]=qs[_0x349a('0x2c')](_0x3173fe[_0x349a('0x43')][_0x349a('0x2c')]);}_0x18d9fb['order']=qs[_0x349a('0x4c')](_0x3173fe[_0x349a('0x43')]['sort']);_0x18d9fb['where']=qs[_0x349a('0x44')](_[_0x349a('0x4e')](_0x3173fe[_0x349a('0x43')],_0x31727a[_0x349a('0x44')]));_0x18d9fb[_0x349a('0x4d')][_0x349a('0x66')]=_0x491753['id'];if(_0x3173fe[_0x349a('0x43')][_0x349a('0x52')]){_0x18d9fb[_0x349a('0x4d')]=_[_0x349a('0x4f')](_0x18d9fb[_0x349a('0x4d')],{'$or':_[_0x349a('0x6a')](_0x18d9fb['attributes'],function(_0x14be92){var _0x1361a7={};_0x1361a7[_0x14be92]={'$like':'%'+_0x3173fe['query'][_0x349a('0x52')]+'%'};return _0x1361a7;})});}_0x18d9fb=_[_0x349a('0x4f')]({},_0x18d9fb,_0x3173fe[_0x349a('0x53')]);return db[_0x349a('0xa2')][_0x349a('0x2f')]({'where':_0x18d9fb[_0x349a('0x4d')]})['then'](function(_0x12d203){_0x2af7bb[_0x349a('0x2f')]=_0x12d203;if(_0x3173fe[_0x349a('0x43')][_0x349a('0x54')]){_0x18d9fb[_0x349a('0x55')]=[{'model':db[_0x349a('0x77')],'as':_0x349a('0xbd'),'required':![]},{'model':db[_0x349a('0xae')],'as':_0x349a('0xbe'),'attributes':[_0x349a('0x3a'),_0x349a('0xbf'),_0x349a('0xc0')],'required':![]},{'model':db['Tag'],'as':_0x349a('0xc1'),'attributes':['id',_0x349a('0x3a'),_0x349a('0xc2')],'where':_0x3173fe['query']['tag']?{'id':_0x3173fe['query']['tag']}:undefined,'required':_0x3173fe[_0x349a('0x43')]['tag']?!![]:![]}];}return db[_0x349a('0xa2')]['findAll'](_0x18d9fb);})[_0x349a('0x35')](function(_0x7d823a){_0x2af7bb[_0x349a('0x57')]=_0x7d823a;return _0x2af7bb;});}})['then'](respondWithFilteredResult(_0x110a14,_0x18d9fb))[_0x349a('0x27')](handleError(_0x110a14,null));};exports['send']=function(_0x5f0696,_0x1fa1c4,_0x454545){var _0x2c5968,_0x4ace88,_0x280b9c;if(_[_0x349a('0x95')](_0x5f0696[_0x349a('0x5c')][_0x349a('0x5c')])||_0x5f0696[_0x349a('0x5c')][_0x349a('0x5c')]===''){throw new db[(_0x349a('0x96'))]['ValidationError']('body\x20is\x20mandatory\x20and\x20not\x20empty');}if(_[_0x349a('0x95')](_0x5f0696[_0x349a('0x5c')]['to'])){throw new db[(_0x349a('0x96'))][(_0x349a('0x78'))]('to\x20is\x20mandatory');}_0x2c5968=_0x5f0696[_0x349a('0x5c')]['to'];return db[_0x349a('0x3f')][_0x349a('0x5a')]({'where':{'id':_0x5f0696[_0x349a('0x63')]['id']},'include':[{'model':db['CmList'],'as':_0x349a('0xc3'),'include':[{'model':db[_0x349a('0x77')],'as':'Contacts','where':{'mobile':_0x2c5968},'limit':0x1,'order':[[_0x349a('0x7b'),_0x349a('0x9d')]]}]}]})[_0x349a('0x35')](handleEntityNotFound(_0x1fa1c4,null))[_0x349a('0x35')](function(_0x3b3466){if(_0x3b3466&&_0x3b3466[_0x349a('0xc3')]){_0x4ace88=_0x3b3466[_0x349a('0x37')]({'plain':!![]});if(_0x4ace88[_0x349a('0xc3')]&&_0x4ace88[_0x349a('0xc3')]['Contacts']['length']){return _0x4ace88[_0x349a('0xc3')]['Contacts'][0x0];}return db['CmContact'][_0x349a('0x5b')](_[_0x349a('0x16')](_0x5f0696[_0x349a('0x5c')],{'firstName':_0x2c5968,'mobile':_0x2c5968,'phone':_0x2c5968,'ListId':_0x4ace88[_0x349a('0x7e')]}));}})['then'](handleEntityNotFound(_0x1fa1c4,null))[_0x349a('0x35')](function(_0x182ded){if(_0x182ded){_0x280b9c=_0x182ded;return db[_0x349a('0xa2')][_0x349a('0x5a')]({'where':{'ContactId':_0x280b9c['id'],'closed':![],'SmsAccountId':_0x4ace88['id']}})[_0x349a('0x35')](function(_0x1efc65){if(_0x1efc65){return[_0x1efc65,![]];}return db[_0x349a('0xa2')][_0x349a('0x5b')]({'UserId':_0x5f0696[_0x349a('0x5d')]['id'],'ContactId':_0x280b9c['id'],'SmsAccountId':_0x4ace88['id'],'phone':_0x2c5968,'firstMsgDirection':'out','Messages':[_[_0x349a('0x4f')](_0x5f0696[_0x349a('0x5c')],{'read':![],'body':_0x5f0696[_0x349a('0x5c')][_0x349a('0x5c')],'phone':_0x2c5968,'SmsAccountId':_0x4ace88['id'],'UserId':_0x5f0696[_0x349a('0x5d')]['id'],'ContactId':_0x280b9c['id']})]},{'include':[{'model':db[_0x349a('0xab')],'as':_0x349a('0xc4')}]})[_0x349a('0x35')](function(_0x22e612){return[_0x22e612,!![]];});});}})['spread'](function(_0x3afd83,_0x3e2f57){if(_0x3e2f57){return _0x3afd83;}return db[_0x349a('0xab')][_0x349a('0x5b')](_['merge'](_0x5f0696['body'],{'read':![],'body':_0x5f0696[_0x349a('0x5c')][_0x349a('0x5c')],'phone':_0x2c5968,'SmsAccountId':_0x4ace88['id'],'SmsInteractionId':_0x3afd83['id'],'UserId':_0x5f0696['user']['id'],'ContactId':_0x280b9c['id']}))[_0x349a('0x35')](function(_0x10a0c6){_0x3afd83['dataValues']['Messages']=[];_0x3afd83[_0x349a('0xc5')][_0x349a('0xc4')][_0x349a('0xa7')](_0x10a0c6[_0x349a('0xc5')]);return _0x3afd83;});})[_0x349a('0x35')](respondWithResult(_0x1fa1c4,null))[_0x349a('0x27')](handleError(_0x1fa1c4,null));};exports[_0x349a('0x29')]=function(_0x338d07,_0x4a4fba,_0x41b91f){if(_0x338d07[_0x349a('0x5c')]['id']){delete _0x338d07[_0x349a('0x5c')]['id'];}var _0x2a778c,_0x4cfa6e,_0x1f1d29;return db[_0x349a('0x3f')][_0x349a('0x5a')]({'where':{'id':_0x338d07[_0x349a('0x63')]['id']}})[_0x349a('0x35')](handleEntityNotFound(_0x4a4fba,null))[_0x349a('0x35')](function(_0xbe4ced){if(_0xbe4ced){_0x1f1d29=_0xbe4ced;logger[_0x349a('0xc6')](_0x349a('0x20'),_0x349a('0x29'),_0x349a('0xc7'),_0xbe4ced['type'],util[_0x349a('0xc8')](_0x338d07[_0x349a('0x5c')],{'showHidden':![],'depth':null}));switch(_0xbe4ced[_0x349a('0x50')]){case _0x349a('0x83'):if(_0x338d07['body'][_0x349a('0xc9')]&&_0x338d07[_0x349a('0x5c')]['status']){_0x4cfa6e=_0x338d07[_0x349a('0x5c')]['status'];return db[_0x349a('0xab')][_0x349a('0x5a')]({'where':{'messageId':_0x338d07[_0x349a('0x5c')][_0x349a('0xc9')]}});}break;case _0x349a('0x86'):if(_0x338d07[_0x349a('0x5c')][_0x349a('0xca')]&&_0x338d07[_0x349a('0x5c')]['statusInt']){_0x4cfa6e=_0x338d07[_0x349a('0x5c')][_0x349a('0xcb')];return db[_0x349a('0xab')][_0x349a('0x5a')]({'where':{'messageId':_0x338d07[_0x349a('0x5c')]['requestid']}});}break;case _0x349a('0x87'):if(_0x338d07[_0x349a('0x5c')][_0x349a('0x89')]&&_0x338d07[_0x349a('0x5c')][_0x349a('0xcc')]){_0x4cfa6e=_0x338d07[_0x349a('0x5c')][_0x349a('0xcc')];return db[_0x349a('0xab')][_0x349a('0x5a')]({'where':{'messageId':_0x338d07['body'][_0x349a('0x89')]}});}break;case _0x349a('0xcd'):var _0x3ae3c9=_0x338d07[_0x349a('0x5c')][_0x349a('0x8b')][0x0];if(_0x3ae3c9['messageId']&&_0x3ae3c9['status'][_0x349a('0xce')]===_0x349a('0xcf')){_0x4cfa6e=_0x3ae3c9[_0x349a('0x29')][_0x349a('0xce')];return db[_0x349a('0xab')][_0x349a('0x5a')]({'where':{'messageId':_0x3ae3c9[_0x349a('0x88')]}});}break;case _0x349a('0x8f'):if(_0x338d07[_0x349a('0x5c')][_0x349a('0x88')]&&_0x338d07[_0x349a('0x5c')][_0x349a('0x29')]){_0x4cfa6e=_0x338d07[_0x349a('0x5c')][_0x349a('0x29')];return db['SmsMessage'][_0x349a('0x5a')]({'where':{'messageId':_0x338d07[_0x349a('0x5c')][_0x349a('0x88')]}});}break;case _0x349a('0x92'):if(_0x338d07[_0x349a('0x5c')][0x0][_0x349a('0x24')]['id']){_0x4cfa6e=_0x338d07[_0x349a('0x5c')][0x0][_0x349a('0x50')];return db[_0x349a('0xab')]['find']({'where':{'messageId':_0x338d07[_0x349a('0x5c')][0x0]['message']['id']}});}break;case _0x349a('0x93'):if(_0x338d07[_0x349a('0x5c')][_0x349a('0xd0')]&&_0x338d07[_0x349a('0x5c')]['status']){_0x4cfa6e=_0x338d07[_0x349a('0x5c')][_0x349a('0x29')];return db[_0x349a('0xab')][_0x349a('0x5a')]({'where':{'messageId':_0x338d07['body'][_0x349a('0xd0')]}});}break;}}})[_0x349a('0x35')](handleEntityNotFound(_0x4a4fba,null))[_0x349a('0x35')](function(_0x13f00a){if(_0x13f00a){_0x2a778c=_0x13f00a;switch(_0x1f1d29[_0x349a('0x50')]){case _0x349a('0x83'):if(_0x4cfa6e===_0x349a('0xcf')){return _0x2a778c[_0x349a('0x34')]({'read':!![]});}else{logger[_0x349a('0x22')](_0x349a('0x20'),_0x349a('0x29'),_0x349a('0x83'),util[_0x349a('0xc8')](_0x338d07[_0x349a('0x5c')],{'showHidden':![],'depth':null}));}break;case _0x349a('0x86'):if(_0x4cfa6e==='1'){return _0x2a778c[_0x349a('0x34')]({'read':!![]});}else{logger['error'](_0x349a('0x20'),'status','skebby',util['inspect'](_0x338d07['body'],{'showHidden':![],'depth':null}));}break;case _0x349a('0x87'):if(!_0x338d07['body'][_0x349a('0xd1')]&&_0x4cfa6e>=0xc8&&_0x4cfa6e<=0xce){return _0x2a778c[_0x349a('0x34')]({'read':!![]});}else{logger[_0x349a('0x22')]('SmsAccount,\x20%s,\x20%s,\x20%s',_0x349a('0x29'),_0x349a('0x87'),util['inspect'](_0x338d07[_0x349a('0x5c')],{'showHidden':![],'depth':null}));}break;case'infobip':var _0x1798a1=_0x338d07[_0x349a('0x5c')]['results'][0x0];if(_0x1798a1[_0x349a('0x29')][_0x349a('0xce')]===_0x349a('0xcf')){return _0x2a778c[_0x349a('0x34')]({'read':!![]});}else{logger[_0x349a('0x22')]('SmsAccount,\x20%s,\x20%s,\x20%s',_0x349a('0x29'),'infobip',util[_0x349a('0xc8')](_0x338d07['body'],{'showHidden':![],'depth':null}));}break;case _0x349a('0x8f'):if(_0x4cfa6e==_0x349a('0xd2')||_0x4cfa6e==_0x349a('0xd3')){return _0x2a778c[_0x349a('0x34')]({'read':!![]});}else{logger[_0x349a('0x22')]('SmsAccount,\x20%s,\x20%s,\x20%s',_0x349a('0x29'),_0x349a('0x8f'),util[_0x349a('0xc8')](_0x338d07[_0x349a('0x5c')],{'showHidden':![],'depth':null}));}break;case _0x349a('0x92'):if(_0x4cfa6e==_0x349a('0xd4')){return _0x2a778c[_0x349a('0x34')]({'read':!![]});}else{logger[_0x349a('0x22')](_0x349a('0x20'),_0x349a('0x29'),_0x349a('0x92'),util[_0x349a('0xc8')](_0x338d07[_0x349a('0x5c')],{'showHidden':![],'depth':null}));}break;case'intelepeer':if(_0x4cfa6e===_0x349a('0xd5')||_0x4cfa6e===_0x349a('0xd6')){return _0x2a778c[_0x349a('0x34')]({'read':!![]});}else{logger[_0x349a('0x22')](_0x349a('0x20'),_0x349a('0x29'),_0x349a('0x93'),util[_0x349a('0xc8')](_0x338d07['body'],{'showHidden':![],'depth':null}));}break;}return _0x2a778c;}})[_0x349a('0x35')](respondWithResult(_0x4a4fba,null))['catch'](handleError(_0x4a4fba,null));};exports[_0x349a('0xd7')]=function(_0x3173c9,_0x16cc55,_0x38c202){var _0x45a470,_0x4c5abd,_0x1e7d8d;return db[_0x349a('0x3f')][_0x349a('0x5a')]({'where':{'id':_0x3173c9[_0x349a('0x63')]['id']}})['then'](handleEntityNotFound(_0x16cc55,null))[_0x349a('0x35')](function(_0x415532){if(_0x415532){_0x1e7d8d=_0x415532;logger[_0x349a('0xc6')](_0x349a('0x20'),_0x349a('0x29'),'received\x20delivery\x20report\x20from',_0x415532['type'],util[_0x349a('0xc8')](_0x3173c9[_0x349a('0x43')],{'showHidden':![],'depth':null}));switch(_0x415532[_0x349a('0x50')]){case _0x349a('0x8c'):if(_0x3173c9[_0x349a('0x43')]['message-id']&&_0x3173c9[_0x349a('0x43')][_0x349a('0xd8')]){_0x4c5abd=_0x3173c9[_0x349a('0x43')][_0x349a('0xd8')];return db[_0x349a('0xab')][_0x349a('0x5a')]({'where':{'messageId':_0x3173c9['query'][_0x349a('0xd9')]}});}break;}}})[_0x349a('0x35')](handleEntityNotFound(_0x16cc55,null))['then'](function(_0x11e31f){if(_0x11e31f){_0x45a470=_0x11e31f;switch(_0x1e7d8d[_0x349a('0x50')]){case _0x349a('0x8c'):if(_0x4c5abd==='2'||_0x4c5abd==='6'){return _0x45a470['update']({'read':!![]});}else{logger[_0x349a('0x22')](_0x349a('0x20'),_0x349a('0x29'),'csc',util[_0x349a('0xc8')](_0x3173c9[_0x349a('0x43')],{'showHidden':![],'depth':null}));};break;}return _0x45a470;}})['then'](respondWithResult(_0x16cc55,null))[_0x349a('0x27')](handleError(_0x16cc55,null));};exports[_0x349a('0xda')]=function(_0x57de53,_0x72e699,_0x4aad1b){return db[_0x349a('0x3f')][_0x349a('0x5a')]({'where':{'id':_0x57de53[_0x349a('0x63')]['id']}})['then'](handleEntityNotFound(_0x72e699,null))[_0x349a('0x35')](function(_0x8540a4){if(_0x8540a4){return _0x8540a4['addAgents'](_0x57de53['body'][_0x349a('0xdb')],_[_0x349a('0x9f')](_0x57de53[_0x349a('0x5c')],[_0x349a('0xdb'),'id'])||{})[_0x349a('0xa3')](function(_0x95532c){for(var _0x2dccfe=0x0;_0x2dccfe<_0x57de53[_0x349a('0x5c')][_0x349a('0xdb')][_0x349a('0x59')];_0x2dccfe+=0x1){socket[_0x349a('0xdc')]('userSmsAccount:save',{'UserId':_0x57de53[_0x349a('0x5c')]['ids'][_0x2dccfe],'SmsAccountId':_0x57de53['params']['id']});}return _0x95532c;});}})[_0x349a('0x35')](respondWithResult(_0x72e699,null))[_0x349a('0x27')](handleError(_0x72e699,null));};exports[_0x349a('0xdd')]=function(_0x584efe,_0x27f8ba,_0x29c3b3){return db[_0x349a('0x3f')]['find']({'where':{'id':_0x584efe[_0x349a('0x63')]['id']}})[_0x349a('0x35')](handleEntityNotFound(_0x27f8ba,null))['then'](function(_0x5c9802){if(_0x5c9802){return _0x5c9802[_0x349a('0xdd')](_0x584efe[_0x349a('0x43')]['ids'])[_0x349a('0x35')](function(){if(_['isArray'](_0x584efe[_0x349a('0x43')][_0x349a('0xdb')])){for(var _0x356a22=0x0;_0x356a22<_0x584efe['query'][_0x349a('0xdb')][_0x349a('0x59')];_0x356a22+=0x1){socket[_0x349a('0xdc')](_0x349a('0xde'),{'UserId':Number(_0x584efe[_0x349a('0x43')][_0x349a('0xdb')][_0x356a22]),'SmsAccountId':Number(_0x584efe[_0x349a('0x63')]['id'])});}}else{socket[_0x349a('0xdc')]('userSmsAccount:remove',{'UserId':Number(_0x584efe[_0x349a('0x43')][_0x349a('0xdb')]),'SmsAccountId':Number(_0x584efe[_0x349a('0x63')]['id'])});}});}})[_0x349a('0x35')](respondWithStatusCode(_0x27f8ba,null))['catch'](handleError(_0x27f8ba,null));};exports[_0x349a('0xdf')]=function(_0x37ec70,_0x157c2e,_0x17b210){var _0x2a06e2={};var _0x28be78={};var _0x1865e7;var _0x526e36;return db[_0x349a('0x3f')]['findOne']({'where':{'id':_0x37ec70[_0x349a('0x63')]['id']}})[_0x349a('0x35')](handleEntityNotFound(_0x157c2e,null))[_0x349a('0x35')](function(_0x3db23f){if(_0x3db23f){_0x1865e7=_0x3db23f;_0x28be78[_0x349a('0x46')]=_[_0x349a('0x58')](db[_0x349a('0xae')]['rawAttributes']);_0x28be78[_0x349a('0x43')]=_[_0x349a('0x58')](_0x37ec70[_0x349a('0x43')]);_0x28be78[_0x349a('0x44')]=_['intersection'](_0x28be78[_0x349a('0x46')],_0x28be78[_0x349a('0x43')]);_0x2a06e2[_0x349a('0x47')]=_[_0x349a('0x45')](_0x28be78[_0x349a('0x46')],qs['fields'](_0x37ec70[_0x349a('0x43')][_0x349a('0x48')]));_0x2a06e2[_0x349a('0x47')]=_0x2a06e2[_0x349a('0x47')][_0x349a('0x59')]?_0x2a06e2['attributes']:_0x28be78[_0x349a('0x46')];_0x2a06e2[_0x349a('0x4b')]=qs[_0x349a('0x4c')](_0x37ec70[_0x349a('0x43')]['sort']);_0x2a06e2[_0x349a('0x4d')]=qs[_0x349a('0x44')](_[_0x349a('0x4e')](_0x37ec70[_0x349a('0x43')],_0x28be78[_0x349a('0x44')]));if(_0x37ec70[_0x349a('0x43')][_0x349a('0x52')]){_0x2a06e2[_0x349a('0x4d')]=_[_0x349a('0x4f')](_0x2a06e2[_0x349a('0x4d')],{'$or':_[_0x349a('0x6a')](_0x2a06e2[_0x349a('0x47')],function(_0x534985){var _0x3c24b3={};_0x3c24b3[_0x534985]={'$like':'%'+_0x37ec70[_0x349a('0x43')][_0x349a('0x52')]+'%'};return _0x3c24b3;})});}_0x2a06e2=_[_0x349a('0x4f')]({},_0x2a06e2,_0x37ec70[_0x349a('0x53')]);return _0x1865e7[_0x349a('0xdf')](_0x2a06e2);}})['then'](function(_0x574e1){if(_0x574e1){_0x526e36=_0x574e1['length'];if(!_0x37ec70[_0x349a('0x43')][_0x349a('0x49')](_0x349a('0x4a'))){_0x2a06e2[_0x349a('0x2e')]=qs[_0x349a('0x2e')](_0x37ec70['query'][_0x349a('0x2e')]);_0x2a06e2[_0x349a('0x2c')]=qs[_0x349a('0x2c')](_0x37ec70[_0x349a('0x43')]['offset']);}return _0x1865e7['getAgents'](_0x2a06e2);}})[_0x349a('0x35')](function(_0x4a904e){if(_0x4a904e){return _0x4a904e?{'count':_0x526e36,'rows':_0x4a904e}:null;}})[_0x349a('0x35')](respondWithResult(_0x157c2e,null))[_0x349a('0x27')](handleError(_0x157c2e,null));};