refactor: update approval type annotations and improve code formatting

This commit is contained in:
Abhimanyu Saharan
2026-02-11 20:30:14 +05:30
parent af8a263c27
commit 632e7b6487
3 changed files with 14 additions and 9 deletions

View File

@@ -60,7 +60,6 @@ if TYPE_CHECKING:
from sqlmodel.ext.asyncio.session import AsyncSession from sqlmodel.ext.asyncio.session import AsyncSession
from app.models.activity_events import ActivityEvent from app.models.activity_events import ActivityEvent
from app.models.approvals import Approval
from app.models.board_memory import BoardMemory from app.models.board_memory import BoardMemory
from app.models.board_onboarding import BoardOnboardingSession from app.models.board_onboarding import BoardOnboardingSession
@@ -422,7 +421,7 @@ async def create_approval(
board: Board = BOARD_DEP, board: Board = BOARD_DEP,
session: AsyncSession = SESSION_DEP, session: AsyncSession = SESSION_DEP,
agent_ctx: AgentAuthContext = AGENT_CTX_DEP, agent_ctx: AgentAuthContext = AGENT_CTX_DEP,
) -> Approval: ) -> ApprovalRead:
"""Create a board approval request.""" """Create a board approval request."""
_guard_board_access(agent_ctx, board) _guard_board_access(agent_ctx, board)
return await approvals_api.create_approval( return await approvals_api.create_approval(

View File

@@ -1748,8 +1748,9 @@ export default function BoardDetailPage() {
if (!Array.isArray(value)) return []; if (!Array.isArray(value)) return [];
return value.filter((item): item is string => typeof item === "string"); return value.filter((item): item is string => typeof item === "string");
}; };
const linkedTaskIds = (approval as Approval & { task_ids?: string[] | null }) const linkedTaskIds = (
.task_ids; approval as Approval & { task_ids?: string[] | null }
).task_ids;
const singleTaskId = const singleTaskId =
approval.task_id ?? approval.task_id ??
payloadValue("task_id") ?? payloadValue("task_id") ??
@@ -1764,7 +1765,9 @@ export default function BoardDetailPage() {
]; ];
return [...new Set(merged)]; return [...new Set(merged)];
}; };
return approvals.filter((approval) => taskIdsForApproval(approval).includes(taskId)); return approvals.filter((approval) =>
taskIdsForApproval(approval).includes(taskId),
);
}, [approvals, selectedTask]); }, [approvals, selectedTask]);
const workingAgentIds = useMemo(() => { const workingAgentIds = useMemo(() => {
@@ -2221,8 +2224,9 @@ export default function BoardDetailPage() {
const approvalTaskIds = (approval: Approval) => { const approvalTaskIds = (approval: Approval) => {
const payload = approval.payload ?? {}; const payload = approval.payload ?? {};
const linkedTaskIds = (approval as Approval & { task_ids?: string[] | null }) const linkedTaskIds = (
.task_ids; approval as Approval & { task_ids?: string[] | null }
).task_ids;
const singleTaskId = const singleTaskId =
approval.task_id ?? approval.task_id ??
approvalPayloadValue(payload, "task_id") ?? approvalPayloadValue(payload, "task_id") ??
@@ -2259,7 +2263,8 @@ export default function BoardDetailPage() {
const isAssign = approval.action_type.includes("assign"); const isAssign = approval.action_type.includes("assign");
const rows: Array<{ label: string; value: string }> = []; const rows: Array<{ label: string; value: string }> = [];
if (taskIds.length === 1) rows.push({ label: "Task", value: taskIds[0] }); if (taskIds.length === 1) rows.push({ label: "Task", value: taskIds[0] });
if (taskIds.length > 1) rows.push({ label: "Tasks", value: taskIds.join(", ") }); if (taskIds.length > 1)
rows.push({ label: "Tasks", value: taskIds.join(", ") });
if (isAssign) { if (isAssign) {
rows.push({ rows.push({
label: "Assignee", label: "Assignee",

View File

@@ -190,7 +190,8 @@ const approvalSummary = (approval: Approval, boardLabel?: string | null) => {
const rows: Array<{ label: string; value: string }> = []; const rows: Array<{ label: string; value: string }> = [];
if (boardLabel) rows.push({ label: "Board", value: boardLabel }); if (boardLabel) rows.push({ label: "Board", value: boardLabel });
if (taskIds.length === 1) rows.push({ label: "Task", value: taskIds[0] }); if (taskIds.length === 1) rows.push({ label: "Task", value: taskIds[0] });
if (taskIds.length > 1) rows.push({ label: "Tasks", value: taskIds.join(", ") }); if (taskIds.length > 1)
rows.push({ label: "Tasks", value: taskIds.join(", ") });
if (isAssign) { if (isAssign) {
rows.push({ rows.push({
label: "Assignee", label: "Assignee",