feat: refact id column define

This commit is contained in:
engigu
2026-03-03 17:25:38 +08:00
parent 117ae126f7
commit 4589c64923
62 changed files with 881 additions and 454 deletions
+37 -37
View File
@@ -58,27 +58,27 @@ export const api = {
request('/auth/register', { method: 'POST', body: JSON.stringify(data) })
},
tasks: {
list: (params?: { page?: number; page_size?: number; name?: string; agent_id?: number; tags?: string; type?: string }) => {
list: (params?: { page?: number; page_size?: number; name?: string; agent_id?: string; tags?: string; type?: string }) => {
const query = new URLSearchParams()
if (params?.page) query.set('page', String(params.page))
if (params?.page_size) query.set('page_size', String(params.page_size))
if (params?.name) query.set('name', params.name)
if (params?.tags) query.set('tags', params.tags)
if (params?.agent_id) query.set('agent_id', String(params.agent_id))
if (params?.agent_id) query.set('agent_id', params.agent_id)
if (params?.type) query.set('type', params.type)
return request<TaskListResponse>(`/tasks?${query}`)
},
create: (data: Partial<Task>) => request<Task>('/tasks', { method: 'POST', body: JSON.stringify(data) }),
update: (id: number, data: Partial<Task>) => request<Task>(`/tasks/${id}`, { method: 'PUT', body: JSON.stringify(data) }),
delete: (id: number) => request(`/tasks/${id}`, { method: 'DELETE' }),
execute: (id: number) => request<ExecutionResult>(`/execute/task/${id}`, { method: 'POST' }),
stop: (logID: number) => request(`/tasks/stop/${logID}`, { method: 'POST' })
update: (id: string, data: Partial<Task>) => request<Task>(`/tasks/${id}`, { method: 'PUT', body: JSON.stringify(data) }),
delete: (id: string) => request(`/tasks/${id}`, { method: 'DELETE' }),
execute: (id: string) => request<ExecutionResult>(`/execute/task/${id}`, { method: 'POST' }),
stop: (logID: string) => request(`/tasks/stop/${logID}`, { method: 'POST' })
},
scripts: {
list: () => request<Script[]>('/scripts'),
create: (data: Partial<Script>) => request<Script>('/scripts', { method: 'POST', body: JSON.stringify(data) }),
update: (id: number, data: Partial<Script>) => request<Script>(`/scripts/${id}`, { method: 'PUT', body: JSON.stringify(data) }),
delete: (id: number) => request(`/scripts/${id}`, { method: 'DELETE' })
update: (id: string, data: Partial<Script>) => request<Script>(`/scripts/${id}`, { method: 'PUT', body: JSON.stringify(data) }),
delete: (id: string) => request(`/scripts/${id}`, { method: 'DELETE' })
},
env: {
list: (params?: { page?: number; page_size?: number; name?: string }) => {
@@ -90,27 +90,27 @@ export const api = {
},
all: () => request<EnvVar[]>('/env/all'),
create: (data: Partial<EnvVar>) => request<EnvVar>('/env', { method: 'POST', body: JSON.stringify(data) }),
update: (id: number, data: Partial<EnvVar>) => request<EnvVar>(`/env/${id}`, { method: 'PUT', body: JSON.stringify(data) }),
delete: (id: number) => request(`/env/${id}`, { method: 'DELETE' })
update: (id: string, data: Partial<EnvVar>) => request<EnvVar>(`/env/${id}`, { method: 'PUT', body: JSON.stringify(data) }),
delete: (id: string) => request(`/env/${id}`, { method: 'DELETE' })
},
execute: {
command: (command: string) => request('/execute/command', { method: 'POST', body: JSON.stringify({ command }) }),
results: () => request('/execute/results')
},
logs: {
list: (params?: { page?: number; page_size?: number; task_id?: number; task_name?: string; status?: string }) => {
list: (params?: { page?: number; page_size?: number; task_id?: string; task_name?: string; status?: string }) => {
const query = new URLSearchParams()
if (params?.page) query.set('page', String(params.page))
if (params?.page_size) query.set('page_size', String(params.page_size))
if (params?.task_id) query.set('task_id', String(params.task_id))
if (params?.task_id) query.set('task_id', params.task_id)
if (params?.task_name) query.set('task_name', params.task_name)
if (params?.status) query.set('status', params.status)
return request<LogListResponse>(`/logs?${query}`)
},
get: (id: number) => request<LogDetail>(`/logs/${id}`),
detail: (id: number) => request<LogDetail>(`/logs/${id}`),
delete: (id: number) => request(`/logs/${id}`, { method: 'DELETE' }),
clear: (taskId?: number) => request('/logs/clear', { method: 'POST', body: JSON.stringify({ task_id: taskId }) })
get: (id: string) => request<LogDetail>(`/logs/${id}`),
detail: (id: string) => request<LogDetail>(`/logs/${id}`),
delete: (id: string) => request(`/logs/${id}`, { method: 'DELETE' }),
clear: (taskId?: string) => request('/logs/clear', { method: 'POST', body: JSON.stringify({ task_id: taskId }) })
},
dashboard: {
stats: () => request<Stats>('/stats'),
@@ -217,11 +217,11 @@ export const api = {
},
create: (data: { name: string; version?: string; language: string; lang_version?: string; remark?: string }) =>
request<Dependency>('/deps', { method: 'POST', body: JSON.stringify(data) }),
delete: (id: number) => request(`/deps/${id}`, { method: 'DELETE' }),
delete: (id: string) => request(`/deps/${id}`, { method: 'DELETE' }),
install: (data: any) => request<any>('/deps/install', { method: 'POST', body: JSON.stringify(data) }),
getInstallCmd: (data: any) => request<{ command: string }>('/deps/install-cmd', { method: 'POST', body: JSON.stringify(data) }),
uninstall: (id: number) => request<any>(`/deps/uninstall/${id}`, { method: 'POST' }),
reinstall: (id: number) => request(`/deps/reinstall/${id}`, { method: 'POST' }),
uninstall: (id: string) => request<any>(`/deps/uninstall/${id}`, { method: 'POST' }),
reinstall: (id: string) => request(`/deps/reinstall/${id}`, { method: 'POST' }),
reinstallAll: (language: string, lang_version?: string) => {
const query = new URLSearchParams({ language })
if (lang_version) query.set('lang_version', lang_version)
@@ -241,16 +241,16 @@ export const api = {
agents: {
list: () => request<Agent[]>('/agents'),
getVersion: () => request<{ version: string; platforms: { os: string; arch: string; filename: string }[] }>('/agents/version'),
update: (id: number, data: { name: string; description?: string; enabled: boolean }) =>
update: (id: string, data: { name: string; description?: string; enabled: boolean }) =>
request('/agents/' + id, { method: 'PUT', body: JSON.stringify(data) }),
delete: (id: number) => request('/agents/' + id, { method: 'DELETE' }),
forceUpdate: (id: number) => request('/agents/' + id + '/update', { method: 'POST' }),
delete: (id: string) => request('/agents/' + id, { method: 'DELETE' }),
forceUpdate: (id: string) => request('/agents/' + id + '/update', { method: 'POST' }),
downloadUrl: (os: string, arch: string) => `${API_BASE_URL}/agent/download?os=${os}&arch=${arch}`,
// 令牌管理
listTokens: () => request<AgentToken[]>('/agents/tokens'),
createToken: (data: { remark?: string; max_uses?: number; expires_at?: string }) =>
request<AgentToken>('/agents/tokens', { method: 'POST', body: JSON.stringify(data) }),
deleteToken: (id: number) => request('/agents/tokens/' + id, { method: 'DELETE' })
deleteToken: (id: string) => request('/agents/tokens/' + id, { method: 'DELETE' })
},
mise: {
list: () => request<MiseLanguage[]>('/mise/ls'),
@@ -272,7 +272,7 @@ export interface FileNode {
}
export interface Task {
id: number
id: string
name: string
command: string
tags: string
@@ -288,7 +288,7 @@ export interface Task {
retry_interval: number
random_range: number
languages: { name: string; version: string }[]
agent_id: number | null
agent_id: string | null
enabled: boolean
last_run: string
next_run: string
@@ -308,7 +308,7 @@ export interface RepoConfig {
}
export interface ExecutionResult {
TaskID: number
TaskID: string
Success: boolean
Output: string
Error: string
@@ -324,13 +324,13 @@ export interface TaskListResponse {
}
export interface Script {
id: number
id: string
name: string
content: string
}
export interface EnvVar {
id: number
id: string
name: string
value: string
remark: string
@@ -355,8 +355,8 @@ export interface Stats {
export interface TaskLog {
id: number
task_id: number
id: string
task_id: string
task_name: string
task_type: string
command: string
@@ -376,8 +376,8 @@ export interface LogListResponse {
}
export interface LogDetail {
id: number
task_id: number
id: string
task_id: string
command: string
output: string
error: string | null
@@ -417,7 +417,7 @@ export interface SchedulerSettings {
export interface LoginLog {
id: number
id: string
username: string
ip: string
user_agent: string
@@ -441,13 +441,13 @@ export interface DailyStats {
}
export interface TaskStatsItem {
task_id: number
task_id: string
task_name: string
count: number
}
export interface Dependency {
id: number
id: string
name: string
version: string
language: string
@@ -459,7 +459,7 @@ export interface Dependency {
}
export interface Agent {
id: number
id: string
name: string
token: string
machine_id: string
@@ -478,7 +478,7 @@ export interface Agent {
}
export interface AgentToken {
id: number
id: string
token: string
remark: string
max_uses: number