- 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>
46 lines
1.8 KiB
Go
46 lines
1.8 KiB
Go
package model
|
|
|
|
import "time"
|
|
|
|
// JobTemplate represents a saved job template.
|
|
type JobTemplate struct {
|
|
ID int64 `json:"id" gorm:"primaryKey;autoIncrement"`
|
|
Name string `json:"name" gorm:"uniqueIndex;size:255;not null"`
|
|
Description string `json:"description,omitempty" gorm:"type:text"`
|
|
Script string `json:"script" gorm:"type:text;not null"`
|
|
Partition string `json:"partition,omitempty" gorm:"size:255"`
|
|
QOS string `json:"qos,omitempty" gorm:"column:qos;size:255"`
|
|
CPUs int `json:"cpus,omitempty" gorm:"column:cpus"`
|
|
Memory string `json:"memory,omitempty" gorm:"size:50"`
|
|
TimeLimit string `json:"time_limit,omitempty" gorm:"column:time_limit;size:50"`
|
|
CreatedAt time.Time `json:"created_at"`
|
|
UpdatedAt time.Time `json:"updated_at"`
|
|
}
|
|
|
|
// TableName specifies the database table name for GORM.
|
|
func (JobTemplate) TableName() string { return "job_templates" }
|
|
|
|
// CreateTemplateRequest is the API request for creating a template.
|
|
type CreateTemplateRequest struct {
|
|
Name string `json:"name"`
|
|
Description string `json:"description,omitempty"`
|
|
Script string `json:"script"`
|
|
Partition string `json:"partition,omitempty"`
|
|
QOS string `json:"qos,omitempty"`
|
|
CPUs int `json:"cpus,omitempty"`
|
|
Memory string `json:"memory,omitempty"`
|
|
TimeLimit string `json:"time_limit,omitempty"`
|
|
}
|
|
|
|
// UpdateTemplateRequest is the API request for updating a template.
|
|
type UpdateTemplateRequest struct {
|
|
Name string `json:"name,omitempty"`
|
|
Description string `json:"description,omitempty"`
|
|
Script string `json:"script,omitempty"`
|
|
Partition string `json:"partition,omitempty"`
|
|
QOS string `json:"qos,omitempty"`
|
|
CPUs int `json:"cpus,omitempty"`
|
|
Memory string `json:"memory,omitempty"`
|
|
TimeLimit string `json:"time_limit,omitempty"`
|
|
}
|