thread-master/apps/backend/generate/api/jobs.api

60 lines
1.5 KiB
Plaintext
Raw Normal View History

2026-07-13 01:15:30 +00:00
syntax = "v1"
type (
JobPublic {
Id string `json:"id"`
TemplateType string `json:"template_type"`
Status string `json:"status"`
ProgressSummary string `json:"progress_summary"`
ProgressPercent int `json:"progress_percent"`
Error string `json:"error,optional"`
// 業務關聯threads 帳號 id、人設 id
RefId string `json:"ref_id,optional"`
// 任務 payload JSON{"username":"x"}
Payload string `json:"payload,optional"`
// 排程執行時間 unix ns0立刻可領
RunAfter int64 `json:"run_after,optional"`
CreatedAt int64 `json:"created_at"`
UpdatedAt int64 `json:"updated_at"`
CompletedAt int64 `json:"completed_at,optional"`
}
JobListData {
List []JobPublic `json:"list"`
}
JobIdPath {
Id string `path:"id"`
}
)
@server (
jwt: Auth
group: jobs
prefix: /api/v1/jobs
middleware: AuthJWT
)
service gateway {
@handler ListJobs
get / returns (JobListData)
@handler GetJob
get /:id (JobIdPath) returns (JobPublic)
// 手動刪除任務(執行中不可刪;終態/已排程可刪)
@handler DeleteJob
delete /:id (JobIdPath) returns (OkData)
}
// 管理員:產生 demo測試任務由 demo-worker 消費)
@server (
jwt: Auth
group: jobs
prefix: /api/v1/jobs
middleware: AuthJWT,AdminAuth
)
service gateway {
@handler StartDemoJob
post /demo returns (JobPublic)
}