Built motion from commit (unavailable).|2.5.17
[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 _0xbcf5=['update','WhatsappMessage,\x20%s,\x20%s,\x20%s','afterCreate','inspect','Missing\x20parameters:\x20phone,\x20accountSid\x20or\x20authToken','finally','utf8mb4','lodash','../../config/logger','api','moment','request-promise','./whatsappMessage.attributes','define','whatsapp_messages','messageId','models','get','direction','toLowerCase','isNil','UserId','WhatsappInteractionId','then','createdAt','error','WhatsappAccount','find','type','twilio','accountSid','authToken','messages','whatsapp:','phone','remote','/api/whatsapp/messages/','/status?token=','token','sid'];(function(_0x2763f2,_0x416af8){var _0x3ef471=function(_0x288aa2){while(--_0x288aa2){_0x2763f2['push'](_0x2763f2['shift']());}};_0x3ef471(++_0x416af8);}(_0xbcf5,0xa7));var _0x5bcf=function(_0x248cdc,_0x39f286){_0x248cdc=_0x248cdc-0x0;var _0x3e1836=_0xbcf5[_0x248cdc];return _0x3e1836;};'use strict';var _=require(_0x5bcf('0x0'));var util=require('util');var logger=require(_0x5bcf('0x1'))(_0x5bcf('0x2'));var moment=require(_0x5bcf('0x3'));var BPromise=require('bluebird');var rp=require(_0x5bcf('0x4'));var fs=require('fs');var path=require('path');var rimraf=require('rimraf');var config=require('../../config/environment');var attributes=require(_0x5bcf('0x5'));module['exports']=function(_0x4745ed,_0x17e427){return _0x4745ed[_0x5bcf('0x6')]('WhatsappMessage',attributes,{'tableName':_0x5bcf('0x7'),'paranoid':![],'indexes':[{'name':_0x5bcf('0x8'),'fields':[_0x5bcf('0x8')]},{'name':'fti_whatsapp_messages','fields':['body'],'type':'FULLTEXT'}],'timestamps':!![],'hooks':{'afterCreate':function(_0x4328c1,_0x38bfd1,_0x3d6886){var _0x13787c=_0x4745ed[_0x5bcf('0x9')];var _0x3db568=_0x4328c1[_0x5bcf('0xa')]({'plain':!![]});if(_0x3db568[_0x5bcf('0xb')][_0x5bcf('0xc')]()==='in'||_0x3db568[_0x5bcf('0xb')][_0x5bcf('0xc')]()==='out'&&!_0x3db568['secret']&&!_[_0x5bcf('0xd')](_0x3db568[_0x5bcf('0xe')])){_0x13787c['WhatsappInteraction']['findOne']({'where':{'id':_0x3db568[_0x5bcf('0xf')]}})[_0x5bcf('0x10')](function(_0x458232){if(_0x458232){_0x458232['update']({'lastMsgAt':_0x3db568[_0x5bcf('0x11')],'lastMsgDirection':_0x3db568[_0x5bcf('0xb')][_0x5bcf('0xc')]()});}})['catch'](function(_0x556bad){console[_0x5bcf('0x12')](_0x556bad);});}if(_0x3db568[_0x5bcf('0xb')]==='out'&&!_0x3db568['secret']){var _0x301bdd;_0x13787c[_0x5bcf('0x13')][_0x5bcf('0x14')]({'where':{'id':_0x3db568['WhatsappAccountId']},'raw':!![]})[_0x5bcf('0x10')](function(_0x4cccc0){_0x301bdd=_0x4cccc0;if(_0x301bdd&&_0x301bdd[_0x5bcf('0x15')]){switch(_0x301bdd[_0x5bcf('0x15')]){case'twilio':var _0x59147f=require(_0x5bcf('0x16'));if(_0x301bdd[_0x5bcf('0x17')]&&_0x301bdd[_0x5bcf('0x18')]&&_0x301bdd['phone']){var _0x4dd6bb=new _0x59147f(_0x301bdd[_0x5bcf('0x17')],_0x301bdd[_0x5bcf('0x18')]);_0x4dd6bb[_0x5bcf('0x19')]['create']({'body':_0x3db568['body'],'to':_0x5bcf('0x1a')+_0x3db568['phone'],'from':_0x5bcf('0x1a')+_0x301bdd[_0x5bcf('0x1b')],'statusCallback':_0x301bdd[_0x5bcf('0x1c')]+_0x5bcf('0x1d')+_0x3db568['id']+_0x5bcf('0x1e')+_0x301bdd[_0x5bcf('0x1f')]})[_0x5bcf('0x10')](function(_0x1265df){if(_0x1265df[_0x5bcf('0x20')]){return _0x4328c1[_0x5bcf('0x21')]({'messageId':_0x1265df[_0x5bcf('0x20')]});}})['catch'](function(_0x46d15e){logger[_0x5bcf('0x12')](_0x5bcf('0x22'),_0x5bcf('0x23'),'twilio',util[_0x5bcf('0x24')](_0x46d15e,{'showHidden':![],'depth':null}));});}else{logger[_0x5bcf('0x12')](_0x5bcf('0x22'),_0x5bcf('0x23'),_0x5bcf('0x16'),_0x5bcf('0x25'));}break;}}})[_0x5bcf('0x26')](function(){_0x3d6886();});}else{_0x3d6886();}}},'charset':_0x5bcf('0x27'),'collate':'utf8mb4_unicode_ci'});};