Built motion from commit (unavailable).|2.5.0
[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 _0x4a85=['authToken','phone','messages','create','whatsapp:','remote','/api/whatsapp/messages/','/status?token=','token','sid','catch','WhatsappMessage,\x20%s,\x20%s,\x20%s','afterCreate','inspect','Missing\x20parameters:\x20phone,\x20accountSid\x20or\x20authToken','utf8mb4','utf8mb4_unicode_ci','lodash','util','../../config/logger','api','moment','request-promise','path','./whatsappMessage.attributes','exports','define','WhatsappMessage','whatsapp_messages','messageId','fti_whatsapp_messages','body','FULLTEXT','get','toLowerCase','secret','UserId','WhatsappInteraction','findOne','then','update','createdAt','direction','error','out','WhatsappAccount','twilio','accountSid'];(function(_0x1ac595,_0x5d2081){var _0x455fff=function(_0x3043ee){while(--_0x3043ee){_0x1ac595['push'](_0x1ac595['shift']());}};_0x455fff(++_0x5d2081);}(_0x4a85,0x71));var _0x54a8=function(_0x122096,_0x60c295){_0x122096=_0x122096-0x0;var _0x3d1966=_0x4a85[_0x122096];return _0x3d1966;};'use strict';var _=require(_0x54a8('0x0'));var util=require(_0x54a8('0x1'));var logger=require(_0x54a8('0x2'))(_0x54a8('0x3'));var moment=require(_0x54a8('0x4'));var BPromise=require('bluebird');var rp=require(_0x54a8('0x5'));var fs=require('fs');var path=require(_0x54a8('0x6'));var rimraf=require('rimraf');var config=require('../../config/environment');var attributes=require(_0x54a8('0x7'));module[_0x54a8('0x8')]=function(_0x56951a,_0x15f061){return _0x56951a[_0x54a8('0x9')](_0x54a8('0xa'),attributes,{'tableName':_0x54a8('0xb'),'paranoid':![],'indexes':[{'name':'messageId','fields':[_0x54a8('0xc')]},{'name':_0x54a8('0xd'),'fields':[_0x54a8('0xe')],'type':_0x54a8('0xf')}],'timestamps':!![],'hooks':{'afterCreate':function(_0x3b6913,_0x5397dd,_0x130ea8){var _0x5be358=_0x56951a['models'];var _0x211c4f=_0x3b6913[_0x54a8('0x10')]({'plain':!![]});if(_0x211c4f['direction'][_0x54a8('0x11')]()==='in'||_0x211c4f['direction'][_0x54a8('0x11')]()==='out'&&!_0x211c4f[_0x54a8('0x12')]&&!_['isNil'](_0x211c4f[_0x54a8('0x13')])){_0x5be358[_0x54a8('0x14')][_0x54a8('0x15')]({'where':{'id':_0x211c4f['WhatsappInteractionId']}})[_0x54a8('0x16')](function(_0x32caa9){if(_0x32caa9){_0x32caa9[_0x54a8('0x17')]({'lastMsgAt':_0x211c4f[_0x54a8('0x18')],'lastMsgDirection':_0x211c4f[_0x54a8('0x19')]['toLowerCase']()});}})['catch'](function(_0x227dba){console[_0x54a8('0x1a')](_0x227dba);});}if(_0x211c4f[_0x54a8('0x19')]===_0x54a8('0x1b')&&!_0x211c4f[_0x54a8('0x12')]){var _0x528e84;_0x5be358[_0x54a8('0x1c')]['find']({'where':{'id':_0x211c4f['WhatsappAccountId']},'raw':!![]})['then'](function(_0x28f1ad){_0x528e84=_0x28f1ad;if(_0x528e84&&_0x528e84['type']){switch(_0x528e84['type']){case _0x54a8('0x1d'):var _0x396223=require(_0x54a8('0x1d'));if(_0x528e84[_0x54a8('0x1e')]&&_0x528e84[_0x54a8('0x1f')]&&_0x528e84[_0x54a8('0x20')]){var _0x5f1a59=new _0x396223(_0x528e84['accountSid'],_0x528e84[_0x54a8('0x1f')]);_0x5f1a59[_0x54a8('0x21')][_0x54a8('0x22')]({'body':_0x211c4f[_0x54a8('0xe')],'to':'whatsapp:'+_0x211c4f['phone'],'from':_0x54a8('0x23')+_0x528e84[_0x54a8('0x20')],'statusCallback':_0x528e84[_0x54a8('0x24')]+_0x54a8('0x25')+_0x211c4f['id']+_0x54a8('0x26')+_0x528e84[_0x54a8('0x27')]})[_0x54a8('0x16')](function(_0x3a9ab7){if(_0x3a9ab7['sid']){return _0x3b6913[_0x54a8('0x17')]({'messageId':_0x3a9ab7[_0x54a8('0x28')]});}})[_0x54a8('0x29')](function(_0x21e4de){logger['error'](_0x54a8('0x2a'),_0x54a8('0x2b'),_0x54a8('0x1d'),util[_0x54a8('0x2c')](_0x21e4de,{'showHidden':![],'depth':null}));});}else{logger[_0x54a8('0x1a')](_0x54a8('0x2a'),_0x54a8('0x2b'),_0x54a8('0x1d'),_0x54a8('0x2d'));}break;}}})['finally'](function(){_0x130ea8();});}else{_0x130ea8();}}},'charset':_0x54a8('0x2e'),'collate':_0x54a8('0x2f')});};