From 7a8e91e73dc8895053ff000960a9deff8d044fe1 Mon Sep 17 00:00:00 2001 From: Diego Sampaio Date: Tue, 29 Jun 2021 10:22:32 -0300 Subject: [PATCH] Fix prune messages from user --- app/api/server/v1/rooms.js | 37 +++++++++++-------- .../PruneMessages/PruneMessagesWithData.js | 2 +- 2 files changed, 23 insertions(+), 16 deletions(-) diff --git a/app/api/server/v1/rooms.js b/app/api/server/v1/rooms.js index 975780f58e833..bbc23d165e3fc 100644 --- a/app/api/server/v1/rooms.js +++ b/app/api/server/v1/rooms.js @@ -150,30 +150,37 @@ API.v1.addRoute('rooms.cleanHistory', { authRequired: true }, { post() { const findResult = findRoomByIdOrName({ params: this.bodyParams }); - if (!this.bodyParams.latest) { + const { + latest, + oldest, + inclusive = false, + limit, + excludePinned, + filesOnly, + ignoreThreads, + ignoreDiscussion, + users, + } = this.bodyParams; + + if (!latest) { return API.v1.failure('Body parameter "latest" is required.'); } - if (!this.bodyParams.oldest) { + if (!oldest) { return API.v1.failure('Body parameter "oldest" is required.'); } - const latest = new Date(this.bodyParams.latest); - const oldest = new Date(this.bodyParams.oldest); - - const inclusive = this.bodyParams.inclusive || false; - const count = Meteor.runAsUser(this.userId, () => Meteor.call('cleanRoomHistory', { roomId: findResult._id, - latest, - oldest, + latest: new Date(latest), + oldest: new Date(oldest), inclusive, - limit: this.bodyParams.limit, - excludePinned: [true, 'true', 1, '1'].includes(this.bodyParams.excludePinned), - filesOnly: [true, 'true', 1, '1'].includes(this.bodyParams.filesOnly), - ignoreThreads: [true, 'true', 1, '1'].includes(this.bodyParams.ignoreThreads), - ignoreDiscussion: [true, 'true', 1, '1'].includes(this.bodyParams.ignoreDiscussion), - fromUsers: this.bodyParams.users, + limit, + excludePinned: [true, 'true', 1, '1'].includes(excludePinned), + filesOnly: [true, 'true', 1, '1'].includes(filesOnly), + ignoreThreads: [true, 'true', 1, '1'].includes(ignoreThreads), + ignoreDiscussion: [true, 'true', 1, '1'].includes(ignoreDiscussion), + fromUsers: users, })); return API.v1.success({ count }); diff --git a/client/views/room/contextualBar/PruneMessages/PruneMessagesWithData.js b/client/views/room/contextualBar/PruneMessages/PruneMessagesWithData.js index 681aff678fc65..b99dcedc398b0 100644 --- a/client/views/room/contextualBar/PruneMessages/PruneMessagesWithData.js +++ b/client/views/room/contextualBar/PruneMessages/PruneMessagesWithData.js @@ -106,7 +106,7 @@ const PruneMessagesWithData = ({ rid, tabBar }) => { filesOnly: attached, ignoreDiscussion: discussion, ignoreThreads: threads, - fromUsers: users, + users, }); setCounter(count);