feat: add vo model
This commit is contained in:
@@ -10,6 +10,7 @@ import (
|
||||
"github.com/engigu/baihu-panel/internal/constant"
|
||||
"github.com/engigu/baihu-panel/internal/logger"
|
||||
"github.com/engigu/baihu-panel/internal/models"
|
||||
"github.com/engigu/baihu-panel/internal/models/vo"
|
||||
"github.com/engigu/baihu-panel/internal/services"
|
||||
"github.com/engigu/baihu-panel/internal/services/tasks"
|
||||
"github.com/engigu/baihu-panel/internal/utils"
|
||||
@@ -43,7 +44,7 @@ func NewAgentController(settingsService *services.SettingsService) *AgentControl
|
||||
// List 获取 Agent 列表
|
||||
func (c *AgentController) List(ctx *gin.Context) {
|
||||
agents := c.agentService.List()
|
||||
utils.Success(ctx, agents)
|
||||
utils.Success(ctx, vo.ToAgentVOListFromModels(agents))
|
||||
}
|
||||
|
||||
// Update 更新 Agent
|
||||
@@ -644,7 +645,7 @@ func (c *AgentController) NotifyTaskUpdate(agentID uint) {
|
||||
// ListTokens 获取令牌列表
|
||||
func (c *AgentController) ListTokens(ctx *gin.Context) {
|
||||
tokens := c.agentService.ListTokens()
|
||||
utils.Success(ctx, tokens)
|
||||
utils.Success(ctx, vo.ToAgentTokenVOListFromModels(tokens))
|
||||
}
|
||||
|
||||
// CreateToken 创建令牌
|
||||
@@ -676,7 +677,7 @@ func (c *AgentController) CreateToken(ctx *gin.Context) {
|
||||
return
|
||||
}
|
||||
|
||||
utils.Success(ctx, token)
|
||||
utils.Success(ctx, vo.ToAgentTokenVO(token))
|
||||
}
|
||||
|
||||
// DeleteToken 删除令牌
|
||||
|
||||
@@ -7,6 +7,7 @@ import (
|
||||
|
||||
"github.com/engigu/baihu-panel/internal/constant"
|
||||
"github.com/engigu/baihu-panel/internal/middleware"
|
||||
"github.com/engigu/baihu-panel/internal/models/vo"
|
||||
"github.com/engigu/baihu-panel/internal/services"
|
||||
"github.com/engigu/baihu-panel/internal/utils"
|
||||
|
||||
@@ -135,5 +136,5 @@ func (ac *AuthController) Register(c *gin.Context) {
|
||||
}
|
||||
|
||||
user := ac.userService.CreateUser(req.Username, req.Email, req.Password, "user")
|
||||
utils.Success(c, user)
|
||||
utils.Success(c, vo.ToUserVO(user))
|
||||
}
|
||||
|
||||
@@ -5,6 +5,7 @@ import (
|
||||
"strings"
|
||||
|
||||
"github.com/engigu/baihu-panel/internal/models"
|
||||
"github.com/engigu/baihu-panel/internal/models/vo"
|
||||
"github.com/engigu/baihu-panel/internal/services"
|
||||
"github.com/engigu/baihu-panel/internal/utils"
|
||||
|
||||
@@ -29,7 +30,11 @@ func (c *DependencyController) List(ctx *gin.Context) {
|
||||
utils.ServerError(ctx, "获取依赖列表失败")
|
||||
return
|
||||
}
|
||||
utils.Success(ctx, deps)
|
||||
vos := vo.ToDependencyVOListFromModels(deps)
|
||||
for i := range vos {
|
||||
vos[i].Log = "" // 列表不返回日志
|
||||
}
|
||||
utils.Success(ctx, vos)
|
||||
}
|
||||
|
||||
// Create 添加依赖
|
||||
@@ -63,7 +68,7 @@ func (c *DependencyController) Create(ctx *gin.Context) {
|
||||
return
|
||||
}
|
||||
|
||||
utils.Success(ctx, dep)
|
||||
utils.Success(ctx, vo.ToDependencyVO(dep))
|
||||
}
|
||||
|
||||
// Delete 删除依赖
|
||||
|
||||
@@ -3,6 +3,7 @@ package controllers
|
||||
import (
|
||||
"strconv"
|
||||
|
||||
"github.com/engigu/baihu-panel/internal/models/vo"
|
||||
"github.com/engigu/baihu-panel/internal/services"
|
||||
"github.com/engigu/baihu-panel/internal/utils"
|
||||
|
||||
@@ -38,7 +39,7 @@ func (ec *EnvController) CreateEnvVar(c *gin.Context) {
|
||||
}
|
||||
|
||||
envVar := ec.envService.CreateEnvVar(req.Name, req.Value, req.Remark, hidden, userID)
|
||||
utils.Success(c, envVar)
|
||||
utils.Success(c, vo.ToEnvVO(envVar))
|
||||
}
|
||||
|
||||
func (ec *EnvController) GetEnvVars(c *gin.Context) {
|
||||
@@ -46,13 +47,13 @@ func (ec *EnvController) GetEnvVars(c *gin.Context) {
|
||||
p := utils.ParsePagination(c)
|
||||
name := c.DefaultQuery("name", "")
|
||||
envVars, total := ec.envService.GetEnvVarsWithPagination(userID, name, p.Page, p.PageSize)
|
||||
utils.PaginatedResponse(c, envVars, total, p)
|
||||
utils.PaginatedResponse(c, vo.ToEnvVOListFromModels(envVars), total, p)
|
||||
}
|
||||
|
||||
func (ec *EnvController) GetAllEnvVars(c *gin.Context) {
|
||||
userID := 1
|
||||
envVars := ec.envService.GetEnvVarsByUserID(userID)
|
||||
utils.Success(c, envVars)
|
||||
utils.Success(c, vo.ToEnvVOListFromModels(envVars))
|
||||
}
|
||||
|
||||
func (ec *EnvController) GetEnvVar(c *gin.Context) {
|
||||
@@ -68,7 +69,7 @@ func (ec *EnvController) GetEnvVar(c *gin.Context) {
|
||||
return
|
||||
}
|
||||
|
||||
utils.Success(c, envVar)
|
||||
utils.Success(c, vo.ToEnvVO(envVar))
|
||||
}
|
||||
|
||||
func (ec *EnvController) UpdateEnvVar(c *gin.Context) {
|
||||
@@ -107,7 +108,7 @@ func (ec *EnvController) UpdateEnvVar(c *gin.Context) {
|
||||
return
|
||||
}
|
||||
|
||||
utils.Success(c, envVar)
|
||||
utils.Success(c, vo.ToEnvVO(envVar))
|
||||
}
|
||||
|
||||
func (ec *EnvController) DeleteEnvVar(c *gin.Context) {
|
||||
|
||||
@@ -3,6 +3,7 @@ package controllers
|
||||
import (
|
||||
"strconv"
|
||||
|
||||
"github.com/engigu/baihu-panel/internal/models/vo"
|
||||
"github.com/engigu/baihu-panel/internal/services/tasks"
|
||||
"github.com/engigu/baihu-panel/internal/utils"
|
||||
|
||||
@@ -24,8 +25,21 @@ func (ec *ExecutorController) ExecuteTask(c *gin.Context) {
|
||||
return
|
||||
}
|
||||
|
||||
result := ec.executorService.ExecuteTask(id)
|
||||
utils.Success(c, result)
|
||||
var req struct {
|
||||
Envs map[string]string `json:"envs"`
|
||||
}
|
||||
// 尝试绑定 JSON 体,但不强制要求
|
||||
_ = c.ShouldBindJSON(&req)
|
||||
|
||||
var extraEnvs []string
|
||||
if req.Envs != nil {
|
||||
for k, v := range req.Envs {
|
||||
extraEnvs = append(extraEnvs, k+"="+v)
|
||||
}
|
||||
}
|
||||
|
||||
result := ec.executorService.ExecuteTask(id, extraEnvs)
|
||||
utils.Success(c, vo.ToExecutionResultVO(result))
|
||||
}
|
||||
|
||||
func (ec *ExecutorController) ExecuteCommand(c *gin.Context) {
|
||||
@@ -39,7 +53,7 @@ func (ec *ExecutorController) ExecuteCommand(c *gin.Context) {
|
||||
}
|
||||
|
||||
result := ec.executorService.ExecuteCommand(req.Command)
|
||||
utils.Success(c, result)
|
||||
utils.Success(c, vo.ToExecutionResultVO(result))
|
||||
}
|
||||
|
||||
func (ec *ExecutorController) GetLastResults(c *gin.Context) {
|
||||
@@ -51,5 +65,5 @@ func (ec *ExecutorController) GetLastResults(c *gin.Context) {
|
||||
}
|
||||
|
||||
results := ec.executorService.GetLastResults(count)
|
||||
utils.Success(c, results)
|
||||
utils.Success(c, vo.ToExecutionResultVOList(results))
|
||||
}
|
||||
|
||||
@@ -5,6 +5,7 @@ import (
|
||||
|
||||
"github.com/engigu/baihu-panel/internal/database"
|
||||
"github.com/engigu/baihu-panel/internal/models"
|
||||
"github.com/engigu/baihu-panel/internal/models/vo"
|
||||
"github.com/engigu/baihu-panel/internal/utils"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
@@ -16,19 +17,6 @@ func NewLogController() *LogController {
|
||||
return &LogController{}
|
||||
}
|
||||
|
||||
type TaskLogResponse struct {
|
||||
ID uint `json:"id"`
|
||||
TaskID uint `json:"task_id"`
|
||||
TaskName string `json:"task_name"`
|
||||
TaskType string `json:"task_type"`
|
||||
Command string `json:"command"`
|
||||
Status string `json:"status"`
|
||||
Duration int64 `json:"duration"`
|
||||
StartTime *models.LocalTime `json:"start_time"`
|
||||
EndTime *models.LocalTime `json:"end_time"`
|
||||
CreatedAt models.LocalTime `json:"created_at"`
|
||||
}
|
||||
|
||||
func (lc *LogController) GetLogs(c *gin.Context) {
|
||||
p := utils.ParsePagination(c)
|
||||
taskID, _ := strconv.Atoi(c.DefaultQuery("task_id", "0"))
|
||||
@@ -49,7 +37,7 @@ func (lc *LogController) GetLogs(c *gin.Context) {
|
||||
if len(taskIDs) > 0 {
|
||||
query = query.Where("task_id IN ?", taskIDs)
|
||||
} else {
|
||||
utils.PaginatedResponse(c, []TaskLogResponse{}, 0, p)
|
||||
utils.PaginatedResponse(c, []vo.TaskLogVO{}, 0, p)
|
||||
return
|
||||
}
|
||||
}
|
||||
@@ -69,18 +57,19 @@ func (lc *LogController) GetLogs(c *gin.Context) {
|
||||
taskMap[t.ID] = t
|
||||
}
|
||||
|
||||
result := make([]TaskLogResponse, len(logs))
|
||||
result := make([]vo.TaskLogVO, len(logs))
|
||||
for i, log := range logs {
|
||||
task := taskMap[log.TaskID]
|
||||
taskType := task.Type
|
||||
if taskType == "" {
|
||||
taskType = "task"
|
||||
}
|
||||
result[i] = TaskLogResponse{
|
||||
result[i] = vo.TaskLogVO{
|
||||
ID: log.ID,
|
||||
TaskID: log.TaskID,
|
||||
TaskName: task.Name,
|
||||
TaskType: taskType,
|
||||
AgentID: log.AgentID,
|
||||
Command: log.Command,
|
||||
Status: log.Status,
|
||||
Duration: log.Duration,
|
||||
@@ -106,15 +95,5 @@ func (lc *LogController) GetLogDetail(c *gin.Context) {
|
||||
return
|
||||
}
|
||||
|
||||
utils.Success(c, gin.H{
|
||||
"id": log.ID,
|
||||
"task_id": log.TaskID,
|
||||
"command": log.Command,
|
||||
"output": log.Output,
|
||||
"status": log.Status,
|
||||
"duration": log.Duration,
|
||||
"start_time": log.StartTime,
|
||||
"end_time": log.EndTime,
|
||||
"created_at": log.CreatedAt,
|
||||
})
|
||||
utils.Success(c, vo.ToTaskLogVO(&log))
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@ package controllers
|
||||
import (
|
||||
"strconv"
|
||||
|
||||
"github.com/engigu/baihu-panel/internal/models/vo"
|
||||
"github.com/engigu/baihu-panel/internal/services"
|
||||
"github.com/engigu/baihu-panel/internal/utils"
|
||||
|
||||
@@ -31,13 +32,17 @@ func (sc *ScriptController) CreateScript(c *gin.Context) {
|
||||
}
|
||||
|
||||
script := sc.scriptService.CreateScript(req.Name, req.Content, userID)
|
||||
utils.Success(c, script)
|
||||
utils.Success(c, vo.ToScriptVO(script))
|
||||
}
|
||||
|
||||
func (sc *ScriptController) GetScripts(c *gin.Context) {
|
||||
userID := 1
|
||||
scripts := sc.scriptService.GetScriptsByUserID(userID)
|
||||
utils.Success(c, scripts)
|
||||
vos := vo.ToScriptVOListFromModels(scripts)
|
||||
for i := range vos {
|
||||
vos[i].Content = "" // 列表不返回内容
|
||||
}
|
||||
utils.Success(c, vos)
|
||||
}
|
||||
|
||||
func (sc *ScriptController) GetScript(c *gin.Context) {
|
||||
@@ -53,7 +58,7 @@ func (sc *ScriptController) GetScript(c *gin.Context) {
|
||||
return
|
||||
}
|
||||
|
||||
utils.Success(c, script)
|
||||
utils.Success(c, vo.ToScriptVO(script))
|
||||
}
|
||||
|
||||
func (sc *ScriptController) UpdateScript(c *gin.Context) {
|
||||
@@ -79,7 +84,7 @@ func (sc *ScriptController) UpdateScript(c *gin.Context) {
|
||||
return
|
||||
}
|
||||
|
||||
utils.Success(c, script)
|
||||
utils.Success(c, vo.ToScriptVO(script))
|
||||
}
|
||||
|
||||
func (sc *ScriptController) DeleteScript(c *gin.Context) {
|
||||
|
||||
@@ -12,6 +12,7 @@ import (
|
||||
"github.com/engigu/baihu-panel/internal/constant"
|
||||
"github.com/engigu/baihu-panel/internal/database"
|
||||
"github.com/engigu/baihu-panel/internal/models"
|
||||
"github.com/engigu/baihu-panel/internal/models/vo"
|
||||
"github.com/engigu/baihu-panel/internal/services"
|
||||
"github.com/engigu/baihu-panel/internal/services/tasks"
|
||||
"github.com/engigu/baihu-panel/internal/utils"
|
||||
@@ -256,7 +257,7 @@ func (sc *SettingsController) GetLoginLogs(c *gin.Context) {
|
||||
}
|
||||
|
||||
utils.Success(c, gin.H{
|
||||
"data": logs,
|
||||
"data": vo.ToLoginLogVOListFromModels(logs),
|
||||
"total": total,
|
||||
"page": page,
|
||||
"page_size": pageSize,
|
||||
|
||||
@@ -5,6 +5,7 @@ import (
|
||||
"strconv"
|
||||
|
||||
"github.com/engigu/baihu-panel/internal/constant"
|
||||
"github.com/engigu/baihu-panel/internal/models/vo"
|
||||
"github.com/engigu/baihu-panel/internal/services"
|
||||
"github.com/engigu/baihu-panel/internal/services/tasks"
|
||||
"github.com/engigu/baihu-panel/internal/utils"
|
||||
@@ -94,7 +95,7 @@ func (tc *TaskController) CreateTask(c *gin.Context) {
|
||||
tc.executorService.AddCronTask(task)
|
||||
}
|
||||
|
||||
utils.Success(c, task)
|
||||
utils.Success(c, vo.ToTaskVO(task))
|
||||
}
|
||||
|
||||
func (tc *TaskController) GetTasks(c *gin.Context) {
|
||||
@@ -111,7 +112,7 @@ func (tc *TaskController) GetTasks(c *gin.Context) {
|
||||
}
|
||||
|
||||
tasks, total := tc.taskService.GetTasksWithPagination(p.Page, p.PageSize, name, agentID)
|
||||
utils.PaginatedResponse(c, tasks, total, p)
|
||||
utils.PaginatedResponse(c, vo.ToTaskVOListFromModels(tasks), total, p)
|
||||
}
|
||||
|
||||
func (tc *TaskController) GetTask(c *gin.Context) {
|
||||
@@ -127,7 +128,7 @@ func (tc *TaskController) GetTask(c *gin.Context) {
|
||||
return
|
||||
}
|
||||
|
||||
utils.Success(c, task)
|
||||
utils.Success(c, vo.ToTaskVO(task))
|
||||
}
|
||||
|
||||
func (tc *TaskController) UpdateTask(c *gin.Context) {
|
||||
@@ -204,7 +205,7 @@ func (tc *TaskController) UpdateTask(c *gin.Context) {
|
||||
}
|
||||
}
|
||||
|
||||
utils.Success(c, task)
|
||||
utils.Success(c, vo.ToTaskVO(task))
|
||||
}
|
||||
|
||||
func (tc *TaskController) DeleteTask(c *gin.Context) {
|
||||
|
||||
Reference in New Issue
Block a user