diff --git a/apps/meteor/app/api/server/default/info.ts b/apps/meteor/app/api/server/default/info.ts index c70338d71b2..28eea7bb2c8 100644 --- a/apps/meteor/app/api/server/default/info.ts +++ b/apps/meteor/app/api/server/default/info.ts @@ -5,10 +5,10 @@ API.default.addRoute( 'info', { authRequired: false }, { - get() { + async get() { const user = this.getLoggedInUser(); - return API.v1.success(Promise.await(getServerInfo(user?._id))); + return API.v1.success(await getServerInfo(user?._id)); }, }, ); diff --git a/apps/meteor/app/authorization/server/functions/canDeleteMessage.ts b/apps/meteor/app/authorization/server/functions/canDeleteMessage.ts index 5dc3c69d2c9..f4c321750e2 100644 --- a/apps/meteor/app/authorization/server/functions/canDeleteMessage.ts +++ b/apps/meteor/app/authorization/server/functions/canDeleteMessage.ts @@ -9,7 +9,7 @@ const elapsedTime = (ts: number): number => { return Math.round(dif / 1000 / 60); }; -const canDeleteMessageAsync = async (uid: string, { u, rid, ts }: { u: IUser; rid: string; ts: number }): Promise => { +export const canDeleteMessageAsync = async (uid: string, { u, rid, ts }: { u: IUser; rid: string; ts: number }): Promise => { const forceDelete = await hasPermissionAsync(uid, 'force-delete-message', rid); if (forceDelete) { @@ -52,6 +52,3 @@ const canDeleteMessageAsync = async (uid: string, { u, rid, ts }: { u: IUser; ri return true; }; - -export const canDeleteMessage = (uid: string, { u, rid, ts }: { u: IUser; rid: string; ts: number }): boolean => - Promise.await(canDeleteMessageAsync(uid, { u, rid, ts })); diff --git a/apps/meteor/app/lib/server/methods/deleteMessage.ts b/apps/meteor/app/lib/server/methods/deleteMessage.ts index 5f9a9d21138..ca607397648 100644 --- a/apps/meteor/app/lib/server/methods/deleteMessage.ts +++ b/apps/meteor/app/lib/server/methods/deleteMessage.ts @@ -3,7 +3,7 @@ import { Match, check } from 'meteor/check'; import type { IMessage, IUser } from '@rocket.chat/core-typings'; import type { ServerMethods } from '@rocket.chat/ui-contexts'; -import { canDeleteMessage } from '../../../authorization/server/functions/canDeleteMessage'; +import { canDeleteMessageAsync } from '../../../authorization/server/functions/canDeleteMessage'; import { Messages } from '../../../models/server'; import { deleteMessage } from '../functions'; @@ -41,7 +41,7 @@ Meteor.methods({ }, }); - if (!originalMessage || !canDeleteMessage(uid, originalMessage)) { + if (!originalMessage || !(await canDeleteMessageAsync(uid, originalMessage))) { throw new Meteor.Error('error-action-not-allowed', 'Not allowed', { method: 'deleteMessage', action: 'Delete_message',