e5f00faf0be29b4a04f04c6de34b2cc6e86fc19f
[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 _0x3044=['body','whatsapp:','phone','remote','/api/whatsapp/messages/','/status?token=','sid','WhatsappMessage,\x20%s,\x20%s,\x20%s','inspect','error','afterCreate','Missing\x20parameters:\x20phone,\x20accountSid\x20or\x20authToken','finally','utf8mb4','utf8mb4_unicode_ci','api','bluebird','request-promise','path','rimraf','./whatsappMessage.attributes','define','WhatsappMessage','messageId','fti_whatsapp_messages','FULLTEXT','models','get','direction','out','isNil','UserId','WhatsappInteraction','WhatsappInteractionId','then','update','createdAt','toLowerCase','catch','secret','WhatsappAccount','type','twilio','accountSid','authToken','messages','create'];(function(_0x134798,_0xd30a2e){var _0x58f124=function(_0x211fcd){while(--_0x211fcd){_0x134798['push'](_0x134798['shift']());}};_0x58f124(++_0xd30a2e);}(_0x3044,0xfa));var _0x4304=function(_0x1cd47d,_0x55bc75){_0x1cd47d=_0x1cd47d-0x0;var _0x29d52f=_0x3044[_0x1cd47d];return _0x29d52f;};'use strict';var _=require('lodash');var util=require('util');var logger=require('../../config/logger')(_0x4304('0x0'));var moment=require('moment');var BPromise=require(_0x4304('0x1'));var rp=require(_0x4304('0x2'));var fs=require('fs');var path=require(_0x4304('0x3'));var rimraf=require(_0x4304('0x4'));var config=require('../../config/environment');var attributes=require(_0x4304('0x5'));module['exports']=function(_0x131043,_0x585971){return _0x131043[_0x4304('0x6')](_0x4304('0x7'),attributes,{'tableName':'whatsapp_messages','paranoid':![],'indexes':[{'name':_0x4304('0x8'),'fields':[_0x4304('0x8')]},{'name':_0x4304('0x9'),'fields':['body'],'type':_0x4304('0xa')}],'timestamps':!![],'hooks':{'afterCreate':function(_0x477c27,_0xf3fd89,_0x248ae5){var _0x93e562=_0x131043[_0x4304('0xb')];var _0x42bc98=_0x477c27[_0x4304('0xc')]({'plain':!![]});if(_0x42bc98[_0x4304('0xd')]['toLowerCase']()==='in'||_0x42bc98[_0x4304('0xd')]['toLowerCase']()===_0x4304('0xe')&&!_0x42bc98['secret']&&!_[_0x4304('0xf')](_0x42bc98[_0x4304('0x10')])){_0x93e562[_0x4304('0x11')]['findOne']({'where':{'id':_0x42bc98[_0x4304('0x12')]}})[_0x4304('0x13')](function(_0x3daa3d){if(_0x3daa3d){_0x3daa3d[_0x4304('0x14')]({'lastMsgAt':_0x42bc98[_0x4304('0x15')],'lastMsgDirection':_0x42bc98[_0x4304('0xd')][_0x4304('0x16')]()});}})[_0x4304('0x17')](function(_0x1d3bd2){console['error'](_0x1d3bd2);});}if(_0x42bc98['direction']==='out'&&!_0x42bc98[_0x4304('0x18')]){var _0x1cb2da;_0x93e562[_0x4304('0x19')]['find']({'where':{'id':_0x42bc98['WhatsappAccountId']},'raw':!![]})[_0x4304('0x13')](function(_0x10fc7d){_0x1cb2da=_0x10fc7d;if(_0x1cb2da&&_0x1cb2da['type']){switch(_0x1cb2da[_0x4304('0x1a')]){case _0x4304('0x1b'):var _0x275962=require(_0x4304('0x1b'));if(_0x1cb2da[_0x4304('0x1c')]&&_0x1cb2da[_0x4304('0x1d')]&&_0x1cb2da['phone']){var _0x225ce9=new _0x275962(_0x1cb2da[_0x4304('0x1c')],_0x1cb2da['authToken']);_0x225ce9[_0x4304('0x1e')][_0x4304('0x1f')]({'body':_0x42bc98[_0x4304('0x20')],'to':_0x4304('0x21')+_0x42bc98[_0x4304('0x22')],'from':_0x4304('0x21')+_0x1cb2da['phone'],'statusCallback':_0x1cb2da[_0x4304('0x23')]+_0x4304('0x24')+_0x42bc98['id']+_0x4304('0x25')+_0x1cb2da['token']})[_0x4304('0x13')](function(_0xc57d93){if(_0xc57d93['sid']){return _0x477c27[_0x4304('0x14')]({'messageId':_0xc57d93[_0x4304('0x26')]});}})['catch'](function(_0x5d8d7b){logger['error'](_0x4304('0x27'),'afterCreate',_0x4304('0x1b'),util[_0x4304('0x28')](_0x5d8d7b,{'showHidden':![],'depth':null}));});}else{logger[_0x4304('0x29')]('WhatsappMessage,\x20%s,\x20%s,\x20%s',_0x4304('0x2a'),_0x4304('0x1b'),_0x4304('0x2b'));}break;}}})[_0x4304('0x2c')](function(){_0x248ae5();});}else{_0x248ae5();}}},'charset':_0x4304('0x2d'),'collate':_0x4304('0x2e')});};