e6956aa001
- React frontend with route-level code splitting - Backend rebranded from Baihu to TaskPool - DB brand migration script and local compatibility
38 lines
966 B
Go
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
|
|
}
|