Files
TaskPool/internal/models/vo/script_vo.go
T
admin e6956aa001 Initial commit: TaskPool React panel
- React frontend with route-level code splitting
- Backend rebranded from Baihu to TaskPool
- DB brand migration script and local compatibility
2026-07-26 08:43:52 +08:00

38 lines
966 B
Go

package vo
import (
"github.com/engigu/taskpool/internal/models"
)
// ScriptVO 脚本视图对象
type ScriptVO struct {
ID string `json:"id"`
Name string `json:"name"`
Content string `json:"content,omitempty"` // 仅在拉取详情时返回
CreatedAt models.LocalTime `json:"created_at"`
UpdatedAt models.LocalTime `json:"updated_at"`
}
// ToScriptVO 将 Script 模型转换为 ScriptVO
func ToScriptVO(script *models.Script) *ScriptVO {
if script == nil {
return nil
}
return &ScriptVO{
ID: script.ID,
Name: script.Name,
Content: string(script.Content),
CreatedAt: script.CreatedAt,
UpdatedAt: script.UpdatedAt,
}
}
// ToScriptVOListFromModels 将 Script 模型列表转换为 ScriptVO 列表
func ToScriptVOListFromModels(scripts []models.Script) []*ScriptVO {
vos := make([]*ScriptVO, len(scripts))
for i := range scripts {
vos[i] = ToScriptVO(&scripts[i])
}
return vos
}