liuhaijun e94826ce29 add server
Change-Id: I0760f17f6a01c0121b59fcbfafc666032dbc30af
2024-09-19 09:44:15 +00:00

264 lines
13 KiB
Go

package routers
import (
"git.inspur.com/sbg-jszt/cfn/cfn-schedule/config"
"git.inspur.com/sbg-jszt/cfn/cfn-schedule/data"
controllerV1 "git.inspur.com/sbg-jszt/cfn/cfn-schedule/internal/controller/v1"
"git.inspur.com/sbg-jszt/cfn/cfn-schedule/internal/controller/v1/app_manage"
"git.inspur.com/sbg-jszt/cfn/cfn-schedule/internal/controller/v1/app_manage/assets"
"git.inspur.com/sbg-jszt/cfn/cfn-schedule/internal/controller/v1/app_manage/node"
"git.inspur.com/sbg-jszt/cfn/cfn-schedule/internal/controller/v1/app_manage/node/manage"
"git.inspur.com/sbg-jszt/cfn/cfn-schedule/internal/controller/v1/app_manage/node/manage/file"
"git.inspur.com/sbg-jszt/cfn/cfn-schedule/internal/controller/v1/app_manage/node/manage/log"
"git.inspur.com/sbg-jszt/cfn/cfn-schedule/internal/controller/v1/app_manage/node/script"
nodeSystem "git.inspur.com/sbg-jszt/cfn/cfn-schedule/internal/controller/v1/app_manage/node/system"
"git.inspur.com/sbg-jszt/cfn/cfn-schedule/internal/controller/v1/app_manage/outgiving"
"git.inspur.com/sbg-jszt/cfn/cfn-schedule/internal/controller/v1/app_manage/server_script"
"git.inspur.com/sbg-jszt/cfn/cfn-schedule/internal/controller/v1/app_manage/system"
"git.inspur.com/sbg-jszt/cfn/cfn-schedule/internal/socket"
"git.inspur.com/sbg-jszt/cfn/cfn-schedule/internal/socket/handler"
"github.com/gin-gonic/gin"
)
func setApiRoute(r *gin.Engine) {
// version 1
v1 := r.Group("/api/v1")
{
v1.POST("/login", controllerV1.Login)
v1.GET("/login-info", controllerV1.LoginInfo)
v1.POST("/user/page", app_manage.PageUsers)
v1.GET("/user/workspace", app_manage.GetUserWorkSpace)
v1.PUT("/user/workspace", app_manage.EditUserWorkSpace)
//v1.POST("/login", controllerV1.Login)
v1.GET("/hello-world", controllerV1.HelloWorld)
v1.POST("/device/check-health", controllerV1.CheckHeartBeat)
v1.POST("/device/push-baseinfo", controllerV1.PushDeviceInfo)
v1.POST("/device/page-devices", controllerV1.PageDevices)
v1.GET("/device/count-upgrade", controllerV1.CountDeviceUpgrade)
v1.GET("/device/:serialNo", controllerV1.GetDeviceInfo)
v1.GET("/device/:serialNo/configs", controllerV1.ListDeviceConfigs)
v1.POST("/device/create-record", controllerV1.CreateDeviceUpgradeRecord)
v1.POST("/device/:serialNo/upgrade-record", controllerV1.PageDeviceUpgradeRecord)
v1.POST("/device/:serialNo/upgrade", controllerV1.DoDeviceUpgrade)
v1.POST("/device/create-rule", controllerV1.CreateDeviceUpgradeRule)
v1.POST("/device/page-rules", controllerV1.PageDeviceUpgradeRule)
v1.DELETE("/device/delete-rule", controllerV1.DeleteDeviceUpgradeRule)
v1.GET("/agent/list-lastversion", controllerV1.ListLastVersion)
v1.POST("/agent/release", controllerV1.Release)
v1.POST("/agent/page-versions", controllerV1.PageVersions)
v1.POST("/metric/create-rule", controllerV1.CreateMetricRule)
v1.POST("/metric/edit-rule", controllerV1.EditMetricRule)
v1.GET("/metric/:ruleNo", controllerV1.GetMetricRule)
v1.GET("/metric/key/:ruleKey", controllerV1.GetMetricRuleByKey)
v1.POST("/metric/page", controllerV1.PageMetrics)
v1.DELETE("/metric/:ruleNo", controllerV1.DeleteMetric)
v1.DELETE("/metric/delete-batch", controllerV1.DeleteBatchMetric)
v1.GET("/metric/query", controllerV1.QueryMetric)
v1.POST("/metric/query", controllerV1.QueryMetric)
v1.POST("/metric/query/process", controllerV1.QueryProcessMetric)
v1.GET("/metric/query/process-list/:rid", controllerV1.QueryProcessListMetric)
v1.GET("/minio/download/:filename", controllerV1.GetPresignedUrl)
v1.GET("/minio/post-upload/:filename", controllerV1.PostPresignedUrl)
v1.GET("/minio/put-upload/:filename", controllerV1.PutPresignedUrl)
v1.POST("/minio/upload", controllerV1.UploadFile)
v1.GET("/sched/rule/:id", controllerV1.GetSchedRule)
v1.GET("/sched/statistic-rule", controllerV1.StatisticSchedRule)
v1.POST("/sched/create-rule", controllerV1.CreateSchedRule)
v1.PUT("/sched/edit-rule", controllerV1.EditSchedRule)
v1.POST("/sched/page-rules", controllerV1.PageSchedRules)
v1.DELETE("/sched/delete-batch", controllerV1.DeleteSchedRules)
v1.POST("/sched/rule/:id/:option", controllerV1.DoSchedRule)
v1.POST("/sched/page-tasks", controllerV1.PageSchedTasks)
v1.POST("/sched/excel-tasks", controllerV1.ExportSchedTasks)
v1.GET("/sched/task/:id", controllerV1.GetSchedTask)
v1.GET("/sched/task-event/:eventId", controllerV1.GetSchedTaskByEvent)
v1.POST("/sched/task-event/:eventId/trigger", controllerV1.TriggerSchedTask)
v1.POST("/sched/task-event/user-manual/trigger", controllerV1.TriggerSchedTask_UserManual)
v1.POST("/sched/task/:taskId/callback", controllerV1.TaskCallBack)
v1.GET("/sched/task/count-status", controllerV1.CountTaskStatus)
v1.GET("/sched/task/auto-ratio", controllerV1.AutoRatio)
v1.GET("/logs/:serialNo/:comType", controllerV1.GetDeviceLogs)
v1.POST("/event", controllerV1.CreateEvent)
v1.PUT("/event", controllerV1.EditEvent)
v1.GET("/event/:eventId", controllerV1.GetEventById)
v1.GET("/event/name/:eventName", controllerV1.GetEventByName)
v1.POST("/event/page", controllerV1.PageEvents)
v1.DELETE("/event/:eventId", controllerV1.DeleteEvent)
v1.POST("/event/threshold/sync", controllerV1.SyncEventFromThreshold)
v1.POST("/event-record/statistic", controllerV1.EventRecordsStatistic)
v1.GET("/event-record/:eventId", controllerV1.GetEventRecordById)
v1.POST("/event-record/page", controllerV1.PageEventRecords)
v1.POST("/event-record/export", controllerV1.ExportEventRecords)
v1.POST("/history-event-record/statistic", controllerV1.HistoryEventRecordsStatistic)
v1.GET("/history-event-record/:eventId", controllerV1.GetHistoryEventRecordById)
v1.POST("/history-event-record/page", controllerV1.PageHistoryEventRecords)
v1.POST("/history-event-record/export", controllerV1.ExportHistoryEventRecords)
v1.GET("/statistic/device/online", controllerV1.GetDeviceOnlineStatistic)
v1.GET("/statistic/device/usage-rate", controllerV1.GetDeviceUsageRate)
v1.GET("/statistic/device/:serialNo/run-time", controllerV1.GetDeviceRunTime)
v1.GET("/statistic/device/:serialNo/operate_log", controllerV1.GetDeviceOperateLog)
v1.GET("/statistic/device/:serialNo/boot-count", controllerV1.GetDeviceBootCount)
v1.GET("/statistic/device/run-time", controllerV1.GetAllDeviceRunTime)
// 适配算网
v1.GET("/node/serialno", app_manage.GetNodeBySerialNo)
v1.GET("/node/random_ports", app_manage.GetRandomPorts)
// controller.system.WorkspaceController
v1.POST("/system/workspace/list", system.PageWorkspaces)
v1.GET("/system/workspace/list-group", system.ListWorkSpaceGroup)
v1.GET("/system/workspace/list-all", system.ListAllWorkspaces)
v1.POST("/system/workspace/edit", system.EditWorkspace)
v1.GET("/system/workspace/pre_check_delete", system.PreCheckDelete)
v1.DELETE("/system/workspace/:id", system.DeleteWorkspace)
// controller.system.WorkspaceEnvVarController 去掉了 /system/ 前缀
v1.POST("/system/workspace_env/list", system.PageWorkspaceEnvs)
v1.POST("/system/workspace_env/edit", system.EditWorkspaceEnv)
v1.DELETE("/system/workspace_env", system.DeleteWorkspaceEnv)
// controller.node.NodeEditController
v1.GET("/node/list-all", node.GetAllNodesByWorkspaceId)
v1.POST("/node/list", node.PageNodesByWorkspaceId)
v1.GET("/node/list-group", node.ListNodeGroup)
v1.POST("/node/edit", node.EditNode)
v1.DELETE("/node", node.DeleteNode)
v1.POST("/node/unbind", node.UnbindNode)
v1.GET("/node/sync-to-workspace", node.SyncToWorkspace)
v1.POST("/node/sort-item", node.SortItem)
// controller.node.NodeUpdateController
v1.GET("/node/fast-install", node.FastInstallNode)
// EditProjectController
v1.POST("/node/manage/getProjectData", manage.GetProjectData)
v1.POST("/node/manage/project-access-list", manage.ProjectAccessList)
v1.POST("/node/manage/saveProject", manage.SaveProject)
v1.POST("/node/manage/release-outgiving", manage.ReleaseOutgiving)
// projectManageControl
v1.POST("/node/manage/getProjectPort", manage.GetProjectPort)
v1.POST("/node/manage/project_list", manage.PageProject)
v1.POST("/node/manage/deleteProject", manage.DeleteProject)
v1.POST("/node/manage/project/start", manage.StartProject)
v1.POST("/node/manage/project/stop", manage.StopProject)
v1.POST("/node/manage/project/restart", manage.RestartProject)
// ProjectFileControl todo rename_file_folder
v1.POST("/node/manage/file/getFileList", file.GetFileList)
v1.GET("/node/manage/file/generate-sharding-id", file.GenerateShardingId)
v1.POST("/node/manage/file/upload-sharding", file.UploadSharding)
v1.POST("/node/manage/file/sharding-merge", file.ShardingMerge)
v1.POST("/node/manage/file/remote-download", file.RemoteDownload)
v1.POST("/node/manage/file/deleteFile", file.DeleteFile)
v1.GET("/node/manage/file/newFileFolder", file.NewFileFolder)
v1.GET("/node/manage/file/read_file", file.ReadFile)
v1.POST("/node/manage/file/update_config_file", file.UpdateConfigFile)
// logBackController
v1.POST("/node/manage/log/log-size", log.LogSize)
// nodeProjectInfoController
v1.GET("/node/list-project-group", node.ListProjectGroup)
v1.POST("/node/project_list", node.ProjectList)
v1.POST("/node/project_list_all", node.ProjectListAll)
v1.POST("/node/sync_project", node.SyncProject)
v1.GET("/node/clear_all_project", node.ClearAll)
// func.assets.controller.MachineNodeController
v1.POST("/machine/page", assets.PageMachine)
v1.POST("/machine/edit", assets.EditMachine)
v1.POST("/machine/delete", assets.DeleteMachine)
v1.POST("/machine/distribute", assets.Distribute)
v1.GET("/machine/list-group", assets.ListMachineGroup)
v1.GET("/machine/list-template-node", assets.ListTemplateNode)
v1.POST("/machine/white-list", assets.Whitelist)
v1.POST("/machine/save-whitelist", assets.SaveWhitelist)
v1.POST("/machine/config-data", assets.ConfigData)
v1.POST("/machine/config", assets.SaveConfig)
// WhitelistDirectoryController /node/system
v1.POST("/node/system/white-list", nodeSystem.WhiteList)
v1.POST("/node/system/whitelistDirectory_submit", nodeSystem.WhitelistDirectorySubmit)
// node_script_controller
v1.POST("/node/script/list", script.ScriptList)
v1.POST("/node/script/list_all", script.ScriptListAll)
v1.POST("/node/script/save", script.Save)
v1.POST("/node/script/item", script.Item)
v1.POST("/node/script/del", script.Del)
v1.GET("/node/script/sync", script.SyncScript)
v1.POST("/node/script/clear_all", script.ClearAll)
v1.GET("/node/script/unbind", script.Unbind)
// node_script_log_controller
v1.POST("/node/script_log/list", script.ScriptLogList)
v1.POST("/node/script_log/log", script.Log)
v1.POST("/node/script_log/del", script.DelLog)
// controller.outgiving.OutGivingWhitelistController
v1.GET("/outgiving/white-list", outgiving.GetWhiteList)
v1.POST("/outgiving/white-list", outgiving.SaveWhiteList)
// outGivingController
v1.POST("/outgiving/dispatch-list", outgiving.DispatchList)
v1.GET("/outgiving/dispatch-list-all", outgiving.DispatchListAll)
v1.POST("/outgiving/save", outgiving.SaveConnected)
v1.POST("/outgiving/release_del", outgiving.ReleaseDel)
v1.POST("/outgiving/unbind", outgiving.Unbind)
// outGivingProjectEditController
v1.POST("/outgiving/save_project", outgiving.SavePorject)
v1.POST("/outgiving/delete_project", outgiving.DeletePorject)
// outGivingLogController
v1.POST("/outgiving/log_list_data", outgiving.ListData)
v1.GET("/outgiving/exec_logs", outgiving.GetLogsIdByExecId)
// outGivingProjectFileController
v1.POST("/outgiving/getItemData", outgiving.GetItemData)
v1.POST("/outgiving/upload_sharding", outgiving.UploadSharding)
v1.POST("/outgiving/upload_sharding_merge", outgiving.ShardingMerge)
v1.POST("/outgiving/remote_download", outgiving.RemoteDownload)
v1.POST("/outgiving/cancel", outgiving.Cancel)
// script_controller
v1.POST("/script/list", server_script.ScriptList)
v1.GET("/script/list_all", server_script.ScriptListAll)
v1.POST("/script/save", server_script.Save)
v1.GET("/script/get", server_script.Get)
v1.POST("/script/del", server_script.Del)
v1.GET("/script/unbind", server_script.Unbind)
v1.GET("/script/sync_to_workspace", server_script.SyncToWorkspace)
socketRoute := v1.Group("/socket")
{
// 应用WebSocket中间件到特定路由
socketRoute.GET("/console", socket.WsHandshakeInterceptor, handler.ConsoleHandlerInterceptor)
socketRoute.GET("/node/script_run", socket.WsHandshakeInterceptor, handler.NodeScriptHandlerInterceptor)
}
}
if config.Config.CfnConfig.Enable {
//注册的gin的路由
r.POST("run", gin.WrapF(data.Xxljob.RunTask))
r.POST("kill", gin.WrapF(data.Xxljob.KillTask))
r.POST("log", gin.WrapF(data.Xxljob.TaskLog))
r.POST("beat", gin.WrapF(data.Xxljob.Beat))
r.POST("idleBeat", gin.WrapF(data.Xxljob.IdleBeat))
}
}