ffa92c5500b411d81b633ee15d8340cb3504dabc
[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 _0x94e3=['inspect','Missing\x20parameters:\x20phone,\x20accountSid\x20or\x20authToken','finally','utf8mb4_unicode_ci','util','api','bluebird','request-promise','path','rimraf','exports','WhatsappMessage','whatsapp_messages','messageId','fti_whatsapp_messages','body','FULLTEXT','models','get','direction','toLowerCase','secret','isNil','WhatsappInteraction','findOne','WhatsappInteractionId','then','update','createdAt','catch','out','find','type','twilio','phone','accountSid','authToken','messages','create','whatsapp:','remote','/status?token=','token','error','WhatsappMessage,\x20%s,\x20%s,\x20%s','afterCreate'];(function(_0x33975c,_0x50d085){var _0x1c15ab=function(_0x54e8bc){while(--_0x54e8bc){_0x33975c['push'](_0x33975c['shift']());}};_0x1c15ab(++_0x50d085);}(_0x94e3,0x146));var _0x394e=function(_0x5bf0dc,_0xbe98){_0x5bf0dc=_0x5bf0dc-0x0;var _0x27a90e=_0x94e3[_0x5bf0dc];return _0x27a90e;};'use strict';var _=require('lodash');var util=require(_0x394e('0x0'));var logger=require('../../config/logger')(_0x394e('0x1'));var moment=require('moment');var BPromise=require(_0x394e('0x2'));var rp=require(_0x394e('0x3'));var fs=require('fs');var path=require(_0x394e('0x4'));var rimraf=require(_0x394e('0x5'));var config=require('../../config/environment');var attributes=require('./whatsappMessage.attributes');module[_0x394e('0x6')]=function(_0x388b62,_0xd24ebb){return _0x388b62['define'](_0x394e('0x7'),attributes,{'tableName':_0x394e('0x8'),'paranoid':![],'indexes':[{'name':_0x394e('0x9'),'fields':[_0x394e('0x9')]},{'name':_0x394e('0xa'),'fields':[_0x394e('0xb')],'type':_0x394e('0xc')}],'timestamps':!![],'hooks':{'afterCreate':function(_0x54538a,_0x35d846,_0x4bd532){var _0x2e2ac2=_0x388b62[_0x394e('0xd')];var _0x3ca317=_0x54538a[_0x394e('0xe')]({'plain':!![]});if(_0x3ca317[_0x394e('0xf')][_0x394e('0x10')]()==='in'||_0x3ca317['direction'][_0x394e('0x10')]()==='out'&&!_0x3ca317[_0x394e('0x11')]&&!_[_0x394e('0x12')](_0x3ca317['UserId'])){_0x2e2ac2[_0x394e('0x13')][_0x394e('0x14')]({'where':{'id':_0x3ca317[_0x394e('0x15')]}})[_0x394e('0x16')](function(_0xff926e){if(_0xff926e){_0xff926e[_0x394e('0x17')]({'lastMsgAt':_0x3ca317[_0x394e('0x18')],'lastMsgDirection':_0x3ca317[_0x394e('0xf')]['toLowerCase']()});}})[_0x394e('0x19')](function(_0x56f2f1){console['error'](_0x56f2f1);});}if(_0x3ca317['direction']===_0x394e('0x1a')&&!_0x3ca317[_0x394e('0x11')]){var _0x5ecbe5;_0x2e2ac2['WhatsappAccount'][_0x394e('0x1b')]({'where':{'id':_0x3ca317['WhatsappAccountId']},'raw':!![]})[_0x394e('0x16')](function(_0x32b560){_0x5ecbe5=_0x32b560;if(_0x5ecbe5&&_0x5ecbe5[_0x394e('0x1c')]){switch(_0x5ecbe5[_0x394e('0x1c')]){case _0x394e('0x1d'):var _0x45bf89=require(_0x394e('0x1d'));if(_0x5ecbe5['accountSid']&&_0x5ecbe5['authToken']&&_0x5ecbe5[_0x394e('0x1e')]){var _0x25b044=new _0x45bf89(_0x5ecbe5[_0x394e('0x1f')],_0x5ecbe5[_0x394e('0x20')]);_0x25b044[_0x394e('0x21')][_0x394e('0x22')]({'body':_0x3ca317[_0x394e('0xb')],'to':_0x394e('0x23')+_0x3ca317[_0x394e('0x1e')],'from':_0x394e('0x23')+_0x5ecbe5[_0x394e('0x1e')],'statusCallback':_0x5ecbe5[_0x394e('0x24')]+'/api/whatsapp/messages/'+_0x3ca317['id']+_0x394e('0x25')+_0x5ecbe5[_0x394e('0x26')]})[_0x394e('0x16')](function(_0x5a17ea){if(_0x5a17ea['sid']){return _0x54538a['update']({'messageId':_0x5a17ea['sid']});}})[_0x394e('0x19')](function(_0x352436){logger[_0x394e('0x27')](_0x394e('0x28'),_0x394e('0x29'),_0x394e('0x1d'),util[_0x394e('0x2a')](_0x352436,{'showHidden':![],'depth':null}));});}else{logger['error'](_0x394e('0x28'),'afterCreate',_0x394e('0x1d'),_0x394e('0x2b'));}break;}}})[_0x394e('0x2c')](function(){_0x4bd532();});}else{_0x4bd532();}}},'charset':'utf8mb4','collate':_0x394e('0x2d')});};