feat: rebuild frontend with react
This commit is contained in:
@@ -0,0 +1,144 @@
|
||||
export type AuthType = 'PASSWORD' | 'PRIVATE_KEY'
|
||||
export type ConnectionSetupMode = 'NONE' | 'PASSWORD_BOOTSTRAP'
|
||||
export type SessionTreeNodeType = 'folder' | 'connection'
|
||||
export type SessionTreeSortMode = 'manual' | 'nameAsc'
|
||||
export type WorkspaceLayout = 'split' | 'terminal' | 'sftp'
|
||||
|
||||
export interface LoginResponse {
|
||||
token: string
|
||||
username: string
|
||||
displayName: string
|
||||
passwordChangeRequired: boolean
|
||||
}
|
||||
|
||||
export interface CurrentUser {
|
||||
username: string
|
||||
displayName: string
|
||||
passwordChangeRequired?: boolean
|
||||
}
|
||||
|
||||
export interface Connection {
|
||||
id: number
|
||||
name: string
|
||||
host: string
|
||||
port: number
|
||||
username: string
|
||||
authType: AuthType
|
||||
createdAt: string
|
||||
updatedAt: string
|
||||
}
|
||||
|
||||
export interface ConnectionCreateRequest {
|
||||
name: string
|
||||
host: string
|
||||
port?: number
|
||||
username: string
|
||||
authType?: AuthType
|
||||
password?: string
|
||||
privateKey?: string
|
||||
passphrase?: string
|
||||
setupMode?: ConnectionSetupMode
|
||||
bootstrapPassword?: string
|
||||
}
|
||||
|
||||
export interface SessionTreeNodePayload {
|
||||
id: string
|
||||
type: SessionTreeNodeType
|
||||
name: string
|
||||
parentId: string | null
|
||||
order: number
|
||||
connectionId?: number
|
||||
expanded?: boolean
|
||||
createdAt: number
|
||||
updatedAt: number
|
||||
}
|
||||
|
||||
export interface SessionTreeLayoutPayload {
|
||||
nodes: SessionTreeNodePayload[]
|
||||
sortMode?: SessionTreeSortMode
|
||||
}
|
||||
|
||||
export interface SftpFileInfo {
|
||||
name: string
|
||||
directory: boolean
|
||||
size: number
|
||||
mtime: number
|
||||
}
|
||||
|
||||
export interface UploadTask {
|
||||
taskId: string
|
||||
status: 'queued' | 'running' | 'success' | 'error'
|
||||
progress: number
|
||||
transferredBytes: number
|
||||
totalBytes: number
|
||||
filename: string
|
||||
error?: string
|
||||
createdAt: number
|
||||
startedAt: number
|
||||
finishedAt: number
|
||||
}
|
||||
|
||||
export interface RemoteTransferTask {
|
||||
taskId: string
|
||||
status: 'queued' | 'running' | 'success' | 'error' | 'cancelled'
|
||||
progress: number
|
||||
transferredBytes: number
|
||||
totalBytes: number
|
||||
error?: string
|
||||
createdAt: number
|
||||
startedAt: number
|
||||
finishedAt: number
|
||||
}
|
||||
|
||||
export interface BatchCommandResult {
|
||||
connectionId: number
|
||||
connectionName: string
|
||||
success: boolean
|
||||
output: string | null
|
||||
error: string | null
|
||||
durationMs: number
|
||||
}
|
||||
|
||||
export interface BatchCommandResponse {
|
||||
command: string
|
||||
total: number
|
||||
successCount: number
|
||||
failureCount: number
|
||||
results: BatchCommandResult[]
|
||||
}
|
||||
|
||||
export interface MonitorMetrics {
|
||||
cpuUsage?: number | null
|
||||
memTotal?: number | null
|
||||
memUsed?: number | null
|
||||
memUsage?: number | null
|
||||
diskUsage?: number | null
|
||||
load1?: number | null
|
||||
cpuCores?: number | null
|
||||
uptime?: string | null
|
||||
}
|
||||
|
||||
export interface WorkspaceTab {
|
||||
id: number
|
||||
name: string
|
||||
connection: Connection
|
||||
}
|
||||
|
||||
export interface TransferTaskItem {
|
||||
id: string
|
||||
label: string
|
||||
status: 'queued' | 'running' | 'success' | 'error' | 'cancelled'
|
||||
progress: number
|
||||
message: string
|
||||
taskId?: string
|
||||
}
|
||||
|
||||
export interface TransferTaskGroup {
|
||||
id: string
|
||||
mode: 'LOCAL_TO_MANY' | 'REMOTE_TO_MANY'
|
||||
title: string
|
||||
status: 'queued' | 'running' | 'success' | 'error' | 'cancelled'
|
||||
progress: number
|
||||
createdAt: string
|
||||
items: TransferTaskItem[]
|
||||
}
|
||||
Reference in New Issue
Block a user