264 lines
13 KiB
Go
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))
|
|
}
|
|
}
|