Built motion from commit 9e1399f3.|2.5.37
[motion2.git] / server / api / whatsappMessage / whatsappMessage.model.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 _0x885f=['WhatsappInteractionId','update','createdAt','catch','error','WhatsappAccount','find','WhatsappAccountId','then','type','twilio','accountSid','authToken','create','whatsapp:','phone','remote','/api/whatsapp/messages/','/status?token=','token','sid','afterCreate','inspect','Missing\x20parameters:\x20phone,\x20accountSid\x20or\x20authToken','sinch','baseUrl','/whatsapp/v1/','/messages/','body','Bearer\x20','application/json','statuses','message_id','err','WhatsappMessage,\x20%s','finally','utf8mb4_unicode_ci','util','../../config/logger','api','moment','request-promise','node-fetch','path','rimraf','../../config/environment','./whatsappMessage.attributes','exports','WhatsappMessage','messageId','fti_whatsapp_messages','FULLTEXT','models','get','direction','toLowerCase','out','secret','UserId','WhatsappInteraction'];(function(_0x1eeec8,_0x55f982){var _0x4a0464=function(_0x3076e4){while(--_0x3076e4){_0x1eeec8['push'](_0x1eeec8['shift']());}};_0x4a0464(++_0x55f982);}(_0x885f,0x18d));var _0xf885=function(_0x4f3522,_0x3e9fb){_0x4f3522=_0x4f3522-0x0;var _0x5b4de7=_0x885f[_0x4f3522];return _0x5b4de7;};'use strict';var _=require('lodash');var util=require(_0xf885('0x0'));var logger=require(_0xf885('0x1'))(_0xf885('0x2'));var moment=require(_0xf885('0x3'));var BPromise=require('bluebird');var rp=require(_0xf885('0x4'));var fetch=require(_0xf885('0x5'));var fs=require('fs');var path=require(_0xf885('0x6'));var rimraf=require(_0xf885('0x7'));var config=require(_0xf885('0x8'));var attributes=require(_0xf885('0x9'));module[_0xf885('0xa')]=function(_0x319803,_0x26804d){return _0x319803['define'](_0xf885('0xb'),attributes,{'tableName':'whatsapp_messages','paranoid':![],'indexes':[{'name':_0xf885('0xc'),'fields':['messageId']},{'name':_0xf885('0xd'),'fields':['body'],'type':_0xf885('0xe')}],'timestamps':!![],'hooks':{'afterCreate':function(_0x2aed8b,_0x2a8b30,_0x2253ff){var _0xcfe612=_0x319803[_0xf885('0xf')];var _0x220dec=_0x2aed8b[_0xf885('0x10')]({'plain':!![]});if(_0x220dec[_0xf885('0x11')][_0xf885('0x12')]()==='in'||_0x220dec[_0xf885('0x11')][_0xf885('0x12')]()===_0xf885('0x13')&&!_0x220dec[_0xf885('0x14')]&&!_['isNil'](_0x220dec[_0xf885('0x15')])){_0xcfe612[_0xf885('0x16')]['findOne']({'where':{'id':_0x220dec[_0xf885('0x17')]}})['then'](function(_0x17011a){if(_0x17011a){_0x17011a[_0xf885('0x18')]({'lastMsgAt':_0x220dec[_0xf885('0x19')],'lastMsgDirection':_0x220dec[_0xf885('0x11')][_0xf885('0x12')]()});}})[_0xf885('0x1a')](function(_0x58d81e){console[_0xf885('0x1b')](_0x58d81e);});}if(_0x220dec[_0xf885('0x11')]===_0xf885('0x13')&&!_0x220dec[_0xf885('0x14')]){var _0x3d67e2;_0xcfe612[_0xf885('0x1c')][_0xf885('0x1d')]({'where':{'id':_0x220dec[_0xf885('0x1e')]},'raw':!![]})[_0xf885('0x1f')](function(_0x3db169){_0x3d67e2=_0x3db169;if(_0x3d67e2&&_0x3d67e2[_0xf885('0x20')]){switch(_0x3d67e2[_0xf885('0x20')]){case _0xf885('0x21'):var _0x486200=require('twilio');if(_0x3d67e2[_0xf885('0x22')]&&_0x3d67e2['authToken']&&_0x3d67e2['phone']){var _0x476359=new _0x486200(_0x3d67e2[_0xf885('0x22')],_0x3d67e2[_0xf885('0x23')]);_0x476359['messages'][_0xf885('0x24')]({'body':_0x220dec['body'],'to':_0xf885('0x25')+_0x220dec[_0xf885('0x26')],'from':_0xf885('0x25')+_0x3d67e2[_0xf885('0x26')],'statusCallback':_0x3d67e2[_0xf885('0x27')]+_0xf885('0x28')+_0x220dec['id']+_0xf885('0x29')+_0x3d67e2[_0xf885('0x2a')]})['then'](function(_0x317b70){if(_0x317b70[_0xf885('0x2b')]){return _0x2aed8b['update']({'messageId':_0x317b70[_0xf885('0x2b')]});}})[_0xf885('0x1a')](function(_0x6c6d14){logger[_0xf885('0x1b')]('WhatsappMessage,\x20%s,\x20%s,\x20%s',_0xf885('0x2c'),_0xf885('0x21'),util[_0xf885('0x2d')](_0x6c6d14,{'showHidden':![],'depth':null}));});}else{logger[_0xf885('0x1b')]('WhatsappMessage,\x20%s,\x20%s,\x20%s','afterCreate','twilio',_0xf885('0x2e'));}break;case _0xf885('0x2f'):var _0x50e346=_0x3d67e2['accountSid'];var _0xc5a7f3=_0x3d67e2[_0xf885('0x23')];var _0x3d5f08=_0x3d67e2[_0xf885('0x30')]+_0xf885('0x31')+_0x50e346+_0xf885('0x32');var _0x53acf5={'to':[_0x220dec[_0xf885('0x26')]],'message':{'type':'text','text':_0x220dec[_0xf885('0x33')]}};var _0x8ab399={'method':'POST','uri':_0x3d5f08,'headers':{'Authorization':_0xf885('0x34')+_0xc5a7f3,'Content-Type':_0xf885('0x35')},'body':_0x53acf5,'json':!![]};rp(_0x8ab399)['then'](function(_0x599ffd){if(_0x599ffd[_0xf885('0x36')][0x0][_0xf885('0x37')]){return _0x2aed8b[_0xf885('0x18')]({'messageId':_0x599ffd['statuses'][0x0]['message_id']});}})[_0xf885('0x1a')](function(_0x430ee3){logger[_0xf885('0x38')](_0xf885('0x39'),_0x430ee3);});break;}}})[_0xf885('0x3a')](function(){_0x2253ff();});}else{_0x2253ff();}}},'charset':'utf8mb4','collate':_0xf885('0x3b')});};