< Summary

Information
Class: Elsa.Identity.Endpoints.Roles.Delete.RoleDeletionEndpointSupport
Assembly: Elsa.Identity
File(s): /home/runner/work/elsa-core/elsa-core/src/modules/Elsa.Identity/Endpoints/Roles/Delete/RoleDeletionEndpointSupport.cs
Line coverage
0%
Covered lines: 0
Uncovered lines: 22
Coverable lines: 22
Total lines: 48
Line coverage: 0%
Branch coverage
0%
Covered branches: 0
Total branches: 22
Branch coverage: 0%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
SendOperationResultAsync(...)0%272160%
SendInspectionResultAsync()0%4260%
SendNoContentAsync(...)100%210%
SendErrorAsync(...)100%210%

File(s)

/home/runner/work/elsa-core/elsa-core/src/modules/Elsa.Identity/Endpoints/Roles/Delete/RoleDeletionEndpointSupport.cs

#LineLine coverage
 1using Elsa.Identity.Models;
 2using Microsoft.AspNetCore.Http;
 3
 4namespace Elsa.Identity.Endpoints.Roles.Delete;
 5
 6internal static class RoleDeletionEndpointSupport
 7{
 08    public static Task SendOperationResultAsync(HttpContext context, RoleDeletionOperationResult result, CancellationTok
 09    {
 010        RoleDeletionOperationResult.Deleted => SendNoContentAsync(context),
 011        RoleDeletionOperationResult.NotFound => SendErrorAsync(context, StatusCodes.Status404NotFound, "not_found", "The
 012        RoleDeletionOperationResult.Forbidden => SendErrorAsync(context, StatusCodes.Status403Forbidden, "forbidden", "T
 013        RoleDeletionOperationResult.Blocked blocked => SendErrorAsync(context, StatusCodes.Status409Conflict, "conflict"
 014        RoleDeletionOperationResult.PreconditionFailed conflict => SendErrorAsync(context, StatusCodes.Status409Conflict
 015        RoleDeletionOperationResult.ValidationFailed validation => SendErrorAsync(context, StatusCodes.Status400BadReque
 016        RoleDeletionOperationResult.ConfirmationRequired confirmation => SendErrorAsync(context, StatusCodes.Status400Ba
 017        RoleDeletionOperationResult.Incomplete incomplete => SendErrorAsync(context, StatusCodes.Status409Conflict, "con
 018        _ => throw new InvalidOperationException("Unknown role-deletion operation result.")
 019    };
 20
 21    public static async Task SendInspectionResultAsync(HttpContext context, RoleDeletionInspectionResult result, Cancell
 22    {
 23        switch (result)
 24        {
 25            case RoleDeletionInspectionResult.Success success:
 026                await context.Response.WriteAsJsonAsync(RoleDeletionImpactResponse.From(success.Impact), cancellationTok
 027                break;
 28            case RoleDeletionInspectionResult.NotFound:
 029                await SendErrorAsync(context, StatusCodes.Status404NotFound, "not_found", "The role was not found.", nul
 030                break;
 31            case RoleDeletionInspectionResult.Forbidden:
 032                await SendErrorAsync(context, StatusCodes.Status403Forbidden, "forbidden", "The caller may not inspect d
 33                break;
 34        }
 035    }
 36
 37    private static Task SendNoContentAsync(HttpContext context)
 38    {
 039        context.Response.StatusCode = StatusCodes.Status204NoContent;
 040        return Task.CompletedTask;
 41    }
 42
 43    private static Task SendErrorAsync(HttpContext context, int statusCode, string error, string message, object? detail
 44    {
 045        context.Response.StatusCode = statusCode;
 046        return context.Response.WriteAsJsonAsync(new RoleDeletionErrorResponse(error, message, details), cancellationTok
 47    }
 48}