50f025e5bf1c2f991a9f31a709f94d4ac3b8e782
[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 _0x1967=['sort','where','pick','filters','filter','merge','VIRTUAL','count','includeAll','findAll','rows','show','params','find','catch','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','userProfileId','autoAssociation','create','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','describe','addDisposition','SmsAccountId','Disposition','getDispositions','findOne','hasOwnProperty','options','removeDispositions','ids','addAnswer','CannedAnswer','removeAnswers','SmsApplication','Applications','account','applications','priority','asc','CmContact','difference','createdAt','updatedAt','CompanyId','ListId','mobile','from','From','Body','messageId','skebby','sender','text','connectel','Text','results','csc','originatingAddress','segmentedMessage','clickatell','fromNumber','replyMessageId','intelepeer','refid','isNil','body\x20is\x20mandatory\x20and\x20not\x20empty','mapKey','includes','mapKey\x20invalid,\x20please\x20use\x20one\x20of\x20these:\x20','CmList','DESC','Contacts','contact','SmsInteraction','spread','interaction','autoclose','close','*,*,*,*','created','ContactId','UserId','unshift','agent','waitForTheAssignedAgent','startRouting','Start','receiveMessage','entity\x20found','debug','SmsAccount,\x20%s,\x20%s,\x20%s,\x20%s','Content-Type','text/xml','send','<?xml\x20version=\x221.0\x22\x20encoding=\x22UTF-8\x22?>\x0a<Response></Response>','addApplications','transaction','bulkCreate','findAndCountAll','getApplications','getInteractions','Contact','User','Owner','fullname','internal','Tags','color','tag','to\x20is\x20mandatory','List','out','SmsMessage','Messages','dataValues','push','log','received\x20delivery\x20report\x20from','inspect','skebby_dispatch_id','requestid','statusInt','message_id','groupName','DELIVERED','redif','clicksend','error_code','infobip','DELIVERED_TO_GATEWAY','RECEIVED_BY_RECIPIENT','ACCEPTD','message-id','state','addAgents','omit','emit','userSmsAccount:save','removeAgents','isArray','userSmsAccount:remove','getAgents','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','to-csv','ejs','lodash','squel','crypto','jsforce','querystring','papaparse','ioredis','../../components/auth/service','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./smsAccount.socket','register','jayson/promise','client','test','Sequelize','ValidationError','The\x20password\x20must\x20be\x20at\x20least\x208\x20characters\x20long\x20and\x20have\x201\x20lowercase\x20character,\x201\x20uppercase\x20character,\x201\x20number\x20and\x201\x20special\x20character\x20~!@#$%^&-_=+[{]}.','request','then','SmsAccount,\x20%s,\x20%s','SmsAccount,\x20%s,\x20%s,\x20%s','request\x20sent','stringify','code','error','message','info','result','sendStatus','status','json','offset','limit','set','Content-Range','apply','save','update','destroy','get','SmsAccounts','UserProfileResource','end','stack','name','index','Pause','mandatoryDispositionPause','SmsAccount','rawAttributes','type','key','model','map','query','keys','intersection','attributes','fields','length','nolimit','order'];(function(_0x3a60b8,_0x47caab){var _0x4eb583=function(_0x2251b5){while(--_0x2251b5){_0x3a60b8['push'](_0x3a60b8['shift']());}};_0x4eb583(++_0x47caab);}(_0x1967,0x173));var _0x7196=function(_0x5053f1,_0x2ca0f8){_0x5053f1=_0x5053f1-0x0;var _0x2b63f2=_0x1967[_0x5053f1];return _0x2b63f2;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x7196('0x0'));var rimraf=require(_0x7196('0x1'));var zipdir=require(_0x7196('0x2'));var jsonpatch=require(_0x7196('0x3'));var rp=require(_0x7196('0x4'));var moment=require(_0x7196('0x5'));var BPromise=require(_0x7196('0x6'));var Mustache=require(_0x7196('0x7'));var util=require(_0x7196('0x8'));var path=require(_0x7196('0x9'));var sox=require('sox');var csv=require(_0x7196('0xa'));var ejs=require(_0x7196('0xb'));var fs=require('fs');var _=require(_0x7196('0xc'));var squel=require(_0x7196('0xd'));var crypto=require(_0x7196('0xe'));var jsforce=require(_0x7196('0xf'));var deskjs=require('desk.js');var toCsv=require(_0x7196('0xa'));var querystring=require(_0x7196('0x10'));var Papa=require(_0x7196('0x11'));var Redis=require(_0x7196('0x12'));var authService=require(_0x7196('0x13'));var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x7196('0x14'));var logger=require(_0x7196('0x15'))(_0x7196('0x16'));var utils=require(_0x7196('0x17'));var config=require(_0x7196('0x18'));var db=require(_0x7196('0x19'))['db'];config[_0x7196('0x1a')]=_[_0x7196('0x1b')](config[_0x7196('0x1a')],{'host':_0x7196('0x1c'),'port':0x18eb});var socket=require(_0x7196('0x1d'))(new Redis(config['redis']));require(_0x7196('0x1e'))[_0x7196('0x1f')](socket);var jayson=require(_0x7196('0x20'));var client=jayson[_0x7196('0x21')]['http']({'port':0x232c});function checkPasswordPattern(_0x31c778,_0x539414,_0xe32933){if(_0xe32933){var _0x2590a6=new RegExp(/(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[?!@#\$%\^&\*~\-_=+[{\]\}])(?=.{8,})/);if(_0x2590a6[_0x7196('0x22')](_0x539414)){return _0x31c778;}else{throw new db[(_0x7196('0x23'))][(_0x7196('0x24'))](_0x7196('0x25'));}}else{return _0x31c778;}}function respondWithRpcPromise(_0x22bd62,_0x1ed296,_0x3e4e69,_0x32fe2b){return new BPromise(function(_0x385f2d,_0x5b716a){var _0x4c4f91=_0x32fe2b||client;return _0x4c4f91[_0x7196('0x26')](_0x22bd62,_0x3e4e69)[_0x7196('0x27')](function(_0x40418d){logger['info'](_0x7196('0x28'),_0x1ed296,'request\x20sent');logger['debug'](_0x7196('0x29'),_0x1ed296,_0x7196('0x2a'),JSON[_0x7196('0x2b')](_0x40418d));if(_0x40418d['error']){if(_0x40418d['error'][_0x7196('0x2c')]===0x1f4){logger[_0x7196('0x2d')]('SmsAccount,\x20%s,\x20%s',_0x1ed296,_0x40418d[_0x7196('0x2d')][_0x7196('0x2e')]);return _0x5b716a(_0x40418d[_0x7196('0x2d')][_0x7196('0x2e')]);}logger[_0x7196('0x2d')]('SmsAccount,\x20%s,\x20%s',_0x1ed296,_0x40418d[_0x7196('0x2d')]['message']);return _0x385f2d(_0x40418d[_0x7196('0x2d')][_0x7196('0x2e')]);}else{logger[_0x7196('0x2f')](_0x7196('0x28'),_0x1ed296,_0x7196('0x2a'));_0x385f2d(_0x40418d[_0x7196('0x30')]['message']);}})['catch'](function(_0x1482e5){logger[_0x7196('0x2d')](_0x7196('0x28'),_0x1ed296,_0x1482e5);_0x5b716a(_0x1482e5);});});}function respondWithStatusCode(_0x4e878f,_0x5aa538){_0x5aa538=_0x5aa538||0xcc;return function(_0x41cfd2){if(_0x41cfd2){return _0x4e878f[_0x7196('0x31')](_0x5aa538);}return _0x4e878f[_0x7196('0x32')](_0x5aa538)['end']();};}function respondWithResult(_0x35eef9,_0x4ecea1){_0x4ecea1=_0x4ecea1||0xc8;return function(_0x4fd339){if(_0x4fd339){return _0x35eef9['status'](_0x4ecea1)[_0x7196('0x33')](_0x4fd339);}};}function respondWithFilteredResult(_0x985727,_0x1257ad){return function(_0x4f02b1){if(_0x4f02b1){var _0x35116f=_0x4f02b1['count'],_0x45d567=_0x1257ad[_0x7196('0x34')],_0x2f9583=_0x1257ad[_0x7196('0x34')]+_0x1257ad[_0x7196('0x35')],_0xf999e9;if(_0x2f9583>=_0x35116f){_0x2f9583=_0x35116f;_0xf999e9=0xc8;}else{_0xf999e9=0xce;}_0x985727[_0x7196('0x32')](_0xf999e9);return _0x985727[_0x7196('0x36')](_0x7196('0x37'),_0x45d567+'-'+_0x2f9583+'/'+_0x35116f)[_0x7196('0x33')](_0x4f02b1);}return null;};}function patchUpdates(_0x3465aa){return function(_0x354175){try{jsonpatch[_0x7196('0x38')](_0x354175,_0x3465aa,!![]);}catch(_0x1ff4b4){return BPromise['reject'](_0x1ff4b4);}return _0x354175[_0x7196('0x39')]();};}function saveUpdates(_0x4fbe57,_0x2452f6){return function(_0x4c3365){if(_0x4c3365){return _0x4c3365[_0x7196('0x3a')](_0x4fbe57)[_0x7196('0x27')](function(_0x5616ed){return _0x5616ed;});}return null;};}function removeEntity(_0x628e7d,_0x2bcadd){return function(_0x4531d7){if(_0x4531d7){return _0x4531d7[_0x7196('0x3b')]()[_0x7196('0x27')](function(){var _0x4a8580=_0x4531d7[_0x7196('0x3c')]({'plain':!![]});var _0x2f68e2=_0x7196('0x3d');return db[_0x7196('0x3e')][_0x7196('0x3b')]({'where':{'type':_0x2f68e2,'resourceId':_0x4a8580['id']}})[_0x7196('0x27')](function(){return _0x4531d7;});})['then'](function(){_0x628e7d[_0x7196('0x32')](0xcc)[_0x7196('0x3f')]();});}};}function handleEntityNotFound(_0x191df2,_0x4f6b27){return function(_0x33831a){if(!_0x33831a){_0x191df2[_0x7196('0x31')](0x194);}return _0x33831a;};}function handleError(_0xd72bd9,_0xa24847){_0xa24847=_0xa24847||0x1f4;return function(_0x11d4ec){logger[_0x7196('0x2d')](_0x11d4ec[_0x7196('0x40')]);if(_0x11d4ec[_0x7196('0x41')]){delete _0x11d4ec[_0x7196('0x41')];}_0xd72bd9[_0x7196('0x32')](_0xa24847)['send'](_0x11d4ec);};}exports[_0x7196('0x42')]=function(_0x17cefd,_0x4c411b){var _0x186efe={'include':[{'model':db[_0x7196('0x43')],'as':_0x7196('0x44')}]},_0x54767f={},_0x5bd701={'count':0x0,'rows':[]};var _0x4d03c9=_['map'](db[_0x7196('0x45')][_0x7196('0x46')],function(_0xed32cd){return{'name':_0xed32cd['fieldName'],'type':_0xed32cd[_0x7196('0x47')][_0x7196('0x48')]};});_0x54767f[_0x7196('0x49')]=_[_0x7196('0x4a')](_0x4d03c9,_0x7196('0x41'));_0x54767f[_0x7196('0x4b')]=_[_0x7196('0x4c')](_0x17cefd[_0x7196('0x4b')]);_0x54767f['filters']=_[_0x7196('0x4d')](_0x54767f[_0x7196('0x49')],_0x54767f['query']);_0x186efe[_0x7196('0x4e')]=_[_0x7196('0x4d')](_0x54767f['model'],qs[_0x7196('0x4f')](_0x17cefd[_0x7196('0x4b')][_0x7196('0x4f')]));_0x186efe['attributes']=_0x186efe[_0x7196('0x4e')][_0x7196('0x50')]?_0x186efe['attributes']:_0x54767f[_0x7196('0x49')];if(!_0x17cefd[_0x7196('0x4b')]['hasOwnProperty'](_0x7196('0x51'))){_0x186efe['limit']=qs['limit'](_0x17cefd['query']['limit']);_0x186efe['offset']=qs[_0x7196('0x34')](_0x17cefd['query'][_0x7196('0x34')]);}_0x186efe[_0x7196('0x52')]=qs[_0x7196('0x53')](_0x17cefd[_0x7196('0x4b')]['sort']);_0x186efe[_0x7196('0x54')]=qs['filters'](_[_0x7196('0x55')](_0x17cefd[_0x7196('0x4b')],_0x54767f[_0x7196('0x56')]));if(_0x17cefd['query'][_0x7196('0x57')]){_0x186efe[_0x7196('0x54')]=_[_0x7196('0x58')](_0x186efe['where'],{'$or':_['map'](_0x4d03c9,function(_0x1faa7b){if(_0x1faa7b['type']!==_0x7196('0x59')){var _0x582884={};_0x582884[_0x1faa7b['name']]={'$like':'%'+_0x17cefd[_0x7196('0x4b')]['filter']+'%'};return _0x582884;}})});}_0x186efe=_['merge']({},_0x186efe,_0x17cefd['options']);var _0x2299e2={'where':_0x186efe['where']};return db['SmsAccount'][_0x7196('0x5a')](_0x2299e2)[_0x7196('0x27')](function(_0x2262d8){_0x5bd701[_0x7196('0x5a')]=_0x2262d8;if(_0x17cefd['query'][_0x7196('0x5b')]){_0x186efe['include']=[{'all':!![]}];}return db[_0x7196('0x45')][_0x7196('0x5c')](_0x186efe);})['then'](function(_0x30aae8){_0x5bd701[_0x7196('0x5d')]=_0x30aae8;return _0x5bd701;})[_0x7196('0x27')](respondWithFilteredResult(_0x4c411b,_0x186efe))['catch'](handleError(_0x4c411b,null));};exports[_0x7196('0x5e')]=function(_0x5d51aa,_0x44f7cc){var _0x9fa0d3={'raw':![],'where':{'id':_0x5d51aa[_0x7196('0x5f')]['id']},'include':[{'model':db[_0x7196('0x43')],'as':_0x7196('0x44')}]},_0x179815={};_0x179815[_0x7196('0x49')]=_[_0x7196('0x4c')](db['SmsAccount']['rawAttributes']);_0x179815[_0x7196('0x4b')]=_[_0x7196('0x4c')](_0x5d51aa[_0x7196('0x4b')]);_0x179815[_0x7196('0x56')]=_['intersection'](_0x179815[_0x7196('0x49')],_0x179815[_0x7196('0x4b')]);_0x9fa0d3[_0x7196('0x4e')]=_[_0x7196('0x4d')](_0x179815[_0x7196('0x49')],qs[_0x7196('0x4f')](_0x5d51aa[_0x7196('0x4b')][_0x7196('0x4f')]));_0x9fa0d3[_0x7196('0x4e')]=_0x9fa0d3[_0x7196('0x4e')][_0x7196('0x50')]?_0x9fa0d3['attributes']:_0x179815[_0x7196('0x49')];if(_0x5d51aa[_0x7196('0x4b')][_0x7196('0x5b')]){_0x9fa0d3['include']=[{'all':!![]}];}_0x9fa0d3=_[_0x7196('0x58')]({},_0x9fa0d3,_0x5d51aa['options']);return db[_0x7196('0x45')][_0x7196('0x60')](_0x9fa0d3)[_0x7196('0x27')](handleEntityNotFound(_0x44f7cc,null))[_0x7196('0x27')](respondWithResult(_0x44f7cc,null))[_0x7196('0x61')](handleError(_0x44f7cc,null));};exports['create']=function(_0x3ece9f,_0x5b77fc){return db['SmsAccount']['create'](_0x3ece9f[_0x7196('0x62')],{})[_0x7196('0x27')](function(_0x20d306){var _0x35f342=_0x3ece9f[_0x7196('0x63')][_0x7196('0x3c')]({'plain':!![]});if(!_0x35f342)throw new Error(_0x7196('0x64'));if(_0x35f342['role']===_0x7196('0x63')){var _0x14dc43=_0x20d306[_0x7196('0x3c')]({'plain':!![]});var _0x2e5c9c=_0x7196('0x3d');return db['UserProfileSection']['find']({'where':{'name':_0x2e5c9c,'userProfileId':_0x35f342[_0x7196('0x65')]},'raw':!![]})[_0x7196('0x27')](function(_0xeb7e6e){if(_0xeb7e6e&&_0xeb7e6e[_0x7196('0x66')]===0x0){return db[_0x7196('0x3e')][_0x7196('0x67')]({'name':_0x14dc43[_0x7196('0x41')],'resourceId':_0x14dc43['id'],'type':_0xeb7e6e[_0x7196('0x41')],'sectionId':_0xeb7e6e['id']},{})[_0x7196('0x27')](function(){return _0x20d306;});}else{return _0x20d306;}})[_0x7196('0x61')](function(_0x4cb49b){logger['error'](_0x7196('0x68'),_0x4cb49b);throw _0x4cb49b;});}return _0x20d306;})[_0x7196('0x27')](respondWithResult(_0x5b77fc,0xc9))[_0x7196('0x61')](handleError(_0x5b77fc,null));};exports[_0x7196('0x3a')]=function(_0x5d4daf,_0x4bd0f3){if(_0x5d4daf[_0x7196('0x62')]['id']){delete _0x5d4daf[_0x7196('0x62')]['id'];}return db[_0x7196('0x45')][_0x7196('0x60')]({'where':{'id':_0x5d4daf[_0x7196('0x5f')]['id']},'include':[{'model':db[_0x7196('0x43')],'as':'mandatoryDispositionPause'}]})[_0x7196('0x27')](handleEntityNotFound(_0x4bd0f3,null))[_0x7196('0x27')](saveUpdates(_0x5d4daf[_0x7196('0x62')],null))[_0x7196('0x27')](respondWithResult(_0x4bd0f3,null))['catch'](handleError(_0x4bd0f3,null));};exports[_0x7196('0x3b')]=function(_0x3809c4,_0x10f376){return db[_0x7196('0x45')][_0x7196('0x60')]({'where':{'id':_0x3809c4[_0x7196('0x5f')]['id']}})[_0x7196('0x27')](handleEntityNotFound(_0x10f376,null))['then'](removeEntity(_0x10f376,null))['catch'](handleError(_0x10f376,null));};exports['describe']=function(_0x72f6f1,_0x49183a){return db[_0x7196('0x45')][_0x7196('0x69')]()[_0x7196('0x27')](respondWithResult(_0x49183a,null))[_0x7196('0x61')](handleError(_0x49183a,null));};exports[_0x7196('0x6a')]=function(_0x30d44f,_0x22a5d8,_0x71dc04){if(_0x30d44f[_0x7196('0x62')]['id']){delete _0x30d44f['body']['id'];}return db['SmsAccount'][_0x7196('0x60')]({'where':{'id':_0x30d44f[_0x7196('0x5f')]['id']}})[_0x7196('0x27')](handleEntityNotFound(_0x22a5d8,null))[_0x7196('0x27')](function(_0x30ddb6){if(_0x30ddb6){_0x30d44f[_0x7196('0x62')][_0x7196('0x6b')]=_0x30ddb6['id'];return db[_0x7196('0x6c')]['create'](_0x30d44f['body']);}})[_0x7196('0x27')](respondWithResult(_0x22a5d8,null))['catch'](handleError(_0x22a5d8,null));};exports[_0x7196('0x6d')]=function(_0x52f532,_0x18efc7,_0x2ffe1f){var _0x74fa58={'raw':![],'where':{}};var _0x267903={};var _0x5ab6ae={'count':0x0,'rows':[]};return db['SmsAccount'][_0x7196('0x6e')]({'where':{'id':_0x52f532['params']['id']}})[_0x7196('0x27')](handleEntityNotFound(_0x18efc7,null))[_0x7196('0x27')](function(_0x4526e8){if(_0x4526e8){_0x267903[_0x7196('0x49')]=_[_0x7196('0x4c')](db[_0x7196('0x6c')]['rawAttributes']);_0x267903[_0x7196('0x4b')]=_[_0x7196('0x4c')](_0x52f532[_0x7196('0x4b')]);_0x267903[_0x7196('0x56')]=_[_0x7196('0x4d')](_0x267903[_0x7196('0x49')],_0x267903[_0x7196('0x4b')]);_0x74fa58[_0x7196('0x4e')]=_[_0x7196('0x4d')](_0x267903[_0x7196('0x49')],qs[_0x7196('0x4f')](_0x52f532[_0x7196('0x4b')]['fields']));_0x74fa58[_0x7196('0x4e')]=_0x74fa58[_0x7196('0x4e')]['length']?_0x74fa58['attributes']:_0x267903[_0x7196('0x49')];if(!_0x52f532[_0x7196('0x4b')][_0x7196('0x6f')]('nolimit')){_0x74fa58[_0x7196('0x35')]=qs['limit'](_0x52f532[_0x7196('0x4b')][_0x7196('0x35')]);_0x74fa58['offset']=qs[_0x7196('0x34')](_0x52f532['query']['offset']);}_0x74fa58[_0x7196('0x52')]=qs[_0x7196('0x53')](_0x52f532[_0x7196('0x4b')]['sort']);_0x74fa58[_0x7196('0x54')]=qs['filters'](_[_0x7196('0x55')](_0x52f532[_0x7196('0x4b')],_0x267903[_0x7196('0x56')]));_0x74fa58[_0x7196('0x54')][_0x7196('0x6b')]=_0x4526e8['id'];if(_0x52f532['query'][_0x7196('0x57')]){_0x74fa58[_0x7196('0x54')]=_[_0x7196('0x58')](_0x74fa58[_0x7196('0x54')],{'$or':_[_0x7196('0x4a')](_0x74fa58[_0x7196('0x4e')],function(_0x2ce362){var _0x34633a={};_0x34633a[_0x2ce362]={'$like':'%'+_0x52f532['query'][_0x7196('0x57')]+'%'};return _0x34633a;})});}_0x74fa58=_[_0x7196('0x58')]({},_0x74fa58,_0x52f532[_0x7196('0x70')]);return db[_0x7196('0x6c')]['count']({'where':_0x74fa58[_0x7196('0x54')]})[_0x7196('0x27')](function(_0x4fe2cb){_0x5ab6ae[_0x7196('0x5a')]=_0x4fe2cb;if(_0x52f532['query'][_0x7196('0x5b')]){_0x74fa58['include']=[{'all':!![]}];}return db[_0x7196('0x6c')][_0x7196('0x5c')](_0x74fa58);})['then'](function(_0x37d916){_0x5ab6ae[_0x7196('0x5d')]=_0x37d916;return _0x5ab6ae;});}})[_0x7196('0x27')](respondWithFilteredResult(_0x18efc7,_0x74fa58))['catch'](handleError(_0x18efc7,null));};exports['removeDispositions']=function(_0x1c5a41,_0x591a34,_0x4d3a21){return db[_0x7196('0x45')][_0x7196('0x60')]({'where':{'id':_0x1c5a41[_0x7196('0x5f')]['id']}})['then'](handleEntityNotFound(_0x591a34,null))[_0x7196('0x27')](function(_0x59370b){if(_0x59370b){return _0x59370b[_0x7196('0x71')](_0x1c5a41[_0x7196('0x4b')][_0x7196('0x72')]);}})[_0x7196('0x27')](respondWithStatusCode(_0x591a34,null))[_0x7196('0x61')](handleError(_0x591a34,null));};exports[_0x7196('0x73')]=function(_0x32ba47,_0x446f28,_0x173fe5){if(_0x32ba47['body']['id']){delete _0x32ba47['body']['id'];}return db[_0x7196('0x45')]['find']({'where':{'id':_0x32ba47['params']['id']}})[_0x7196('0x27')](handleEntityNotFound(_0x446f28,null))[_0x7196('0x27')](function(_0x2f686c){if(_0x2f686c){_0x32ba47[_0x7196('0x62')]['SmsAccountId']=_0x2f686c['id'];return db['CannedAnswer'][_0x7196('0x67')](_0x32ba47[_0x7196('0x62')]);}})[_0x7196('0x27')](respondWithResult(_0x446f28,null))[_0x7196('0x61')](handleError(_0x446f28,null));};exports['getAnswers']=function(_0x4d8b8e,_0x4afbee,_0x4e8ba8){var _0x2820ef={'raw':![],'where':{}};var _0x884d80={};var _0x1e14da={'count':0x0,'rows':[]};return db['SmsAccount'][_0x7196('0x6e')]({'where':{'id':_0x4d8b8e[_0x7196('0x5f')]['id']}})[_0x7196('0x27')](handleEntityNotFound(_0x4afbee,null))[_0x7196('0x27')](function(_0x10712f){if(_0x10712f){_0x884d80[_0x7196('0x49')]=_[_0x7196('0x4c')](db[_0x7196('0x74')]['rawAttributes']);_0x884d80[_0x7196('0x4b')]=_[_0x7196('0x4c')](_0x4d8b8e[_0x7196('0x4b')]);_0x884d80[_0x7196('0x56')]=_[_0x7196('0x4d')](_0x884d80['model'],_0x884d80[_0x7196('0x4b')]);_0x2820ef[_0x7196('0x4e')]=_[_0x7196('0x4d')](_0x884d80['model'],qs[_0x7196('0x4f')](_0x4d8b8e['query']['fields']));_0x2820ef[_0x7196('0x4e')]=_0x2820ef[_0x7196('0x4e')]['length']?_0x2820ef[_0x7196('0x4e')]:_0x884d80[_0x7196('0x49')];if(!_0x4d8b8e['query'][_0x7196('0x6f')](_0x7196('0x51'))){_0x2820ef[_0x7196('0x35')]=qs[_0x7196('0x35')](_0x4d8b8e[_0x7196('0x4b')][_0x7196('0x35')]);_0x2820ef['offset']=qs[_0x7196('0x34')](_0x4d8b8e[_0x7196('0x4b')][_0x7196('0x34')]);}_0x2820ef['order']=qs['sort'](_0x4d8b8e['query'][_0x7196('0x53')]);_0x2820ef[_0x7196('0x54')]=qs[_0x7196('0x56')](_['pick'](_0x4d8b8e[_0x7196('0x4b')],_0x884d80['filters']));_0x2820ef[_0x7196('0x54')]['SmsAccountId']=_0x10712f['id'];if(_0x4d8b8e[_0x7196('0x4b')][_0x7196('0x57')]){_0x2820ef[_0x7196('0x54')]=_[_0x7196('0x58')](_0x2820ef[_0x7196('0x54')],{'$or':_[_0x7196('0x4a')](_0x2820ef[_0x7196('0x4e')],function(_0x48608b){var _0x301bba={};_0x301bba[_0x48608b]={'$like':'%'+_0x4d8b8e['query']['filter']+'%'};return _0x301bba;})});}_0x2820ef=_['merge']({},_0x2820ef,_0x4d8b8e['options']);return db['CannedAnswer'][_0x7196('0x5a')]({'where':_0x2820ef[_0x7196('0x54')]})[_0x7196('0x27')](function(_0x5bab25){_0x1e14da[_0x7196('0x5a')]=_0x5bab25;if(_0x4d8b8e['query']['includeAll']){_0x2820ef['include']=[{'all':!![]}];}return db[_0x7196('0x74')]['findAll'](_0x2820ef);})[_0x7196('0x27')](function(_0x2fe382){_0x1e14da[_0x7196('0x5d')]=_0x2fe382;return _0x1e14da;});}})[_0x7196('0x27')](respondWithFilteredResult(_0x4afbee,_0x2820ef))[_0x7196('0x61')](handleError(_0x4afbee,null));};exports[_0x7196('0x75')]=function(_0x237a73,_0x36ce4f,_0x49d494){return db[_0x7196('0x45')][_0x7196('0x60')]({'where':{'id':_0x237a73[_0x7196('0x5f')]['id']}})['then'](handleEntityNotFound(_0x36ce4f,null))[_0x7196('0x27')](function(_0x9f39c3){if(_0x9f39c3){return _0x9f39c3[_0x7196('0x75')](_0x237a73['query'][_0x7196('0x72')]);}})[_0x7196('0x27')](respondWithStatusCode(_0x36ce4f,null))[_0x7196('0x61')](handleError(_0x36ce4f,null));};exports['notify']=function(_0x2e876e,_0x3eb6db,_0x4d4f1b){var _0xfb40ad={'channel':'sms'};var _0x1bba1b=[];var _0x2c2922=[];var _0x52dfe6={};return db[_0x7196('0x45')]['find']({'where':{'id':_0x2e876e[_0x7196('0x5f')]['id']},'include':[{'model':db[_0x7196('0x76')],'as':_0x7196('0x77')}]})['then'](handleEntityNotFound(_0x3eb6db,null))[_0x7196('0x27')](function(_0x1c5d74){_0xfb40ad[_0x7196('0x78')]=_0x1c5d74;_0xfb40ad[_0x7196('0x79')]=_['orderBy'](_0x1c5d74[_0x7196('0x77')],[_0x7196('0x7a')],[_0x7196('0x7b')]);if(_0xfb40ad['account']['Applications']){delete _0xfb40ad[_0x7196('0x78')][_0x7196('0x77')];}return db[_0x7196('0x7c')][_0x7196('0x69')]();})['then'](function(_0x397b26){if(!_0x397b26){throw new db['Sequelize'][(_0x7196('0x24'))]('no\x20available\x20attributes');}_0x1bba1b=_[_0x7196('0x7d')](_[_0x7196('0x4c')](_0x397b26),[_0x7196('0x7e'),_0x7196('0x7f')]);_0x2c2922=_[_0x7196('0x7d')](_[_0x7196('0x4c')](_0x397b26),[_0x7196('0x7e'),'updatedAt',_0x7196('0x80'),_0x7196('0x81')]);_0xfb40ad[_0x7196('0x62')]={'mapKey':_0x7196('0x82')};if(_0xfb40ad[_0x7196('0x78')][_0x7196('0x47')]){switch(_0xfb40ad[_0x7196('0x78')][_0x7196('0x47')]){case'twilio':_0xfb40ad[_0x7196('0x62')][_0x7196('0x83')]=_0x2e876e['body'][_0x7196('0x84')];_0xfb40ad[_0x7196('0x62')]['body']=_0x2e876e[_0x7196('0x62')][_0x7196('0x85')];_0xfb40ad[_0x7196('0x62')][_0x7196('0x86')]=_0x2e876e['body']['MessageSid'];break;case _0x7196('0x87'):_0xfb40ad['body'][_0x7196('0x83')]='+'+_0x2e876e[_0x7196('0x62')][_0x7196('0x88')];_0xfb40ad[_0x7196('0x62')][_0x7196('0x62')]=_0x2e876e['body'][_0x7196('0x89')];break;case _0x7196('0x8a'):_0xfb40ad[_0x7196('0x62')][_0x7196('0x83')]=_0x2e876e[_0x7196('0x62')][_0x7196('0x83')];_0xfb40ad[_0x7196('0x62')][_0x7196('0x62')]=_0x2e876e[_0x7196('0x62')]['message'];break;case'clicksend':_0xfb40ad['body'][_0x7196('0x83')]=_0x2e876e[_0x7196('0x62')][_0x7196('0x83')];_0xfb40ad[_0x7196('0x62')][_0x7196('0x62')]=_0x2e876e[_0x7196('0x62')][_0x7196('0x62')];_0xfb40ad[_0x7196('0x62')]['messageId']=_0x2e876e['body']['message_id'];break;case'plivo':_0xfb40ad[_0x7196('0x62')][_0x7196('0x83')]=_0x2e876e[_0x7196('0x62')][_0x7196('0x84')];_0xfb40ad[_0x7196('0x62')][_0x7196('0x62')]=_0x2e876e['body'][_0x7196('0x8b')];_0xfb40ad['body']['messageId']=_0x2e876e[_0x7196('0x62')]['MessageUUID'];break;case'infobip':_0xfb40ad[_0x7196('0x62')]['from']='+'+_0x2e876e[_0x7196('0x62')][_0x7196('0x8c')][0x0][_0x7196('0x83')];_0xfb40ad[_0x7196('0x62')][_0x7196('0x62')]=_0x2e876e[_0x7196('0x62')]['results'][0x0][_0x7196('0x89')];_0xfb40ad[_0x7196('0x62')][_0x7196('0x86')]=_0x2e876e['body'][_0x7196('0x8c')][0x0][_0x7196('0x86')];break;case _0x7196('0x8d'):_0xfb40ad['body']['from']=_0x2e876e[_0x7196('0x62')][_0x7196('0x8e')];_0xfb40ad[_0x7196('0x62')][_0x7196('0x62')]=_0x2e876e[_0x7196('0x62')][_0x7196('0x8f')][_0x7196('0x2e')];break;case _0x7196('0x90'):_0xfb40ad[_0x7196('0x62')][_0x7196('0x83')]=_0x2e876e['body'][_0x7196('0x91')];_0xfb40ad[_0x7196('0x62')]['body']=_0x2e876e[_0x7196('0x62')][_0x7196('0x89')];_0xfb40ad['body'][_0x7196('0x86')]=_0x2e876e[_0x7196('0x62')][_0x7196('0x92')];break;case _0x7196('0x93'):_0xfb40ad[_0x7196('0x62')][_0x7196('0x83')]=_0x2e876e['body']['from'];_0xfb40ad[_0x7196('0x62')]['body']=_0x2e876e[_0x7196('0x62')][_0x7196('0x2e')];_0xfb40ad[_0x7196('0x62')]['messageId']=_0x2e876e[_0x7196('0x62')][_0x7196('0x94')];break;}}if(_0xfb40ad[_0x7196('0x62')]['id']){delete _0xfb40ad[_0x7196('0x62')]['id'];}if(_[_0x7196('0x95')](_0xfb40ad[_0x7196('0x62')][_0x7196('0x83')])){throw new db[(_0x7196('0x23'))][(_0x7196('0x24'))]('from\x20is\x20mandatory');}if(_[_0x7196('0x95')](_0xfb40ad[_0x7196('0x62')][_0x7196('0x62')])||_0xfb40ad[_0x7196('0x62')][_0x7196('0x62')]===''){throw new db[(_0x7196('0x23'))]['ValidationError'](_0x7196('0x96'));}if(_['isNil'](_0xfb40ad[_0x7196('0x62')][_0x7196('0x97')])){throw new db[(_0x7196('0x23'))]['ValidationError']('mapKey\x20is\x20mandatory,\x20please\x20use\x20one\x20of\x20these:\x20'+_0x2c2922);}if(!_[_0x7196('0x98')](_0x2c2922,_0xfb40ad[_0x7196('0x62')][_0x7196('0x97')])){throw new db[(_0x7196('0x23'))][(_0x7196('0x24'))](_0x7196('0x99')+_0x2c2922);}_0x52dfe6[_0xfb40ad[_0x7196('0x62')][_0x7196('0x97')]]=_0xfb40ad['body'][_0x7196('0x83')];return db[_0x7196('0x9a')]['find']({'where':{'id':_0xfb40ad[_0x7196('0x78')][_0x7196('0x81')]},'include':[{'model':db[_0x7196('0x7c')],'as':'Contacts','where':_0x52dfe6,'limit':0x1,'order':[[_0x7196('0x7f'),_0x7196('0x9b')]]}]});})[_0x7196('0x27')](handleEntityNotFound(_0x3eb6db,null))[_0x7196('0x27')](function(_0x45880d){if(_0x45880d){_0xfb40ad['list']=_['omit'](_0x45880d,[_0x7196('0x9c')]);if(_0x45880d[_0x7196('0x9c')][_0x7196('0x50')]){return _0x45880d[_0x7196('0x9c')][0x0];}var _0x94976a=_[_0x7196('0x1b')](_0xfb40ad['body'],{'firstName':_0xfb40ad[_0x7196('0x62')][_0x7196('0x83')],'ListId':_0x45880d['id']});_0x94976a[_0xfb40ad[_0x7196('0x62')][_0x7196('0x97')]]=_0xfb40ad['body'][_0x7196('0x83')];return db[_0x7196('0x7c')][_0x7196('0x67')](_0x94976a,{'fields':_0x1bba1b,'raw':!![]});}})[_0x7196('0x27')](handleEntityNotFound(_0x3eb6db,null))[_0x7196('0x27')](function(_0x269f75){if(_0x269f75){_0xfb40ad[_0x7196('0x9d')]=_0x269f75;var _0x429670={'ContactId':_0x269f75['id'],'phone':_0xfb40ad[_0x7196('0x62')][_0x7196('0x83')],'SmsAccountId':_0x2e876e[_0x7196('0x5f')]['id']};var _0x409d1b={'ContactId':_0x269f75['id'],'SmsAccountId':_0x2e876e['params']['id'],'closed':![]};return db[_0x7196('0x9e')]['find']({'where':_0x409d1b})[_0x7196('0x27')](function(_0x5933bd){if(_0x5933bd){return[_0x5933bd,![]];}return db[_0x7196('0x9e')]['create'](_0x429670)[_0x7196('0x27')](function(_0x3bf481){return[_0x3bf481,!![]];});});}})[_0x7196('0x9f')](function(_0x113a78,_0x52318f){_0xfb40ad[_0x7196('0xa0')]=_0x113a78[_0x7196('0x3c')]({'plain':!![]});_0xfb40ad[_0x7196('0xa0')]['created']=![];if(_0x52318f){if(_0xfb40ad[_0x7196('0x78')][_0x7196('0xa1')]){_0xfb40ad[_0x7196('0x79')]['push']({'id':0x0,'priority':_0xfb40ad[_0x7196('0x79')][_0x7196('0x50')]+0x1,'app':_0x7196('0xa2'),'appdata':'unmanaged','interval':_0x7196('0xa3')});}_0xfb40ad[_0x7196('0xa0')][_0x7196('0xa4')]=!![];}return db['SmsMessage']['create']({'phone':_0xfb40ad['body']['from'],'messageId':_0xfb40ad[_0x7196('0x62')][_0x7196('0x86')],'body':_0xfb40ad['body'][_0x7196('0x62')],'SmsAccountId':_0x2e876e[_0x7196('0x5f')]['id'],'SmsInteractionId':_0x113a78['id'],'direction':'in','ContactId':_0x113a78[_0x7196('0xa5')],'AttachmentId':_0xfb40ad['body']['AttachmentId']});})[_0x7196('0x27')](function(_0x2dba37){_0xfb40ad[_0x7196('0x2e')]=_0x2dba37;if(_0xfb40ad[_0x7196('0xa0')][_0x7196('0xa6')]){return db['User'][_0x7196('0x60')]({'attributes':['id',_0x7196('0x41')],'where':{'id':_0xfb40ad[_0x7196('0xa0')][_0x7196('0xa6')]}})['then'](function(_0x50f66f){if(_0x50f66f){_0xfb40ad[_0x7196('0x79')][_0x7196('0xa7')]({'id':0x0,'priority':0x0,'app':_0x7196('0xa8'),'appdata':_0x50f66f[_0x7196('0x41')]+','+(_0xfb40ad[_0x7196('0x78')][_0x7196('0xa9')]||0xa),'interval':'*,*,*,*'});}return respondWithRpcPromise('Start',_0x7196('0xaa'),_0xfb40ad);});}return respondWithRpcPromise(_0x7196('0xab'),_0x7196('0xaa'),_0xfb40ad);})['then'](function(_0x520cb1){if(_0x520cb1){var _0x46fe5c=0xc8;var _0x51e425=_0x7196('0xac');logger[_0x7196('0x2f')](_0x7196('0x29'),_0x51e425,_0x46fe5c,_0x7196('0xad'));logger[_0x7196('0xae')](_0x7196('0xaf'),_0x51e425,_0x46fe5c,_0x7196('0xad'),JSON[_0x7196('0x2b')](_0x520cb1));if(_0xfb40ad[_0x7196('0x78')][_0x7196('0x47')]==='twilio'){return _0x3eb6db[_0x7196('0x32')](_0x46fe5c)['set'](_0x7196('0xb0'),_0x7196('0xb1'))[_0x7196('0xb2')](_0x7196('0xb3'));}else{return _0x3eb6db['status'](_0x46fe5c)['json'](_0x520cb1);}}})[_0x7196('0x61')](handleError(_0x3eb6db,null));};exports[_0x7196('0xb4')]=function(_0x77cd5c,_0x2969d7,_0x4a5947){return db['SmsAccount'][_0x7196('0x6e')]({'where':{'id':_0x77cd5c[_0x7196('0x5f')]['id']}})['then'](handleEntityNotFound(_0x2969d7,null))[_0x7196('0x27')](function(_0x1643f3){if(_0x1643f3){return db['sequelize'][_0x7196('0xb5')](function(_0x16b8ce){return db[_0x7196('0x76')][_0x7196('0x3b')]({'where':{'SmsAccountId':_0x77cd5c[_0x7196('0x5f')]['id']},'transaction':_0x16b8ce})[_0x7196('0x27')](function(_0x33ab3c){var _0x5cbd30=_[_0x7196('0x4a')](_0x77cd5c[_0x7196('0x62')],function(_0x49cb31){_0x49cb31['SmsAccountId']=_0x77cd5c[_0x7196('0x5f')]['id'];return _0x49cb31;});return db[_0x7196('0x76')][_0x7196('0xb6')](_0x5cbd30,{'transaction':_0x16b8ce});});})[_0x7196('0x27')](function(){return db[_0x7196('0x76')][_0x7196('0xb7')]({'where':{'SmsAccountId':_0x77cd5c[_0x7196('0x5f')]['id']},'order':_0x7196('0x7a')});});}})[_0x7196('0x27')](respondWithResult(_0x2969d7,null))[_0x7196('0x61')](handleError(_0x2969d7,null));};exports[_0x7196('0xb8')]=function(_0x38e8db,_0x3ce0d2,_0xc0a1e1){var _0x3e951e={};var _0x5b6b2c={};var _0x104fdb;var _0xd64068;return db['SmsAccount'][_0x7196('0x6e')]({'where':{'id':_0x38e8db[_0x7196('0x5f')]['id']}})[_0x7196('0x27')](handleEntityNotFound(_0x3ce0d2,null))[_0x7196('0x27')](function(_0x27b079){if(_0x27b079){_0x104fdb=_0x27b079;_0x5b6b2c[_0x7196('0x49')]=_[_0x7196('0x4c')](db[_0x7196('0x76')][_0x7196('0x46')]);_0x5b6b2c['query']=_[_0x7196('0x4c')](_0x38e8db[_0x7196('0x4b')]);_0x5b6b2c[_0x7196('0x56')]=_['intersection'](_0x5b6b2c[_0x7196('0x49')],_0x5b6b2c[_0x7196('0x4b')]);_0x3e951e[_0x7196('0x4e')]=_[_0x7196('0x4d')](_0x5b6b2c[_0x7196('0x49')],qs['fields'](_0x38e8db[_0x7196('0x4b')]['fields']));_0x3e951e[_0x7196('0x4e')]=_0x3e951e['attributes'][_0x7196('0x50')]?_0x3e951e[_0x7196('0x4e')]:_0x5b6b2c[_0x7196('0x49')];_0x3e951e[_0x7196('0x52')]=qs[_0x7196('0x53')](_0x38e8db[_0x7196('0x4b')][_0x7196('0x53')]);_0x3e951e[_0x7196('0x54')]=qs['filters'](_[_0x7196('0x55')](_0x38e8db[_0x7196('0x4b')],_0x5b6b2c[_0x7196('0x56')]));if(_0x38e8db['query']['filter']){_0x3e951e['where']=_['merge'](_0x3e951e[_0x7196('0x54')],{'$or':_['map'](_0x3e951e[_0x7196('0x4e')],function(_0x1fecef){var _0x15beda={};_0x15beda[_0x1fecef]={'$like':'%'+_0x38e8db[_0x7196('0x4b')][_0x7196('0x57')]+'%'};return _0x15beda;})});}_0x3e951e=_[_0x7196('0x58')]({},_0x3e951e,_0x38e8db[_0x7196('0x70')]);return _0x104fdb[_0x7196('0xb8')](_0x3e951e);}})[_0x7196('0x27')](function(_0x2a39ee){if(_0x2a39ee){_0xd64068=_0x2a39ee['length'];if(!_0x38e8db[_0x7196('0x4b')][_0x7196('0x6f')]('nolimit')){_0x3e951e[_0x7196('0x35')]=qs['limit'](_0x38e8db[_0x7196('0x4b')][_0x7196('0x35')]);_0x3e951e[_0x7196('0x34')]=qs['offset'](_0x38e8db['query'][_0x7196('0x34')]);}return _0x104fdb[_0x7196('0xb8')](_0x3e951e);}})['then'](function(_0x389ef9){if(_0x389ef9){return _0x389ef9?{'count':_0xd64068,'rows':_0x389ef9}:null;}})[_0x7196('0x27')](respondWithResult(_0x3ce0d2,null))['catch'](handleError(_0x3ce0d2,null));};exports[_0x7196('0xb9')]=function(_0x3339fa,_0x4dfdbf,_0x4e4973){var _0x59d6f6={'raw':![],'where':{}};var _0xc9251={};var _0x3f98bc={'count':0x0,'rows':[]};return db[_0x7196('0x45')]['findOne']({'where':{'id':_0x3339fa[_0x7196('0x5f')]['id']}})[_0x7196('0x27')](handleEntityNotFound(_0x4dfdbf,null))[_0x7196('0x27')](function(_0x25c2ab){if(_0x25c2ab){_0xc9251[_0x7196('0x49')]=_[_0x7196('0x4c')](db[_0x7196('0x9e')][_0x7196('0x46')]);_0xc9251[_0x7196('0x4b')]=_[_0x7196('0x4c')](_0x3339fa[_0x7196('0x4b')]);_0xc9251[_0x7196('0x56')]=_[_0x7196('0x4d')](_0xc9251[_0x7196('0x49')],_0xc9251['query']);_0x59d6f6[_0x7196('0x4e')]=_['intersection'](_0xc9251[_0x7196('0x49')],qs[_0x7196('0x4f')](_0x3339fa['query'][_0x7196('0x4f')]));_0x59d6f6['attributes']=_0x59d6f6[_0x7196('0x4e')]['length']?_0x59d6f6['attributes']:_0xc9251[_0x7196('0x49')];if(!_0x3339fa['query']['hasOwnProperty']('nolimit')){_0x59d6f6['limit']=qs[_0x7196('0x35')](_0x3339fa[_0x7196('0x4b')][_0x7196('0x35')]);_0x59d6f6[_0x7196('0x34')]=qs[_0x7196('0x34')](_0x3339fa['query'][_0x7196('0x34')]);}_0x59d6f6['order']=qs[_0x7196('0x53')](_0x3339fa['query'][_0x7196('0x53')]);_0x59d6f6[_0x7196('0x54')]=qs['filters'](_[_0x7196('0x55')](_0x3339fa['query'],_0xc9251[_0x7196('0x56')]));_0x59d6f6['where'][_0x7196('0x6b')]=_0x25c2ab['id'];if(_0x3339fa[_0x7196('0x4b')]['filter']){_0x59d6f6['where']=_['merge'](_0x59d6f6[_0x7196('0x54')],{'$or':_['map'](_0x59d6f6[_0x7196('0x4e')],function(_0x34d828){var _0x6b6dd8={};_0x6b6dd8[_0x34d828]={'$like':'%'+_0x3339fa[_0x7196('0x4b')][_0x7196('0x57')]+'%'};return _0x6b6dd8;})});}_0x59d6f6=_[_0x7196('0x58')]({},_0x59d6f6,_0x3339fa[_0x7196('0x70')]);return db['SmsInteraction']['count']({'where':_0x59d6f6[_0x7196('0x54')]})['then'](function(_0x19c280){_0x3f98bc[_0x7196('0x5a')]=_0x19c280;if(_0x3339fa[_0x7196('0x4b')][_0x7196('0x5b')]){_0x59d6f6['include']=[{'model':db[_0x7196('0x7c')],'as':_0x7196('0xba'),'required':![]},{'model':db[_0x7196('0xbb')],'as':_0x7196('0xbc'),'attributes':[_0x7196('0x41'),_0x7196('0xbd'),_0x7196('0xbe')],'required':![]},{'model':db['Tag'],'as':_0x7196('0xbf'),'attributes':['id',_0x7196('0x41'),_0x7196('0xc0')],'where':_0x3339fa[_0x7196('0x4b')][_0x7196('0xc1')]?{'id':_0x3339fa[_0x7196('0x4b')]['tag']}:undefined,'required':_0x3339fa[_0x7196('0x4b')][_0x7196('0xc1')]?!![]:![]}];}return db[_0x7196('0x9e')][_0x7196('0x5c')](_0x59d6f6);})[_0x7196('0x27')](function(_0x200aab){_0x3f98bc[_0x7196('0x5d')]=_0x200aab;return _0x3f98bc;});}})[_0x7196('0x27')](respondWithFilteredResult(_0x4dfdbf,_0x59d6f6))[_0x7196('0x61')](handleError(_0x4dfdbf,null));};exports[_0x7196('0xb2')]=function(_0x4d750d,_0x244e7c,_0x23a7b5){var _0x1886f0,_0x3f1359,_0x339cce;if(_[_0x7196('0x95')](_0x4d750d[_0x7196('0x62')][_0x7196('0x62')])||_0x4d750d['body']['body']===''){throw new db[(_0x7196('0x23'))][(_0x7196('0x24'))]('body\x20is\x20mandatory\x20and\x20not\x20empty');}if(_[_0x7196('0x95')](_0x4d750d[_0x7196('0x62')]['to'])){throw new db[(_0x7196('0x23'))][(_0x7196('0x24'))](_0x7196('0xc2'));}_0x1886f0=_0x4d750d[_0x7196('0x62')]['to'];return db[_0x7196('0x45')][_0x7196('0x60')]({'where':{'id':_0x4d750d[_0x7196('0x5f')]['id']},'include':[{'model':db[_0x7196('0x9a')],'as':'List','include':[{'model':db[_0x7196('0x7c')],'as':'Contacts','where':{'mobile':_0x1886f0},'limit':0x1,'order':[[_0x7196('0x7f'),'DESC']]}]}]})[_0x7196('0x27')](handleEntityNotFound(_0x244e7c,null))[_0x7196('0x27')](function(_0x1df729){if(_0x1df729&&_0x1df729[_0x7196('0xc3')]){_0x3f1359=_0x1df729['get']({'plain':!![]});if(_0x3f1359[_0x7196('0xc3')]&&_0x3f1359[_0x7196('0xc3')][_0x7196('0x9c')]['length']){return _0x3f1359['List'][_0x7196('0x9c')][0x0];}return db['CmContact'][_0x7196('0x67')](_['defaults'](_0x4d750d['body'],{'firstName':_0x1886f0,'mobile':_0x1886f0,'phone':_0x1886f0,'ListId':_0x3f1359[_0x7196('0x81')]}));}})[_0x7196('0x27')](handleEntityNotFound(_0x244e7c,null))[_0x7196('0x27')](function(_0x301b58){if(_0x301b58){_0x339cce=_0x301b58;return db[_0x7196('0x9e')][_0x7196('0x60')]({'where':{'ContactId':_0x339cce['id'],'closed':![],'SmsAccountId':_0x3f1359['id']}})[_0x7196('0x27')](function(_0x3392f7){if(_0x3392f7){return[_0x3392f7,![]];}return db['SmsInteraction'][_0x7196('0x67')]({'UserId':_0x4d750d[_0x7196('0x63')]['id'],'ContactId':_0x339cce['id'],'SmsAccountId':_0x3f1359['id'],'phone':_0x1886f0,'firstMsgDirection':_0x7196('0xc4'),'Messages':[_[_0x7196('0x58')](_0x4d750d[_0x7196('0x62')],{'read':![],'body':_0x4d750d['body']['body'],'phone':_0x1886f0,'SmsAccountId':_0x3f1359['id'],'UserId':_0x4d750d[_0x7196('0x63')]['id'],'ContactId':_0x339cce['id']})]},{'include':[{'model':db[_0x7196('0xc5')],'as':_0x7196('0xc6')}]})['then'](function(_0x4ca3d0){return[_0x4ca3d0,!![]];});});}})[_0x7196('0x9f')](function(_0x3aa12e,_0xa5ba1){if(_0xa5ba1){return _0x3aa12e;}return db[_0x7196('0xc5')][_0x7196('0x67')](_[_0x7196('0x58')](_0x4d750d['body'],{'read':![],'body':_0x4d750d['body'][_0x7196('0x62')],'phone':_0x1886f0,'SmsAccountId':_0x3f1359['id'],'SmsInteractionId':_0x3aa12e['id'],'UserId':_0x4d750d[_0x7196('0x63')]['id'],'ContactId':_0x339cce['id']}))[_0x7196('0x27')](function(_0x4dcd0c){_0x3aa12e[_0x7196('0xc7')][_0x7196('0xc6')]=[];_0x3aa12e[_0x7196('0xc7')]['Messages'][_0x7196('0xc8')](_0x4dcd0c[_0x7196('0xc7')]);return _0x3aa12e;});})[_0x7196('0x27')](respondWithResult(_0x244e7c,null))['catch'](handleError(_0x244e7c,null));};exports[_0x7196('0x32')]=function(_0x1e2dec,_0x492dc5,_0x3e5887){if(_0x1e2dec[_0x7196('0x62')]['id']){delete _0x1e2dec[_0x7196('0x62')]['id'];}console[_0x7196('0xc9')]('endpoint\x20/status\x20POST\x20/',_0x1e2dec['body']);var _0x13ad28,_0x59a47a,_0x479aa4;return db[_0x7196('0x45')]['find']({'where':{'id':_0x1e2dec[_0x7196('0x5f')]['id']}})[_0x7196('0x27')](handleEntityNotFound(_0x492dc5,null))[_0x7196('0x27')](function(_0x29ddad){if(_0x29ddad){_0x479aa4=_0x29ddad;logger[_0x7196('0xae')](_0x7196('0x29'),_0x7196('0x32'),_0x7196('0xca'),_0x29ddad[_0x7196('0x47')],util[_0x7196('0xcb')](_0x1e2dec['body'],{'showHidden':![],'depth':null}));switch(_0x29ddad[_0x7196('0x47')]){case'skebby':if(_0x1e2dec[_0x7196('0x62')][_0x7196('0xcc')]&&_0x1e2dec['body'][_0x7196('0x32')]){_0x59a47a=_0x1e2dec[_0x7196('0x62')][_0x7196('0x32')];return db['SmsMessage'][_0x7196('0x60')]({'where':{'messageId':_0x1e2dec[_0x7196('0x62')][_0x7196('0xcc')]}});}break;case _0x7196('0x8a'):if(_0x1e2dec[_0x7196('0x62')][_0x7196('0xcd')]&&_0x1e2dec[_0x7196('0x62')]['statusInt']){_0x59a47a=_0x1e2dec['body'][_0x7196('0xce')];return db[_0x7196('0xc5')][_0x7196('0x60')]({'where':{'messageId':_0x1e2dec[_0x7196('0x62')][_0x7196('0xcd')]}});}break;case'clicksend':if(_0x1e2dec[_0x7196('0x62')]['message_id']&&_0x1e2dec['body']['status_code']){_0x59a47a=_0x1e2dec[_0x7196('0x62')]['status_code'];return db[_0x7196('0xc5')][_0x7196('0x60')]({'where':{'messageId':_0x1e2dec[_0x7196('0x62')][_0x7196('0xcf')]}});}break;case'infobip':var _0x4edd16=_0x1e2dec['body'][_0x7196('0x8c')][0x0];if(_0x4edd16[_0x7196('0x86')]&&_0x4edd16[_0x7196('0x32')][_0x7196('0xd0')]===_0x7196('0xd1')){_0x59a47a=_0x4edd16[_0x7196('0x32')][_0x7196('0xd0')];return db[_0x7196('0xc5')][_0x7196('0x60')]({'where':{'messageId':_0x4edd16[_0x7196('0x86')]}});}break;case _0x7196('0x90'):if(_0x1e2dec[_0x7196('0x62')][_0x7196('0x86')]&&_0x1e2dec[_0x7196('0x62')][_0x7196('0x32')]){_0x59a47a=_0x1e2dec[_0x7196('0x62')][_0x7196('0x32')];return db[_0x7196('0xc5')]['find']({'where':{'messageId':_0x1e2dec[_0x7196('0x62')]['messageId']}});}break;case _0x7196('0x93'):if(_0x1e2dec[_0x7196('0x62')]['redif']&&_0x1e2dec[_0x7196('0x62')]['status']){_0x59a47a=_0x1e2dec['body'][_0x7196('0x32')];return db[_0x7196('0xc5')][_0x7196('0x60')]({'where':{'messageId':_0x1e2dec[_0x7196('0x62')][_0x7196('0xd2')]}});}break;}}})['then'](handleEntityNotFound(_0x492dc5,null))[_0x7196('0x27')](function(_0x5c6085){if(_0x5c6085){_0x13ad28=_0x5c6085;switch(_0x479aa4['type']){case _0x7196('0x87'):if(_0x59a47a===_0x7196('0xd1')){return _0x13ad28[_0x7196('0x3a')]({'read':!![]});}else{logger['error'](_0x7196('0x29'),_0x7196('0x32'),_0x7196('0x87'),util[_0x7196('0xcb')](_0x1e2dec[_0x7196('0x62')],{'showHidden':![],'depth':null}));}break;case _0x7196('0x8a'):if(_0x59a47a==='1'){return _0x13ad28[_0x7196('0x3a')]({'read':!![]});}else{logger[_0x7196('0x2d')]('SmsAccount,\x20%s,\x20%s,\x20%s',_0x7196('0x32'),'skebby',util[_0x7196('0xcb')](_0x1e2dec[_0x7196('0x62')],{'showHidden':![],'depth':null}));}break;case _0x7196('0xd3'):if(!_0x1e2dec[_0x7196('0x62')][_0x7196('0xd4')]&&_0x59a47a>=0xc8&&_0x59a47a<=0xce){return _0x13ad28[_0x7196('0x3a')]({'read':!![]});}else{logger[_0x7196('0x2d')](_0x7196('0x29'),'status',_0x7196('0xd3'),util[_0x7196('0xcb')](_0x1e2dec[_0x7196('0x62')],{'showHidden':![],'depth':null}));}break;case _0x7196('0xd5'):var _0x28f18a=_0x1e2dec[_0x7196('0x62')][_0x7196('0x8c')][0x0];if(_0x28f18a[_0x7196('0x32')][_0x7196('0xd0')]===_0x7196('0xd1')){return _0x13ad28[_0x7196('0x3a')]({'read':!![]});}else{logger[_0x7196('0x2d')](_0x7196('0x29'),'status',_0x7196('0xd5'),util[_0x7196('0xcb')](_0x1e2dec['body'],{'showHidden':![],'depth':null}));}break;case'clickatell':if(_0x59a47a==_0x7196('0xd6')||_0x59a47a==_0x7196('0xd7')){return _0x13ad28[_0x7196('0x3a')]({'read':!![]});}else{logger[_0x7196('0x2d')]('SmsAccount,\x20%s,\x20%s,\x20%s','status',_0x7196('0x90'),util[_0x7196('0xcb')](_0x1e2dec[_0x7196('0x62')],{'showHidden':![],'depth':null}));}break;case'intelepeer':if(_0x59a47a==='DELIVRD'||_0x59a47a===_0x7196('0xd8')){return _0x13ad28[_0x7196('0x3a')]({'read':!![]});}else{logger['error'](_0x7196('0x29'),_0x7196('0x32'),'intelepeer',util['inspect'](_0x1e2dec['body'],{'showHidden':![],'depth':null}));}break;}return _0x13ad28;}})[_0x7196('0x27')](respondWithResult(_0x492dc5,null))[_0x7196('0x61')](handleError(_0x492dc5,null));};exports['statusGet']=function(_0x370f2a,_0x3a7ccf,_0x39dd5d){var _0x295153,_0x4b9ba3,_0x2fc6f9;return db[_0x7196('0x45')][_0x7196('0x60')]({'where':{'id':_0x370f2a['params']['id']}})[_0x7196('0x27')](handleEntityNotFound(_0x3a7ccf,null))[_0x7196('0x27')](function(_0x26db41){if(_0x26db41){_0x2fc6f9=_0x26db41;logger[_0x7196('0xae')](_0x7196('0x29'),_0x7196('0x32'),'received\x20delivery\x20report\x20from',_0x26db41['type'],util['inspect'](_0x370f2a[_0x7196('0x4b')],{'showHidden':![],'depth':null}));switch(_0x26db41['type']){case _0x7196('0x8d'):if(_0x370f2a[_0x7196('0x4b')][_0x7196('0xd9')]&&_0x370f2a['query'][_0x7196('0xda')]){_0x4b9ba3=_0x370f2a[_0x7196('0x4b')][_0x7196('0xda')];return db[_0x7196('0xc5')][_0x7196('0x60')]({'where':{'messageId':_0x370f2a[_0x7196('0x4b')][_0x7196('0xd9')]}});}break;}}})['then'](handleEntityNotFound(_0x3a7ccf,null))[_0x7196('0x27')](function(_0x37353e){if(_0x37353e){_0x295153=_0x37353e;switch(_0x2fc6f9[_0x7196('0x47')]){case'csc':if(_0x4b9ba3==='2'||_0x4b9ba3==='6'){return _0x295153[_0x7196('0x3a')]({'read':!![]});}else{logger[_0x7196('0x2d')](_0x7196('0x29'),_0x7196('0x32'),_0x7196('0x8d'),util[_0x7196('0xcb')](_0x370f2a[_0x7196('0x4b')],{'showHidden':![],'depth':null}));};break;}return _0x295153;}})['then'](respondWithResult(_0x3a7ccf,null))[_0x7196('0x61')](handleError(_0x3a7ccf,null));};exports[_0x7196('0xdb')]=function(_0xbb4b52,_0x39970f,_0x1ac723){return db[_0x7196('0x45')]['find']({'where':{'id':_0xbb4b52[_0x7196('0x5f')]['id']}})[_0x7196('0x27')](handleEntityNotFound(_0x39970f,null))[_0x7196('0x27')](function(_0x5db88f){if(_0x5db88f){return _0x5db88f[_0x7196('0xdb')](_0xbb4b52[_0x7196('0x62')]['ids'],_[_0x7196('0xdc')](_0xbb4b52[_0x7196('0x62')],['ids','id'])||{})[_0x7196('0x9f')](function(_0x141e93){for(var _0x1e49d8=0x0;_0x1e49d8<_0xbb4b52[_0x7196('0x62')][_0x7196('0x72')][_0x7196('0x50')];_0x1e49d8+=0x1){socket[_0x7196('0xdd')](_0x7196('0xde'),{'UserId':_0xbb4b52[_0x7196('0x62')][_0x7196('0x72')][_0x1e49d8],'SmsAccountId':_0xbb4b52['params']['id']});}return _0x141e93;});}})[_0x7196('0x27')](respondWithResult(_0x39970f,null))[_0x7196('0x61')](handleError(_0x39970f,null));};exports[_0x7196('0xdf')]=function(_0x43e9e4,_0x35be2b,_0x4cfb14){return db[_0x7196('0x45')][_0x7196('0x60')]({'where':{'id':_0x43e9e4[_0x7196('0x5f')]['id']}})['then'](handleEntityNotFound(_0x35be2b,null))[_0x7196('0x27')](function(_0x233bed){if(_0x233bed){return _0x233bed['removeAgents'](_0x43e9e4['query']['ids'])[_0x7196('0x27')](function(){if(_[_0x7196('0xe0')](_0x43e9e4[_0x7196('0x4b')][_0x7196('0x72')])){for(var _0x4d063d=0x0;_0x4d063d<_0x43e9e4[_0x7196('0x4b')][_0x7196('0x72')]['length'];_0x4d063d+=0x1){socket[_0x7196('0xdd')](_0x7196('0xe1'),{'UserId':Number(_0x43e9e4['query']['ids'][_0x4d063d]),'SmsAccountId':Number(_0x43e9e4[_0x7196('0x5f')]['id'])});}}else{socket[_0x7196('0xdd')](_0x7196('0xe1'),{'UserId':Number(_0x43e9e4[_0x7196('0x4b')]['ids']),'SmsAccountId':Number(_0x43e9e4[_0x7196('0x5f')]['id'])});}});}})[_0x7196('0x27')](respondWithStatusCode(_0x35be2b,null))[_0x7196('0x61')](handleError(_0x35be2b,null));};exports[_0x7196('0xe2')]=function(_0x66ee1a,_0x15fbee,_0x21b2b1){var _0x1808fc={};var _0x31d93f={};var _0x5449ab;var _0x2d8d0c;return db[_0x7196('0x45')]['findOne']({'where':{'id':_0x66ee1a['params']['id']}})[_0x7196('0x27')](handleEntityNotFound(_0x15fbee,null))[_0x7196('0x27')](function(_0x3cae81){if(_0x3cae81){_0x5449ab=_0x3cae81;_0x31d93f[_0x7196('0x49')]=_[_0x7196('0x4c')](db[_0x7196('0xbb')][_0x7196('0x46')]);_0x31d93f[_0x7196('0x4b')]=_[_0x7196('0x4c')](_0x66ee1a[_0x7196('0x4b')]);_0x31d93f[_0x7196('0x56')]=_[_0x7196('0x4d')](_0x31d93f[_0x7196('0x49')],_0x31d93f[_0x7196('0x4b')]);_0x1808fc[_0x7196('0x4e')]=_[_0x7196('0x4d')](_0x31d93f[_0x7196('0x49')],qs[_0x7196('0x4f')](_0x66ee1a[_0x7196('0x4b')][_0x7196('0x4f')]));_0x1808fc[_0x7196('0x4e')]=_0x1808fc[_0x7196('0x4e')][_0x7196('0x50')]?_0x1808fc[_0x7196('0x4e')]:_0x31d93f['model'];_0x1808fc[_0x7196('0x52')]=qs[_0x7196('0x53')](_0x66ee1a[_0x7196('0x4b')][_0x7196('0x53')]);_0x1808fc[_0x7196('0x54')]=qs[_0x7196('0x56')](_['pick'](_0x66ee1a[_0x7196('0x4b')],_0x31d93f[_0x7196('0x56')]));if(_0x66ee1a[_0x7196('0x4b')][_0x7196('0x57')]){_0x1808fc[_0x7196('0x54')]=_[_0x7196('0x58')](_0x1808fc[_0x7196('0x54')],{'$or':_[_0x7196('0x4a')](_0x1808fc[_0x7196('0x4e')],function(_0x54565a){var _0x392cbe={};_0x392cbe[_0x54565a]={'$like':'%'+_0x66ee1a[_0x7196('0x4b')][_0x7196('0x57')]+'%'};return _0x392cbe;})});}_0x1808fc=_[_0x7196('0x58')]({},_0x1808fc,_0x66ee1a['options']);return _0x5449ab[_0x7196('0xe2')](_0x1808fc);}})[_0x7196('0x27')](function(_0x50a6e9){if(_0x50a6e9){_0x2d8d0c=_0x50a6e9['length'];if(!_0x66ee1a['query'][_0x7196('0x6f')](_0x7196('0x51'))){_0x1808fc[_0x7196('0x35')]=qs[_0x7196('0x35')](_0x66ee1a[_0x7196('0x4b')]['limit']);_0x1808fc['offset']=qs['offset'](_0x66ee1a[_0x7196('0x4b')][_0x7196('0x34')]);}return _0x5449ab[_0x7196('0xe2')](_0x1808fc);}})['then'](function(_0xc87e9e){if(_0xc87e9e){return _0xc87e9e?{'count':_0x2d8d0c,'rows':_0xc87e9e}:null;}})[_0x7196('0x27')](respondWithResult(_0x15fbee,null))['catch'](handleError(_0x15fbee,null));};