Built motion from commit 092f8824.|2.5.49
[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 _0x22fd=['accountSid','authToken','phone','body','whatsapp:','remote','/api/whatsapp/messages/','/status?token=','token','sid','error','afterCreate','inspect','WhatsappMessage,\x20%s,\x20%s,\x20%s','Missing\x20parameters:\x20phone,\x20accountSid\x20or\x20authToken','sinch','baseUrl','/whatsapp/v1/','text','Bearer\x20','application/json','statuses','message_id','err','WhatsappMessage,\x20%s','finally','utf8mb4','utf8mb4_unicode_ci','lodash','../../config/logger','bluebird','request-promise','node-fetch','./whatsappMessage.attributes','WhatsappMessage','whatsapp_messages','messageId','fti_whatsapp_messages','FULLTEXT','models','get','direction','out','isNil','UserId','WhatsappInteraction','findOne','update','catch','WhatsappAccount','find','WhatsappAccountId','then','type','twilio'];(function(_0x262ee7,_0x52ee92){var _0x1dc842=function(_0x4bf54a){while(--_0x4bf54a){_0x262ee7['push'](_0x262ee7['shift']());}};_0x1dc842(++_0x52ee92);}(_0x22fd,0x166));var _0xd22f=function(_0x24061a,_0x1c9f4d){_0x24061a=_0x24061a-0x0;var _0x82054e=_0x22fd[_0x24061a];return _0x82054e;};'use strict';var _=require(_0xd22f('0x0'));var util=require('util');var logger=require(_0xd22f('0x1'))('api');var moment=require('moment');var BPromise=require(_0xd22f('0x2'));var rp=require(_0xd22f('0x3'));var fetch=require(_0xd22f('0x4'));var fs=require('fs');var path=require('path');var rimraf=require('rimraf');var config=require('../../config/environment');var attributes=require(_0xd22f('0x5'));module['exports']=function(_0x521859,_0x22e3e9){return _0x521859['define'](_0xd22f('0x6'),attributes,{'tableName':_0xd22f('0x7'),'paranoid':![],'indexes':[{'name':_0xd22f('0x8'),'fields':[_0xd22f('0x8')]},{'name':_0xd22f('0x9'),'fields':['body'],'type':_0xd22f('0xa')}],'timestamps':!![],'hooks':{'afterCreate':function(_0x39f1b9,_0x26deb1,_0x5b8c9e){var _0x7f1454=_0x521859[_0xd22f('0xb')];var _0x246a33=_0x39f1b9[_0xd22f('0xc')]({'plain':!![]});if(_0x246a33['direction']['toLowerCase']()==='in'||_0x246a33[_0xd22f('0xd')]['toLowerCase']()===_0xd22f('0xe')&&!_0x246a33['secret']&&!_[_0xd22f('0xf')](_0x246a33[_0xd22f('0x10')])){_0x7f1454[_0xd22f('0x11')][_0xd22f('0x12')]({'where':{'id':_0x246a33['WhatsappInteractionId']}})['then'](function(_0x52678d){if(_0x52678d){_0x52678d[_0xd22f('0x13')]({'lastMsgAt':_0x246a33['createdAt'],'lastMsgDirection':_0x246a33[_0xd22f('0xd')]['toLowerCase']()});}})[_0xd22f('0x14')](function(_0x54567b){console['error'](_0x54567b);});}if(_0x246a33[_0xd22f('0xd')]===_0xd22f('0xe')&&!_0x246a33['secret']){var _0x435640;_0x7f1454[_0xd22f('0x15')][_0xd22f('0x16')]({'where':{'id':_0x246a33[_0xd22f('0x17')]},'raw':!![]})[_0xd22f('0x18')](function(_0x2d6621){_0x435640=_0x2d6621;if(_0x435640&&_0x435640[_0xd22f('0x19')]){switch(_0x435640['type']){case _0xd22f('0x1a'):var _0x3d550c=require(_0xd22f('0x1a'));if(_0x435640[_0xd22f('0x1b')]&&_0x435640[_0xd22f('0x1c')]&&_0x435640[_0xd22f('0x1d')]){var _0x539991=new _0x3d550c(_0x435640[_0xd22f('0x1b')],_0x435640[_0xd22f('0x1c')]);_0x539991['messages']['create']({'body':_0x246a33[_0xd22f('0x1e')],'to':_0xd22f('0x1f')+_0x246a33['phone'],'from':_0xd22f('0x1f')+_0x435640[_0xd22f('0x1d')],'statusCallback':_0x435640[_0xd22f('0x20')]+_0xd22f('0x21')+_0x246a33['id']+_0xd22f('0x22')+_0x435640[_0xd22f('0x23')]})[_0xd22f('0x18')](function(_0x43c0f0){if(_0x43c0f0['sid']){return _0x39f1b9[_0xd22f('0x13')]({'messageId':_0x43c0f0[_0xd22f('0x24')]});}})[_0xd22f('0x14')](function(_0x513ea8){logger[_0xd22f('0x25')]('WhatsappMessage,\x20%s,\x20%s,\x20%s',_0xd22f('0x26'),_0xd22f('0x1a'),util[_0xd22f('0x27')](_0x513ea8,{'showHidden':![],'depth':null}));});}else{logger[_0xd22f('0x25')](_0xd22f('0x28'),_0xd22f('0x26'),'twilio',_0xd22f('0x29'));}break;case _0xd22f('0x2a'):var _0x2dbd4a=_0x435640[_0xd22f('0x1b')];var _0x5abe68=_0x435640[_0xd22f('0x1c')];var _0x3e2252=_0x435640[_0xd22f('0x2b')]+_0xd22f('0x2c')+_0x2dbd4a+'/messages/';var _0x2e47c9={'to':[_0x246a33[_0xd22f('0x1d')]],'message':{'type':_0xd22f('0x2d'),'text':_0x246a33[_0xd22f('0x1e')]}};var _0x37862f={'method':'POST','uri':_0x3e2252,'headers':{'Authorization':_0xd22f('0x2e')+_0x5abe68,'Content-Type':_0xd22f('0x2f')},'body':_0x2e47c9,'json':!![]};rp(_0x37862f)['then'](function(_0x31b159){if(_0x31b159[_0xd22f('0x30')][0x0][_0xd22f('0x31')]){return _0x39f1b9[_0xd22f('0x13')]({'messageId':_0x31b159[_0xd22f('0x30')][0x0][_0xd22f('0x31')]});}})[_0xd22f('0x14')](function(_0x1126c2){logger[_0xd22f('0x32')](_0xd22f('0x33'),_0x1126c2);});break;}}})[_0xd22f('0x34')](function(){_0x5b8c9e();});}else{_0x5b8c9e();}}},'charset':_0xd22f('0x35'),'collate':_0xd22f('0x36')});};