mirror of
https://github.com/QuantumNous/new-api.git
synced 2026-09-10 22:20:25 +00:00
feat(task): replace built-in task adaptors with a sandboxed JS plugin system (#7076)
This commit is contained in:
+54
-20
@@ -30,26 +30,60 @@ func (t *TaskResponse[T]) IsSuccess() bool {
|
||||
}
|
||||
|
||||
type TaskDto struct {
|
||||
ID int64 `json:"id"`
|
||||
CreatedAt int64 `json:"created_at"`
|
||||
UpdatedAt int64 `json:"updated_at"`
|
||||
TaskID string `json:"task_id"`
|
||||
Platform string `json:"platform"`
|
||||
UserId int `json:"user_id"`
|
||||
Group string `json:"group"`
|
||||
ChannelId int `json:"channel_id"`
|
||||
Quota int `json:"quota"`
|
||||
Action string `json:"action"`
|
||||
Status string `json:"status"`
|
||||
FailReason string `json:"fail_reason"`
|
||||
ResultURL string `json:"result_url,omitempty"` // 任务结果 URL(视频地址等)
|
||||
SubmitTime int64 `json:"submit_time"`
|
||||
StartTime int64 `json:"start_time"`
|
||||
FinishTime int64 `json:"finish_time"`
|
||||
Progress string `json:"progress"`
|
||||
Properties any `json:"properties"`
|
||||
Username string `json:"username,omitempty"`
|
||||
Data json.RawMessage `json:"data"`
|
||||
ID int64 `json:"id"`
|
||||
CreatedAt int64 `json:"created_at"`
|
||||
UpdatedAt int64 `json:"updated_at"`
|
||||
TaskID string `json:"task_id"`
|
||||
Platform string `json:"platform"`
|
||||
UserId int `json:"user_id"`
|
||||
Group string `json:"group"`
|
||||
ChannelId int `json:"channel_id"`
|
||||
Quota int `json:"quota"`
|
||||
Action string `json:"action"`
|
||||
Status string `json:"status"`
|
||||
FailReason string `json:"fail_reason"`
|
||||
ResultURL string `json:"result_url,omitempty"` // 任务结果 URL(视频地址等)
|
||||
LegacyVideoAvailable bool `json:"legacy_video_available,omitempty"`
|
||||
SubmitTime int64 `json:"submit_time"`
|
||||
StartTime int64 `json:"start_time"`
|
||||
FinishTime int64 `json:"finish_time"`
|
||||
Progress string `json:"progress"`
|
||||
Properties any `json:"properties"`
|
||||
Username string `json:"username,omitempty"`
|
||||
Data json.RawMessage `json:"data"`
|
||||
AdminInfo *TaskAdminInfo `json:"admin_info,omitempty"`
|
||||
RootInfo *TaskRootInfo `json:"root_info,omitempty"`
|
||||
}
|
||||
|
||||
type TaskPluginInfo struct {
|
||||
Key string `json:"key"`
|
||||
Name string `json:"name"`
|
||||
Version string `json:"version,omitempty"`
|
||||
Author *TaskPluginAuthorInfo `json:"author,omitempty"`
|
||||
}
|
||||
|
||||
type TaskPluginAuthorInfo struct {
|
||||
Name string `json:"name"`
|
||||
URL string `json:"url,omitempty"`
|
||||
}
|
||||
|
||||
type TaskPluginRuntimeInfo struct {
|
||||
Key string `json:"key"`
|
||||
Version string `json:"version"`
|
||||
APIVersion int `json:"api_version"`
|
||||
Generation uint64 `json:"generation"`
|
||||
}
|
||||
|
||||
type TaskAdminInfo struct {
|
||||
RequestID string `json:"request_id,omitempty"`
|
||||
RequestPath string `json:"request_path,omitempty"`
|
||||
TaskPlugin *TaskPluginInfo `json:"task_plugin,omitempty"`
|
||||
}
|
||||
|
||||
type TaskRootInfo struct {
|
||||
TaskPlugin *TaskPluginRuntimeInfo `json:"task_plugin,omitempty"`
|
||||
UpstreamTaskID string `json:"upstream_task_id,omitempty"`
|
||||
NodeName string `json:"node_name,omitempty"`
|
||||
}
|
||||
|
||||
type FetchReq struct {
|
||||
|
||||
Reference in New Issue
Block a user