Built motion from commit (unavailable).|2.5.23
[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 _0xf7d6=['FULLTEXT','models','get','direction','toLowerCase','isNil','UserId','WhatsappInteraction','WhatsappInteractionId','then','update','createdAt','error','out','secret','find','WhatsappAccountId','type','twilio','authToken','phone','accountSid','messages','remote','/api/whatsapp/messages/','/status?token=','token','sid','WhatsappMessage,\x20%s,\x20%s,\x20%s','inspect','afterCreate','Missing\x20parameters:\x20phone,\x20accountSid\x20or\x20authToken','finally','utf8mb4','lodash','util','api','bluebird','request-promise','path','rimraf','../../config/environment','exports','whatsapp_messages','messageId','body'];(function(_0x618414,_0x1a7a60){var _0x21c19a=function(_0x507b17){while(--_0x507b17){_0x618414['push'](_0x618414['shift']());}};_0x21c19a(++_0x1a7a60);}(_0xf7d6,0x136));var _0x6f7d=function(_0x501510,_0x61caa9){_0x501510=_0x501510-0x0;var _0x1e6ee5=_0xf7d6[_0x501510];return _0x1e6ee5;};'use strict';var _=require(_0x6f7d('0x0'));var util=require(_0x6f7d('0x1'));var logger=require('../../config/logger')(_0x6f7d('0x2'));var moment=require('moment');var BPromise=require(_0x6f7d('0x3'));var rp=require(_0x6f7d('0x4'));var fs=require('fs');var path=require(_0x6f7d('0x5'));var rimraf=require(_0x6f7d('0x6'));var config=require(_0x6f7d('0x7'));var attributes=require('./whatsappMessage.attributes');module[_0x6f7d('0x8')]=function(_0x45da40,_0x44c0fe){return _0x45da40['define']('WhatsappMessage',attributes,{'tableName':_0x6f7d('0x9'),'paranoid':![],'indexes':[{'name':_0x6f7d('0xa'),'fields':[_0x6f7d('0xa')]},{'name':'fti_whatsapp_messages','fields':[_0x6f7d('0xb')],'type':_0x6f7d('0xc')}],'timestamps':!![],'hooks':{'afterCreate':function(_0x1baf0c,_0x206015,_0x3f7d5a){var _0x449c44=_0x45da40[_0x6f7d('0xd')];var _0x3328a4=_0x1baf0c[_0x6f7d('0xe')]({'plain':!![]});if(_0x3328a4[_0x6f7d('0xf')][_0x6f7d('0x10')]()==='in'||_0x3328a4[_0x6f7d('0xf')][_0x6f7d('0x10')]()==='out'&&!_0x3328a4['secret']&&!_[_0x6f7d('0x11')](_0x3328a4[_0x6f7d('0x12')])){_0x449c44[_0x6f7d('0x13')]['findOne']({'where':{'id':_0x3328a4[_0x6f7d('0x14')]}})[_0x6f7d('0x15')](function(_0x1106e0){if(_0x1106e0){_0x1106e0[_0x6f7d('0x16')]({'lastMsgAt':_0x3328a4[_0x6f7d('0x17')],'lastMsgDirection':_0x3328a4[_0x6f7d('0xf')]['toLowerCase']()});}})['catch'](function(_0x39751c){console[_0x6f7d('0x18')](_0x39751c);});}if(_0x3328a4[_0x6f7d('0xf')]===_0x6f7d('0x19')&&!_0x3328a4[_0x6f7d('0x1a')]){var _0x2dc86b;_0x449c44['WhatsappAccount'][_0x6f7d('0x1b')]({'where':{'id':_0x3328a4[_0x6f7d('0x1c')]},'raw':!![]})['then'](function(_0x58ab7c){_0x2dc86b=_0x58ab7c;if(_0x2dc86b&&_0x2dc86b['type']){switch(_0x2dc86b[_0x6f7d('0x1d')]){case _0x6f7d('0x1e'):var _0xc7c989=require('twilio');if(_0x2dc86b['accountSid']&&_0x2dc86b[_0x6f7d('0x1f')]&&_0x2dc86b[_0x6f7d('0x20')]){var _0x19f769=new _0xc7c989(_0x2dc86b[_0x6f7d('0x21')],_0x2dc86b['authToken']);_0x19f769[_0x6f7d('0x22')]['create']({'body':_0x3328a4[_0x6f7d('0xb')],'to':'whatsapp:'+_0x3328a4['phone'],'from':'whatsapp:'+_0x2dc86b[_0x6f7d('0x20')],'statusCallback':_0x2dc86b[_0x6f7d('0x23')]+_0x6f7d('0x24')+_0x3328a4['id']+_0x6f7d('0x25')+_0x2dc86b[_0x6f7d('0x26')]})['then'](function(_0x4f2a72){if(_0x4f2a72[_0x6f7d('0x27')]){return _0x1baf0c[_0x6f7d('0x16')]({'messageId':_0x4f2a72[_0x6f7d('0x27')]});}})['catch'](function(_0x524d86){logger['error'](_0x6f7d('0x28'),'afterCreate',_0x6f7d('0x1e'),util[_0x6f7d('0x29')](_0x524d86,{'showHidden':![],'depth':null}));});}else{logger[_0x6f7d('0x18')]('WhatsappMessage,\x20%s,\x20%s,\x20%s',_0x6f7d('0x2a'),_0x6f7d('0x1e'),_0x6f7d('0x2b'));}break;}}})[_0x6f7d('0x2c')](function(){_0x3f7d5a();});}else{_0x3f7d5a();}}},'charset':_0x6f7d('0x2d'),'collate':'utf8mb4_unicode_ci'});};