feat(tests): add Detect Procedure UI, template suggested-procedure editing, lead review panel
Aegis CI / lint-and-test (push) Has been cancelled
Snyk Security Scan / Python vulnerabilities (backend) (push) Has been cancelled
Snyk Security Scan / npm vulnerabilities (frontend) (push) Has been cancelled
Snyk Security Scan / Docker image vulnerabilities (backend) (push) Has been cancelled
Aegis CI / lint-and-test (push) Has been cancelled
Snyk Security Scan / Python vulnerabilities (backend) (push) Has been cancelled
Snyk Security Scan / npm vulnerabilities (frontend) (push) Has been cancelled
Snyk Security Scan / Docker image vulnerabilities (backend) (push) Has been cancelled
Blue Team gets a Detect Procedure textarea in the test detail view, mirroring Red's Attack Procedure field. Template create/edit forms gain a Detect Suggested Procedure field for leads to curate directly. Leads also get a Procedure Suggestions panel on the Tests page, scoped to their own team by the backend, to approve or reject suggestions extracted from submitted rounds.
This commit is contained in:
@@ -0,0 +1,20 @@
|
||||
import client from "./client";
|
||||
import type { ProcedureSuggestion } from "../types/models";
|
||||
|
||||
/** List pending procedure suggestions, scoped to the caller's team (admins see both). */
|
||||
export async function getProcedureSuggestions(): Promise<ProcedureSuggestion[]> {
|
||||
const { data } = await client.get<ProcedureSuggestion[]>("/procedure-suggestions");
|
||||
return data;
|
||||
}
|
||||
|
||||
/** Approve a suggestion — writes it into the template's suggested-procedure field. */
|
||||
export async function approveProcedureSuggestion(id: string): Promise<ProcedureSuggestion> {
|
||||
const { data } = await client.post<ProcedureSuggestion>(`/procedure-suggestions/${id}/approve`);
|
||||
return data;
|
||||
}
|
||||
|
||||
/** Reject a suggestion — the template is left untouched. */
|
||||
export async function rejectProcedureSuggestion(id: string): Promise<ProcedureSuggestion> {
|
||||
const { data } = await client.post<ProcedureSuggestion>(`/procedure-suggestions/${id}/reject`);
|
||||
return data;
|
||||
}
|
||||
Reference in New Issue
Block a user