Skip to content

Commit

Permalink
Shortcut for no validation.
Browse files Browse the repository at this point in the history
  • Loading branch information
sarahelsaig committed Jun 11, 2024
1 parent 4ecc45f commit 7d5437a
Showing 1 changed file with 17 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ public static Task<bool> AuthorizeCurrentUserAsync(
/// name="executeAsync"/>.
/// </typeparam>
/// <typeparam name="TResult">The final outcome.</typeparam>
public static async Task<IActionResult> AuthorizeForCurrentUserAndExecuteAsync<TData, TResult>(
public static async Task<IActionResult> AuthorizeForCurrentUserValidateAndExecuteAsync<TData, TResult>(
this IAuthorizationService service,
Controller controller,
IEnumerable<Permission> permissions,
Expand All @@ -66,7 +66,21 @@ public static async Task<IActionResult> AuthorizeForCurrentUserAndExecuteAsync<T
return result is IActionResult actionResult ? actionResult : controller.Ok(result);
}

/// <inheritdoc cref="AuthorizeForCurrentUserAndExecuteAsync{TData,TResult}"/>
/// <inheritdoc cref="AuthorizeForCurrentUserValidateAndExecuteAsync{TData,TResult}"/>
public static Task<IActionResult> AuthorizeForCurrentUserAndExecuteAsync<TResult>(
this IAuthorizationService service,
Controller controller,
IEnumerable<Permission> permissions,
Func<Task<TResult>> executeAsync,
string authenticationScheme = "Api") =>
service.AuthorizeForCurrentUserValidateAndExecuteAsync<object, TResult>(
controller,
permissions,
validateAsync: null,
_ => executeAsync(),
authenticationScheme);

/// <inheritdoc cref="AuthorizeForCurrentUserValidateAndExecuteAsync{TData,TResult}"/>
public static Task<IActionResult> AuthorizeForCurrentUserValidateNotNullAndExecuteAsync<TData, TResult>(
this IAuthorizationService service,
Controller controller,
Expand All @@ -75,7 +89,7 @@ public static Task<IActionResult> AuthorizeForCurrentUserValidateNotNullAndExecu
Func<TData, Task<TResult>> executeAsync,
string authenticationScheme = "Api")
where TData : class =>
service.AuthorizeForCurrentUserAndExecuteAsync(
service.AuthorizeForCurrentUserValidateAndExecuteAsync(
controller,
permissions,
async () => await validateAsync() is { } data ? (true, data) : (false, default),
Expand Down

0 comments on commit 7d5437a

Please sign in to comment.