Built motion from commit (unavailable).|2.5.4
[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 _0xecab=['WhatsappAccount','type','twilio','accountSid','phone','authToken','messages','body','whatsapp:','remote','/api/whatsapp/messages/','/status?token=','token','WhatsappMessage,\x20%s,\x20%s,\x20%s','inspect','afterCreate','Missing\x20parameters:\x20phone,\x20accountSid\x20or\x20authToken','finally','utf8mb4','../../config/logger','api','moment','bluebird','request-promise','rimraf','exports','define','WhatsappMessage','messageId','fti_whatsapp_messages','FULLTEXT','get','toLowerCase','direction','out','secret','isNil','findOne','WhatsappInteractionId','then','update','createdAt','catch','error'];(function(_0x1b205d,_0x131d07){var _0x26c181=function(_0x11ba1c){while(--_0x11ba1c){_0x1b205d['push'](_0x1b205d['shift']());}};_0x26c181(++_0x131d07);}(_0xecab,0xc3));var _0xbeca=function(_0x43df5e,_0x2d3e04){_0x43df5e=_0x43df5e-0x0;var _0x51f00b=_0xecab[_0x43df5e];return _0x51f00b;};'use strict';var _=require('lodash');var util=require('util');var logger=require(_0xbeca('0x0'))(_0xbeca('0x1'));var moment=require(_0xbeca('0x2'));var BPromise=require(_0xbeca('0x3'));var rp=require(_0xbeca('0x4'));var fs=require('fs');var path=require('path');var rimraf=require(_0xbeca('0x5'));var config=require('../../config/environment');var attributes=require('./whatsappMessage.attributes');module[_0xbeca('0x6')]=function(_0x2d0f49,_0x5618f4){return _0x2d0f49[_0xbeca('0x7')](_0xbeca('0x8'),attributes,{'tableName':'whatsapp_messages','paranoid':![],'indexes':[{'name':'messageId','fields':[_0xbeca('0x9')]},{'name':_0xbeca('0xa'),'fields':['body'],'type':_0xbeca('0xb')}],'timestamps':!![],'hooks':{'afterCreate':function(_0x554a76,_0x51b088,_0xe02a39){var _0x35f2e9=_0x2d0f49['models'];var _0x47a884=_0x554a76[_0xbeca('0xc')]({'plain':!![]});if(_0x47a884['direction'][_0xbeca('0xd')]()==='in'||_0x47a884[_0xbeca('0xe')]['toLowerCase']()===_0xbeca('0xf')&&!_0x47a884[_0xbeca('0x10')]&&!_[_0xbeca('0x11')](_0x47a884['UserId'])){_0x35f2e9['WhatsappInteraction'][_0xbeca('0x12')]({'where':{'id':_0x47a884[_0xbeca('0x13')]}})[_0xbeca('0x14')](function(_0x601b65){if(_0x601b65){_0x601b65[_0xbeca('0x15')]({'lastMsgAt':_0x47a884[_0xbeca('0x16')],'lastMsgDirection':_0x47a884[_0xbeca('0xe')]['toLowerCase']()});}})[_0xbeca('0x17')](function(_0x4ad560){console[_0xbeca('0x18')](_0x4ad560);});}if(_0x47a884[_0xbeca('0xe')]===_0xbeca('0xf')&&!_0x47a884[_0xbeca('0x10')]){var _0x1b1e48;_0x35f2e9[_0xbeca('0x19')]['find']({'where':{'id':_0x47a884['WhatsappAccountId']},'raw':!![]})[_0xbeca('0x14')](function(_0x35e8b9){_0x1b1e48=_0x35e8b9;if(_0x1b1e48&&_0x1b1e48[_0xbeca('0x1a')]){switch(_0x1b1e48[_0xbeca('0x1a')]){case _0xbeca('0x1b'):var _0x4c2d36=require(_0xbeca('0x1b'));if(_0x1b1e48[_0xbeca('0x1c')]&&_0x1b1e48['authToken']&&_0x1b1e48[_0xbeca('0x1d')]){var _0x404027=new _0x4c2d36(_0x1b1e48[_0xbeca('0x1c')],_0x1b1e48[_0xbeca('0x1e')]);_0x404027[_0xbeca('0x1f')]['create']({'body':_0x47a884[_0xbeca('0x20')],'to':_0xbeca('0x21')+_0x47a884[_0xbeca('0x1d')],'from':'whatsapp:'+_0x1b1e48['phone'],'statusCallback':_0x1b1e48[_0xbeca('0x22')]+_0xbeca('0x23')+_0x47a884['id']+_0xbeca('0x24')+_0x1b1e48[_0xbeca('0x25')]})[_0xbeca('0x14')](function(_0x10148a){if(_0x10148a['sid']){return _0x554a76[_0xbeca('0x15')]({'messageId':_0x10148a['sid']});}})[_0xbeca('0x17')](function(_0x402ef1){logger[_0xbeca('0x18')](_0xbeca('0x26'),'afterCreate',_0xbeca('0x1b'),util[_0xbeca('0x27')](_0x402ef1,{'showHidden':![],'depth':null}));});}else{logger['error']('WhatsappMessage,\x20%s,\x20%s,\x20%s',_0xbeca('0x28'),'twilio',_0xbeca('0x29'));}break;}}})[_0xbeca('0x2a')](function(){_0xe02a39();});}else{_0xe02a39();}}},'charset':_0xbeca('0x2b'),'collate':'utf8mb4_unicode_ci'});};