bfd4d63ded2f9da96ac716511fb18e3747a27850
[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 _0xea05=['WhatsappInteraction','findOne','WhatsappInteractionId','then','update','catch','error','WhatsappAccount','find','WhatsappAccountId','type','twilio','phone','authToken','messages','whatsapp:','remote','/api/whatsapp/messages/','/status?token=','token','sid','WhatsappMessage,\x20%s,\x20%s,\x20%s','afterCreate','inspect','Missing\x20parameters:\x20phone,\x20accountSid\x20or\x20authToken','sinch','accountSid','baseUrl','/messages/','text','body','POST','application/json','statuses','message_id','err','finally','utf8mb4','utf8mb4_unicode_ci','lodash','util','../../config/logger','api','moment','node-fetch','path','rimraf','../../config/environment','./whatsappMessage.attributes','WhatsappMessage','whatsapp_messages','messageId','fti_whatsapp_messages','FULLTEXT','get','direction','toLowerCase','out','secret','isNil'];(function(_0x54296a,_0x2d4b8b){var _0x171cff=function(_0x2f52b6){while(--_0x2f52b6){_0x54296a['push'](_0x54296a['shift']());}};_0x171cff(++_0x2d4b8b);}(_0xea05,0x9f));var _0x5ea0=function(_0x296f61,_0x526324){_0x296f61=_0x296f61-0x0;var _0x478563=_0xea05[_0x296f61];return _0x478563;};'use strict';var _=require(_0x5ea0('0x0'));var util=require(_0x5ea0('0x1'));var logger=require(_0x5ea0('0x2'))(_0x5ea0('0x3'));var moment=require(_0x5ea0('0x4'));var BPromise=require('bluebird');var rp=require('request-promise');var fetch=require(_0x5ea0('0x5'));var fs=require('fs');var path=require(_0x5ea0('0x6'));var rimraf=require(_0x5ea0('0x7'));var config=require(_0x5ea0('0x8'));var attributes=require(_0x5ea0('0x9'));module['exports']=function(_0x492a4b,_0x18ff5c){return _0x492a4b['define'](_0x5ea0('0xa'),attributes,{'tableName':_0x5ea0('0xb'),'paranoid':![],'indexes':[{'name':_0x5ea0('0xc'),'fields':[_0x5ea0('0xc')]},{'name':_0x5ea0('0xd'),'fields':['body'],'type':_0x5ea0('0xe')}],'timestamps':!![],'hooks':{'afterCreate':function(_0x3548cf,_0x3b988d,_0x96d10c){var _0x2b6d85=_0x492a4b['models'];var _0x448480=_0x3548cf[_0x5ea0('0xf')]({'plain':!![]});if(_0x448480[_0x5ea0('0x10')]['toLowerCase']()==='in'||_0x448480[_0x5ea0('0x10')][_0x5ea0('0x11')]()===_0x5ea0('0x12')&&!_0x448480[_0x5ea0('0x13')]&&!_[_0x5ea0('0x14')](_0x448480['UserId'])){_0x2b6d85[_0x5ea0('0x15')][_0x5ea0('0x16')]({'where':{'id':_0x448480[_0x5ea0('0x17')]}})[_0x5ea0('0x18')](function(_0x4c8a79){if(_0x4c8a79){_0x4c8a79[_0x5ea0('0x19')]({'lastMsgAt':_0x448480['createdAt'],'lastMsgDirection':_0x448480[_0x5ea0('0x10')][_0x5ea0('0x11')]()});}})[_0x5ea0('0x1a')](function(_0x11976b){console[_0x5ea0('0x1b')](_0x11976b);});}if(_0x448480[_0x5ea0('0x10')]===_0x5ea0('0x12')&&!_0x448480[_0x5ea0('0x13')]){var _0x3d427d;_0x2b6d85[_0x5ea0('0x1c')][_0x5ea0('0x1d')]({'where':{'id':_0x448480[_0x5ea0('0x1e')]},'raw':!![]})[_0x5ea0('0x18')](function(_0x4c2d5a){_0x3d427d=_0x4c2d5a;if(_0x3d427d&&_0x3d427d[_0x5ea0('0x1f')]){switch(_0x3d427d[_0x5ea0('0x1f')]){case'twilio':var _0x54f573=require(_0x5ea0('0x20'));if(_0x3d427d['accountSid']&&_0x3d427d['authToken']&&_0x3d427d[_0x5ea0('0x21')]){var _0x515454=new _0x54f573(_0x3d427d['accountSid'],_0x3d427d[_0x5ea0('0x22')]);_0x515454[_0x5ea0('0x23')]['create']({'body':_0x448480['body'],'to':_0x5ea0('0x24')+_0x448480['phone'],'from':_0x5ea0('0x24')+_0x3d427d[_0x5ea0('0x21')],'statusCallback':_0x3d427d[_0x5ea0('0x25')]+_0x5ea0('0x26')+_0x448480['id']+_0x5ea0('0x27')+_0x3d427d[_0x5ea0('0x28')]})[_0x5ea0('0x18')](function(_0x5ab825){if(_0x5ab825[_0x5ea0('0x29')]){return _0x3548cf[_0x5ea0('0x19')]({'messageId':_0x5ab825['sid']});}})[_0x5ea0('0x1a')](function(_0x7cf8d){logger[_0x5ea0('0x1b')](_0x5ea0('0x2a'),_0x5ea0('0x2b'),_0x5ea0('0x20'),util[_0x5ea0('0x2c')](_0x7cf8d,{'showHidden':![],'depth':null}));});}else{logger['error'](_0x5ea0('0x2a'),'afterCreate',_0x5ea0('0x20'),_0x5ea0('0x2d'));}break;case _0x5ea0('0x2e'):var _0x5ba708=_0x3d427d[_0x5ea0('0x2f')];var _0x1e2af5=_0x3d427d[_0x5ea0('0x22')];var _0x50abb3=_0x3d427d[_0x5ea0('0x30')]+'/whatsapp/v1/'+_0x5ba708+_0x5ea0('0x31');var _0x318e3a={'to':[_0x448480['phone']],'message':{'type':_0x5ea0('0x32'),'text':_0x448480[_0x5ea0('0x33')]}};var _0x3c3c72={'method':_0x5ea0('0x34'),'uri':_0x50abb3,'headers':{'Authorization':'Bearer\x20'+_0x1e2af5,'Content-Type':_0x5ea0('0x35')},'body':_0x318e3a,'json':!![]};rp(_0x3c3c72)['then'](function(_0x47702d){if(_0x47702d['statuses'][0x0]['message_id']){return _0x3548cf[_0x5ea0('0x19')]({'messageId':_0x47702d[_0x5ea0('0x36')][0x0][_0x5ea0('0x37')]});}})[_0x5ea0('0x1a')](function(_0x10f59e){logger[_0x5ea0('0x38')]('WhatsappMessage,\x20%s',_0x10f59e);});break;}}})[_0x5ea0('0x39')](function(){_0x96d10c();});}else{_0x96d10c();}}},'charset':_0x5ea0('0x3a'),'collate':_0x5ea0('0x3b')});};