Built motion from commit 5293bb2a.|2.6.30
[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 _0xd50e=['update','error','WhatsappAccountId','then','type','twilio','authToken','phone','accountSid','messages','remote','/status?token=','token','sid','catch','WhatsappMessage,\x20%s,\x20%s,\x20%s','afterCreate','inspect','Missing\x20parameters:\x20phone,\x20accountSid\x20or\x20authToken','sinch','baseUrl','/whatsapp/v1/','text','Bearer\x20','statuses','message_id','err','WhatsappMessage,\x20%s','finally','utf8mb4','utf8mb4_unicode_ci','lodash','util','api','moment','bluebird','request-promise','node-fetch','path','rimraf','../../config/environment','./whatsappMessage.attributes','define','WhatsappMessage','whatsapp_messages','messageId','fti_whatsapp_messages','body','FULLTEXT','models','direction','toLowerCase','out','secret','WhatsappInteraction','findOne','WhatsappInteractionId'];(function(_0x186872,_0x50a406){var _0x2f440d=function(_0x41691d){while(--_0x41691d){_0x186872['push'](_0x186872['shift']());}};_0x2f440d(++_0x50a406);}(_0xd50e,0x13c));var _0xed50=function(_0x102ad8,_0x252128){_0x102ad8=_0x102ad8-0x0;var _0x501846=_0xd50e[_0x102ad8];return _0x501846;};'use strict';var _=require(_0xed50('0x0'));var util=require(_0xed50('0x1'));var logger=require('../../config/logger')(_0xed50('0x2'));var moment=require(_0xed50('0x3'));var BPromise=require(_0xed50('0x4'));var rp=require(_0xed50('0x5'));var fetch=require(_0xed50('0x6'));var fs=require('fs');var path=require(_0xed50('0x7'));var rimraf=require(_0xed50('0x8'));var config=require(_0xed50('0x9'));var attributes=require(_0xed50('0xa'));module['exports']=function(_0x2bf6e9,_0x2dd58d){return _0x2bf6e9[_0xed50('0xb')](_0xed50('0xc'),attributes,{'tableName':_0xed50('0xd'),'paranoid':![],'indexes':[{'name':_0xed50('0xe'),'fields':[_0xed50('0xe')]},{'name':_0xed50('0xf'),'fields':[_0xed50('0x10')],'type':_0xed50('0x11')}],'timestamps':!![],'hooks':{'afterCreate':function(_0x136d74,_0x442af8,_0x36a1d7){var _0x37e7d7=_0x2bf6e9[_0xed50('0x12')];var _0x2d5a82=_0x136d74['get']({'plain':!![]});if(_0x2d5a82[_0xed50('0x13')][_0xed50('0x14')]()==='in'||_0x2d5a82[_0xed50('0x13')][_0xed50('0x14')]()===_0xed50('0x15')&&!_0x2d5a82[_0xed50('0x16')]&&!_['isNil'](_0x2d5a82['UserId'])){_0x37e7d7[_0xed50('0x17')][_0xed50('0x18')]({'where':{'id':_0x2d5a82[_0xed50('0x19')]}})['then'](function(_0x15e1b9){if(_0x15e1b9){_0x15e1b9[_0xed50('0x1a')]({'lastMsgAt':_0x2d5a82['createdAt'],'lastMsgDirection':_0x2d5a82['direction']['toLowerCase']()});}})['catch'](function(_0x35d596){console[_0xed50('0x1b')](_0x35d596);});}if(_0x2d5a82[_0xed50('0x13')]===_0xed50('0x15')&&!_0x2d5a82[_0xed50('0x16')]){var _0x976c1;_0x37e7d7['WhatsappAccount']['find']({'where':{'id':_0x2d5a82[_0xed50('0x1c')]},'raw':!![]})[_0xed50('0x1d')](function(_0xfa8d6a){_0x976c1=_0xfa8d6a;if(_0x976c1&&_0x976c1[_0xed50('0x1e')]){switch(_0x976c1['type']){case _0xed50('0x1f'):var _0x2eef1e=require(_0xed50('0x1f'));if(_0x976c1['accountSid']&&_0x976c1[_0xed50('0x20')]&&_0x976c1[_0xed50('0x21')]){var _0x423e82=new _0x2eef1e(_0x976c1[_0xed50('0x22')],_0x976c1[_0xed50('0x20')]);_0x423e82[_0xed50('0x23')]['create']({'body':_0x2d5a82['body'],'to':'whatsapp:'+_0x2d5a82[_0xed50('0x21')],'from':'whatsapp:'+_0x976c1[_0xed50('0x21')],'statusCallback':_0x976c1[_0xed50('0x24')]+'/api/whatsapp/messages/'+_0x2d5a82['id']+_0xed50('0x25')+_0x976c1[_0xed50('0x26')]})[_0xed50('0x1d')](function(_0x4fe1a6){if(_0x4fe1a6[_0xed50('0x27')]){return _0x136d74[_0xed50('0x1a')]({'messageId':_0x4fe1a6['sid']});}})[_0xed50('0x28')](function(_0x535b74){logger[_0xed50('0x1b')](_0xed50('0x29'),_0xed50('0x2a'),_0xed50('0x1f'),util[_0xed50('0x2b')](_0x535b74,{'showHidden':![],'depth':null}));});}else{logger[_0xed50('0x1b')](_0xed50('0x29'),_0xed50('0x2a'),_0xed50('0x1f'),_0xed50('0x2c'));}break;case _0xed50('0x2d'):var _0xf13924=_0x976c1['accountSid'];var _0x59c564=_0x976c1['authToken'];var _0x4796c1=_0x976c1[_0xed50('0x2e')]+_0xed50('0x2f')+_0xf13924+'/messages/';var _0x585011={'to':[_0x2d5a82[_0xed50('0x21')]],'message':{'type':_0xed50('0x30'),'text':_0x2d5a82[_0xed50('0x10')]}};var _0x224c1a={'method':'POST','uri':_0x4796c1,'headers':{'Authorization':_0xed50('0x31')+_0x59c564,'Content-Type':'application/json'},'body':_0x585011,'json':!![]};rp(_0x224c1a)[_0xed50('0x1d')](function(_0x265375){if(_0x265375[_0xed50('0x32')][0x0]['message_id']){return _0x136d74['update']({'messageId':_0x265375[_0xed50('0x32')][0x0][_0xed50('0x33')]});}})[_0xed50('0x28')](function(_0x1f9980){logger[_0xed50('0x34')](_0xed50('0x35'),_0x1f9980);});break;}}})[_0xed50('0x36')](function(){_0x36a1d7();});}else{_0x36a1d7();}}},'charset':_0xed50('0x37'),'collate':_0xed50('0x38')});};