Skip to content

Workflow#282

Merged
ucswift merged 3 commits intodevelopfrom
workflow
Feb 27, 2026
Merged

Workflow#282
ucswift merged 3 commits intodevelopfrom
workflow

Conversation

@ucswift
Copy link
Member

@ucswift ucswift commented Feb 27, 2026

No description provided.

@request-info
Copy link

request-info bot commented Feb 27, 2026

Thanks for opening this, but we'd appreciate a little more information. Could you update it with more details?

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Feb 27, 2026

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch workflow

Tip

Try Coding Plans. Let us write the prompt for your AI agent so you can ship faster (with fewer bugs).
Share your feedback on Discord.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

[ProducesResponseType(typeof(SendVerificationCodeResult), StatusCodes.Status200OK)]
[ProducesResponseType(StatusCodes.Status400BadRequest)]
[ProducesResponseType(StatusCodes.Status429TooManyRequests)]
public async Task<ActionResult<SendVerificationCodeResult>> SendVerificationCode(

Check failure

Code scanning / CodeQL

Missing cross-site request forgery token validation High

Method 'SendVerificationCode' handles a POST request without performing CSRF token validation.

Copilot Autofix

AI 4 days ago

In general, POST endpoints that can be called from a browser and that perform state‑changing operations should validate an anti‑forgery token (or use another CSRF mitigation). In ASP.NET Core MVC, this is typically done by decorating the action (or controller) with [ValidateAntiForgeryToken] or [AutoValidateAntiforgeryToken] and ensuring the client includes the token with the request.

For this specific method, the minimal change that adds CSRF protection without altering existing business logic is to decorate SendVerificationCode with [ValidateAntiForgeryToken]. ASP.NET Core’s antiforgery attribute lives in Microsoft.AspNetCore.Mvc, which is already imported at the top of the file, so no new using directives are required. The attribute should be added just above the SendVerificationCode action, alongside the existing [HttpPost("SendVerificationCode")] and response type attributes. No changes are needed to the method body.

Concretely:

  • In Web/Resgrid.Web.Services/Controllers/v4/ContactVerificationController.cs, locate the SendVerificationCode action.
  • Add [ValidateAntiForgeryToken] above its signature (after the existing [HttpPost("SendVerificationCode")] is a reasonable place).
  • No other modifications (imports, method definitions, etc.) are necessary in the shown snippet.

Suggested changeset 1
Web/Resgrid.Web.Services/Controllers/v4/ContactVerificationController.cs

Autofix patch

Autofix patch
Run the following command in your local git repository to apply this patch
cat << 'EOF' | git apply
diff --git a/Web/Resgrid.Web.Services/Controllers/v4/ContactVerificationController.cs b/Web/Resgrid.Web.Services/Controllers/v4/ContactVerificationController.cs
--- a/Web/Resgrid.Web.Services/Controllers/v4/ContactVerificationController.cs
+++ b/Web/Resgrid.Web.Services/Controllers/v4/ContactVerificationController.cs
@@ -34,6 +34,7 @@
 		/// Generates and sends a verification code to the specified contact method.
 		/// </summary>
 		[HttpPost("SendVerificationCode")]
+		[ValidateAntiForgeryToken]
 		[ProducesResponseType(typeof(SendVerificationCodeResult), StatusCodes.Status200OK)]
 		[ProducesResponseType(StatusCodes.Status400BadRequest)]
 		[ProducesResponseType(StatusCodes.Status429TooManyRequests)]
EOF
@@ -34,6 +34,7 @@
/// Generates and sends a verification code to the specified contact method.
/// </summary>
[HttpPost("SendVerificationCode")]
[ValidateAntiForgeryToken]
[ProducesResponseType(typeof(SendVerificationCodeResult), StatusCodes.Status200OK)]
[ProducesResponseType(StatusCodes.Status400BadRequest)]
[ProducesResponseType(StatusCodes.Status429TooManyRequests)]
Copilot is powered by AI and may make mistakes. Always verify output.
[HttpPost("ConfirmVerificationCode")]
[ProducesResponseType(typeof(ConfirmVerificationCodeResult), StatusCodes.Status200OK)]
[ProducesResponseType(StatusCodes.Status400BadRequest)]
public async Task<ActionResult<ConfirmVerificationCodeResult>> ConfirmVerificationCode(

Check failure

Code scanning / CodeQL

Missing cross-site request forgery token validation High

Method 'ConfirmVerificationCode' handles a POST request without performing CSRF token validation.

Copilot Autofix

AI 4 days ago

Copilot could not generate an autofix suggestion

Copilot could not generate an autofix suggestion for this alert. Try pushing a new commit or if the problem persists contact support.

[HttpPost("Create")]
[ProducesResponseType(StatusCodes.Status200OK)]
[Authorize(Policy = ResgridResources.WorkflowCredential_Create)]
public async Task<ActionResult<SaveCredentialResult>> Create([FromBody] WorkflowCredentialInput input, CancellationToken ct)

Check failure

Code scanning / CodeQL

Missing cross-site request forgery token validation High

Method 'Create' handles a POST request without performing CSRF token validation.

Copilot Autofix

AI 4 days ago

In general, to fix missing CSRF validation for ASP.NET Core MVC actions, you add an anti-forgery validation attribute (or filter) on each state-changing action method or configure a global filter that enforces validation for all unsafe HTTP methods. For individual methods, this typically means decorating them with [ValidateAntiForgeryToken] when using the built‑in anti‑forgery system. For APIs that are intended to be used from browsers with cookie-based authentication, this ensures that POST requests must include a valid CSRF token.

For this specific method, the minimal, behavior-preserving fix is to add the [ValidateAntiForgeryToken] attribute to the Create action while leaving its logic intact. Since the file already imports Microsoft.AspNetCore.Mvc, where ValidateAntiForgeryTokenAttribute resides, no new using directives are necessary. The attribute should be applied directly above the Create method (typically alongside the existing [HttpPost("Create")], [ProducesResponseType], and [Authorize] attributes). No other methods are shown as flagged, so no further edits are strictly required based on the provided snippet.

Concretely:

  • In Web/Resgrid.Web.Services/Controllers/v4/WorkflowCredentialsController.cs, locate the Create action.
  • Add [ValidateAntiForgeryToken] as a new attribute line above the method signature (e.g., between [ProducesResponseType] and [Authorize], or next to them).
  • No additional imports or helper methods are needed because ValidateAntiForgeryToken is part of Microsoft.AspNetCore.Mvc.
Suggested changeset 1
Web/Resgrid.Web.Services/Controllers/v4/WorkflowCredentialsController.cs

Autofix patch

Autofix patch
Run the following command in your local git repository to apply this patch
cat << 'EOF' | git apply
diff --git a/Web/Resgrid.Web.Services/Controllers/v4/WorkflowCredentialsController.cs b/Web/Resgrid.Web.Services/Controllers/v4/WorkflowCredentialsController.cs
--- a/Web/Resgrid.Web.Services/Controllers/v4/WorkflowCredentialsController.cs
+++ b/Web/Resgrid.Web.Services/Controllers/v4/WorkflowCredentialsController.cs
@@ -67,6 +67,7 @@
 		/// <summary>Creates a new credential. Plaintext secrets are encrypted before storage.</summary>
 		[HttpPost("Create")]
 		[ProducesResponseType(StatusCodes.Status200OK)]
+		[ValidateAntiForgeryToken]
 		[Authorize(Policy = ResgridResources.WorkflowCredential_Create)]
 		public async Task<ActionResult<SaveCredentialResult>> Create([FromBody] WorkflowCredentialInput input, CancellationToken ct)
 		{
EOF
@@ -67,6 +67,7 @@
/// <summary>Creates a new credential. Plaintext secrets are encrypted before storage.</summary>
[HttpPost("Create")]
[ProducesResponseType(StatusCodes.Status200OK)]
[ValidateAntiForgeryToken]
[Authorize(Policy = ResgridResources.WorkflowCredential_Create)]
public async Task<ActionResult<SaveCredentialResult>> Create([FromBody] WorkflowCredentialInput input, CancellationToken ct)
{
Copilot is powered by AI and may make mistakes. Always verify output.
[HttpPost("Save")]
[ProducesResponseType(StatusCodes.Status200OK)]
[Authorize(Policy = ResgridResources.Workflow_Create)]
public async Task<ActionResult<WorkflowDetailResult>> Save([FromBody] SaveWorkflowInput input, CancellationToken ct)

Check failure

Code scanning / CodeQL

Missing cross-site request forgery token validation High

Method 'Save' handles a POST request without performing CSRF token validation.

Copilot Autofix

AI 4 days ago

In general, the fix is to ensure that all state-changing POST actions that are reachable from a browser and rely on cookie-based authentication validate an anti-forgery token. In ASP.NET Core MVC, this is typically done via the [ValidateAntiForgeryToken] attribute on the action (or controller) combined with generating the token in the client (e.g., via form fields or headers).

For this concrete method, the minimal change that does not alter existing business logic is to add the ASP.NET Core anti-forgery validation attribute to the Save action. Since this is an API-style controller, the most appropriate attribute is [ValidateAntiForgeryToken] or (for APIs that send the token in headers) [AutoValidateAntiforgeryToken]. To strictly follow the CodeQL recommendation text you provided (which names [ValidateAntiForgeryToken]), we will add [ValidateAntiForgeryToken] directly above the Save method declaration. No other logic in the body needs to change. The necessary type (ValidateAntiForgeryTokenAttribute) is already available from Microsoft.AspNetCore.Mvc, which is already imported at the top of the file, so no new using statements or packages are required.

Concretely:

  • In Web/Resgrid.Web.Services/Controllers/v4/WorkflowsController.cs, locate the Save action.
  • Add a [ValidateAntiForgeryToken] attribute between [HttpPost("Save")] and [ProducesResponseType(...)] (or adjacent to the other attributes) on that method.
  • No additional methods or definitions are necessary in this file for validation; anti-forgery services are configured in application startup, which we are not modifying here.
Suggested changeset 1
Web/Resgrid.Web.Services/Controllers/v4/WorkflowsController.cs

Autofix patch

Autofix patch
Run the following command in your local git repository to apply this patch
cat << 'EOF' | git apply
diff --git a/Web/Resgrid.Web.Services/Controllers/v4/WorkflowsController.cs b/Web/Resgrid.Web.Services/Controllers/v4/WorkflowsController.cs
--- a/Web/Resgrid.Web.Services/Controllers/v4/WorkflowsController.cs
+++ b/Web/Resgrid.Web.Services/Controllers/v4/WorkflowsController.cs
@@ -72,6 +72,7 @@
 
 		/// <summary>Creates or updates a workflow.</summary>
 		[HttpPost("Save")]
+		[ValidateAntiForgeryToken]
 		[ProducesResponseType(StatusCodes.Status200OK)]
 		[Authorize(Policy = ResgridResources.Workflow_Create)]
 		public async Task<ActionResult<WorkflowDetailResult>> Save([FromBody] SaveWorkflowInput input, CancellationToken ct)
EOF
@@ -72,6 +72,7 @@

/// <summary>Creates or updates a workflow.</summary>
[HttpPost("Save")]
[ValidateAntiForgeryToken]
[ProducesResponseType(StatusCodes.Status200OK)]
[Authorize(Policy = ResgridResources.Workflow_Create)]
public async Task<ActionResult<WorkflowDetailResult>> Save([FromBody] SaveWorkflowInput input, CancellationToken ct)
Copilot is powered by AI and may make mistakes. Always verify output.
[HttpPost("SaveStep")]
[ProducesResponseType(StatusCodes.Status200OK)]
[Authorize(Policy = ResgridResources.Workflow_Create)]
public async Task<ActionResult<WorkflowStepResult>> SaveStep([FromBody] SaveWorkflowStepInput input, CancellationToken ct)

Check failure

Code scanning / CodeQL

Missing cross-site request forgery token validation High

Method 'SaveStep' handles a POST request without performing CSRF token validation.

Copilot Autofix

AI 4 days ago

In general, to fix this kind of issue in ASP.NET Core, you ensure that every state-changing endpoint (especially those using cookie-based authentication) either has explicit CSRF/antiforgery validation (e.g., via [ValidateAntiForgeryToken] or [AutoValidateAntiforgeryToken]) or is clearly excluded because it uses a CSRF-resistant mechanism (e.g., bearer tokens with no cookies). For MVC controllers, the standard approach is to add [ValidateAntiForgeryToken] on each POST/PUT/DELETE action or configure a global filter so that these actions automatically validate the antiforgery token.

For this specific SaveStep method, the smallest and clearest fix without changing existing behavior is to decorate the action with [ValidateAntiForgeryToken]. This keeps the route, parameters, and logic identical, while enforcing that callers provide a valid antiforgery token. ASP.NET Core defines ValidateAntiForgeryTokenAttribute in Microsoft.AspNetCore.Mvc, which is already imported at the top of the file, so no new using directives are required. The attribute should be added alongside the existing [HttpPost("SaveStep")], [ProducesResponseType], and [Authorize] attributes. No changes are needed to the body of SaveStep. If other POST actions in this controller are also browser-exposed, they might deserve similar treatment, but the CodeQL finding is specifically about SaveStep, and we restrict changes to the shown snippet.

Concretely:

  • In Web/Resgrid.Web.Services/Controllers/v4/WorkflowsController.cs, locate the SaveStep action.
  • Add a [ValidateAntiForgeryToken] attribute above the method (typically next to the other attributes).
  • Ensure no additional imports are added, since Microsoft.AspNetCore.Mvc is already present and provides the attribute.
Suggested changeset 1
Web/Resgrid.Web.Services/Controllers/v4/WorkflowsController.cs

Autofix patch

Autofix patch
Run the following command in your local git repository to apply this patch
cat << 'EOF' | git apply
diff --git a/Web/Resgrid.Web.Services/Controllers/v4/WorkflowsController.cs b/Web/Resgrid.Web.Services/Controllers/v4/WorkflowsController.cs
--- a/Web/Resgrid.Web.Services/Controllers/v4/WorkflowsController.cs
+++ b/Web/Resgrid.Web.Services/Controllers/v4/WorkflowsController.cs
@@ -129,6 +129,7 @@
 
 		/// <summary>Saves (creates or updates) a workflow step.</summary>
 		[HttpPost("SaveStep")]
+		[ValidateAntiForgeryToken]
 		[ProducesResponseType(StatusCodes.Status200OK)]
 		[Authorize(Policy = ResgridResources.Workflow_Create)]
 		public async Task<ActionResult<WorkflowStepResult>> SaveStep([FromBody] SaveWorkflowStepInput input, CancellationToken ct)
EOF
@@ -129,6 +129,7 @@

/// <summary>Saves (creates or updates) a workflow step.</summary>
[HttpPost("SaveStep")]
[ValidateAntiForgeryToken]
[ProducesResponseType(StatusCodes.Status200OK)]
[Authorize(Policy = ResgridResources.Workflow_Create)]
public async Task<ActionResult<WorkflowStepResult>> SaveStep([FromBody] SaveWorkflowStepInput input, CancellationToken ct)
Copilot is powered by AI and may make mistakes. Always verify output.
[HttpPost("SaveCredential")]
[ProducesResponseType(StatusCodes.Status200OK)]
[Authorize(Policy = ResgridResources.WorkflowCredential_Create)]
public async Task<ActionResult<SaveCredentialResult>> SaveCredential([FromBody] SaveCredentialInput input, CancellationToken ct)

Check failure

Code scanning / CodeQL

Missing cross-site request forgery token validation High

Method 'SaveCredential' handles a POST request without performing CSRF token validation.

Copilot Autofix

AI 4 days ago

In general, to fix missing CSRF token validation in ASP.NET Core MVC controllers you add the [ValidateAntiForgeryToken] (or [AutoValidateAntiforgeryToken]) attribute to state-changing actions (e.g., POST/PUT/DELETE) that are invoked from browser clients and rely on cookies for authentication. The client must then include a valid anti-forgery token (via form field or header) with each such request.

For this specific issue, the minimal, non-breaking fix is to decorate the SaveCredential POST action with [ValidateAntiForgeryToken]. This keeps existing authorization and business logic intact and simply enforces that any authenticated POST to SaveCredential includes a valid CSRF token. Since the file already imports Microsoft.AspNetCore.Mvc, no additional imports are required; ValidateAntiForgeryTokenAttribute is defined in that namespace. The change is localized to the method’s attribute list, directly above public async Task<ActionResult<SaveCredentialResult>> SaveCredential(...) (around line 203–207 in Web/Resgrid.Web.Services/Controllers/v4/WorkflowsController.cs).

Suggested changeset 1
Web/Resgrid.Web.Services/Controllers/v4/WorkflowsController.cs

Autofix patch

Autofix patch
Run the following command in your local git repository to apply this patch
cat << 'EOF' | git apply
diff --git a/Web/Resgrid.Web.Services/Controllers/v4/WorkflowsController.cs b/Web/Resgrid.Web.Services/Controllers/v4/WorkflowsController.cs
--- a/Web/Resgrid.Web.Services/Controllers/v4/WorkflowsController.cs
+++ b/Web/Resgrid.Web.Services/Controllers/v4/WorkflowsController.cs
@@ -203,6 +203,7 @@
 		[HttpPost("SaveCredential")]
 		[ProducesResponseType(StatusCodes.Status200OK)]
 		[Authorize(Policy = ResgridResources.WorkflowCredential_Create)]
+		[ValidateAntiForgeryToken]
 		public async Task<ActionResult<SaveCredentialResult>> SaveCredential([FromBody] SaveCredentialInput input, CancellationToken ct)
 		{
 			if (!ModelState.IsValid) return BadRequest(ModelState);
EOF
@@ -203,6 +203,7 @@
[HttpPost("SaveCredential")]
[ProducesResponseType(StatusCodes.Status200OK)]
[Authorize(Policy = ResgridResources.WorkflowCredential_Create)]
[ValidateAntiForgeryToken]
public async Task<ActionResult<SaveCredentialResult>> SaveCredential([FromBody] SaveCredentialInput input, CancellationToken ct)
{
if (!ModelState.IsValid) return BadRequest(ModelState);
Copilot is powered by AI and may make mistakes. Always verify output.
[HttpPost("CancelRun/{runId}")]
[ProducesResponseType(StatusCodes.Status200OK)]
[Authorize(Policy = ResgridResources.WorkflowRun_Delete)]
public async Task<ActionResult<DeleteWorkflowResult>> CancelRun(string runId, CancellationToken ct)

Check failure

Code scanning / CodeQL

Missing cross-site request forgery token validation High

Method 'CancelRun' handles a POST request without performing CSRF token validation.

Copilot Autofix

AI 4 days ago

In general, CSRF vulnerabilities in ASP.NET Core MVC/Web API controllers are fixed by ensuring that all state‑changing HTTP endpoints that might be called from a browser validate an antiforgery token. This is typically done either by applying [ValidateAntiForgeryToken]/[AutoValidateAntiforgeryToken] globally or by decorating each sensitive POST/PUT/DELETE action with [ValidateAntiForgeryToken], and ensuring clients send the token in form fields or headers.

For this specific issue, the most targeted and non‑disruptive fix is to decorate the CancelRun action (line 323) with the antiforgery validation attribute. Since we only see this snippet and cannot assume controller‑wide attributes, we will add [ValidateAntiForgeryToken] directly above CancelRun. The file already imports Microsoft.AspNetCore.Mvc, which defines ValidateAntiForgeryTokenAttribute, so no new using directive is needed. No changes to method parameters or logic are required; existing functionality remains the same except that requests must now provide a valid antiforgery token.

Concretely:

  • In Web/Resgrid.Web.Services/Controllers/v4/WorkflowsController.cs, locate the CancelRun action.
  • Add [ValidateAntiForgeryToken] between the existing [Authorize(...)] attribute and the method signature (or anywhere in the attribute list).
  • No additional methods or custom code are needed; we rely on the standard ASP.NET Core antiforgery filter.
Suggested changeset 1
Web/Resgrid.Web.Services/Controllers/v4/WorkflowsController.cs

Autofix patch

Autofix patch
Run the following command in your local git repository to apply this patch
cat << 'EOF' | git apply
diff --git a/Web/Resgrid.Web.Services/Controllers/v4/WorkflowsController.cs b/Web/Resgrid.Web.Services/Controllers/v4/WorkflowsController.cs
--- a/Web/Resgrid.Web.Services/Controllers/v4/WorkflowsController.cs
+++ b/Web/Resgrid.Web.Services/Controllers/v4/WorkflowsController.cs
@@ -320,6 +320,7 @@
 		[HttpPost("CancelRun/{runId}")]
 		[ProducesResponseType(StatusCodes.Status200OK)]
 		[Authorize(Policy = ResgridResources.WorkflowRun_Delete)]
+		[ValidateAntiForgeryToken]
 		public async Task<ActionResult<DeleteWorkflowResult>> CancelRun(string runId, CancellationToken ct)
 		{
 			var run = await _workflowService.GetWorkflowRunByIdAsync(runId, ct);
EOF
@@ -320,6 +320,7 @@
[HttpPost("CancelRun/{runId}")]
[ProducesResponseType(StatusCodes.Status200OK)]
[Authorize(Policy = ResgridResources.WorkflowRun_Delete)]
[ValidateAntiForgeryToken]
public async Task<ActionResult<DeleteWorkflowResult>> CancelRun(string runId, CancellationToken ct)
{
var run = await _workflowService.GetWorkflowRunByIdAsync(runId, ct);
Copilot is powered by AI and may make mistakes. Always verify output.
[HttpPost("ClearPending")]
[ProducesResponseType(StatusCodes.Status200OK)]
[Authorize(Policy = ResgridResources.WorkflowRun_Delete)]
public async Task<ActionResult<DeleteWorkflowResult>> ClearPending(CancellationToken ct)

Check failure

Code scanning / CodeQL

Missing cross-site request forgery token validation High

Method 'ClearPending' handles a POST request without performing CSRF token validation.

Copilot Autofix

AI 4 days ago

In general, to fix missing CSRF validation in ASP.NET Core MVC, state-changing actions (typically POST, PUT, PATCH, DELETE) should be covered by the antiforgery system either by: (1) adding [ValidateAntiForgeryToken] (or [AutoValidateAntiforgeryToken]) on each such action, (2) adding it at the controller level, or (3) registering it as a global filter. The client must also send the antiforgery token with the request, but that is outside the scope of this snippet.

For this specific issue, the minimal, targeted fix is to decorate the ClearPending POST action with [ValidateAntiForgeryToken]. This keeps existing routing and authorization behaviour ([HttpPost("ClearPending")], [Authorize(Policy = ResgridResources.WorkflowRun_Delete)]) unchanged while adding the missing CSRF validation. ASP.NET Core’s antiforgery attributes live in Microsoft.AspNetCore.Mvc, which is already imported at the top of the file, so no new using directives or packages are needed. If other POST actions in this controller (such as CancelRun) are also intended to be called from browser contexts susceptible to CSRF, ideally they would also be annotated or covered by a broader policy, but to address the specific CodeQL finding we only change the ClearPending action signature region in Web/Resgrid.Web.Services/Controllers/v4/WorkflowsController.cs to add one attribute line directly above the method.

Suggested changeset 1
Web/Resgrid.Web.Services/Controllers/v4/WorkflowsController.cs

Autofix patch

Autofix patch
Run the following command in your local git repository to apply this patch
cat << 'EOF' | git apply
diff --git a/Web/Resgrid.Web.Services/Controllers/v4/WorkflowsController.cs b/Web/Resgrid.Web.Services/Controllers/v4/WorkflowsController.cs
--- a/Web/Resgrid.Web.Services/Controllers/v4/WorkflowsController.cs
+++ b/Web/Resgrid.Web.Services/Controllers/v4/WorkflowsController.cs
@@ -335,6 +335,7 @@
 		[HttpPost("ClearPending")]
 		[ProducesResponseType(StatusCodes.Status200OK)]
 		[Authorize(Policy = ResgridResources.WorkflowRun_Delete)]
+		[ValidateAntiForgeryToken]
 		public async Task<ActionResult<DeleteWorkflowResult>> ClearPending(CancellationToken ct)
 		{
 			if (!await CanUserViewWorkflowRunsAsync()) return Forbid();
EOF
@@ -335,6 +335,7 @@
[HttpPost("ClearPending")]
[ProducesResponseType(StatusCodes.Status200OK)]
[Authorize(Policy = ResgridResources.WorkflowRun_Delete)]
[ValidateAntiForgeryToken]
public async Task<ActionResult<DeleteWorkflowResult>> ClearPending(CancellationToken ct)
{
if (!await CanUserViewWorkflowRunsAsync()) return Forbid();
Copilot is powered by AI and may make mistakes. Always verify output.
@ucswift ucswift merged commit d177edb into develop Feb 27, 2026
11 of 14 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant