4c64d65e407db55b3d6d02df6d6d834b1d9fddd3
[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 _0xc591=['then','update','createdAt','catch','error','WhatsappAccount','find','type','accountSid','authToken','messages','create','whatsapp:','phone','remote','/api/whatsapp/messages/','/status?token=','sid','afterCreate','twilio','inspect','WhatsappMessage,\x20%s,\x20%s,\x20%s','utf8mb4','utf8mb4_unicode_ci','lodash','util','../../config/logger','api','moment','bluebird','request-promise','path','rimraf','./whatsappMessage.attributes','exports','define','WhatsappMessage','whatsapp_messages','messageId','body','models','get','direction','toLowerCase','out','secret','UserId','WhatsappInteraction','findOne','WhatsappInteractionId'];(function(_0x11c573,_0x9e7c6e){var _0x6b72de=function(_0x2e8a61){while(--_0x2e8a61){_0x11c573['push'](_0x11c573['shift']());}};_0x6b72de(++_0x9e7c6e);}(_0xc591,0xe0));var _0x1c59=function(_0x519228,_0x2bcbc2){_0x519228=_0x519228-0x0;var _0xc3c605=_0xc591[_0x519228];return _0xc3c605;};'use strict';var _=require(_0x1c59('0x0'));var util=require(_0x1c59('0x1'));var logger=require(_0x1c59('0x2'))(_0x1c59('0x3'));var moment=require(_0x1c59('0x4'));var BPromise=require(_0x1c59('0x5'));var rp=require(_0x1c59('0x6'));var fs=require('fs');var path=require(_0x1c59('0x7'));var rimraf=require(_0x1c59('0x8'));var config=require('../../config/environment');var attributes=require(_0x1c59('0x9'));module[_0x1c59('0xa')]=function(_0x33d857,_0x3ab64f){return _0x33d857[_0x1c59('0xb')](_0x1c59('0xc'),attributes,{'tableName':_0x1c59('0xd'),'paranoid':![],'indexes':[{'name':_0x1c59('0xe'),'fields':[_0x1c59('0xe')]},{'name':'fti_whatsapp_messages','fields':[_0x1c59('0xf')],'type':'FULLTEXT'}],'timestamps':!![],'hooks':{'afterCreate':function(_0x38452f,_0x3c9b0d,_0x290e90){var _0x5608fb=_0x33d857[_0x1c59('0x10')];var _0x43339f=_0x38452f[_0x1c59('0x11')]({'plain':!![]});if(_0x43339f[_0x1c59('0x12')]['toLowerCase']()==='in'||_0x43339f['direction'][_0x1c59('0x13')]()===_0x1c59('0x14')&&!_0x43339f[_0x1c59('0x15')]&&!_['isNil'](_0x43339f[_0x1c59('0x16')])){_0x5608fb[_0x1c59('0x17')][_0x1c59('0x18')]({'where':{'id':_0x43339f[_0x1c59('0x19')]}})[_0x1c59('0x1a')](function(_0x2ae5cd){if(_0x2ae5cd){_0x2ae5cd[_0x1c59('0x1b')]({'lastMsgAt':_0x43339f[_0x1c59('0x1c')],'lastMsgDirection':_0x43339f[_0x1c59('0x12')][_0x1c59('0x13')]()});}})[_0x1c59('0x1d')](function(_0x5901d8){console[_0x1c59('0x1e')](_0x5901d8);});}if(_0x43339f['direction']===_0x1c59('0x14')&&!_0x43339f[_0x1c59('0x15')]){var _0x29a20f;_0x5608fb[_0x1c59('0x1f')][_0x1c59('0x20')]({'where':{'id':_0x43339f['WhatsappAccountId']},'raw':!![]})[_0x1c59('0x1a')](function(_0x152c54){_0x29a20f=_0x152c54;if(_0x29a20f&&_0x29a20f['type']){switch(_0x29a20f[_0x1c59('0x21')]){case'twilio':var _0x53251f=require('twilio');if(_0x29a20f[_0x1c59('0x22')]&&_0x29a20f['authToken']&&_0x29a20f['phone']){var _0x15a98a=new _0x53251f(_0x29a20f[_0x1c59('0x22')],_0x29a20f[_0x1c59('0x23')]);_0x15a98a[_0x1c59('0x24')][_0x1c59('0x25')]({'body':_0x43339f[_0x1c59('0xf')],'to':_0x1c59('0x26')+_0x43339f[_0x1c59('0x27')],'from':_0x1c59('0x26')+_0x29a20f[_0x1c59('0x27')],'statusCallback':_0x29a20f[_0x1c59('0x28')]+_0x1c59('0x29')+_0x43339f['id']+_0x1c59('0x2a')+_0x29a20f['token']})[_0x1c59('0x1a')](function(_0x5460c7){if(_0x5460c7[_0x1c59('0x2b')]){return _0x38452f[_0x1c59('0x1b')]({'messageId':_0x5460c7['sid']});}})[_0x1c59('0x1d')](function(_0x10d7a6){logger[_0x1c59('0x1e')]('WhatsappMessage,\x20%s,\x20%s,\x20%s',_0x1c59('0x2c'),_0x1c59('0x2d'),util[_0x1c59('0x2e')](_0x10d7a6,{'showHidden':![],'depth':null}));});}else{logger['error'](_0x1c59('0x2f'),_0x1c59('0x2c'),_0x1c59('0x2d'),'Missing\x20parameters:\x20phone,\x20accountSid\x20or\x20authToken');}break;}}})['finally'](function(){_0x290e90();});}else{_0x290e90();}}},'charset':_0x1c59('0x30'),'collate':_0x1c59('0x31')});};