fix: convert Response wrapper interfaces to direct array types

Backend APIs return arrays directly, not { data, total } wrappers.
Changed 21 interface declarations to type aliases matching actual
API response format.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
hailin 2026-03-02 09:54:33 -08:00
parent 10e0b0ce29
commit 146d271dc3
20 changed files with 27 additions and 101 deletions

View File

@ -34,10 +34,7 @@ interface HookFormData {
description: string;
}
interface HooksResponse {
data: HookScript[];
total: number;
}
type HooksResponse = HookScript[];
// ---------------------------------------------------------------------------
// Constants

View File

@ -31,10 +31,7 @@ interface SkillFormData {
enabled: boolean;
}
interface SkillsResponse {
data: Skill[];
total: number;
}
type SkillsResponse = Skill[];
// ---------------------------------------------------------------------------
// Constants

View File

@ -21,12 +21,7 @@ interface AuditLog {
detail: Record<string, unknown>;
}
interface AuditLogsResponse {
data: AuditLog[];
total: number;
page: number;
pageSize: number;
}
type AuditLogsResponse = AuditLog[];
interface Filters {
dateFrom: string;

View File

@ -42,14 +42,9 @@ interface SessionEvent {
};
}
interface SessionsResponse {
data: AgentSession[];
total: number;
}
type SessionsResponse = AgentSession[];
interface SessionEventsResponse {
data: SessionEvent[];
}
type SessionEventsResponse = SessionEvent[];
interface Filters {
dateFrom: string;

View File

@ -43,10 +43,7 @@ interface AlertEvent {
resolvedAt?: string;
}
interface AlertEventsResponse {
data: AlertEvent[];
total: number;
}
type AlertEventsResponse = AlertEvent[];
interface AlertRuleFormData {
name: string;

View File

@ -40,10 +40,7 @@ interface AlertRuleFormData {
targetServers: string;
}
interface AlertRulesResponse {
data: AlertRule[];
total: number;
}
type AlertRulesResponse = AlertRule[];
// ---------------------------------------------------------------------------
// Constants

View File

@ -24,10 +24,7 @@ interface HealthCheckResult {
message?: string;
}
interface HealthChecksResponse {
data: HealthCheckResult[];
total: number;
}
type HealthChecksResponse = HealthCheckResult[];
type StatusFilter = 'all' | 'healthy' | 'degraded' | 'down';
type RefreshInterval = 0 | 10 | 30 | 60;

View File

@ -30,14 +30,9 @@ interface ServerMetric {
lastCheckedAt: string;
}
interface MetricsOverviewResponse {
data: MetricsOverview;
}
type MetricsOverviewResponse = MetricsOverview;
interface ServerMetricsResponse {
data: ServerMetric[];
total: number;
}
type ServerMetricsResponse = ServerMetric[];
type EnvironmentFilter = 'all' | 'dev' | 'staging' | 'prod';
type StatusFilter = 'all' | 'online' | 'offline';

View File

@ -22,10 +22,7 @@ interface Credential {
updatedAt: string;
}
interface CredentialsResponse {
data: Credential[];
total: number;
}
type CredentialsResponse = Credential[];
interface CredentialFormData {
name: string;

View File

@ -31,9 +31,7 @@ interface PermissionMatrixEntry {
granted: boolean;
}
interface PermissionsResponse {
data: Permission[];
}
type PermissionsResponse = Permission[];
interface MatrixResponse {
roles: Role[];

View File

@ -26,10 +26,7 @@ interface RiskRuleFormData {
description: string;
}
interface RiskRulesResponse {
data: RiskRule[];
total: number;
}
type RiskRulesResponse = RiskRule[];
type Role = 'admin' | 'operator' | 'viewer' | 'readonly';
type Permission =

View File

@ -29,18 +29,11 @@ interface Role {
createdAt: string;
}
interface RolesResponse {
data: Role[];
total: number;
}
type RolesResponse = Role[];
interface RolePermissionsResponse {
data: Permission[];
}
type RolePermissionsResponse = Permission[];
interface PermissionsListResponse {
data: Permission[];
}
type PermissionsListResponse = Permission[];
interface RoleFormData {
name: string;

View File

@ -62,13 +62,9 @@ interface RecentCommand {
createdAt: string;
}
interface HealthChecksResponse {
data: HealthCheck[];
}
type HealthChecksResponse = HealthCheck[];
interface RecentCommandsResponse {
data: RecentCommand[];
}
type RecentCommandsResponse = RecentCommand[];
// ---------------------------------------------------------------------------
// Status badge

View File

@ -32,15 +32,9 @@ interface Server {
environment: string;
}
interface ClustersResponse {
data: Cluster[];
total: number;
}
type ClustersResponse = Cluster[];
interface ServersResponse {
data: Server[];
total: number;
}
type ServersResponse = Server[];
interface ClusterFormData {
name: string;

View File

@ -32,9 +32,7 @@ interface SessionEvent {
content: string;
}
interface SessionEventsResponse {
data: SessionEvent[];
}
type SessionEventsResponse = SessionEvent[];
interface SessionTask {
id: string;
@ -43,9 +41,7 @@ interface SessionTask {
createdAt: string;
}
interface SessionTasksResponse {
data: SessionTask[];
}
type SessionTasksResponse = SessionTask[];
// ---------------------------------------------------------------------------
// Constants

View File

@ -53,10 +53,7 @@ interface StandingOrderStats {
lastFailureAt?: string;
}
interface ExecutionsResponse {
data: StandingOrderExecution[];
total: number;
}
type ExecutionsResponse = StandingOrderExecution[];
// ---------------------------------------------------------------------------
// Helpers

View File

@ -32,10 +32,7 @@ interface TenantMember {
joinedAt: string;
}
interface TenantMembersResponse {
data: TenantMember[];
total: number;
}
type TenantMembersResponse = TenantMember[];
interface TenantInvite {
id: string;

View File

@ -19,10 +19,7 @@ interface Server {
environment: string;
}
interface ServersResponse {
data: Server[];
total: number;
}
type ServersResponse = Server[];
interface TerminalLine {
id: number;

View File

@ -34,10 +34,7 @@ interface ActivityEntry {
createdAt: string;
}
interface ActivityResponse {
data: ActivityEntry[];
total: number;
}
type ActivityResponse = ActivityEntry[];
interface EditFormData {
displayName: string;

View File

@ -24,10 +24,7 @@ interface User {
createdAt: string;
}
interface UsersResponse {
data: User[];
total: number;
}
type UsersResponse = User[];
interface UserFormData {
displayName: string;