Built motion from commit 25580385.|2.6.2
[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 _0x3476=['out','secret','UserId','WhatsappInteraction','findOne','WhatsappInteractionId','then','update','catch','error','WhatsappAccount','find','WhatsappAccountId','type','twilio','accountSid','authToken','phone','messages','create','whatsapp:','remote','/api/whatsapp/messages/','token','WhatsappMessage,\x20%s,\x20%s,\x20%s','afterCreate','Missing\x20parameters:\x20phone,\x20accountSid\x20or\x20authToken','sinch','/whatsapp/v1/','/messages/','POST','statuses','message_id','WhatsappMessage,\x20%s','finally','utf8mb4_unicode_ci','lodash','util','../../config/logger','api','bluebird','request-promise','node-fetch','path','rimraf','../../config/environment','./whatsappMessage.attributes','exports','WhatsappMessage','messageId','FULLTEXT','get','direction','toLowerCase'];(function(_0x2e2abe,_0x1317aa){var _0x16fcc5=function(_0x3518c4){while(--_0x3518c4){_0x2e2abe['push'](_0x2e2abe['shift']());}};_0x16fcc5(++_0x1317aa);}(_0x3476,0x132));var _0x6347=function(_0x45bf86,_0x75586e){_0x45bf86=_0x45bf86-0x0;var _0x1f02b7=_0x3476[_0x45bf86];return _0x1f02b7;};'use strict';var _=require(_0x6347('0x0'));var util=require(_0x6347('0x1'));var logger=require(_0x6347('0x2'))(_0x6347('0x3'));var moment=require('moment');var BPromise=require(_0x6347('0x4'));var rp=require(_0x6347('0x5'));var fetch=require(_0x6347('0x6'));var fs=require('fs');var path=require(_0x6347('0x7'));var rimraf=require(_0x6347('0x8'));var config=require(_0x6347('0x9'));var attributes=require(_0x6347('0xa'));module[_0x6347('0xb')]=function(_0x13bd46,_0x40c8f2){return _0x13bd46['define'](_0x6347('0xc'),attributes,{'tableName':'whatsapp_messages','paranoid':![],'indexes':[{'name':'messageId','fields':[_0x6347('0xd')]},{'name':'fti_whatsapp_messages','fields':['body'],'type':_0x6347('0xe')}],'timestamps':!![],'hooks':{'afterCreate':function(_0x580ac5,_0x5b3a47,_0x17841b){var _0x3f358f=_0x13bd46['models'];var _0x2c299b=_0x580ac5[_0x6347('0xf')]({'plain':!![]});if(_0x2c299b[_0x6347('0x10')][_0x6347('0x11')]()==='in'||_0x2c299b[_0x6347('0x10')][_0x6347('0x11')]()===_0x6347('0x12')&&!_0x2c299b[_0x6347('0x13')]&&!_['isNil'](_0x2c299b[_0x6347('0x14')])){_0x3f358f[_0x6347('0x15')][_0x6347('0x16')]({'where':{'id':_0x2c299b[_0x6347('0x17')]}})[_0x6347('0x18')](function(_0x5a0ec0){if(_0x5a0ec0){_0x5a0ec0[_0x6347('0x19')]({'lastMsgAt':_0x2c299b['createdAt'],'lastMsgDirection':_0x2c299b['direction'][_0x6347('0x11')]()});}})[_0x6347('0x1a')](function(_0x3b3ca4){console[_0x6347('0x1b')](_0x3b3ca4);});}if(_0x2c299b[_0x6347('0x10')]===_0x6347('0x12')&&!_0x2c299b[_0x6347('0x13')]){var _0x345d86;_0x3f358f[_0x6347('0x1c')][_0x6347('0x1d')]({'where':{'id':_0x2c299b[_0x6347('0x1e')]},'raw':!![]})[_0x6347('0x18')](function(_0x5f2688){_0x345d86=_0x5f2688;if(_0x345d86&&_0x345d86[_0x6347('0x1f')]){switch(_0x345d86[_0x6347('0x1f')]){case _0x6347('0x20'):var _0x3ae97d=require(_0x6347('0x20'));if(_0x345d86[_0x6347('0x21')]&&_0x345d86[_0x6347('0x22')]&&_0x345d86[_0x6347('0x23')]){var _0x2072fe=new _0x3ae97d(_0x345d86[_0x6347('0x21')],_0x345d86[_0x6347('0x22')]);_0x2072fe[_0x6347('0x24')][_0x6347('0x25')]({'body':_0x2c299b['body'],'to':'whatsapp:'+_0x2c299b[_0x6347('0x23')],'from':_0x6347('0x26')+_0x345d86[_0x6347('0x23')],'statusCallback':_0x345d86[_0x6347('0x27')]+_0x6347('0x28')+_0x2c299b['id']+'/status?token='+_0x345d86[_0x6347('0x29')]})[_0x6347('0x18')](function(_0x32aa94){if(_0x32aa94['sid']){return _0x580ac5[_0x6347('0x19')]({'messageId':_0x32aa94['sid']});}})[_0x6347('0x1a')](function(_0x3899ab){logger[_0x6347('0x1b')](_0x6347('0x2a'),_0x6347('0x2b'),_0x6347('0x20'),util['inspect'](_0x3899ab,{'showHidden':![],'depth':null}));});}else{logger['error'](_0x6347('0x2a'),'afterCreate',_0x6347('0x20'),_0x6347('0x2c'));}break;case _0x6347('0x2d'):var _0x428584=_0x345d86[_0x6347('0x21')];var _0x5a7118=_0x345d86[_0x6347('0x22')];var _0x430923=_0x345d86['baseUrl']+_0x6347('0x2e')+_0x428584+_0x6347('0x2f');var _0x250a89={'to':[_0x2c299b[_0x6347('0x23')]],'message':{'type':'text','text':_0x2c299b['body']}};var _0xaa6934={'method':_0x6347('0x30'),'uri':_0x430923,'headers':{'Authorization':'Bearer\x20'+_0x5a7118,'Content-Type':'application/json'},'body':_0x250a89,'json':!![]};rp(_0xaa6934)['then'](function(_0x1c5cd6){if(_0x1c5cd6[_0x6347('0x31')][0x0][_0x6347('0x32')]){return _0x580ac5[_0x6347('0x19')]({'messageId':_0x1c5cd6[_0x6347('0x31')][0x0]['message_id']});}})[_0x6347('0x1a')](function(_0x458e14){logger['err'](_0x6347('0x33'),_0x458e14);});break;}}})[_0x6347('0x34')](function(){_0x17841b();});}else{_0x17841b();}}},'charset':'utf8mb4','collate':_0x6347('0x35')});};