923b3fcc692f73f715408a394c2f054b86f20bd5
[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 _0xcedb=['utf8mb4_unicode_ci','lodash','../../config/logger','api','request-promise','path','rimraf','../../config/environment','exports','define','messageId','body','FULLTEXT','models','get','direction','toLowerCase','out','secret','isNil','UserId','findOne','WhatsappInteractionId','then','update','createdAt','error','WhatsappAccount','find','type','twilio','phone','accountSid','authToken','messages','whatsapp:','remote','token','sid','catch','WhatsappMessage,\x20%s,\x20%s,\x20%s','inspect','afterCreate','finally'];(function(_0x501510,_0x61caa9){var _0x1e6ee5=function(_0x32845b){while(--_0x32845b){_0x501510['push'](_0x501510['shift']());}};_0x1e6ee5(++_0x61caa9);}(_0xcedb,0xdd));var _0xbced=function(_0x197427,_0x1a7fae){_0x197427=_0x197427-0x0;var _0x4901de=_0xcedb[_0x197427];return _0x4901de;};'use strict';var _=require(_0xbced('0x0'));var util=require('util');var logger=require(_0xbced('0x1'))(_0xbced('0x2'));var moment=require('moment');var BPromise=require('bluebird');var rp=require(_0xbced('0x3'));var fs=require('fs');var path=require(_0xbced('0x4'));var rimraf=require(_0xbced('0x5'));var config=require(_0xbced('0x6'));var attributes=require('./whatsappMessage.attributes');module[_0xbced('0x7')]=function(_0x31e22e,_0x4151c4){return _0x31e22e[_0xbced('0x8')]('WhatsappMessage',attributes,{'tableName':'whatsapp_messages','paranoid':![],'indexes':[{'name':_0xbced('0x9'),'fields':[_0xbced('0x9')]},{'name':'fti_whatsapp_messages','fields':[_0xbced('0xa')],'type':_0xbced('0xb')}],'timestamps':!![],'hooks':{'afterCreate':function(_0xe15228,_0x255670,_0x8cb742){var _0xbe512d=_0x31e22e[_0xbced('0xc')];var _0x596445=_0xe15228[_0xbced('0xd')]({'plain':!![]});if(_0x596445[_0xbced('0xe')][_0xbced('0xf')]()==='in'||_0x596445[_0xbced('0xe')][_0xbced('0xf')]()===_0xbced('0x10')&&!_0x596445[_0xbced('0x11')]&&!_[_0xbced('0x12')](_0x596445[_0xbced('0x13')])){_0xbe512d['WhatsappInteraction'][_0xbced('0x14')]({'where':{'id':_0x596445[_0xbced('0x15')]}})[_0xbced('0x16')](function(_0x4f6153){if(_0x4f6153){_0x4f6153[_0xbced('0x17')]({'lastMsgAt':_0x596445[_0xbced('0x18')],'lastMsgDirection':_0x596445[_0xbced('0xe')][_0xbced('0xf')]()});}})['catch'](function(_0x38337a){console[_0xbced('0x19')](_0x38337a);});}if(_0x596445[_0xbced('0xe')]==='out'&&!_0x596445[_0xbced('0x11')]){var _0xabc8c2;_0xbe512d[_0xbced('0x1a')][_0xbced('0x1b')]({'where':{'id':_0x596445['WhatsappAccountId']},'raw':!![]})[_0xbced('0x16')](function(_0x4dbe07){_0xabc8c2=_0x4dbe07;if(_0xabc8c2&&_0xabc8c2[_0xbced('0x1c')]){switch(_0xabc8c2['type']){case _0xbced('0x1d'):var _0x365818=require(_0xbced('0x1d'));if(_0xabc8c2['accountSid']&&_0xabc8c2['authToken']&&_0xabc8c2[_0xbced('0x1e')]){var _0xc71097=new _0x365818(_0xabc8c2[_0xbced('0x1f')],_0xabc8c2[_0xbced('0x20')]);_0xc71097[_0xbced('0x21')]['create']({'body':_0x596445[_0xbced('0xa')],'to':_0xbced('0x22')+_0x596445[_0xbced('0x1e')],'from':_0xbced('0x22')+_0xabc8c2[_0xbced('0x1e')],'statusCallback':_0xabc8c2[_0xbced('0x23')]+'/api/whatsapp/messages/'+_0x596445['id']+'/status?token='+_0xabc8c2[_0xbced('0x24')]})[_0xbced('0x16')](function(_0x4e16ff){if(_0x4e16ff[_0xbced('0x25')]){return _0xe15228[_0xbced('0x17')]({'messageId':_0x4e16ff[_0xbced('0x25')]});}})[_0xbced('0x26')](function(_0x54c50f){logger[_0xbced('0x19')](_0xbced('0x27'),'afterCreate',_0xbced('0x1d'),util[_0xbced('0x28')](_0x54c50f,{'showHidden':![],'depth':null}));});}else{logger[_0xbced('0x19')](_0xbced('0x27'),_0xbced('0x29'),_0xbced('0x1d'),'Missing\x20parameters:\x20phone,\x20accountSid\x20or\x20authToken');}break;}}})[_0xbced('0x2a')](function(){_0x8cb742();});}else{_0x8cb742();}}},'charset':'utf8mb4','collate':_0xbced('0x2b')});};