From 40e51c84dc16a22e7e1602d6ec91285f2b2f233e Mon Sep 17 00:00:00 2001 From: Florian Dupret <34862846+sephrat@users.noreply.github.com> Date: Thu, 11 Nov 2021 10:46:44 +0100 Subject: [PATCH] Refactor CheckCanManageRequest --- src/Ombi.Core/Engine/BaseMediaEngine.cs | 31 ++++++++++++++----------- 1 file changed, 17 insertions(+), 14 deletions(-) diff --git a/src/Ombi.Core/Engine/BaseMediaEngine.cs b/src/Ombi.Core/Engine/BaseMediaEngine.cs index 143a65984..277144ab1 100644 --- a/src/Ombi.Core/Engine/BaseMediaEngine.cs +++ b/src/Ombi.Core/Engine/BaseMediaEngine.cs @@ -79,26 +79,29 @@ namespace Ombi.Core.Engine } protected async Task CheckCanManageRequest(BaseRequest request) { + var errorResult = new RequestEngineResult { + Result = false, + ErrorCode = ErrorCode.NoPermissions + }; + var successResult = new RequestEngineResult { Result = true }; // Admins can always manage requests var isAdmin = await IsInRole(OmbiRoles.PowerUser) || await IsInRole(OmbiRoles.Admin); if (isAdmin) { - return new RequestEngineResult { Result = true }; - } - // Users with 'ManageOwnRequests' can only manage their own requests - var canManageOwnRequests = await IsInRole(OmbiRoles.ManageOwnRequests); - if (canManageOwnRequests) { - var isRequestedBySameUser = ( await GetUser() ).Id == request.RequestedUser?.Id; - if (isRequestedBySameUser) { - return new RequestEngineResult { Result = true }; - } + return successResult; } - return new RequestEngineResult - { - Result = false, - ErrorCode = ErrorCode.NoPermissions - }; + // Users with 'ManageOwnRequests' can only manage their own requests + var canManageOwnRequests = await IsInRole(OmbiRoles.ManageOwnRequests); + if (!canManageOwnRequests) { + return errorResult; + } + var isRequestedBySameUser = ( await GetUser() ).Id == request.RequestedUser?.Id; + if (isRequestedBySameUser) { + return successResult; + } + + return errorResult; } public RequestCountModel RequestCount()