abb007ac7a212a44b970a07060c011fcf5e9f083
[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 _0x7f93=['type','twilio','accountSid','authToken','phone','messages','whatsapp:','remote','/status?token=','token','sid','update','error','WhatsappMessage,\x20%s,\x20%s,\x20%s','afterCreate','Missing\x20parameters:\x20phone,\x20accountSid\x20or\x20authToken','utf8mb4','lodash','util','api','moment','bluebird','request-promise','path','rimraf','../../config/environment','./whatsappMessage.attributes','exports','WhatsappMessage','whatsapp_messages','messageId','body','models','direction','toLowerCase','out','isNil','findOne','WhatsappInteractionId','then','createdAt','catch','secret','WhatsappAccount','WhatsappAccountId'];(function(_0x80a36,_0x259409){var _0x2ea86b=function(_0x27fb74){while(--_0x27fb74){_0x80a36['push'](_0x80a36['shift']());}};_0x2ea86b(++_0x259409);}(_0x7f93,0x1a6));var _0x37f9=function(_0x46308f,_0x2ad2e3){_0x46308f=_0x46308f-0x0;var _0x25f459=_0x7f93[_0x46308f];return _0x25f459;};'use strict';var _=require(_0x37f9('0x0'));var util=require(_0x37f9('0x1'));var logger=require('../../config/logger')(_0x37f9('0x2'));var moment=require(_0x37f9('0x3'));var BPromise=require(_0x37f9('0x4'));var rp=require(_0x37f9('0x5'));var fs=require('fs');var path=require(_0x37f9('0x6'));var rimraf=require(_0x37f9('0x7'));var config=require(_0x37f9('0x8'));var attributes=require(_0x37f9('0x9'));module[_0x37f9('0xa')]=function(_0x17ec48,_0x2b272f){return _0x17ec48['define'](_0x37f9('0xb'),attributes,{'tableName':_0x37f9('0xc'),'paranoid':![],'indexes':[{'name':_0x37f9('0xd'),'fields':[_0x37f9('0xd')]},{'name':'fti_whatsapp_messages','fields':[_0x37f9('0xe')],'type':'FULLTEXT'}],'timestamps':!![],'hooks':{'afterCreate':function(_0x4f0de8,_0x1a870d,_0x2d25dc){var _0xe10f2f=_0x17ec48[_0x37f9('0xf')];var _0x4ec147=_0x4f0de8['get']({'plain':!![]});if(_0x4ec147[_0x37f9('0x10')][_0x37f9('0x11')]()==='in'||_0x4ec147[_0x37f9('0x10')][_0x37f9('0x11')]()===_0x37f9('0x12')&&!_0x4ec147['secret']&&!_[_0x37f9('0x13')](_0x4ec147['UserId'])){_0xe10f2f['WhatsappInteraction'][_0x37f9('0x14')]({'where':{'id':_0x4ec147[_0x37f9('0x15')]}})[_0x37f9('0x16')](function(_0xa8c07c){if(_0xa8c07c){_0xa8c07c['update']({'lastMsgAt':_0x4ec147[_0x37f9('0x17')],'lastMsgDirection':_0x4ec147[_0x37f9('0x10')][_0x37f9('0x11')]()});}})[_0x37f9('0x18')](function(_0xeff21e){console['error'](_0xeff21e);});}if(_0x4ec147[_0x37f9('0x10')]==='out'&&!_0x4ec147[_0x37f9('0x19')]){var _0x5430fc;_0xe10f2f[_0x37f9('0x1a')]['find']({'where':{'id':_0x4ec147[_0x37f9('0x1b')]},'raw':!![]})[_0x37f9('0x16')](function(_0xb62622){_0x5430fc=_0xb62622;if(_0x5430fc&&_0x5430fc[_0x37f9('0x1c')]){switch(_0x5430fc[_0x37f9('0x1c')]){case _0x37f9('0x1d'):var _0x50b9ba=require('twilio');if(_0x5430fc[_0x37f9('0x1e')]&&_0x5430fc[_0x37f9('0x1f')]&&_0x5430fc[_0x37f9('0x20')]){var _0x5e1d80=new _0x50b9ba(_0x5430fc['accountSid'],_0x5430fc[_0x37f9('0x1f')]);_0x5e1d80[_0x37f9('0x21')]['create']({'body':_0x4ec147[_0x37f9('0xe')],'to':_0x37f9('0x22')+_0x4ec147[_0x37f9('0x20')],'from':_0x37f9('0x22')+_0x5430fc[_0x37f9('0x20')],'statusCallback':_0x5430fc[_0x37f9('0x23')]+'/api/whatsapp/messages/'+_0x4ec147['id']+_0x37f9('0x24')+_0x5430fc[_0x37f9('0x25')]})[_0x37f9('0x16')](function(_0xa9ac89){if(_0xa9ac89[_0x37f9('0x26')]){return _0x4f0de8[_0x37f9('0x27')]({'messageId':_0xa9ac89[_0x37f9('0x26')]});}})[_0x37f9('0x18')](function(_0x34fc44){logger[_0x37f9('0x28')](_0x37f9('0x29'),'afterCreate','twilio',util['inspect'](_0x34fc44,{'showHidden':![],'depth':null}));});}else{logger[_0x37f9('0x28')](_0x37f9('0x29'),_0x37f9('0x2a'),_0x37f9('0x1d'),_0x37f9('0x2b'));}break;}}})['finally'](function(){_0x2d25dc();});}else{_0x2d25dc();}}},'charset':_0x37f9('0x2c'),'collate':'utf8mb4_unicode_ci'});};