Built motion from commit 87cd5f02.|2.5.48
[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 _0xabed=['FULLTEXT','get','direction','toLowerCase','secret','isNil','UserId','WhatsappInteraction','WhatsappInteractionId','then','update','createdAt','error','out','WhatsappAccount','find','WhatsappAccountId','type','twilio','accountSid','phone','authToken','create','whatsapp:','remote','/api/whatsapp/messages/','/status?token=','token','sid','catch','afterCreate','Missing\x20parameters:\x20phone,\x20accountSid\x20or\x20authToken','sinch','baseUrl','/whatsapp/v1/','/messages/','text','Bearer\x20','application/json','statuses','message_id','err','WhatsappMessage,\x20%s','finally','utf8mb4','utf8mb4_unicode_ci','lodash','util','moment','bluebird','request-promise','node-fetch','../../config/environment','./whatsappMessage.attributes','define','WhatsappMessage','whatsapp_messages','messageId','body'];(function(_0x188766,_0x2227f1){var _0x4f388d=function(_0xc43c02){while(--_0xc43c02){_0x188766['push'](_0x188766['shift']());}};_0x4f388d(++_0x2227f1);}(_0xabed,0xa4));var _0xdabe=function(_0x3df871,_0xda2e11){_0x3df871=_0x3df871-0x0;var _0x570f7b=_0xabed[_0x3df871];return _0x570f7b;};'use strict';var _=require(_0xdabe('0x0'));var util=require(_0xdabe('0x1'));var logger=require('../../config/logger')('api');var moment=require(_0xdabe('0x2'));var BPromise=require(_0xdabe('0x3'));var rp=require(_0xdabe('0x4'));var fetch=require(_0xdabe('0x5'));var fs=require('fs');var path=require('path');var rimraf=require('rimraf');var config=require(_0xdabe('0x6'));var attributes=require(_0xdabe('0x7'));module['exports']=function(_0x5a9649,_0x215ade){return _0x5a9649[_0xdabe('0x8')](_0xdabe('0x9'),attributes,{'tableName':_0xdabe('0xa'),'paranoid':![],'indexes':[{'name':_0xdabe('0xb'),'fields':[_0xdabe('0xb')]},{'name':'fti_whatsapp_messages','fields':[_0xdabe('0xc')],'type':_0xdabe('0xd')}],'timestamps':!![],'hooks':{'afterCreate':function(_0x52925f,_0x556692,_0x1304d8){var _0x25567b=_0x5a9649['models'];var _0x397617=_0x52925f[_0xdabe('0xe')]({'plain':!![]});if(_0x397617[_0xdabe('0xf')]['toLowerCase']()==='in'||_0x397617[_0xdabe('0xf')][_0xdabe('0x10')]()==='out'&&!_0x397617[_0xdabe('0x11')]&&!_[_0xdabe('0x12')](_0x397617[_0xdabe('0x13')])){_0x25567b[_0xdabe('0x14')]['findOne']({'where':{'id':_0x397617[_0xdabe('0x15')]}})[_0xdabe('0x16')](function(_0x421856){if(_0x421856){_0x421856[_0xdabe('0x17')]({'lastMsgAt':_0x397617[_0xdabe('0x18')],'lastMsgDirection':_0x397617[_0xdabe('0xf')]['toLowerCase']()});}})['catch'](function(_0x28a74d){console[_0xdabe('0x19')](_0x28a74d);});}if(_0x397617[_0xdabe('0xf')]===_0xdabe('0x1a')&&!_0x397617[_0xdabe('0x11')]){var _0x453dbf;_0x25567b[_0xdabe('0x1b')][_0xdabe('0x1c')]({'where':{'id':_0x397617[_0xdabe('0x1d')]},'raw':!![]})[_0xdabe('0x16')](function(_0x48feae){_0x453dbf=_0x48feae;if(_0x453dbf&&_0x453dbf[_0xdabe('0x1e')]){switch(_0x453dbf[_0xdabe('0x1e')]){case _0xdabe('0x1f'):var _0x2eda5a=require(_0xdabe('0x1f'));if(_0x453dbf[_0xdabe('0x20')]&&_0x453dbf['authToken']&&_0x453dbf[_0xdabe('0x21')]){var _0x2fe0ea=new _0x2eda5a(_0x453dbf[_0xdabe('0x20')],_0x453dbf[_0xdabe('0x22')]);_0x2fe0ea['messages'][_0xdabe('0x23')]({'body':_0x397617['body'],'to':_0xdabe('0x24')+_0x397617['phone'],'from':_0xdabe('0x24')+_0x453dbf[_0xdabe('0x21')],'statusCallback':_0x453dbf[_0xdabe('0x25')]+_0xdabe('0x26')+_0x397617['id']+_0xdabe('0x27')+_0x453dbf[_0xdabe('0x28')]})[_0xdabe('0x16')](function(_0x26c824){if(_0x26c824[_0xdabe('0x29')]){return _0x52925f['update']({'messageId':_0x26c824[_0xdabe('0x29')]});}})[_0xdabe('0x2a')](function(_0x3c0939){logger['error']('WhatsappMessage,\x20%s,\x20%s,\x20%s',_0xdabe('0x2b'),'twilio',util['inspect'](_0x3c0939,{'showHidden':![],'depth':null}));});}else{logger[_0xdabe('0x19')]('WhatsappMessage,\x20%s,\x20%s,\x20%s',_0xdabe('0x2b'),'twilio',_0xdabe('0x2c'));}break;case _0xdabe('0x2d'):var _0xf1cd89=_0x453dbf[_0xdabe('0x20')];var _0x13eddd=_0x453dbf[_0xdabe('0x22')];var _0x4bac16=_0x453dbf[_0xdabe('0x2e')]+_0xdabe('0x2f')+_0xf1cd89+_0xdabe('0x30');var _0x27459f={'to':[_0x397617[_0xdabe('0x21')]],'message':{'type':_0xdabe('0x31'),'text':_0x397617[_0xdabe('0xc')]}};var _0x542347={'method':'POST','uri':_0x4bac16,'headers':{'Authorization':_0xdabe('0x32')+_0x13eddd,'Content-Type':_0xdabe('0x33')},'body':_0x27459f,'json':!![]};rp(_0x542347)['then'](function(_0x3175e3){if(_0x3175e3[_0xdabe('0x34')][0x0][_0xdabe('0x35')]){return _0x52925f[_0xdabe('0x17')]({'messageId':_0x3175e3[_0xdabe('0x34')][0x0][_0xdabe('0x35')]});}})['catch'](function(_0x1685ea){logger[_0xdabe('0x36')](_0xdabe('0x37'),_0x1685ea);});break;}}})[_0xdabe('0x38')](function(){_0x1304d8();});}else{_0x1304d8();}}},'charset':_0xdabe('0x39'),'collate':_0xdabe('0x3a')});};