feat: add vo model

This commit is contained in:
engigu
2026-02-10 17:20:59 +08:00
parent cca069dd98
commit 2aab7e976c
15 changed files with 578 additions and 53 deletions
+45
View File
@@ -0,0 +1,45 @@
package vo
import (
"time"
"github.com/engigu/baihu-panel/internal/models"
)
// DependencyVO 依赖包视图对象
type DependencyVO struct {
ID int `json:"id"`
Name string `json:"name"`
Version string `json:"version"`
Type string `json:"type"`
Remark string `json:"remark"`
Log string `json:"log,omitempty"` // 仅在需要时返回
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
}
// ToDependencyVO 将 Dependency 模型转换为 DependencyVO
func ToDependencyVO(dep *models.Dependency) *DependencyVO {
if dep == nil {
return nil
}
return &DependencyVO{
ID: dep.ID,
Name: dep.Name,
Version: dep.Version,
Type: dep.Type,
Remark: dep.Remark,
Log: dep.Log,
CreatedAt: dep.CreatedAt,
UpdatedAt: dep.UpdatedAt,
}
}
// ToDependencyVOListFromModels 将 Dependency 模型列表转换为 DependencyVO 列表
func ToDependencyVOListFromModels(deps []models.Dependency) []*DependencyVO {
vos := make([]*DependencyVO, len(deps))
for i := range deps {
vos[i] = ToDependencyVO(&deps[i])
}
return vos
}