Skip to content

Commit

Permalink
[FIX] Fix file uploads JWT (#15412)
Browse files Browse the repository at this point in the history
* Fix file uploads JWT

* fix review
  • Loading branch information
MarcosSpessatto authored and rodrigok committed Sep 19, 2019
1 parent e446db0 commit e0d5153
Show file tree
Hide file tree
Showing 8 changed files with 33 additions and 32 deletions.
8 changes: 4 additions & 4 deletions app/livechat/server/api/v1/message.js
Expand Up @@ -8,7 +8,7 @@ import { API } from '../../../../api';
import { loadMessageHistory } from '../../../../lib';
import { findGuest, findRoom, normalizeHttpHeaderData } from '../lib/livechat';
import { Livechat } from '../../lib/Livechat';
import { normalizeMessageAttachments } from '../../../../utils/server/functions/normalizeMessageAttachments';
import { normalizeMessageFileUpload } from '../../../../utils/server/functions/normalizeMessageFileUpload';

API.v1.addRoute('livechat/message', {
post() {
Expand Down Expand Up @@ -97,7 +97,7 @@ API.v1.addRoute('livechat/message/:_id', {
}

if (message.file) {
message = normalizeMessageAttachments(message);
message = normalizeMessageFileUpload(message);
}

return API.v1.success({ message });
Expand Down Expand Up @@ -140,7 +140,7 @@ API.v1.addRoute('livechat/message/:_id', {
if (result) {
let message = Messages.findOneById(_id);
if (message.file) {
message = normalizeMessageAttachments(message);
message = normalizeMessageFileUpload(message);
}

return API.v1.success({ message });
Expand Down Expand Up @@ -238,7 +238,7 @@ API.v1.addRoute('livechat/messages.history/:rid', {

const messages = loadMessageHistory({ userId: guest._id, rid, end, limit, ls })
.messages
.map(normalizeMessageAttachments);
.map(normalizeMessageFileUpload);
return API.v1.success({ messages });
} catch (e) {
return API.v1.failure(e);
Expand Down
4 changes: 2 additions & 2 deletions app/livechat/server/hooks/externalMessage.js
Expand Up @@ -5,7 +5,7 @@ import { settings } from '../../../settings';
import { callbacks } from '../../../callbacks';
import { SystemLogger } from '../../../logger';
import { LivechatExternalMessage } from '../../lib/LivechatExternalMessage';
import { normalizeMessageAttachments } from '../../../utils/server/functions/normalizeMessageAttachments';
import { normalizeMessageFileUpload } from '../../../utils/server/functions/normalizeMessageFileUpload';

let knowledgeEnabled = false;
let apiaiKey = '';
Expand Down Expand Up @@ -35,7 +35,7 @@ callbacks.add('afterSaveMessage', function(message, room) {
}

if (message.file) {
message = normalizeMessageAttachments(message);
message = normalizeMessageFileUpload(message);
}

// if the message hasn't a token, it was not sent by the visitor, so ignore it
Expand Down
4 changes: 2 additions & 2 deletions app/livechat/server/hooks/saveAnalyticsData.js
@@ -1,6 +1,6 @@
import { callbacks } from '../../../callbacks';
import { LivechatRooms } from '../../../models';
import { normalizeMessageAttachments } from '../../../utils/server/functions/normalizeMessageAttachments';
import { normalizeMessageFileUpload } from '../../../utils/server/functions/normalizeMessageFileUpload';

callbacks.add('afterSaveMessage', function(message, room) {
// skips this callback if the message was edited
Expand All @@ -14,7 +14,7 @@ callbacks.add('afterSaveMessage', function(message, room) {
}

if (message.file) {
message = normalizeMessageAttachments(message);
message = normalizeMessageFileUpload(message);
}

const now = new Date();
Expand Down
4 changes: 2 additions & 2 deletions app/livechat/server/hooks/sendToCRM.js
Expand Up @@ -2,7 +2,7 @@ import { settings } from '../../../settings';
import { callbacks } from '../../../callbacks';
import { Messages, LivechatRooms } from '../../../models';
import { Livechat } from '../lib/Livechat';
import { normalizeMessageAttachments } from '../../../utils/server/functions/normalizeMessageAttachments';
import { normalizeMessageFileUpload } from '../../../utils/server/functions/normalizeMessageFileUpload';

const msgNavType = 'livechat_navigation_history';

Expand Down Expand Up @@ -61,7 +61,7 @@ function sendToCRM(type, room, includeMessages = true) {
msg.attachments = message.attachments;
}

postData.messages.push(normalizeMessageAttachments(msg));
postData.messages.push(normalizeMessageFileUpload(msg));
});
}

Expand Down
4 changes: 2 additions & 2 deletions app/livechat/server/hooks/sendToFacebook.js
@@ -1,7 +1,7 @@
import { callbacks } from '../../../callbacks';
import { settings } from '../../../settings';
import OmniChannel from '../lib/OmniChannel';
import { normalizeMessageAttachments } from '../../../utils/server/functions/normalizeMessageAttachments';
import { normalizeMessageFileUpload } from '../../../utils/server/functions/normalizeMessageFileUpload';

callbacks.add('afterSaveMessage', function(message, room) {
// skips this callback if the message was edited
Expand Down Expand Up @@ -29,7 +29,7 @@ callbacks.add('afterSaveMessage', function(message, room) {
}

if (message.file) {
message = normalizeMessageAttachments(message);
message = normalizeMessageFileUpload(message);
}

OmniChannel.reply({
Expand Down
4 changes: 2 additions & 2 deletions app/livechat/server/sendMessageBySMS.js
Expand Up @@ -2,7 +2,7 @@ import { callbacks } from '../../callbacks';
import { settings } from '../../settings';
import { SMS } from '../../sms';
import { LivechatVisitors } from '../../models';
import { normalizeMessageAttachments } from '../../utils/server/functions/normalizeMessageAttachments';
import { normalizeMessageFileUpload } from '../../utils/server/functions/normalizeMessageFileUpload';

callbacks.add('afterSaveMessage', function(message, room) {
// skips this callback if the message was edited
Expand Down Expand Up @@ -31,7 +31,7 @@ callbacks.add('afterSaveMessage', function(message, room) {


if (message.file) {
message = normalizeMessageAttachments(message);
message = normalizeMessageFileUpload(message);
}

const SMSService = SMS.getService(settings.get('SMS_Service'));
Expand Down
18 changes: 0 additions & 18 deletions app/utils/server/functions/normalizeMessageAttachments.js

This file was deleted.

19 changes: 19 additions & 0 deletions app/utils/server/functions/normalizeMessageFileUpload.js
@@ -0,0 +1,19 @@
import { FileUpload } from '../../../file-upload/server';
import { Uploads } from '../../../models/server';
import { settings } from '../../../settings/server';

export const normalizeMessageFileUpload = (message) => {
if (message.file && !message.fileUpload) {
const jwt = FileUpload.generateJWTToFileUrls({ rid: message.rid, userId: message.u._id, fileId: message.file._id });
const file = Uploads.findOne({ _id: message.file._id });
if (!file) {
return message;
}
message.fileUpload = {
publicFilePath: `${ settings.get('Site_Url') }${ FileUpload.getPath(`${ file._id }/${ encodeURI(file.name) }`).substring(1) }${ jwt ? `?token=${ jwt }` : '' }`,
type: file.type,
size: file.size,
};
}
return message;
};

0 comments on commit e0d5153

Please sign in to comment.