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