- Remove binding:"required" from model fields that are manually validated in handlers. - Add parentheses to logger compress default to clarify operator precedence. Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
48 lines
1.9 KiB
Go
48 lines
1.9 KiB
Go
package model
|
|
|
|
// SubmitJobRequest is the API request for submitting a job.
|
|
type SubmitJobRequest struct {
|
|
Script string `json:"script"`
|
|
Partition string `json:"partition,omitempty"`
|
|
QOS string `json:"qos,omitempty"`
|
|
CPUs int32 `json:"cpus,omitempty"`
|
|
Memory string `json:"memory,omitempty"`
|
|
TimeLimit string `json:"time_limit,omitempty"`
|
|
JobName string `json:"job_name,omitempty"`
|
|
Environment map[string]string `json:"environment,omitempty"`
|
|
}
|
|
|
|
// JobResponse is the simplified API response for a job.
|
|
type JobResponse struct {
|
|
JobID int32 `json:"job_id"`
|
|
Name string `json:"name"`
|
|
State []string `json:"job_state"`
|
|
Partition string `json:"partition"`
|
|
SubmitTime *int64 `json:"submit_time,omitempty"`
|
|
StartTime *int64 `json:"start_time,omitempty"`
|
|
EndTime *int64 `json:"end_time,omitempty"`
|
|
ExitCode *int32 `json:"exit_code,omitempty"`
|
|
Nodes string `json:"nodes,omitempty"`
|
|
}
|
|
|
|
// JobListResponse is the paginated response for job listings.
|
|
type JobListResponse struct {
|
|
Jobs []JobResponse `json:"jobs"`
|
|
Total int `json:"total"`
|
|
Page int `json:"page"`
|
|
PageSize int `json:"page_size"`
|
|
}
|
|
|
|
// JobHistoryQuery contains query parameters for job history.
|
|
type JobHistoryQuery struct {
|
|
Users string `form:"users" json:"users,omitempty"`
|
|
StartTime string `form:"start_time" json:"start_time,omitempty"`
|
|
EndTime string `form:"end_time" json:"end_time,omitempty"`
|
|
Account string `form:"account" json:"account,omitempty"`
|
|
Partition string `form:"partition" json:"partition,omitempty"`
|
|
State string `form:"state" json:"state,omitempty"`
|
|
JobName string `form:"job_name" json:"job_name,omitempty"`
|
|
Page int `form:"page,default=1" json:"page,omitempty"`
|
|
PageSize int `form:"page_size,default=20" json:"page_size,omitempty"`
|
|
}
|