b1e39b98facace4978002f69bac3b9b9d3842925
[motion2.git] / server / api / whatsappAccount / whatsappAccount.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 _0xf9ae=['name','send','index','map','WhatsappAccount','fieldName','type','key','model','query','keys','filters','intersection','attributes','fields','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','options','includeAll','include','findAll','rows','show','params','Pause','mandatoryDispositionPause','length','find','create','user','userProfileId','autoAssociation','body','describe','addDisposition','WhatsappAccountId','Disposition','rawAttributes','removeDispositions','ids','addAnswer','CannedAnswer','findOne','removeAnswers','addAgents','omit','spread','emit','userWhatsappAccount:save','removeAgents','isArray','userWhatsappAccount:remove','getAgents','User','addApplications','transaction','sequelize','Transaction','ISOLATION_LEVELS','READ_COMMITTED','WhatsappApplication','stack','finally','status','getApplications','whatsapp','Applications','account','sinch','statuses','state','read','message_id','applications','priority','asc','CmContact','Sequelize','ValidationError','createdAt','updatedAt','ListId','mobile','twilio','from','whatsapp:','Body','messageId','notifications','isNil','from\x20is\x20mandatory','mapKey\x20is\x20mandatory,\x20please\x20use\x20one\x20of\x20these:\x20','includes','mapKey','mapKey\x20invalid,\x20please\x20use\x20one\x20of\x20these:\x20','CmList','list','Contacts','defaults','contact','WhatsappInteraction','interaction','created','autoclose','push','WhatsappMessage','ContactId','AttachmentId','UserId','unshift','agent','waitForTheAssignedAgent','*,*,*,*','queueId','WhatsappQueue','queue','Start','receiveMessage','entity\x20found','<?xml\x20version=\x221.0\x22\x20encoding=\x22UTF-8\x22?>\x0a<Response></Response>','body\x20is\x20mandatory\x20and\x20not\x20empty','to\x20is\x20mandatory','List','out','Messages','dataValues','eml-format','rimraf','fast-json-patch','request-promise','moment','bluebird','util','path','to-csv','ejs','fs-extra','squel','crypto','jsforce','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','redis','socket.io-emitter','./whatsappAccount.socket','register','client','http','request','info','WhatsappAccount,\x20%s,\x20%s','request\x20sent','debug','WhatsappAccount,\x20%s,\x20%s,\x20%s','stringify','error','code','message','result','catch','undefined','limit','count','offset','set','Content-Range','json','apply','reject','save','then','destroy','get','WhatsappAccounts','UserProfileResource','sendStatus'];(function(_0x68a1ef,_0x2c53ea){var _0x2048c7=function(_0x50f040){while(--_0x50f040){_0x68a1ef['push'](_0x68a1ef['shift']());}};_0x2048c7(++_0x2c53ea);}(_0xf9ae,0x85));var _0xef9a=function(_0x4fe07d,_0x15651a){_0x4fe07d=_0x4fe07d-0x0;var _0x20050c=_0xf9ae[_0x4fe07d];return _0x20050c;};'use strict';var emlformat=require(_0xef9a('0x0'));var rimraf=require(_0xef9a('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0xef9a('0x2'));var rp=require(_0xef9a('0x3'));var moment=require(_0xef9a('0x4'));var BPromise=require(_0xef9a('0x5'));var Mustache=require('mustache');var util=require(_0xef9a('0x6'));var path=require(_0xef9a('0x7'));var sox=require('sox');var csv=require(_0xef9a('0x8'));var ejs=require(_0xef9a('0x9'));var fs=require('fs');var fs_extra=require(_0xef9a('0xa'));var _=require('lodash');var squel=require(_0xef9a('0xb'));var crypto=require(_0xef9a('0xc'));var jsforce=require(_0xef9a('0xd'));var deskjs=require('desk.js');var toCsv=require(_0xef9a('0x8'));var querystring=require(_0xef9a('0xe'));var Papa=require('papaparse');var Redis=require(_0xef9a('0xf'));var authService=require(_0xef9a('0x10'));var qs=require(_0xef9a('0x11'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xef9a('0x12'));var logger=require('../../config/logger')(_0xef9a('0x13'));var utils=require(_0xef9a('0x14'));var config=require(_0xef9a('0x15'));var licenseUtil=require(_0xef9a('0x16'));var db=require('../../mysqldb')['db'];config[_0xef9a('0x17')]=_['defaults'](config[_0xef9a('0x17')],{'host':'localhost','port':0x18eb});var socket=require(_0xef9a('0x18'))(new Redis(config[_0xef9a('0x17')]));require(_0xef9a('0x19'))[_0xef9a('0x1a')](socket);var jayson=require('jayson/promise');var client=jayson[_0xef9a('0x1b')][_0xef9a('0x1c')]({'port':0x232c});function respondWithRpcPromise(_0x13e48a,_0x335ac2,_0x352427,_0x4306f9){return new BPromise(function(_0x476941,_0x5dee5c){var _0x8b79f8=_0x4306f9||client;return _0x8b79f8[_0xef9a('0x1d')](_0x13e48a,_0x352427)['then'](function(_0x14b38b){logger[_0xef9a('0x1e')](_0xef9a('0x1f'),_0x335ac2,_0xef9a('0x20'));logger[_0xef9a('0x21')](_0xef9a('0x22'),_0x335ac2,_0xef9a('0x20'),JSON[_0xef9a('0x23')](_0x14b38b));if(_0x14b38b[_0xef9a('0x24')]){if(_0x14b38b['error'][_0xef9a('0x25')]===0x1f4){logger[_0xef9a('0x24')](_0xef9a('0x1f'),_0x335ac2,_0x14b38b[_0xef9a('0x24')][_0xef9a('0x26')]);return _0x5dee5c(_0x14b38b[_0xef9a('0x24')][_0xef9a('0x26')]);}logger[_0xef9a('0x24')](_0xef9a('0x1f'),_0x335ac2,_0x14b38b[_0xef9a('0x24')]['message']);return _0x476941(_0x14b38b['error'][_0xef9a('0x26')]);}else{logger['info'](_0xef9a('0x1f'),_0x335ac2,_0xef9a('0x20'));_0x476941(_0x14b38b[_0xef9a('0x27')]['message']);}})[_0xef9a('0x28')](function(_0x3eabf2){logger['error'](_0xef9a('0x1f'),_0x335ac2,_0x3eabf2);_0x5dee5c(_0x3eabf2);});});}function respondWithStatusCode(_0x4a16b8,_0x55598c){_0x55598c=_0x55598c||0xcc;return function(_0x5cfa39){if(_0x5cfa39){return _0x4a16b8['sendStatus'](_0x55598c);}return _0x4a16b8['status'](_0x55598c)['end']();};}function respondWithResult(_0x351c8e,_0x3964d6){_0x3964d6=_0x3964d6||0xc8;return function(_0x4731ba){if(_0x4731ba){return _0x351c8e['status'](_0x3964d6)['json'](_0x4731ba);}};}function respondWithFilteredResult(_0x19ba6e,_0x15f806){return function(_0x3050cf){if(_0x3050cf){var _0x44a212=typeof _0x15f806['offset']===_0xef9a('0x29')&&typeof _0x15f806[_0xef9a('0x2a')]===_0xef9a('0x29');var _0x5e8543=_0x3050cf[_0xef9a('0x2b')];var _0x3b9ba5=_0x44a212?0x0:_0x15f806[_0xef9a('0x2c')];var _0x3f65b6=_0x44a212?_0x3050cf['count']:_0x15f806['offset']+_0x15f806[_0xef9a('0x2a')];var _0x10a605;if(_0x3f65b6>=_0x5e8543){_0x3f65b6=_0x5e8543;_0x10a605=0xc8;}else{_0x10a605=0xce;}_0x19ba6e['status'](_0x10a605);return _0x19ba6e[_0xef9a('0x2d')](_0xef9a('0x2e'),_0x3b9ba5+'-'+_0x3f65b6+'/'+_0x5e8543)[_0xef9a('0x2f')](_0x3050cf);}return null;};}function patchUpdates(_0x16f679){return function(_0x43242d){try{jsonpatch[_0xef9a('0x30')](_0x43242d,_0x16f679,!![]);}catch(_0x3d8ab6){return BPromise[_0xef9a('0x31')](_0x3d8ab6);}return _0x43242d[_0xef9a('0x32')]();};}function saveUpdates(_0x46bcc2,_0x23c32a){return function(_0x58c7db){if(_0x58c7db){return _0x58c7db['update'](_0x46bcc2)[_0xef9a('0x33')](function(_0x584899){return _0x584899;});}return null;};}function removeEntity(_0x1bc83e,_0x2c178f){return function(_0x3d0bb8){if(_0x3d0bb8){return _0x3d0bb8[_0xef9a('0x34')]()[_0xef9a('0x33')](function(){var _0x28d6e4=_0x3d0bb8[_0xef9a('0x35')]({'plain':!![]});var _0x312640=_0xef9a('0x36');return db[_0xef9a('0x37')][_0xef9a('0x34')]({'where':{'type':_0x312640,'resourceId':_0x28d6e4['id']}})[_0xef9a('0x33')](function(){return _0x3d0bb8;});})['then'](function(){_0x1bc83e['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x36106e,_0x30a64f){return function(_0x576b66){if(!_0x576b66){_0x36106e[_0xef9a('0x38')](0x194);}return _0x576b66;};}function handleError(_0x4dd2bd,_0x3506c){_0x3506c=_0x3506c||0x1f4;return function(_0x54c341){logger[_0xef9a('0x24')](_0x54c341['stack']);if(_0x54c341[_0xef9a('0x39')]){delete _0x54c341[_0xef9a('0x39')];}_0x4dd2bd['status'](_0x3506c)[_0xef9a('0x3a')](_0x54c341);};}exports[_0xef9a('0x3b')]=function(_0x414cbd,_0x2140c0){var _0x19bf47={'include':[{'model':db['Pause'],'as':'mandatoryDispositionPause'}]},_0x1a48f4={},_0x5186fc={'count':0x0,'rows':[]};var _0xf00b3b=_[_0xef9a('0x3c')](db[_0xef9a('0x3d')]['rawAttributes'],function(_0x1edf7b){return{'name':_0x1edf7b[_0xef9a('0x3e')],'type':_0x1edf7b[_0xef9a('0x3f')][_0xef9a('0x40')]};});_0x1a48f4[_0xef9a('0x41')]=_['map'](_0xf00b3b,_0xef9a('0x39'));_0x1a48f4[_0xef9a('0x42')]=_[_0xef9a('0x43')](_0x414cbd[_0xef9a('0x42')]);_0x1a48f4[_0xef9a('0x44')]=_[_0xef9a('0x45')](_0x1a48f4['model'],_0x1a48f4[_0xef9a('0x42')]);_0x19bf47[_0xef9a('0x46')]=_[_0xef9a('0x45')](_0x1a48f4[_0xef9a('0x41')],qs[_0xef9a('0x47')](_0x414cbd[_0xef9a('0x42')][_0xef9a('0x47')]));_0x19bf47[_0xef9a('0x46')]=_0x19bf47[_0xef9a('0x46')]['length']?_0x19bf47['attributes']:_0x1a48f4[_0xef9a('0x41')];if(!_0x414cbd[_0xef9a('0x42')][_0xef9a('0x48')](_0xef9a('0x49'))){_0x19bf47['limit']=qs[_0xef9a('0x2a')](_0x414cbd[_0xef9a('0x42')][_0xef9a('0x2a')]);_0x19bf47[_0xef9a('0x2c')]=qs[_0xef9a('0x2c')](_0x414cbd[_0xef9a('0x42')][_0xef9a('0x2c')]);}_0x19bf47[_0xef9a('0x4a')]=qs['sort'](_0x414cbd[_0xef9a('0x42')][_0xef9a('0x4b')]);_0x19bf47[_0xef9a('0x4c')]=qs[_0xef9a('0x44')](_[_0xef9a('0x4d')](_0x414cbd['query'],_0x1a48f4[_0xef9a('0x44')]),_0xf00b3b);if(_0x414cbd[_0xef9a('0x42')][_0xef9a('0x4e')]){_0x19bf47[_0xef9a('0x4c')]=_[_0xef9a('0x4f')](_0x19bf47[_0xef9a('0x4c')],{'$or':_[_0xef9a('0x3c')](_0xf00b3b,function(_0x550227){if(_0x550227[_0xef9a('0x3f')]!==_0xef9a('0x50')){var _0x34b509={};_0x34b509[_0x550227[_0xef9a('0x39')]]={'$like':'%'+_0x414cbd[_0xef9a('0x42')][_0xef9a('0x4e')]+'%'};return _0x34b509;}})});}_0x19bf47=_[_0xef9a('0x4f')]({},_0x19bf47,_0x414cbd[_0xef9a('0x51')]);var _0xbdf10c={'where':_0x19bf47[_0xef9a('0x4c')]};return db[_0xef9a('0x3d')][_0xef9a('0x2b')](_0xbdf10c)[_0xef9a('0x33')](function(_0x4bf450){_0x5186fc[_0xef9a('0x2b')]=_0x4bf450;if(_0x414cbd[_0xef9a('0x42')][_0xef9a('0x52')]){_0x19bf47[_0xef9a('0x53')]=[{'all':!![]}];}return db[_0xef9a('0x3d')][_0xef9a('0x54')](_0x19bf47);})[_0xef9a('0x33')](function(_0x12269b){_0x5186fc[_0xef9a('0x55')]=_0x12269b;return _0x5186fc;})[_0xef9a('0x33')](respondWithFilteredResult(_0x2140c0,_0x19bf47))[_0xef9a('0x28')](handleError(_0x2140c0,null));};exports[_0xef9a('0x56')]=function(_0x1cc870,_0x121d03){var _0x2bd8d7={'raw':![],'where':{'id':_0x1cc870[_0xef9a('0x57')]['id']},'include':[{'model':db[_0xef9a('0x58')],'as':_0xef9a('0x59')}]},_0x7a11ac={};_0x7a11ac[_0xef9a('0x41')]=_[_0xef9a('0x43')](db['WhatsappAccount']['rawAttributes']);_0x7a11ac[_0xef9a('0x42')]=_[_0xef9a('0x43')](_0x1cc870['query']);_0x7a11ac[_0xef9a('0x44')]=_['intersection'](_0x7a11ac[_0xef9a('0x41')],_0x7a11ac[_0xef9a('0x42')]);_0x2bd8d7[_0xef9a('0x46')]=_['intersection'](_0x7a11ac[_0xef9a('0x41')],qs[_0xef9a('0x47')](_0x1cc870['query']['fields']));_0x2bd8d7[_0xef9a('0x46')]=_0x2bd8d7[_0xef9a('0x46')][_0xef9a('0x5a')]?_0x2bd8d7['attributes']:_0x7a11ac[_0xef9a('0x41')];if(_0x1cc870['query'][_0xef9a('0x52')]){_0x2bd8d7['include']=[{'all':!![]}];}_0x2bd8d7=_[_0xef9a('0x4f')]({},_0x2bd8d7,_0x1cc870[_0xef9a('0x51')]);return db[_0xef9a('0x3d')][_0xef9a('0x5b')](_0x2bd8d7)[_0xef9a('0x33')](handleEntityNotFound(_0x121d03,null))[_0xef9a('0x33')](respondWithResult(_0x121d03,null))[_0xef9a('0x28')](handleError(_0x121d03,null));};exports[_0xef9a('0x5c')]=function(_0x16d1a7,_0x25dce5){return db['WhatsappAccount'][_0xef9a('0x5c')](_0x16d1a7['body'],{})[_0xef9a('0x33')](function(_0x100c9a){var _0x4ca7b8=_0x16d1a7[_0xef9a('0x5d')][_0xef9a('0x35')]({'plain':!![]});if(!_0x4ca7b8)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x4ca7b8['role']===_0xef9a('0x5d')){var _0x14fba8=_0x100c9a[_0xef9a('0x35')]({'plain':!![]});var _0x4f2b44=_0xef9a('0x36');return db['UserProfileSection'][_0xef9a('0x5b')]({'where':{'name':_0x4f2b44,'userProfileId':_0x4ca7b8[_0xef9a('0x5e')]},'raw':!![]})[_0xef9a('0x33')](function(_0xb2a47b){if(_0xb2a47b&&_0xb2a47b[_0xef9a('0x5f')]===0x0){return db[_0xef9a('0x37')][_0xef9a('0x5c')]({'name':_0x14fba8[_0xef9a('0x39')],'resourceId':_0x14fba8['id'],'type':_0xb2a47b[_0xef9a('0x39')],'sectionId':_0xb2a47b['id']},{})[_0xef9a('0x33')](function(){return _0x100c9a;});}else{return _0x100c9a;}})['catch'](function(_0x18fb7e){logger[_0xef9a('0x24')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x18fb7e);throw _0x18fb7e;});}return _0x100c9a;})[_0xef9a('0x33')](respondWithResult(_0x25dce5,0xc9))[_0xef9a('0x28')](handleError(_0x25dce5,null));};exports['update']=function(_0x5e60e0,_0x118751){if(_0x5e60e0[_0xef9a('0x60')]['id']){delete _0x5e60e0[_0xef9a('0x60')]['id'];}return db['WhatsappAccount'][_0xef9a('0x5b')]({'where':{'id':_0x5e60e0['params']['id']},'include':[{'model':db[_0xef9a('0x58')],'as':_0xef9a('0x59')}]})['then'](handleEntityNotFound(_0x118751,null))['then'](saveUpdates(_0x5e60e0['body'],null))[_0xef9a('0x33')](respondWithResult(_0x118751,null))[_0xef9a('0x28')](handleError(_0x118751,null));};exports[_0xef9a('0x34')]=function(_0x3b5b96,_0x300627){return db['WhatsappAccount'][_0xef9a('0x5b')]({'where':{'id':_0x3b5b96[_0xef9a('0x57')]['id']}})['then'](handleEntityNotFound(_0x300627,null))[_0xef9a('0x33')](removeEntity(_0x300627,null))[_0xef9a('0x28')](handleError(_0x300627,null));};exports[_0xef9a('0x61')]=function(_0x3cf4ce,_0x23ff3f){return db[_0xef9a('0x3d')][_0xef9a('0x61')]()['then'](respondWithResult(_0x23ff3f,null))['catch'](handleError(_0x23ff3f,null));};exports[_0xef9a('0x62')]=function(_0xcf8b63,_0x5bd541,_0x47d1d3){if(_0xcf8b63[_0xef9a('0x60')]['id']){delete _0xcf8b63['body']['id'];}return db[_0xef9a('0x3d')][_0xef9a('0x5b')]({'where':{'id':_0xcf8b63[_0xef9a('0x57')]['id']}})[_0xef9a('0x33')](handleEntityNotFound(_0x5bd541,null))[_0xef9a('0x33')](function(_0x13669e){if(_0x13669e){_0xcf8b63[_0xef9a('0x60')][_0xef9a('0x63')]=_0x13669e['id'];return db[_0xef9a('0x64')]['create'](_0xcf8b63['body']);}})[_0xef9a('0x33')](respondWithResult(_0x5bd541,null))['catch'](handleError(_0x5bd541,null));};exports['getDispositions']=function(_0x1cf1e8,_0x2163a2,_0x1b40b7){var _0x5b3bfa={'raw':![],'where':{}};var _0x1dca61={};var _0x34f91d={'count':0x0,'rows':[]};return db[_0xef9a('0x3d')]['findOne']({'where':{'id':_0x1cf1e8[_0xef9a('0x57')]['id']}})['then'](handleEntityNotFound(_0x2163a2,null))[_0xef9a('0x33')](function(_0x121ed9){if(_0x121ed9){_0x1dca61[_0xef9a('0x41')]=_[_0xef9a('0x43')](db[_0xef9a('0x64')][_0xef9a('0x65')]);_0x1dca61[_0xef9a('0x42')]=_[_0xef9a('0x43')](_0x1cf1e8[_0xef9a('0x42')]);_0x1dca61[_0xef9a('0x44')]=_['intersection'](_0x1dca61[_0xef9a('0x41')],_0x1dca61[_0xef9a('0x42')]);_0x5b3bfa[_0xef9a('0x46')]=_[_0xef9a('0x45')](_0x1dca61[_0xef9a('0x41')],qs[_0xef9a('0x47')](_0x1cf1e8['query'][_0xef9a('0x47')]));_0x5b3bfa[_0xef9a('0x46')]=_0x5b3bfa[_0xef9a('0x46')][_0xef9a('0x5a')]?_0x5b3bfa[_0xef9a('0x46')]:_0x1dca61[_0xef9a('0x41')];if(!_0x1cf1e8[_0xef9a('0x42')][_0xef9a('0x48')](_0xef9a('0x49'))){_0x5b3bfa[_0xef9a('0x2a')]=qs['limit'](_0x1cf1e8[_0xef9a('0x42')][_0xef9a('0x2a')]);_0x5b3bfa['offset']=qs['offset'](_0x1cf1e8[_0xef9a('0x42')]['offset']);}_0x5b3bfa[_0xef9a('0x4a')]=qs['sort'](_0x1cf1e8['query'][_0xef9a('0x4b')]);_0x5b3bfa[_0xef9a('0x4c')]=qs[_0xef9a('0x44')](_[_0xef9a('0x4d')](_0x1cf1e8[_0xef9a('0x42')],_0x1dca61[_0xef9a('0x44')]));_0x5b3bfa['where'][_0xef9a('0x63')]=_0x121ed9['id'];if(_0x1cf1e8[_0xef9a('0x42')]['filter']){_0x5b3bfa[_0xef9a('0x4c')]=_[_0xef9a('0x4f')](_0x5b3bfa[_0xef9a('0x4c')],{'$or':_[_0xef9a('0x3c')](_0x5b3bfa[_0xef9a('0x46')],function(_0x39cb8a){var _0x382d73={};_0x382d73[_0x39cb8a]={'$like':'%'+_0x1cf1e8['query'][_0xef9a('0x4e')]+'%'};return _0x382d73;})});}_0x5b3bfa=_['merge']({},_0x5b3bfa,_0x1cf1e8[_0xef9a('0x51')]);return db[_0xef9a('0x64')][_0xef9a('0x2b')]({'where':_0x5b3bfa[_0xef9a('0x4c')]})[_0xef9a('0x33')](function(_0x1501ad){_0x34f91d[_0xef9a('0x2b')]=_0x1501ad;if(_0x1cf1e8['query'][_0xef9a('0x52')]){_0x5b3bfa['include']=[{'all':!![]}];}return db[_0xef9a('0x64')][_0xef9a('0x54')](_0x5b3bfa);})['then'](function(_0x9c0944){_0x34f91d[_0xef9a('0x55')]=_0x9c0944;return _0x34f91d;});}})[_0xef9a('0x33')](respondWithFilteredResult(_0x2163a2,_0x5b3bfa))[_0xef9a('0x28')](handleError(_0x2163a2,null));};exports['removeDispositions']=function(_0x46ac16,_0x1d5712,_0x2779e4){return db['WhatsappAccount'][_0xef9a('0x5b')]({'where':{'id':_0x46ac16[_0xef9a('0x57')]['id']}})[_0xef9a('0x33')](handleEntityNotFound(_0x1d5712,null))['then'](function(_0x190599){if(_0x190599){return _0x190599[_0xef9a('0x66')](_0x46ac16['query'][_0xef9a('0x67')]);}})[_0xef9a('0x33')](respondWithStatusCode(_0x1d5712,null))['catch'](handleError(_0x1d5712,null));};exports[_0xef9a('0x68')]=function(_0x530c06,_0x1bdba2,_0x1363cb){if(_0x530c06[_0xef9a('0x60')]['id']){delete _0x530c06[_0xef9a('0x60')]['id'];}return db[_0xef9a('0x3d')][_0xef9a('0x5b')]({'where':{'id':_0x530c06[_0xef9a('0x57')]['id']}})[_0xef9a('0x33')](handleEntityNotFound(_0x1bdba2,null))[_0xef9a('0x33')](function(_0x247ef0){if(_0x247ef0){_0x530c06['body']['WhatsappAccountId']=_0x247ef0['id'];return db[_0xef9a('0x69')][_0xef9a('0x5c')](_0x530c06[_0xef9a('0x60')]);}})[_0xef9a('0x33')](respondWithResult(_0x1bdba2,null))[_0xef9a('0x28')](handleError(_0x1bdba2,null));};exports['getAnswers']=function(_0x35324c,_0x191195,_0x15fa69){var _0xadb8d2={'raw':![],'where':{}};var _0x478add={};var _0x4468b5={'count':0x0,'rows':[]};return db[_0xef9a('0x3d')][_0xef9a('0x6a')]({'where':{'id':_0x35324c['params']['id']}})['then'](handleEntityNotFound(_0x191195,null))[_0xef9a('0x33')](function(_0x515b35){if(_0x515b35){_0x478add[_0xef9a('0x41')]=_[_0xef9a('0x43')](db['CannedAnswer'][_0xef9a('0x65')]);_0x478add['query']=_['keys'](_0x35324c[_0xef9a('0x42')]);_0x478add[_0xef9a('0x44')]=_[_0xef9a('0x45')](_0x478add['model'],_0x478add['query']);_0xadb8d2[_0xef9a('0x46')]=_[_0xef9a('0x45')](_0x478add[_0xef9a('0x41')],qs[_0xef9a('0x47')](_0x35324c[_0xef9a('0x42')]['fields']));_0xadb8d2['attributes']=_0xadb8d2['attributes'][_0xef9a('0x5a')]?_0xadb8d2[_0xef9a('0x46')]:_0x478add[_0xef9a('0x41')];if(!_0x35324c['query'][_0xef9a('0x48')](_0xef9a('0x49'))){_0xadb8d2['limit']=qs['limit'](_0x35324c[_0xef9a('0x42')]['limit']);_0xadb8d2[_0xef9a('0x2c')]=qs[_0xef9a('0x2c')](_0x35324c[_0xef9a('0x42')][_0xef9a('0x2c')]);}_0xadb8d2[_0xef9a('0x4a')]=qs[_0xef9a('0x4b')](_0x35324c[_0xef9a('0x42')][_0xef9a('0x4b')]);_0xadb8d2[_0xef9a('0x4c')]=qs[_0xef9a('0x44')](_[_0xef9a('0x4d')](_0x35324c[_0xef9a('0x42')],_0x478add['filters']));_0xadb8d2['where']['WhatsappAccountId']=_0x515b35['id'];if(_0x35324c['query']['filter']){_0xadb8d2[_0xef9a('0x4c')]=_[_0xef9a('0x4f')](_0xadb8d2['where'],{'$or':_[_0xef9a('0x3c')](_0xadb8d2[_0xef9a('0x46')],function(_0x5b41d0){var _0x360b8e={};_0x360b8e[_0x5b41d0]={'$like':'%'+_0x35324c['query'][_0xef9a('0x4e')]+'%'};return _0x360b8e;})});}_0xadb8d2=_[_0xef9a('0x4f')]({},_0xadb8d2,_0x35324c['options']);return db[_0xef9a('0x69')]['count']({'where':_0xadb8d2[_0xef9a('0x4c')]})[_0xef9a('0x33')](function(_0x3a3a02){_0x4468b5[_0xef9a('0x2b')]=_0x3a3a02;if(_0x35324c[_0xef9a('0x42')]['includeAll']){_0xadb8d2['include']=[{'all':!![]}];}return db[_0xef9a('0x69')][_0xef9a('0x54')](_0xadb8d2);})['then'](function(_0x47b85b){_0x4468b5[_0xef9a('0x55')]=_0x47b85b;return _0x4468b5;});}})[_0xef9a('0x33')](respondWithFilteredResult(_0x191195,_0xadb8d2))[_0xef9a('0x28')](handleError(_0x191195,null));};exports[_0xef9a('0x6b')]=function(_0x42e065,_0x4819b0,_0x465ab2){return db[_0xef9a('0x3d')][_0xef9a('0x5b')]({'where':{'id':_0x42e065[_0xef9a('0x57')]['id']}})[_0xef9a('0x33')](handleEntityNotFound(_0x4819b0,null))[_0xef9a('0x33')](function(_0x26d17c){if(_0x26d17c){return _0x26d17c[_0xef9a('0x6b')](_0x42e065[_0xef9a('0x42')][_0xef9a('0x67')]);}})['then'](respondWithStatusCode(_0x4819b0,null))[_0xef9a('0x28')](handleError(_0x4819b0,null));};exports[_0xef9a('0x6c')]=function(_0x17c888,_0x5e5626,_0x5669f4){return db['WhatsappAccount'][_0xef9a('0x5b')]({'where':{'id':_0x17c888['params']['id']}})[_0xef9a('0x33')](handleEntityNotFound(_0x5e5626,null))['then'](function(_0x227db2){if(_0x227db2){return _0x227db2['addAgents'](_0x17c888[_0xef9a('0x60')]['ids'],_[_0xef9a('0x6d')](_0x17c888['body'],[_0xef9a('0x67'),'id'])||{})[_0xef9a('0x6e')](function(_0xc5d274){for(var _0x19a649=0x0;_0x19a649<_0x17c888[_0xef9a('0x60')]['ids'][_0xef9a('0x5a')];_0x19a649+=0x1){socket[_0xef9a('0x6f')](_0xef9a('0x70'),{'UserId':Number(_0x17c888[_0xef9a('0x60')][_0xef9a('0x67')][_0x19a649]),'WhatsappAccountId':Number(_0x17c888[_0xef9a('0x57')]['id'])});}return _0xc5d274;});}})['then'](respondWithResult(_0x5e5626,null))['catch'](handleError(_0x5e5626,null));};exports[_0xef9a('0x71')]=function(_0x1dfb5b,_0x52d5ae,_0x3a76b4){return db['WhatsappAccount']['find']({'where':{'id':_0x1dfb5b[_0xef9a('0x57')]['id']}})[_0xef9a('0x33')](handleEntityNotFound(_0x52d5ae,null))[_0xef9a('0x33')](function(_0xa2d130){if(_0xa2d130){return _0xa2d130[_0xef9a('0x71')](_0x1dfb5b[_0xef9a('0x42')]['ids'])[_0xef9a('0x33')](function(){if(_[_0xef9a('0x72')](_0x1dfb5b[_0xef9a('0x42')][_0xef9a('0x67')])){for(var _0x5f3347=0x0;_0x5f3347<_0x1dfb5b[_0xef9a('0x42')][_0xef9a('0x67')][_0xef9a('0x5a')];_0x5f3347+=0x1){socket[_0xef9a('0x6f')](_0xef9a('0x73'),{'UserId':Number(_0x1dfb5b[_0xef9a('0x42')]['ids'][_0x5f3347]),'WhatsappAccountId':Number(_0x1dfb5b[_0xef9a('0x57')]['id'])});}}else{socket[_0xef9a('0x6f')]('userWhatsappAccount:remove',{'UserId':Number(_0x1dfb5b['query'][_0xef9a('0x67')]),'WhatsappAccountId':Number(_0x1dfb5b[_0xef9a('0x57')]['id'])});}});}})['then'](respondWithStatusCode(_0x52d5ae,null))[_0xef9a('0x28')](handleError(_0x52d5ae,null));};exports[_0xef9a('0x74')]=function(_0x7d0a3f,_0x10228d,_0x2e7db5){var _0x5e0da2={};var _0x154a76={};var _0x1d2998;var _0x2a1848;return db['WhatsappAccount'][_0xef9a('0x6a')]({'where':{'id':_0x7d0a3f[_0xef9a('0x57')]['id']}})[_0xef9a('0x33')](handleEntityNotFound(_0x10228d,null))[_0xef9a('0x33')](function(_0x536fd6){if(_0x536fd6){_0x1d2998=_0x536fd6;_0x154a76[_0xef9a('0x41')]=_['keys'](db[_0xef9a('0x75')]['rawAttributes']);_0x154a76[_0xef9a('0x42')]=_[_0xef9a('0x43')](_0x7d0a3f[_0xef9a('0x42')]);_0x154a76[_0xef9a('0x44')]=_[_0xef9a('0x45')](_0x154a76['model'],_0x154a76[_0xef9a('0x42')]);_0x5e0da2[_0xef9a('0x46')]=_['intersection'](_0x154a76[_0xef9a('0x41')],qs[_0xef9a('0x47')](_0x7d0a3f['query'][_0xef9a('0x47')]));_0x5e0da2[_0xef9a('0x46')]=_0x5e0da2['attributes'][_0xef9a('0x5a')]?_0x5e0da2[_0xef9a('0x46')]:_0x154a76[_0xef9a('0x41')];_0x5e0da2['order']=qs['sort'](_0x7d0a3f['query'][_0xef9a('0x4b')]);_0x5e0da2['where']=qs[_0xef9a('0x44')](_[_0xef9a('0x4d')](_0x7d0a3f[_0xef9a('0x42')],_0x154a76[_0xef9a('0x44')]));if(_0x7d0a3f['query'][_0xef9a('0x4e')]){_0x5e0da2[_0xef9a('0x4c')]=_[_0xef9a('0x4f')](_0x5e0da2[_0xef9a('0x4c')],{'$or':_[_0xef9a('0x3c')](_0x5e0da2[_0xef9a('0x46')],function(_0x216849){var _0x2b90b0={};_0x2b90b0[_0x216849]={'$like':'%'+_0x7d0a3f[_0xef9a('0x42')][_0xef9a('0x4e')]+'%'};return _0x2b90b0;})});}_0x5e0da2=_[_0xef9a('0x4f')]({},_0x5e0da2,_0x7d0a3f[_0xef9a('0x51')]);return _0x1d2998['getAgents'](_0x5e0da2);}})[_0xef9a('0x33')](function(_0x5ccd59){if(_0x5ccd59){_0x2a1848=_0x5ccd59[_0xef9a('0x5a')];if(!_0x7d0a3f[_0xef9a('0x42')]['hasOwnProperty'](_0xef9a('0x49'))){_0x5e0da2[_0xef9a('0x2a')]=qs[_0xef9a('0x2a')](_0x7d0a3f[_0xef9a('0x42')][_0xef9a('0x2a')]);_0x5e0da2[_0xef9a('0x2c')]=qs[_0xef9a('0x2c')](_0x7d0a3f[_0xef9a('0x42')]['offset']);}return _0x1d2998[_0xef9a('0x74')](_0x5e0da2);}})[_0xef9a('0x33')](function(_0x1a88f9){if(_0x1a88f9){return _0x1a88f9?{'count':_0x2a1848,'rows':_0x1a88f9}:null;}})[_0xef9a('0x33')](respondWithResult(_0x10228d,null))['catch'](handleError(_0x10228d,null));};exports[_0xef9a('0x76')]=function(_0x3b5819,_0x3c06f9){var _0x343d85=_0x3b5819[_0xef9a('0x57')]['id'];var _0x209afc=_0x3b5819[_0xef9a('0x60')];var _0x3ae306=0xc8;var _0x211d30=null;return db['sequelize'][_0xef9a('0x77')]({'isolationLevel':db[_0xef9a('0x78')][_0xef9a('0x79')][_0xef9a('0x7a')][_0xef9a('0x7b')]},function(_0x65ff11){return db['WhatsappAccount'][_0xef9a('0x6a')]({'where':{'id':_0x343d85},'transaction':_0x65ff11})[_0xef9a('0x33')](function(_0x24d141){if(_0x24d141){return db[_0xef9a('0x7c')]['destroy']({'where':{'WhatsappAccountId':_0x343d85},'transaction':_0x65ff11})['then'](function(){var _0x254376=_[_0xef9a('0x3c')](_0x209afc,function(_0x633a75){_0x633a75[_0xef9a('0x63')]=_0x343d85;return _0x633a75;});return db[_0xef9a('0x7c')]['bulkCreate'](_0x254376,{'transaction':_0x65ff11});});}else{_0x3ae306=0x194;_0x211d30=[];}});})['then'](function(){if(_0x3ae306!==0x194){return db[_0xef9a('0x7c')]['findAndCountAll']({'where':{'WhatsappAccountId':_0x343d85},'order':'priority'})[_0xef9a('0x33')](function(_0x4e95bd){_0x211d30=_0x4e95bd;});}})['catch'](function(_0x5b4d2d){_0x3ae306=0x1f4;logger[_0xef9a('0x24')](_0x5b4d2d[_0xef9a('0x7d')]);if(_0x5b4d2d[_0xef9a('0x39')]){delete _0x5b4d2d[_0xef9a('0x39')];}_0x211d30=_0x5b4d2d;})[_0xef9a('0x7e')](function(){if(_0x211d30===null){_0x3c06f9['sendStatus'](_0x3ae306);}else{if(_0x3ae306===0x1f4){_0x3c06f9[_0xef9a('0x7f')](_0x3ae306)[_0xef9a('0x3a')](_0x211d30);}else{_0x3c06f9[_0xef9a('0x7f')](_0x3ae306)[_0xef9a('0x2f')](_0x211d30);}}});};exports[_0xef9a('0x80')]=function(_0x191ebb,_0x31a83c,_0x4eb61c){var _0x2f0df6={};var _0x6ea4c2={};var _0x570e7e;var _0x97a1c6;return db[_0xef9a('0x3d')][_0xef9a('0x6a')]({'where':{'id':_0x191ebb[_0xef9a('0x57')]['id']}})[_0xef9a('0x33')](handleEntityNotFound(_0x31a83c,null))['then'](function(_0x48f233){if(_0x48f233){_0x570e7e=_0x48f233;_0x6ea4c2[_0xef9a('0x41')]=_[_0xef9a('0x43')](db[_0xef9a('0x7c')][_0xef9a('0x65')]);_0x6ea4c2['query']=_[_0xef9a('0x43')](_0x191ebb[_0xef9a('0x42')]);_0x6ea4c2['filters']=_[_0xef9a('0x45')](_0x6ea4c2[_0xef9a('0x41')],_0x6ea4c2[_0xef9a('0x42')]);_0x2f0df6[_0xef9a('0x46')]=_[_0xef9a('0x45')](_0x6ea4c2[_0xef9a('0x41')],qs['fields'](_0x191ebb[_0xef9a('0x42')]['fields']));_0x2f0df6[_0xef9a('0x46')]=_0x2f0df6['attributes'][_0xef9a('0x5a')]?_0x2f0df6['attributes']:_0x6ea4c2['model'];_0x2f0df6['order']=qs[_0xef9a('0x4b')](_0x191ebb[_0xef9a('0x42')]['sort']);_0x2f0df6[_0xef9a('0x4c')]=qs['filters'](_['pick'](_0x191ebb[_0xef9a('0x42')],_0x6ea4c2[_0xef9a('0x44')]));if(_0x191ebb[_0xef9a('0x42')][_0xef9a('0x4e')]){_0x2f0df6[_0xef9a('0x4c')]=_[_0xef9a('0x4f')](_0x2f0df6['where'],{'$or':_[_0xef9a('0x3c')](_0x2f0df6['attributes'],function(_0x473673){var _0x119b3c={};_0x119b3c[_0x473673]={'$like':'%'+_0x191ebb[_0xef9a('0x42')][_0xef9a('0x4e')]+'%'};return _0x119b3c;})});}_0x2f0df6=_[_0xef9a('0x4f')]({},_0x2f0df6,_0x191ebb[_0xef9a('0x51')]);return _0x570e7e['getApplications'](_0x2f0df6);}})['then'](function(_0x4ea0b8){if(_0x4ea0b8){_0x97a1c6=_0x4ea0b8['length'];if(!_0x191ebb[_0xef9a('0x42')][_0xef9a('0x48')](_0xef9a('0x49'))){_0x2f0df6[_0xef9a('0x2a')]=qs[_0xef9a('0x2a')](_0x191ebb[_0xef9a('0x42')]['limit']);_0x2f0df6[_0xef9a('0x2c')]=qs[_0xef9a('0x2c')](_0x191ebb[_0xef9a('0x42')][_0xef9a('0x2c')]);}return _0x570e7e[_0xef9a('0x80')](_0x2f0df6);}})[_0xef9a('0x33')](function(_0x576579){if(_0x576579){return _0x576579?{'count':_0x97a1c6,'rows':_0x576579}:null;}})['then'](respondWithResult(_0x31a83c,null))[_0xef9a('0x28')](handleError(_0x31a83c,null));};exports['notify']=function(_0x476040,_0x8c28c5,_0x5b0e21){var _0x2063fe={'channel':_0xef9a('0x81')};var _0x17dd21=[];var _0x80da20=[];var _0x2081e0={};return db[_0xef9a('0x3d')][_0xef9a('0x5b')]({'where':{'id':_0x476040[_0xef9a('0x57')]['id']},'include':[{'model':db[_0xef9a('0x7c')],'as':_0xef9a('0x82')}]})[_0xef9a('0x33')](handleEntityNotFound(_0x8c28c5,null))['then'](function(_0x128b5f){_0x2063fe[_0xef9a('0x83')]=_0x128b5f;if(_0x2063fe['account']&&_0x2063fe[_0xef9a('0x83')][_0xef9a('0x3f')]===_0xef9a('0x84')&&_0x476040[_0xef9a('0x60')][_0xef9a('0x85')]){if(_0x476040[_0xef9a('0x60')][_0xef9a('0x85')][_0xef9a('0x5a')]===0x0)return;if(_0x476040[_0xef9a('0x60')]['statuses'][0x0][_0xef9a('0x86')]!==_0xef9a('0x87'))return;return db['WhatsappMessage']['update']({'read':!![],'readAt':_0x476040['body'][_0xef9a('0x85')][0x0]['timestamp']},{'where':{'messageId':_0x476040[_0xef9a('0x60')][_0xef9a('0x85')][0x0][_0xef9a('0x88')]},'individualHooks':!![]})[_0xef9a('0x33')](function(_0x8772c4){return _0x8c28c5['status'](0xc8)[_0xef9a('0x2f')](_0x8772c4);});}_0x2063fe[_0xef9a('0x89')]=_['orderBy'](_0x128b5f[_0xef9a('0x82')],[_0xef9a('0x8a')],[_0xef9a('0x8b')]);if(_0x2063fe[_0xef9a('0x83')][_0xef9a('0x82')]){delete _0x2063fe['account']['Applications'];}return db[_0xef9a('0x8c')]['describe']()[_0xef9a('0x33')](function(_0x175cf5){if(!_0x175cf5){throw new db[(_0xef9a('0x8d'))][(_0xef9a('0x8e'))]('no\x20available\x20attributes');}_0x17dd21=_['difference'](_[_0xef9a('0x43')](_0x175cf5),[_0xef9a('0x8f'),_0xef9a('0x90')]);_0x80da20=_['difference'](_[_0xef9a('0x43')](_0x175cf5),[_0xef9a('0x8f'),_0xef9a('0x90'),'CompanyId',_0xef9a('0x91')]);_0x2063fe[_0xef9a('0x60')]={'mapKey':_0xef9a('0x92')};if(_0x2063fe[_0xef9a('0x83')]&&_0x2063fe['account'][_0xef9a('0x3f')]===_0xef9a('0x93')){_0x2063fe[_0xef9a('0x60')][_0xef9a('0x94')]=_0x476040[_0xef9a('0x60')]['From']['replace'](_0xef9a('0x95'),'');_0x2063fe[_0xef9a('0x60')][_0xef9a('0x60')]=_0x476040[_0xef9a('0x60')][_0xef9a('0x96')];_0x2063fe[_0xef9a('0x60')][_0xef9a('0x97')]=_0x476040['body']['MessageSid'];}if(_0x2063fe[_0xef9a('0x83')]&&_0x2063fe['account'][_0xef9a('0x3f')]==='sinch'){_0x2063fe['body']['from']=_0x476040[_0xef9a('0x60')][_0xef9a('0x98')][0x0][_0xef9a('0x94')];_0x2063fe[_0xef9a('0x60')][_0xef9a('0x60')]=_0x476040['body'][_0xef9a('0x98')][0x0][_0xef9a('0x26')]['body'];_0x2063fe[_0xef9a('0x60')][_0xef9a('0x97')]=_0x476040['body'][_0xef9a('0x98')][0x0][_0xef9a('0x88')];}if(_0x2063fe[_0xef9a('0x60')]['id']){delete _0x2063fe[_0xef9a('0x60')]['id'];}if(_[_0xef9a('0x99')](_0x2063fe[_0xef9a('0x60')]['from'])){throw new db[(_0xef9a('0x8d'))][(_0xef9a('0x8e'))](_0xef9a('0x9a'));}if(_['isNil'](_0x2063fe['body'][_0xef9a('0x60')])||_0x2063fe[_0xef9a('0x60')][_0xef9a('0x60')]===''){throw new db['Sequelize'][(_0xef9a('0x8e'))]('body\x20is\x20mandatory\x20and\x20not\x20empty');}if(_[_0xef9a('0x99')](_0x2063fe['body']['mapKey'])){throw new db[(_0xef9a('0x8d'))]['ValidationError'](_0xef9a('0x9b')+_0x80da20);}if(!_[_0xef9a('0x9c')](_0x80da20,_0x2063fe[_0xef9a('0x60')][_0xef9a('0x9d')])){throw new db[(_0xef9a('0x8d'))][(_0xef9a('0x8e'))](_0xef9a('0x9e')+_0x80da20);}_0x2081e0[_0x2063fe[_0xef9a('0x60')][_0xef9a('0x9d')]]=_0x2063fe[_0xef9a('0x60')][_0xef9a('0x94')];return db[_0xef9a('0x9f')][_0xef9a('0x5b')]({'where':{'id':_0x2063fe[_0xef9a('0x83')]['ListId']},'include':[{'model':db[_0xef9a('0x8c')],'as':'Contacts','where':_0x2081e0,'limit':0x1,'order':[[_0xef9a('0x90'),'DESC']]}]});})['then'](handleEntityNotFound(_0x8c28c5,null))[_0xef9a('0x33')](function(_0x571faf){if(_0x571faf){_0x2063fe[_0xef9a('0xa0')]=_[_0xef9a('0x6d')](_0x571faf,[_0xef9a('0xa1')]);if(_0x571faf[_0xef9a('0xa1')][_0xef9a('0x5a')]){return _0x571faf['Contacts'][0x0];}var _0x380ef1=_[_0xef9a('0xa2')](_0x2063fe[_0xef9a('0x60')],{'firstName':_0x2063fe['body']['from'],'ListId':_0x571faf['id']});_0x380ef1[_0x2063fe[_0xef9a('0x60')]['mapKey']]=_0x2063fe['body'][_0xef9a('0x94')];return db[_0xef9a('0x8c')]['create'](_0x380ef1,{'fields':_0x17dd21,'raw':!![]});}})[_0xef9a('0x33')](handleEntityNotFound(_0x8c28c5,null))[_0xef9a('0x33')](function(_0x66c206){if(_0x66c206){_0x2063fe[_0xef9a('0xa3')]=_0x66c206;var _0x4cae9c={'ContactId':_0x66c206['id'],'phone':_0x2063fe['body'][_0xef9a('0x94')],'WhatsappAccountId':_0x476040[_0xef9a('0x57')]['id']};var _0x40f55a={'ContactId':_0x66c206['id'],'WhatsappAccountId':_0x476040['params']['id'],'closed':![]};return db[_0xef9a('0xa4')][_0xef9a('0x5b')]({'where':_0x40f55a})[_0xef9a('0x33')](function(_0x204f0b){if(_0x204f0b){return[_0x204f0b,![]];}return db[_0xef9a('0xa4')]['create'](_0x4cae9c)['then'](function(_0x320812){return[_0x320812,!![]];});});}})['spread'](function(_0xac8132,_0xf8c4cd){_0x2063fe['interaction']=_0xac8132[_0xef9a('0x35')]({'plain':!![]});_0x2063fe[_0xef9a('0xa5')][_0xef9a('0xa6')]=![];if(_0xf8c4cd){if(_0x2063fe[_0xef9a('0x83')][_0xef9a('0xa7')]){_0x2063fe['applications'][_0xef9a('0xa8')]({'id':0x0,'priority':_0x2063fe[_0xef9a('0x89')][_0xef9a('0x5a')]+0x1,'app':'close','appdata':'unmanaged','interval':'*,*,*,*'});}_0x2063fe[_0xef9a('0xa5')]['created']=!![];}return db[_0xef9a('0xa9')][_0xef9a('0x5c')]({'phone':_0x2063fe['body'][_0xef9a('0x94')],'messageId':_0x2063fe[_0xef9a('0x60')][_0xef9a('0x97')],'body':_0x2063fe['body'][_0xef9a('0x60')],'WhatsappAccountId':_0x476040[_0xef9a('0x57')]['id'],'WhatsappInteractionId':_0xac8132['id'],'direction':'in','ContactId':_0xac8132[_0xef9a('0xaa')],'AttachmentId':_0x2063fe[_0xef9a('0x60')][_0xef9a('0xab')]});})[_0xef9a('0x33')](function(_0x1167a6){_0x2063fe[_0xef9a('0x26')]=_0x1167a6;if(!_0x2063fe[_0xef9a('0xa5')]['UserId'])return;return db[_0xef9a('0x75')]['find']({'attributes':['id',_0xef9a('0x39')],'where':{'id':_0x2063fe[_0xef9a('0xa5')][_0xef9a('0xac')]}});})[_0xef9a('0x33')](function(_0x48deff){if(_0x48deff){_0x2063fe[_0xef9a('0x89')][_0xef9a('0xad')]({'id':0x0,'priority':0x0,'app':_0xef9a('0xae'),'appdata':_0x48deff[_0xef9a('0x39')]+','+(_0x2063fe[_0xef9a('0x83')][_0xef9a('0xaf')]||0xa),'interval':_0xef9a('0xb0')});}if(!_0x2063fe[_0xef9a('0xa5')][_0xef9a('0xb1')])return;return db[_0xef9a('0xb2')]['find']({'attributes':['id',_0xef9a('0x39')],'where':{'id':_0x2063fe[_0xef9a('0xa5')][_0xef9a('0xb1')]}});})[_0xef9a('0x33')](function(_0x52e530){if(_0x52e530){_0x2063fe[_0xef9a('0x89')][_0xef9a('0xad')]({'id':0x0,'priority':0x1,'app':_0xef9a('0xb3'),'appdata':_0x52e530['name']+','+(_0x2063fe['account']['waitForTheAssignedQueue']||0x12c),'interval':_0xef9a('0xb0')});}return respondWithRpcPromise(_0xef9a('0xb4'),'startRouting',_0x2063fe);})[_0xef9a('0x33')](function(_0x49a276){if(_0x49a276){var _0x40c401=0xc8;var _0x391c24=_0xef9a('0xb5');logger[_0xef9a('0x1e')](_0xef9a('0x22'),_0x391c24,_0x40c401,_0xef9a('0xb6'));logger[_0xef9a('0x21')]('WhatsappAccount,\x20%s,\x20%s,\x20%s,\x20%s',_0x391c24,_0x40c401,_0xef9a('0xb6'),JSON['stringify'](_0x49a276));if(_0x2063fe[_0xef9a('0x83')][_0xef9a('0x3f')]===_0xef9a('0x93')){return _0x8c28c5[_0xef9a('0x7f')](_0x40c401)[_0xef9a('0x2d')]('Content-Type','text/xml')[_0xef9a('0x3a')](_0xef9a('0xb7'));}else{return _0x8c28c5[_0xef9a('0x7f')](_0x40c401)[_0xef9a('0x2f')](_0x49a276);}}});})['catch'](handleError(_0x8c28c5,null));};exports[_0xef9a('0x3a')]=function(_0x8bd9ff,_0x2ede59,_0x4fad1c){var _0x82490b,_0xb23362,_0x116583;if(_['isNil'](_0x8bd9ff[_0xef9a('0x60')][_0xef9a('0x60')])||_0x8bd9ff[_0xef9a('0x60')][_0xef9a('0x60')]===''){throw new db[(_0xef9a('0x8d'))][(_0xef9a('0x8e'))](_0xef9a('0xb8'));}if(_[_0xef9a('0x99')](_0x8bd9ff[_0xef9a('0x60')]['to'])){throw new db[(_0xef9a('0x8d'))]['ValidationError'](_0xef9a('0xb9'));}_0x82490b=_0x8bd9ff[_0xef9a('0x60')]['to'];return db[_0xef9a('0x3d')][_0xef9a('0x5b')]({'where':{'id':_0x8bd9ff['params']['id']},'include':[{'model':db[_0xef9a('0x9f')],'as':_0xef9a('0xba'),'include':[{'model':db[_0xef9a('0x8c')],'as':'Contacts','where':{'mobile':_0x82490b},'limit':0x1,'order':[[_0xef9a('0x90'),'DESC']]}]}]})[_0xef9a('0x33')](handleEntityNotFound(_0x2ede59,null))['then'](function(_0x1391ee){if(_0x1391ee&&_0x1391ee[_0xef9a('0xba')]){_0xb23362=_0x1391ee[_0xef9a('0x35')]({'plain':!![]});if(_0xb23362[_0xef9a('0xba')]&&_0xb23362[_0xef9a('0xba')][_0xef9a('0xa1')][_0xef9a('0x5a')]){return _0xb23362[_0xef9a('0xba')]['Contacts'][0x0];}return db[_0xef9a('0x8c')]['create'](_[_0xef9a('0xa2')](_0x8bd9ff[_0xef9a('0x60')],{'firstName':_0x82490b,'mobile':_0x82490b,'phone':_0x82490b,'ListId':_0xb23362[_0xef9a('0x91')]}));}})[_0xef9a('0x33')](handleEntityNotFound(_0x2ede59,null))[_0xef9a('0x33')](function(_0x248e70){if(_0x248e70){_0x116583=_0x248e70;return db[_0xef9a('0xa4')][_0xef9a('0x5b')]({'where':{'ContactId':_0x116583['id'],'closed':![],'WhatsappAccountId':_0xb23362['id']}})[_0xef9a('0x33')](function(_0x51340d){if(_0x51340d){return[_0x51340d,![]];}return db[_0xef9a('0xa4')]['create']({'UserId':_0x8bd9ff[_0xef9a('0x5d')]['id'],'ContactId':_0x116583['id'],'WhatsappAccountId':_0xb23362['id'],'phone':_0x82490b,'firstMsgDirection':_0xef9a('0xbb'),'Messages':[_['merge'](_0x8bd9ff[_0xef9a('0x60')],{'read':![],'body':_0x8bd9ff[_0xef9a('0x60')]['body'],'phone':_0x82490b,'WhatsappAccountId':_0xb23362['id'],'UserId':_0x8bd9ff[_0xef9a('0x5d')]['id'],'ContactId':_0x116583['id']})]},{'include':[{'model':db[_0xef9a('0xa9')],'as':_0xef9a('0xbc')}]})[_0xef9a('0x33')](function(_0x5c721c){return[_0x5c721c,!![]];});});}})['spread'](function(_0x16c2df,_0x1f5424){if(_0x1f5424){return _0x16c2df;}return db[_0xef9a('0xa9')][_0xef9a('0x5c')](_['merge'](_0x8bd9ff[_0xef9a('0x60')],{'read':![],'body':_0x8bd9ff['body'][_0xef9a('0x60')],'phone':_0x82490b,'WhatsappAccountId':_0xb23362['id'],'WhatsappInteractionId':_0x16c2df['id'],'UserId':_0x8bd9ff[_0xef9a('0x5d')]['id'],'ContactId':_0x116583['id']}))[_0xef9a('0x33')](function(_0x10e9d3){_0x16c2df[_0xef9a('0xbd')][_0xef9a('0xbc')]=[];_0x16c2df['dataValues'][_0xef9a('0xbc')][_0xef9a('0xa8')](_0x10e9d3['dataValues']);return _0x16c2df;});})[_0xef9a('0x33')](respondWithResult(_0x2ede59,null))[_0xef9a('0x28')](handleError(_0x2ede59,null));};