Built motion from commit da617fac.|2.6.6
[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 _0xc71b=['includes','mapKey\x20invalid,\x20please\x20use\x20one\x20of\x20these:\x20','CmList','DESC','list','Contacts','contact','WhatsappInteraction','spread','interaction','created','push','close','unmanaged','UserId','User','unshift','agent','*,*,*,*','Start','startRouting','entity\x20found','stringify','text/xml','<?xml\x20version=\x221.0\x22\x20encoding=\x22UTF-8\x22?>\x0a<Response></Response>','to\x20is\x20mandatory','List','Messages','dataValues','eml-format','rimraf','zip-dir','fast-json-patch','util','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','defaults','redis','localhost','socket.io-emitter','jayson/promise','client','request','then','info','WhatsappAccount,\x20%s,\x20%s','request\x20sent','debug','WhatsappAccount,\x20%s,\x20%s,\x20%s','error','code','message','result','catch','sendStatus','status','end','offset','undefined','limit','count','set','Content-Range','json','apply','reject','save','destroy','get','name','send','index','Pause','map','WhatsappAccount','type','key','model','query','keys','attributes','intersection','fields','length','nolimit','sort','where','pick','filter','merge','VIRTUAL','options','includeAll','include','rows','show','mandatoryDispositionPause','rawAttributes','filters','find','create','body','role','user','WhatsappAccounts','UserProfileSection','autoAssociation','UserProfileResource','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','update','params','describe','addDisposition','WhatsappAccountId','getDispositions','findOne','Disposition','order','findAll','removeDispositions','ids','addAnswer','getAnswers','hasOwnProperty','CannedAnswer','removeAnswers','addAgents','omit','emit','userWhatsappAccount:save','removeAgents','userWhatsappAccount:remove','getAgents','sequelize','transaction','Transaction','ISOLATION_LEVELS','READ_COMMITTED','WhatsappApplication','bulkCreate','findAndCountAll','priority','stack','finally','getApplications','whatsapp','Applications','account','sinch','statuses','state','read','WhatsappMessage','timestamp','message_id','applications','orderBy','asc','CmContact','Sequelize','no\x20available\x20attributes','difference','createdAt','updatedAt','CompanyId','ListId','mobile','twilio','From','replace','whatsapp:','Body','messageId','MessageSid','from','notifications','from\x20is\x20mandatory','isNil','ValidationError','body\x20is\x20mandatory\x20and\x20not\x20empty','mapKey','mapKey\x20is\x20mandatory,\x20please\x20use\x20one\x20of\x20these:\x20'];(function(_0x466f9f,_0x4d1211){var _0x30761a=function(_0x141e6b){while(--_0x141e6b){_0x466f9f['push'](_0x466f9f['shift']());}};_0x30761a(++_0x4d1211);}(_0xc71b,0xe6));var _0xbc71=function(_0x565723,_0x3d5753){_0x565723=_0x565723-0x0;var _0x50e24d=_0xc71b[_0x565723];return _0x50e24d;};'use strict';var emlformat=require(_0xbc71('0x0'));var rimraf=require(_0xbc71('0x1'));var zipdir=require(_0xbc71('0x2'));var jsonpatch=require(_0xbc71('0x3'));var rp=require('request-promise');var moment=require('moment');var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0xbc71('0x4'));var path=require(_0xbc71('0x5'));var sox=require(_0xbc71('0x6'));var csv=require(_0xbc71('0x7'));var ejs=require(_0xbc71('0x8'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0xbc71('0x9'));var squel=require(_0xbc71('0xa'));var crypto=require(_0xbc71('0xb'));var jsforce=require(_0xbc71('0xc'));var deskjs=require(_0xbc71('0xd'));var toCsv=require('to-csv');var querystring=require(_0xbc71('0xe'));var Papa=require(_0xbc71('0xf'));var Redis=require(_0xbc71('0x10'));var authService=require(_0xbc71('0x11'));var qs=require('../../components/parsers/qs');var as=require(_0xbc71('0x12'));var hardwareService=require(_0xbc71('0x13'));var logger=require(_0xbc71('0x14'))(_0xbc71('0x15'));var utils=require(_0xbc71('0x16'));var config=require(_0xbc71('0x17'));var licenseUtil=require(_0xbc71('0x18'));var db=require(_0xbc71('0x19'))['db'];config['redis']=_[_0xbc71('0x1a')](config[_0xbc71('0x1b')],{'host':_0xbc71('0x1c'),'port':0x18eb});var socket=require(_0xbc71('0x1d'))(new Redis(config[_0xbc71('0x1b')]));require('./whatsappAccount.socket')['register'](socket);var jayson=require(_0xbc71('0x1e'));var client=jayson[_0xbc71('0x1f')]['http']({'port':0x232c});function respondWithRpcPromise(_0x1289b9,_0x597f90,_0x1bd6fd,_0x4cfc48){return new BPromise(function(_0x325511,_0x3cc13a){var _0x35c6bb=_0x4cfc48||client;return _0x35c6bb[_0xbc71('0x20')](_0x1289b9,_0x1bd6fd)[_0xbc71('0x21')](function(_0x420ece){logger[_0xbc71('0x22')](_0xbc71('0x23'),_0x597f90,_0xbc71('0x24'));logger[_0xbc71('0x25')](_0xbc71('0x26'),_0x597f90,_0xbc71('0x24'),JSON['stringify'](_0x420ece));if(_0x420ece[_0xbc71('0x27')]){if(_0x420ece['error'][_0xbc71('0x28')]===0x1f4){logger[_0xbc71('0x27')](_0xbc71('0x23'),_0x597f90,_0x420ece[_0xbc71('0x27')][_0xbc71('0x29')]);return _0x3cc13a(_0x420ece['error'][_0xbc71('0x29')]);}logger['error'](_0xbc71('0x23'),_0x597f90,_0x420ece['error'][_0xbc71('0x29')]);return _0x325511(_0x420ece[_0xbc71('0x27')]['message']);}else{logger[_0xbc71('0x22')](_0xbc71('0x23'),_0x597f90,_0xbc71('0x24'));_0x325511(_0x420ece[_0xbc71('0x2a')][_0xbc71('0x29')]);}})[_0xbc71('0x2b')](function(_0x9a44d5){logger[_0xbc71('0x27')](_0xbc71('0x23'),_0x597f90,_0x9a44d5);_0x3cc13a(_0x9a44d5);});});}function respondWithStatusCode(_0x4d27c9,_0x4387a9){_0x4387a9=_0x4387a9||0xcc;return function(_0x28c000){if(_0x28c000){return _0x4d27c9[_0xbc71('0x2c')](_0x4387a9);}return _0x4d27c9[_0xbc71('0x2d')](_0x4387a9)[_0xbc71('0x2e')]();};}function respondWithResult(_0x37a55f,_0x1fc358){_0x1fc358=_0x1fc358||0xc8;return function(_0x50099a){if(_0x50099a){return _0x37a55f[_0xbc71('0x2d')](_0x1fc358)['json'](_0x50099a);}};}function respondWithFilteredResult(_0x2c2d35,_0x5d9c62){return function(_0x4ea327){if(_0x4ea327){var _0x1141db=typeof _0x5d9c62[_0xbc71('0x2f')]===_0xbc71('0x30')&&typeof _0x5d9c62[_0xbc71('0x31')]===_0xbc71('0x30');var _0x12a98d=_0x4ea327['count'];var _0xf70b9c=_0x1141db?0x0:_0x5d9c62['offset'];var _0x50786d=_0x1141db?_0x4ea327[_0xbc71('0x32')]:_0x5d9c62[_0xbc71('0x2f')]+_0x5d9c62[_0xbc71('0x31')];var _0x268259;if(_0x50786d>=_0x12a98d){_0x50786d=_0x12a98d;_0x268259=0xc8;}else{_0x268259=0xce;}_0x2c2d35['status'](_0x268259);return _0x2c2d35[_0xbc71('0x33')](_0xbc71('0x34'),_0xf70b9c+'-'+_0x50786d+'/'+_0x12a98d)[_0xbc71('0x35')](_0x4ea327);}return null;};}function patchUpdates(_0x49dda7){return function(_0x5ba23f){try{jsonpatch[_0xbc71('0x36')](_0x5ba23f,_0x49dda7,!![]);}catch(_0x5eaebd){return BPromise[_0xbc71('0x37')](_0x5eaebd);}return _0x5ba23f[_0xbc71('0x38')]();};}function saveUpdates(_0x47a662,_0x4530e6){return function(_0x43422f){if(_0x43422f){return _0x43422f['update'](_0x47a662)[_0xbc71('0x21')](function(_0x3b06d3){return _0x3b06d3;});}return null;};}function removeEntity(_0x3224ae,_0x46411c){return function(_0x2d645f){if(_0x2d645f){return _0x2d645f[_0xbc71('0x39')]()[_0xbc71('0x21')](function(){var _0x47a60e=_0x2d645f[_0xbc71('0x3a')]({'plain':!![]});var _0x340482='WhatsappAccounts';return db['UserProfileResource'][_0xbc71('0x39')]({'where':{'type':_0x340482,'resourceId':_0x47a60e['id']}})[_0xbc71('0x21')](function(){return _0x2d645f;});})[_0xbc71('0x21')](function(){_0x3224ae[_0xbc71('0x2d')](0xcc)['end']();});}};}function handleEntityNotFound(_0x3fe14f,_0x1968bb){return function(_0x837848){if(!_0x837848){_0x3fe14f[_0xbc71('0x2c')](0x194);}return _0x837848;};}function handleError(_0x24fd49,_0x2d799f){_0x2d799f=_0x2d799f||0x1f4;return function(_0x2845f6){logger[_0xbc71('0x27')](_0x2845f6['stack']);if(_0x2845f6[_0xbc71('0x3b')]){delete _0x2845f6[_0xbc71('0x3b')];}_0x24fd49[_0xbc71('0x2d')](_0x2d799f)[_0xbc71('0x3c')](_0x2845f6);};}exports[_0xbc71('0x3d')]=function(_0xc8882d,_0x411fdf){var _0x5acd01={'include':[{'model':db[_0xbc71('0x3e')],'as':'mandatoryDispositionPause'}]},_0x324ab7={},_0x281fc5={'count':0x0,'rows':[]};var _0x3c7153=_[_0xbc71('0x3f')](db[_0xbc71('0x40')]['rawAttributes'],function(_0x4a0748){return{'name':_0x4a0748['fieldName'],'type':_0x4a0748[_0xbc71('0x41')][_0xbc71('0x42')]};});_0x324ab7[_0xbc71('0x43')]=_[_0xbc71('0x3f')](_0x3c7153,'name');_0x324ab7[_0xbc71('0x44')]=_[_0xbc71('0x45')](_0xc8882d[_0xbc71('0x44')]);_0x324ab7['filters']=_['intersection'](_0x324ab7[_0xbc71('0x43')],_0x324ab7[_0xbc71('0x44')]);_0x5acd01[_0xbc71('0x46')]=_[_0xbc71('0x47')](_0x324ab7[_0xbc71('0x43')],qs['fields'](_0xc8882d[_0xbc71('0x44')][_0xbc71('0x48')]));_0x5acd01[_0xbc71('0x46')]=_0x5acd01[_0xbc71('0x46')][_0xbc71('0x49')]?_0x5acd01[_0xbc71('0x46')]:_0x324ab7[_0xbc71('0x43')];if(!_0xc8882d[_0xbc71('0x44')]['hasOwnProperty'](_0xbc71('0x4a'))){_0x5acd01[_0xbc71('0x31')]=qs['limit'](_0xc8882d[_0xbc71('0x44')][_0xbc71('0x31')]);_0x5acd01['offset']=qs[_0xbc71('0x2f')](_0xc8882d[_0xbc71('0x44')]['offset']);}_0x5acd01['order']=qs[_0xbc71('0x4b')](_0xc8882d[_0xbc71('0x44')]['sort']);_0x5acd01[_0xbc71('0x4c')]=qs['filters'](_[_0xbc71('0x4d')](_0xc8882d[_0xbc71('0x44')],_0x324ab7['filters']),_0x3c7153);if(_0xc8882d[_0xbc71('0x44')][_0xbc71('0x4e')]){_0x5acd01['where']=_[_0xbc71('0x4f')](_0x5acd01[_0xbc71('0x4c')],{'$or':_[_0xbc71('0x3f')](_0x3c7153,function(_0x174b9a){if(_0x174b9a[_0xbc71('0x41')]!==_0xbc71('0x50')){var _0x48c56b={};_0x48c56b[_0x174b9a[_0xbc71('0x3b')]]={'$like':'%'+_0xc8882d[_0xbc71('0x44')][_0xbc71('0x4e')]+'%'};return _0x48c56b;}})});}_0x5acd01=_['merge']({},_0x5acd01,_0xc8882d[_0xbc71('0x51')]);var _0x53749d={'where':_0x5acd01[_0xbc71('0x4c')]};return db['WhatsappAccount']['count'](_0x53749d)['then'](function(_0x24a8a1){_0x281fc5[_0xbc71('0x32')]=_0x24a8a1;if(_0xc8882d[_0xbc71('0x44')][_0xbc71('0x52')]){_0x5acd01[_0xbc71('0x53')]=[{'all':!![]}];}return db[_0xbc71('0x40')]['findAll'](_0x5acd01);})[_0xbc71('0x21')](function(_0x378fe2){_0x281fc5[_0xbc71('0x54')]=_0x378fe2;return _0x281fc5;})[_0xbc71('0x21')](respondWithFilteredResult(_0x411fdf,_0x5acd01))['catch'](handleError(_0x411fdf,null));};exports[_0xbc71('0x55')]=function(_0x3a3c54,_0xaf1657){var _0x35920e={'raw':![],'where':{'id':_0x3a3c54['params']['id']},'include':[{'model':db['Pause'],'as':_0xbc71('0x56')}]},_0x4fecc7={};_0x4fecc7[_0xbc71('0x43')]=_[_0xbc71('0x45')](db['WhatsappAccount'][_0xbc71('0x57')]);_0x4fecc7[_0xbc71('0x44')]=_[_0xbc71('0x45')](_0x3a3c54[_0xbc71('0x44')]);_0x4fecc7[_0xbc71('0x58')]=_[_0xbc71('0x47')](_0x4fecc7[_0xbc71('0x43')],_0x4fecc7[_0xbc71('0x44')]);_0x35920e[_0xbc71('0x46')]=_[_0xbc71('0x47')](_0x4fecc7[_0xbc71('0x43')],qs['fields'](_0x3a3c54[_0xbc71('0x44')][_0xbc71('0x48')]));_0x35920e[_0xbc71('0x46')]=_0x35920e['attributes'][_0xbc71('0x49')]?_0x35920e[_0xbc71('0x46')]:_0x4fecc7[_0xbc71('0x43')];if(_0x3a3c54[_0xbc71('0x44')][_0xbc71('0x52')]){_0x35920e[_0xbc71('0x53')]=[{'all':!![]}];}_0x35920e=_['merge']({},_0x35920e,_0x3a3c54[_0xbc71('0x51')]);return db[_0xbc71('0x40')][_0xbc71('0x59')](_0x35920e)['then'](handleEntityNotFound(_0xaf1657,null))['then'](respondWithResult(_0xaf1657,null))['catch'](handleError(_0xaf1657,null));};exports[_0xbc71('0x5a')]=function(_0x59d942,_0x16070a){return db[_0xbc71('0x40')][_0xbc71('0x5a')](_0x59d942[_0xbc71('0x5b')],{})['then'](function(_0x6dc3a){var _0x2202b8=_0x59d942['user'][_0xbc71('0x3a')]({'plain':!![]});if(!_0x2202b8)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x2202b8[_0xbc71('0x5c')]===_0xbc71('0x5d')){var _0x3e4935=_0x6dc3a[_0xbc71('0x3a')]({'plain':!![]});var _0x4aae7b=_0xbc71('0x5e');return db[_0xbc71('0x5f')]['find']({'where':{'name':_0x4aae7b,'userProfileId':_0x2202b8['userProfileId']},'raw':!![]})[_0xbc71('0x21')](function(_0x18c641){if(_0x18c641&&_0x18c641[_0xbc71('0x60')]===0x0){return db[_0xbc71('0x61')][_0xbc71('0x5a')]({'name':_0x3e4935[_0xbc71('0x3b')],'resourceId':_0x3e4935['id'],'type':_0x18c641[_0xbc71('0x3b')],'sectionId':_0x18c641['id']},{})[_0xbc71('0x21')](function(){return _0x6dc3a;});}else{return _0x6dc3a;}})[_0xbc71('0x2b')](function(_0x4833a7){logger[_0xbc71('0x27')](_0xbc71('0x62'),_0x4833a7);throw _0x4833a7;});}return _0x6dc3a;})['then'](respondWithResult(_0x16070a,0xc9))[_0xbc71('0x2b')](handleError(_0x16070a,null));};exports[_0xbc71('0x63')]=function(_0x372a91,_0x1c0725){if(_0x372a91['body']['id']){delete _0x372a91['body']['id'];}return db['WhatsappAccount'][_0xbc71('0x59')]({'where':{'id':_0x372a91[_0xbc71('0x64')]['id']},'include':[{'model':db['Pause'],'as':_0xbc71('0x56')}]})[_0xbc71('0x21')](handleEntityNotFound(_0x1c0725,null))[_0xbc71('0x21')](saveUpdates(_0x372a91[_0xbc71('0x5b')],null))[_0xbc71('0x21')](respondWithResult(_0x1c0725,null))[_0xbc71('0x2b')](handleError(_0x1c0725,null));};exports[_0xbc71('0x39')]=function(_0x4e955a,_0x28be8e){return db[_0xbc71('0x40')]['find']({'where':{'id':_0x4e955a[_0xbc71('0x64')]['id']}})[_0xbc71('0x21')](handleEntityNotFound(_0x28be8e,null))[_0xbc71('0x21')](removeEntity(_0x28be8e,null))['catch'](handleError(_0x28be8e,null));};exports[_0xbc71('0x65')]=function(_0xd5b647,_0x42a49e){return db[_0xbc71('0x40')][_0xbc71('0x65')]()[_0xbc71('0x21')](respondWithResult(_0x42a49e,null))[_0xbc71('0x2b')](handleError(_0x42a49e,null));};exports[_0xbc71('0x66')]=function(_0xaac54f,_0x2bbfbf,_0x22a24d){if(_0xaac54f[_0xbc71('0x5b')]['id']){delete _0xaac54f[_0xbc71('0x5b')]['id'];}return db[_0xbc71('0x40')][_0xbc71('0x59')]({'where':{'id':_0xaac54f[_0xbc71('0x64')]['id']}})[_0xbc71('0x21')](handleEntityNotFound(_0x2bbfbf,null))[_0xbc71('0x21')](function(_0x7c7642){if(_0x7c7642){_0xaac54f[_0xbc71('0x5b')][_0xbc71('0x67')]=_0x7c7642['id'];return db['Disposition'][_0xbc71('0x5a')](_0xaac54f[_0xbc71('0x5b')]);}})[_0xbc71('0x21')](respondWithResult(_0x2bbfbf,null))[_0xbc71('0x2b')](handleError(_0x2bbfbf,null));};exports[_0xbc71('0x68')]=function(_0x4d443e,_0x6989ea,_0x19e75f){var _0x1a174c={'raw':![],'where':{}};var _0xb0d903={};var _0x27a682={'count':0x0,'rows':[]};return db[_0xbc71('0x40')][_0xbc71('0x69')]({'where':{'id':_0x4d443e[_0xbc71('0x64')]['id']}})[_0xbc71('0x21')](handleEntityNotFound(_0x6989ea,null))[_0xbc71('0x21')](function(_0x3c2970){if(_0x3c2970){_0xb0d903[_0xbc71('0x43')]=_[_0xbc71('0x45')](db[_0xbc71('0x6a')]['rawAttributes']);_0xb0d903[_0xbc71('0x44')]=_[_0xbc71('0x45')](_0x4d443e[_0xbc71('0x44')]);_0xb0d903[_0xbc71('0x58')]=_[_0xbc71('0x47')](_0xb0d903[_0xbc71('0x43')],_0xb0d903[_0xbc71('0x44')]);_0x1a174c['attributes']=_[_0xbc71('0x47')](_0xb0d903[_0xbc71('0x43')],qs[_0xbc71('0x48')](_0x4d443e[_0xbc71('0x44')][_0xbc71('0x48')]));_0x1a174c[_0xbc71('0x46')]=_0x1a174c[_0xbc71('0x46')][_0xbc71('0x49')]?_0x1a174c[_0xbc71('0x46')]:_0xb0d903[_0xbc71('0x43')];if(!_0x4d443e['query']['hasOwnProperty'](_0xbc71('0x4a'))){_0x1a174c[_0xbc71('0x31')]=qs[_0xbc71('0x31')](_0x4d443e['query']['limit']);_0x1a174c[_0xbc71('0x2f')]=qs[_0xbc71('0x2f')](_0x4d443e[_0xbc71('0x44')][_0xbc71('0x2f')]);}_0x1a174c[_0xbc71('0x6b')]=qs[_0xbc71('0x4b')](_0x4d443e['query'][_0xbc71('0x4b')]);_0x1a174c[_0xbc71('0x4c')]=qs[_0xbc71('0x58')](_['pick'](_0x4d443e['query'],_0xb0d903[_0xbc71('0x58')]));_0x1a174c[_0xbc71('0x4c')][_0xbc71('0x67')]=_0x3c2970['id'];if(_0x4d443e['query']['filter']){_0x1a174c['where']=_[_0xbc71('0x4f')](_0x1a174c['where'],{'$or':_[_0xbc71('0x3f')](_0x1a174c[_0xbc71('0x46')],function(_0x2d2f77){var _0x50529f={};_0x50529f[_0x2d2f77]={'$like':'%'+_0x4d443e[_0xbc71('0x44')][_0xbc71('0x4e')]+'%'};return _0x50529f;})});}_0x1a174c=_[_0xbc71('0x4f')]({},_0x1a174c,_0x4d443e[_0xbc71('0x51')]);return db['Disposition'][_0xbc71('0x32')]({'where':_0x1a174c[_0xbc71('0x4c')]})[_0xbc71('0x21')](function(_0xa5fe6c){_0x27a682[_0xbc71('0x32')]=_0xa5fe6c;if(_0x4d443e[_0xbc71('0x44')]['includeAll']){_0x1a174c[_0xbc71('0x53')]=[{'all':!![]}];}return db['Disposition'][_0xbc71('0x6c')](_0x1a174c);})['then'](function(_0x19e5da){_0x27a682[_0xbc71('0x54')]=_0x19e5da;return _0x27a682;});}})[_0xbc71('0x21')](respondWithFilteredResult(_0x6989ea,_0x1a174c))[_0xbc71('0x2b')](handleError(_0x6989ea,null));};exports['removeDispositions']=function(_0x1e3b73,_0x416686,_0xb9fdd6){return db[_0xbc71('0x40')]['find']({'where':{'id':_0x1e3b73['params']['id']}})[_0xbc71('0x21')](handleEntityNotFound(_0x416686,null))[_0xbc71('0x21')](function(_0x476209){if(_0x476209){return _0x476209[_0xbc71('0x6d')](_0x1e3b73[_0xbc71('0x44')][_0xbc71('0x6e')]);}})[_0xbc71('0x21')](respondWithStatusCode(_0x416686,null))[_0xbc71('0x2b')](handleError(_0x416686,null));};exports[_0xbc71('0x6f')]=function(_0x1cf424,_0x55d02d,_0x44857c){if(_0x1cf424[_0xbc71('0x5b')]['id']){delete _0x1cf424[_0xbc71('0x5b')]['id'];}return db['WhatsappAccount'][_0xbc71('0x59')]({'where':{'id':_0x1cf424[_0xbc71('0x64')]['id']}})[_0xbc71('0x21')](handleEntityNotFound(_0x55d02d,null))[_0xbc71('0x21')](function(_0x55f614){if(_0x55f614){_0x1cf424[_0xbc71('0x5b')][_0xbc71('0x67')]=_0x55f614['id'];return db['CannedAnswer']['create'](_0x1cf424['body']);}})[_0xbc71('0x21')](respondWithResult(_0x55d02d,null))[_0xbc71('0x2b')](handleError(_0x55d02d,null));};exports[_0xbc71('0x70')]=function(_0x24248f,_0x254945,_0x2d47dd){var _0x1ed3b4={'raw':![],'where':{}};var _0x210f1e={};var _0x3bfa04={'count':0x0,'rows':[]};return db[_0xbc71('0x40')]['findOne']({'where':{'id':_0x24248f[_0xbc71('0x64')]['id']}})[_0xbc71('0x21')](handleEntityNotFound(_0x254945,null))[_0xbc71('0x21')](function(_0x461515){if(_0x461515){_0x210f1e[_0xbc71('0x43')]=_['keys'](db['CannedAnswer'][_0xbc71('0x57')]);_0x210f1e[_0xbc71('0x44')]=_[_0xbc71('0x45')](_0x24248f[_0xbc71('0x44')]);_0x210f1e['filters']=_[_0xbc71('0x47')](_0x210f1e['model'],_0x210f1e['query']);_0x1ed3b4['attributes']=_[_0xbc71('0x47')](_0x210f1e['model'],qs[_0xbc71('0x48')](_0x24248f[_0xbc71('0x44')][_0xbc71('0x48')]));_0x1ed3b4[_0xbc71('0x46')]=_0x1ed3b4[_0xbc71('0x46')][_0xbc71('0x49')]?_0x1ed3b4[_0xbc71('0x46')]:_0x210f1e[_0xbc71('0x43')];if(!_0x24248f[_0xbc71('0x44')][_0xbc71('0x71')](_0xbc71('0x4a'))){_0x1ed3b4[_0xbc71('0x31')]=qs[_0xbc71('0x31')](_0x24248f[_0xbc71('0x44')][_0xbc71('0x31')]);_0x1ed3b4[_0xbc71('0x2f')]=qs[_0xbc71('0x2f')](_0x24248f[_0xbc71('0x44')]['offset']);}_0x1ed3b4[_0xbc71('0x6b')]=qs['sort'](_0x24248f[_0xbc71('0x44')][_0xbc71('0x4b')]);_0x1ed3b4[_0xbc71('0x4c')]=qs[_0xbc71('0x58')](_[_0xbc71('0x4d')](_0x24248f[_0xbc71('0x44')],_0x210f1e[_0xbc71('0x58')]));_0x1ed3b4['where'][_0xbc71('0x67')]=_0x461515['id'];if(_0x24248f[_0xbc71('0x44')][_0xbc71('0x4e')]){_0x1ed3b4[_0xbc71('0x4c')]=_[_0xbc71('0x4f')](_0x1ed3b4['where'],{'$or':_[_0xbc71('0x3f')](_0x1ed3b4[_0xbc71('0x46')],function(_0x24d033){var _0x12d887={};_0x12d887[_0x24d033]={'$like':'%'+_0x24248f[_0xbc71('0x44')][_0xbc71('0x4e')]+'%'};return _0x12d887;})});}_0x1ed3b4=_['merge']({},_0x1ed3b4,_0x24248f[_0xbc71('0x51')]);return db['CannedAnswer'][_0xbc71('0x32')]({'where':_0x1ed3b4['where']})[_0xbc71('0x21')](function(_0x254cf9){_0x3bfa04[_0xbc71('0x32')]=_0x254cf9;if(_0x24248f[_0xbc71('0x44')][_0xbc71('0x52')]){_0x1ed3b4[_0xbc71('0x53')]=[{'all':!![]}];}return db[_0xbc71('0x72')][_0xbc71('0x6c')](_0x1ed3b4);})[_0xbc71('0x21')](function(_0x3e86de){_0x3bfa04[_0xbc71('0x54')]=_0x3e86de;return _0x3bfa04;});}})['then'](respondWithFilteredResult(_0x254945,_0x1ed3b4))[_0xbc71('0x2b')](handleError(_0x254945,null));};exports['removeAnswers']=function(_0x77b7f9,_0x5cd514,_0x1d4bcb){return db['WhatsappAccount'][_0xbc71('0x59')]({'where':{'id':_0x77b7f9[_0xbc71('0x64')]['id']}})[_0xbc71('0x21')](handleEntityNotFound(_0x5cd514,null))[_0xbc71('0x21')](function(_0xfb9a76){if(_0xfb9a76){return _0xfb9a76[_0xbc71('0x73')](_0x77b7f9[_0xbc71('0x44')][_0xbc71('0x6e')]);}})[_0xbc71('0x21')](respondWithStatusCode(_0x5cd514,null))[_0xbc71('0x2b')](handleError(_0x5cd514,null));};exports[_0xbc71('0x74')]=function(_0x4afb78,_0x2ab4c5,_0x8fe571){return db[_0xbc71('0x40')][_0xbc71('0x59')]({'where':{'id':_0x4afb78[_0xbc71('0x64')]['id']}})[_0xbc71('0x21')](handleEntityNotFound(_0x2ab4c5,null))['then'](function(_0x30fbb5){if(_0x30fbb5){return _0x30fbb5[_0xbc71('0x74')](_0x4afb78[_0xbc71('0x5b')][_0xbc71('0x6e')],_[_0xbc71('0x75')](_0x4afb78['body'],[_0xbc71('0x6e'),'id'])||{})['spread'](function(_0x4f46f3){for(var _0x532c8c=0x0;_0x532c8c<_0x4afb78[_0xbc71('0x5b')][_0xbc71('0x6e')][_0xbc71('0x49')];_0x532c8c+=0x1){socket[_0xbc71('0x76')](_0xbc71('0x77'),{'UserId':Number(_0x4afb78[_0xbc71('0x5b')]['ids'][_0x532c8c]),'WhatsappAccountId':Number(_0x4afb78['params']['id'])});}return _0x4f46f3;});}})[_0xbc71('0x21')](respondWithResult(_0x2ab4c5,null))[_0xbc71('0x2b')](handleError(_0x2ab4c5,null));};exports[_0xbc71('0x78')]=function(_0x451078,_0x417f2b,_0x173b53){return db[_0xbc71('0x40')]['find']({'where':{'id':_0x451078[_0xbc71('0x64')]['id']}})[_0xbc71('0x21')](handleEntityNotFound(_0x417f2b,null))[_0xbc71('0x21')](function(_0x3a3049){if(_0x3a3049){return _0x3a3049[_0xbc71('0x78')](_0x451078[_0xbc71('0x44')][_0xbc71('0x6e')])['then'](function(){if(_['isArray'](_0x451078['query'][_0xbc71('0x6e')])){for(var _0x7de6b4=0x0;_0x7de6b4<_0x451078[_0xbc71('0x44')][_0xbc71('0x6e')]['length'];_0x7de6b4+=0x1){socket[_0xbc71('0x76')](_0xbc71('0x79'),{'UserId':Number(_0x451078['query'][_0xbc71('0x6e')][_0x7de6b4]),'WhatsappAccountId':Number(_0x451078[_0xbc71('0x64')]['id'])});}}else{socket[_0xbc71('0x76')](_0xbc71('0x79'),{'UserId':Number(_0x451078[_0xbc71('0x44')][_0xbc71('0x6e')]),'WhatsappAccountId':Number(_0x451078[_0xbc71('0x64')]['id'])});}});}})[_0xbc71('0x21')](respondWithStatusCode(_0x417f2b,null))[_0xbc71('0x2b')](handleError(_0x417f2b,null));};exports[_0xbc71('0x7a')]=function(_0x188a07,_0x4f233e,_0x533365){var _0x4fc2c1={};var _0x4bea8b={};var _0x36e8cf;var _0x1a85ef;return db[_0xbc71('0x40')][_0xbc71('0x69')]({'where':{'id':_0x188a07[_0xbc71('0x64')]['id']}})[_0xbc71('0x21')](handleEntityNotFound(_0x4f233e,null))[_0xbc71('0x21')](function(_0x54085a){if(_0x54085a){_0x36e8cf=_0x54085a;_0x4bea8b['model']=_[_0xbc71('0x45')](db['User'][_0xbc71('0x57')]);_0x4bea8b[_0xbc71('0x44')]=_['keys'](_0x188a07[_0xbc71('0x44')]);_0x4bea8b[_0xbc71('0x58')]=_[_0xbc71('0x47')](_0x4bea8b[_0xbc71('0x43')],_0x4bea8b[_0xbc71('0x44')]);_0x4fc2c1[_0xbc71('0x46')]=_['intersection'](_0x4bea8b[_0xbc71('0x43')],qs[_0xbc71('0x48')](_0x188a07[_0xbc71('0x44')][_0xbc71('0x48')]));_0x4fc2c1[_0xbc71('0x46')]=_0x4fc2c1[_0xbc71('0x46')][_0xbc71('0x49')]?_0x4fc2c1[_0xbc71('0x46')]:_0x4bea8b[_0xbc71('0x43')];_0x4fc2c1[_0xbc71('0x6b')]=qs[_0xbc71('0x4b')](_0x188a07[_0xbc71('0x44')][_0xbc71('0x4b')]);_0x4fc2c1[_0xbc71('0x4c')]=qs[_0xbc71('0x58')](_[_0xbc71('0x4d')](_0x188a07[_0xbc71('0x44')],_0x4bea8b['filters']));if(_0x188a07[_0xbc71('0x44')]['filter']){_0x4fc2c1[_0xbc71('0x4c')]=_['merge'](_0x4fc2c1[_0xbc71('0x4c')],{'$or':_[_0xbc71('0x3f')](_0x4fc2c1[_0xbc71('0x46')],function(_0x41e60d){var _0x5d8dd1={};_0x5d8dd1[_0x41e60d]={'$like':'%'+_0x188a07[_0xbc71('0x44')][_0xbc71('0x4e')]+'%'};return _0x5d8dd1;})});}_0x4fc2c1=_[_0xbc71('0x4f')]({},_0x4fc2c1,_0x188a07['options']);return _0x36e8cf[_0xbc71('0x7a')](_0x4fc2c1);}})[_0xbc71('0x21')](function(_0x15da1d){if(_0x15da1d){_0x1a85ef=_0x15da1d[_0xbc71('0x49')];if(!_0x188a07[_0xbc71('0x44')][_0xbc71('0x71')](_0xbc71('0x4a'))){_0x4fc2c1[_0xbc71('0x31')]=qs[_0xbc71('0x31')](_0x188a07['query'][_0xbc71('0x31')]);_0x4fc2c1[_0xbc71('0x2f')]=qs['offset'](_0x188a07['query']['offset']);}return _0x36e8cf[_0xbc71('0x7a')](_0x4fc2c1);}})[_0xbc71('0x21')](function(_0x5abe55){if(_0x5abe55){return _0x5abe55?{'count':_0x1a85ef,'rows':_0x5abe55}:null;}})[_0xbc71('0x21')](respondWithResult(_0x4f233e,null))['catch'](handleError(_0x4f233e,null));};exports['addApplications']=function(_0x2be68e,_0x215ef8){var _0x43d1b8=_0x2be68e[_0xbc71('0x64')]['id'];var _0x50daa1=_0x2be68e[_0xbc71('0x5b')];var _0x3d2c46=0xc8;var _0x4b369b=null;return db[_0xbc71('0x7b')][_0xbc71('0x7c')]({'isolationLevel':db['sequelize'][_0xbc71('0x7d')][_0xbc71('0x7e')][_0xbc71('0x7f')]},function(_0x27364f){return db['WhatsappAccount'][_0xbc71('0x69')]({'where':{'id':_0x43d1b8},'transaction':_0x27364f})['then'](function(_0x3c8b99){if(_0x3c8b99){return db[_0xbc71('0x80')]['destroy']({'where':{'WhatsappAccountId':_0x43d1b8},'transaction':_0x27364f})[_0xbc71('0x21')](function(){var _0x241b49=_['map'](_0x50daa1,function(_0x536854){_0x536854['WhatsappAccountId']=_0x43d1b8;return _0x536854;});return db[_0xbc71('0x80')][_0xbc71('0x81')](_0x241b49,{'transaction':_0x27364f});});}else{_0x3d2c46=0x194;_0x4b369b=[];}});})[_0xbc71('0x21')](function(){if(_0x3d2c46!==0x194){return db[_0xbc71('0x80')][_0xbc71('0x82')]({'where':{'WhatsappAccountId':_0x43d1b8},'order':_0xbc71('0x83')})['then'](function(_0x5a5dda){_0x4b369b=_0x5a5dda;});}})[_0xbc71('0x2b')](function(_0x23cb7d){_0x3d2c46=0x1f4;logger[_0xbc71('0x27')](_0x23cb7d[_0xbc71('0x84')]);if(_0x23cb7d[_0xbc71('0x3b')]){delete _0x23cb7d[_0xbc71('0x3b')];}_0x4b369b=_0x23cb7d;})[_0xbc71('0x85')](function(){if(_0x4b369b===null){_0x215ef8[_0xbc71('0x2c')](_0x3d2c46);}else{if(_0x3d2c46===0x1f4){_0x215ef8[_0xbc71('0x2d')](_0x3d2c46)[_0xbc71('0x3c')](_0x4b369b);}else{_0x215ef8[_0xbc71('0x2d')](_0x3d2c46)[_0xbc71('0x35')](_0x4b369b);}}});};exports[_0xbc71('0x86')]=function(_0x235bb8,_0x9ae2f6,_0x593b06){var _0x4931ed={};var _0x2c27d0={};var _0x729beb;var _0x3fed8e;return db[_0xbc71('0x40')]['findOne']({'where':{'id':_0x235bb8['params']['id']}})[_0xbc71('0x21')](handleEntityNotFound(_0x9ae2f6,null))[_0xbc71('0x21')](function(_0x15d192){if(_0x15d192){_0x729beb=_0x15d192;_0x2c27d0[_0xbc71('0x43')]=_[_0xbc71('0x45')](db[_0xbc71('0x80')][_0xbc71('0x57')]);_0x2c27d0[_0xbc71('0x44')]=_['keys'](_0x235bb8[_0xbc71('0x44')]);_0x2c27d0[_0xbc71('0x58')]=_['intersection'](_0x2c27d0[_0xbc71('0x43')],_0x2c27d0[_0xbc71('0x44')]);_0x4931ed['attributes']=_[_0xbc71('0x47')](_0x2c27d0[_0xbc71('0x43')],qs['fields'](_0x235bb8[_0xbc71('0x44')][_0xbc71('0x48')]));_0x4931ed['attributes']=_0x4931ed[_0xbc71('0x46')][_0xbc71('0x49')]?_0x4931ed['attributes']:_0x2c27d0['model'];_0x4931ed[_0xbc71('0x6b')]=qs['sort'](_0x235bb8[_0xbc71('0x44')][_0xbc71('0x4b')]);_0x4931ed[_0xbc71('0x4c')]=qs[_0xbc71('0x58')](_[_0xbc71('0x4d')](_0x235bb8['query'],_0x2c27d0[_0xbc71('0x58')]));if(_0x235bb8[_0xbc71('0x44')][_0xbc71('0x4e')]){_0x4931ed['where']=_[_0xbc71('0x4f')](_0x4931ed[_0xbc71('0x4c')],{'$or':_['map'](_0x4931ed[_0xbc71('0x46')],function(_0x26e5be){var _0x498045={};_0x498045[_0x26e5be]={'$like':'%'+_0x235bb8['query'][_0xbc71('0x4e')]+'%'};return _0x498045;})});}_0x4931ed=_[_0xbc71('0x4f')]({},_0x4931ed,_0x235bb8[_0xbc71('0x51')]);return _0x729beb[_0xbc71('0x86')](_0x4931ed);}})[_0xbc71('0x21')](function(_0x3c568a){if(_0x3c568a){_0x3fed8e=_0x3c568a[_0xbc71('0x49')];if(!_0x235bb8[_0xbc71('0x44')]['hasOwnProperty'](_0xbc71('0x4a'))){_0x4931ed[_0xbc71('0x31')]=qs[_0xbc71('0x31')](_0x235bb8[_0xbc71('0x44')]['limit']);_0x4931ed['offset']=qs[_0xbc71('0x2f')](_0x235bb8['query'][_0xbc71('0x2f')]);}return _0x729beb['getApplications'](_0x4931ed);}})[_0xbc71('0x21')](function(_0x7a2338){if(_0x7a2338){return _0x7a2338?{'count':_0x3fed8e,'rows':_0x7a2338}:null;}})['then'](respondWithResult(_0x9ae2f6,null))['catch'](handleError(_0x9ae2f6,null));};exports['notify']=function(_0x17b87c,_0x317cea,_0x3f4d25){var _0x231fc0={'channel':_0xbc71('0x87')};var _0x5323a5=[];var _0x764381=[];var _0x26e88a={};return db[_0xbc71('0x40')][_0xbc71('0x59')]({'where':{'id':_0x17b87c[_0xbc71('0x64')]['id']},'include':[{'model':db[_0xbc71('0x80')],'as':_0xbc71('0x88')}]})[_0xbc71('0x21')](handleEntityNotFound(_0x317cea,null))[_0xbc71('0x21')](function(_0xbf20fc){_0x231fc0[_0xbc71('0x89')]=_0xbf20fc;if(_0x231fc0[_0xbc71('0x89')]&&_0x231fc0[_0xbc71('0x89')][_0xbc71('0x41')]===_0xbc71('0x8a')&&_0x17b87c[_0xbc71('0x5b')]['statuses']){if(_0x17b87c['body'][_0xbc71('0x8b')]['length']===0x0)return;if(_0x17b87c[_0xbc71('0x5b')][_0xbc71('0x8b')][0x0][_0xbc71('0x8c')]!==_0xbc71('0x8d'))return;return db[_0xbc71('0x8e')]['update']({'read':!![],'readAt':_0x17b87c[_0xbc71('0x5b')][_0xbc71('0x8b')][0x0][_0xbc71('0x8f')]},{'where':{'messageId':_0x17b87c['body']['statuses'][0x0][_0xbc71('0x90')]},'individualHooks':!![]})[_0xbc71('0x21')](function(_0x147ec8){return _0x317cea[_0xbc71('0x2d')](0xc8)[_0xbc71('0x35')](_0x147ec8);});}_0x231fc0[_0xbc71('0x91')]=_[_0xbc71('0x92')](_0xbf20fc['Applications'],['priority'],[_0xbc71('0x93')]);if(_0x231fc0[_0xbc71('0x89')]['Applications']){delete _0x231fc0['account'][_0xbc71('0x88')];}return db[_0xbc71('0x94')]['describe']()[_0xbc71('0x21')](function(_0x4ddf0f){if(!_0x4ddf0f){throw new db[(_0xbc71('0x95'))]['ValidationError'](_0xbc71('0x96'));}_0x5323a5=_[_0xbc71('0x97')](_[_0xbc71('0x45')](_0x4ddf0f),[_0xbc71('0x98'),'updatedAt']);_0x764381=_[_0xbc71('0x97')](_[_0xbc71('0x45')](_0x4ddf0f),[_0xbc71('0x98'),_0xbc71('0x99'),_0xbc71('0x9a'),_0xbc71('0x9b')]);_0x231fc0[_0xbc71('0x5b')]={'mapKey':_0xbc71('0x9c')};if(_0x231fc0[_0xbc71('0x89')]&&_0x231fc0['account'][_0xbc71('0x41')]===_0xbc71('0x9d')){_0x231fc0[_0xbc71('0x5b')]['from']=_0x17b87c[_0xbc71('0x5b')][_0xbc71('0x9e')][_0xbc71('0x9f')](_0xbc71('0xa0'),'');_0x231fc0['body'][_0xbc71('0x5b')]=_0x17b87c[_0xbc71('0x5b')][_0xbc71('0xa1')];_0x231fc0[_0xbc71('0x5b')][_0xbc71('0xa2')]=_0x17b87c[_0xbc71('0x5b')][_0xbc71('0xa3')];}if(_0x231fc0['account']&&_0x231fc0[_0xbc71('0x89')]['type']==='sinch'){_0x231fc0[_0xbc71('0x5b')][_0xbc71('0xa4')]=_0x17b87c[_0xbc71('0x5b')]['notifications'][0x0]['from'];_0x231fc0[_0xbc71('0x5b')][_0xbc71('0x5b')]=_0x17b87c[_0xbc71('0x5b')]['notifications'][0x0][_0xbc71('0x29')]['body'];_0x231fc0[_0xbc71('0x5b')][_0xbc71('0xa2')]=_0x17b87c['body'][_0xbc71('0xa5')][0x0]['message_id'];}if(_0x231fc0['body']['id']){delete _0x231fc0['body']['id'];}if(_['isNil'](_0x231fc0[_0xbc71('0x5b')][_0xbc71('0xa4')])){throw new db[(_0xbc71('0x95'))]['ValidationError'](_0xbc71('0xa6'));}if(_[_0xbc71('0xa7')](_0x231fc0[_0xbc71('0x5b')]['body'])||_0x231fc0['body']['body']===''){throw new db[(_0xbc71('0x95'))][(_0xbc71('0xa8'))](_0xbc71('0xa9'));}if(_[_0xbc71('0xa7')](_0x231fc0[_0xbc71('0x5b')][_0xbc71('0xaa')])){throw new db[(_0xbc71('0x95'))][(_0xbc71('0xa8'))](_0xbc71('0xab')+_0x764381);}if(!_[_0xbc71('0xac')](_0x764381,_0x231fc0[_0xbc71('0x5b')]['mapKey'])){throw new db[(_0xbc71('0x95'))]['ValidationError'](_0xbc71('0xad')+_0x764381);}_0x26e88a[_0x231fc0['body'][_0xbc71('0xaa')]]=_0x231fc0[_0xbc71('0x5b')][_0xbc71('0xa4')];return db[_0xbc71('0xae')][_0xbc71('0x59')]({'where':{'id':_0x231fc0[_0xbc71('0x89')][_0xbc71('0x9b')]},'include':[{'model':db['CmContact'],'as':'Contacts','where':_0x26e88a,'limit':0x1,'order':[[_0xbc71('0x99'),_0xbc71('0xaf')]]}]});})[_0xbc71('0x21')](handleEntityNotFound(_0x317cea,null))[_0xbc71('0x21')](function(_0x30604b){if(_0x30604b){_0x231fc0[_0xbc71('0xb0')]=_[_0xbc71('0x75')](_0x30604b,[_0xbc71('0xb1')]);if(_0x30604b[_0xbc71('0xb1')][_0xbc71('0x49')]){return _0x30604b[_0xbc71('0xb1')][0x0];}var _0x2f1776=_[_0xbc71('0x1a')](_0x231fc0['body'],{'firstName':_0x231fc0[_0xbc71('0x5b')][_0xbc71('0xa4')],'ListId':_0x30604b['id']});_0x2f1776[_0x231fc0[_0xbc71('0x5b')][_0xbc71('0xaa')]]=_0x231fc0[_0xbc71('0x5b')][_0xbc71('0xa4')];return db['CmContact'][_0xbc71('0x5a')](_0x2f1776,{'fields':_0x5323a5,'raw':!![]});}})[_0xbc71('0x21')](handleEntityNotFound(_0x317cea,null))[_0xbc71('0x21')](function(_0x3c0c8f){if(_0x3c0c8f){_0x231fc0[_0xbc71('0xb2')]=_0x3c0c8f;var _0x5ed80d={'ContactId':_0x3c0c8f['id'],'phone':_0x231fc0[_0xbc71('0x5b')][_0xbc71('0xa4')],'WhatsappAccountId':_0x17b87c[_0xbc71('0x64')]['id']};var _0x478757={'ContactId':_0x3c0c8f['id'],'WhatsappAccountId':_0x17b87c[_0xbc71('0x64')]['id'],'closed':![]};return db[_0xbc71('0xb3')][_0xbc71('0x59')]({'where':_0x478757})[_0xbc71('0x21')](function(_0x1ecd06){if(_0x1ecd06){return[_0x1ecd06,![]];}return db[_0xbc71('0xb3')][_0xbc71('0x5a')](_0x5ed80d)['then'](function(_0x15b373){return[_0x15b373,!![]];});});}})[_0xbc71('0xb4')](function(_0xc23dac,_0x178ffd){_0x231fc0[_0xbc71('0xb5')]=_0xc23dac[_0xbc71('0x3a')]({'plain':!![]});_0x231fc0[_0xbc71('0xb5')][_0xbc71('0xb6')]=![];if(_0x178ffd){if(_0x231fc0['account']['autoclose']){_0x231fc0['applications'][_0xbc71('0xb7')]({'id':0x0,'priority':_0x231fc0[_0xbc71('0x91')]['length']+0x1,'app':_0xbc71('0xb8'),'appdata':_0xbc71('0xb9'),'interval':'*,*,*,*'});}_0x231fc0[_0xbc71('0xb5')][_0xbc71('0xb6')]=!![];}return db[_0xbc71('0x8e')][_0xbc71('0x5a')]({'phone':_0x231fc0[_0xbc71('0x5b')][_0xbc71('0xa4')],'messageId':_0x231fc0[_0xbc71('0x5b')][_0xbc71('0xa2')],'body':_0x231fc0[_0xbc71('0x5b')]['body'],'WhatsappAccountId':_0x17b87c[_0xbc71('0x64')]['id'],'WhatsappInteractionId':_0xc23dac['id'],'direction':'in','ContactId':_0xc23dac['ContactId'],'AttachmentId':_0x231fc0['body']['AttachmentId']});})['then'](function(_0x232213){_0x231fc0[_0xbc71('0x29')]=_0x232213;if(_0x231fc0[_0xbc71('0xb5')][_0xbc71('0xba')]){return db[_0xbc71('0xbb')][_0xbc71('0x59')]({'attributes':['id','name'],'where':{'id':_0x231fc0[_0xbc71('0xb5')][_0xbc71('0xba')]}})[_0xbc71('0x21')](function(_0x4bf4da){if(_0x4bf4da){_0x231fc0['applications'][_0xbc71('0xbc')]({'id':0x0,'priority':0x0,'app':_0xbc71('0xbd'),'appdata':_0x4bf4da[_0xbc71('0x3b')]+','+(_0x231fc0[_0xbc71('0x89')]['waitForTheAssignedAgent']||0xa),'interval':_0xbc71('0xbe')});}return respondWithRpcPromise(_0xbc71('0xbf'),'startRouting',_0x231fc0);});}return respondWithRpcPromise(_0xbc71('0xbf'),_0xbc71('0xc0'),_0x231fc0);})[_0xbc71('0x21')](function(_0x6576da){if(_0x6576da){var _0x7b79d2=0xc8;var _0x446ccb='receiveMessage';logger['info'](_0xbc71('0x26'),_0x446ccb,_0x7b79d2,'entity\x20found');logger[_0xbc71('0x25')]('WhatsappAccount,\x20%s,\x20%s,\x20%s,\x20%s',_0x446ccb,_0x7b79d2,_0xbc71('0xc1'),JSON[_0xbc71('0xc2')](_0x6576da));if(_0x231fc0[_0xbc71('0x89')][_0xbc71('0x41')]===_0xbc71('0x9d')){return _0x317cea[_0xbc71('0x2d')](_0x7b79d2)[_0xbc71('0x33')]('Content-Type',_0xbc71('0xc3'))[_0xbc71('0x3c')](_0xbc71('0xc4'));}else{return _0x317cea[_0xbc71('0x2d')](_0x7b79d2)[_0xbc71('0x35')](_0x6576da);}}});})[_0xbc71('0x2b')](handleError(_0x317cea,null));};exports[_0xbc71('0x3c')]=function(_0x203a88,_0x5d0ba6,_0x4f12f7){var _0x598ad5,_0x4faa91,_0x32bafa;if(_[_0xbc71('0xa7')](_0x203a88[_0xbc71('0x5b')]['body'])||_0x203a88['body'][_0xbc71('0x5b')]===''){throw new db[(_0xbc71('0x95'))][(_0xbc71('0xa8'))](_0xbc71('0xa9'));}if(_[_0xbc71('0xa7')](_0x203a88[_0xbc71('0x5b')]['to'])){throw new db['Sequelize'][(_0xbc71('0xa8'))](_0xbc71('0xc5'));}_0x598ad5=_0x203a88[_0xbc71('0x5b')]['to'];return db[_0xbc71('0x40')][_0xbc71('0x59')]({'where':{'id':_0x203a88[_0xbc71('0x64')]['id']},'include':[{'model':db[_0xbc71('0xae')],'as':_0xbc71('0xc6'),'include':[{'model':db['CmContact'],'as':'Contacts','where':{'mobile':_0x598ad5},'limit':0x1,'order':[[_0xbc71('0x99'),_0xbc71('0xaf')]]}]}]})[_0xbc71('0x21')](handleEntityNotFound(_0x5d0ba6,null))[_0xbc71('0x21')](function(_0x50df56){if(_0x50df56&&_0x50df56[_0xbc71('0xc6')]){_0x4faa91=_0x50df56[_0xbc71('0x3a')]({'plain':!![]});if(_0x4faa91['List']&&_0x4faa91[_0xbc71('0xc6')][_0xbc71('0xb1')]['length']){return _0x4faa91['List'][_0xbc71('0xb1')][0x0];}return db['CmContact'][_0xbc71('0x5a')](_[_0xbc71('0x1a')](_0x203a88[_0xbc71('0x5b')],{'firstName':_0x598ad5,'mobile':_0x598ad5,'phone':_0x598ad5,'ListId':_0x4faa91[_0xbc71('0x9b')]}));}})['then'](handleEntityNotFound(_0x5d0ba6,null))['then'](function(_0x5242d8){if(_0x5242d8){_0x32bafa=_0x5242d8;return db[_0xbc71('0xb3')][_0xbc71('0x59')]({'where':{'ContactId':_0x32bafa['id'],'closed':![],'WhatsappAccountId':_0x4faa91['id']}})[_0xbc71('0x21')](function(_0x3440b6){if(_0x3440b6){return[_0x3440b6,![]];}return db[_0xbc71('0xb3')]['create']({'UserId':_0x203a88[_0xbc71('0x5d')]['id'],'ContactId':_0x32bafa['id'],'WhatsappAccountId':_0x4faa91['id'],'phone':_0x598ad5,'firstMsgDirection':'out','Messages':[_[_0xbc71('0x4f')](_0x203a88[_0xbc71('0x5b')],{'read':![],'body':_0x203a88[_0xbc71('0x5b')][_0xbc71('0x5b')],'phone':_0x598ad5,'WhatsappAccountId':_0x4faa91['id'],'UserId':_0x203a88[_0xbc71('0x5d')]['id'],'ContactId':_0x32bafa['id']})]},{'include':[{'model':db[_0xbc71('0x8e')],'as':_0xbc71('0xc7')}]})[_0xbc71('0x21')](function(_0x57a15b){return[_0x57a15b,!![]];});});}})['spread'](function(_0xb4ee7c,_0xc9800b){if(_0xc9800b){return _0xb4ee7c;}return db[_0xbc71('0x8e')]['create'](_[_0xbc71('0x4f')](_0x203a88[_0xbc71('0x5b')],{'read':![],'body':_0x203a88[_0xbc71('0x5b')][_0xbc71('0x5b')],'phone':_0x598ad5,'WhatsappAccountId':_0x4faa91['id'],'WhatsappInteractionId':_0xb4ee7c['id'],'UserId':_0x203a88[_0xbc71('0x5d')]['id'],'ContactId':_0x32bafa['id']}))[_0xbc71('0x21')](function(_0xd6d404){_0xb4ee7c[_0xbc71('0xc8')][_0xbc71('0xc7')]=[];_0xb4ee7c[_0xbc71('0xc8')][_0xbc71('0xc7')][_0xbc71('0xb7')](_0xd6d404[_0xbc71('0xc8')]);return _0xb4ee7c;});})[_0xbc71('0x21')](respondWithResult(_0x5d0ba6,null))['catch'](handleError(_0x5d0ba6,null));};