mirror of
https://github.com/1Panel-dev/1Panel.git
synced 2025-02-08 01:20:07 +08:00
fix: 请求路由根据前端目录调整
This commit is contained in:
parent
2adbfa230c
commit
920b5b9452
@ -15,7 +15,7 @@ import (
|
|||||||
// @Param request body dto.BackupOperate true "request"
|
// @Param request body dto.BackupOperate true "request"
|
||||||
// @Success 200
|
// @Success 200
|
||||||
// @Security ApiKeyAuth
|
// @Security ApiKeyAuth
|
||||||
// @Router /backups [post]
|
// @Router /settings/backup [post]
|
||||||
// @x-panel-log {"bodyKeys":["type"],"paramKeys":[],"BeforeFuntions":[],"formatZH":"创建备份账号 [type]","formatEN":"create backup account [type]"}
|
// @x-panel-log {"bodyKeys":["type"],"paramKeys":[],"BeforeFuntions":[],"formatZH":"创建备份账号 [type]","formatEN":"create backup account [type]"}
|
||||||
func (b *BaseApi) CreateBackup(c *gin.Context) {
|
func (b *BaseApi) CreateBackup(c *gin.Context) {
|
||||||
var req dto.BackupOperate
|
var req dto.BackupOperate
|
||||||
@ -41,7 +41,7 @@ func (b *BaseApi) CreateBackup(c *gin.Context) {
|
|||||||
// @Param request body dto.ForBuckets true "request"
|
// @Param request body dto.ForBuckets true "request"
|
||||||
// @Success 200 {anrry} string
|
// @Success 200 {anrry} string
|
||||||
// @Security ApiKeyAuth
|
// @Security ApiKeyAuth
|
||||||
// @Router /backups/search [post]
|
// @Router /settings/backup/search [post]
|
||||||
func (b *BaseApi) ListBuckets(c *gin.Context) {
|
func (b *BaseApi) ListBuckets(c *gin.Context) {
|
||||||
var req dto.ForBuckets
|
var req dto.ForBuckets
|
||||||
if err := c.ShouldBindJSON(&req); err != nil {
|
if err := c.ShouldBindJSON(&req); err != nil {
|
||||||
@ -67,7 +67,7 @@ func (b *BaseApi) ListBuckets(c *gin.Context) {
|
|||||||
// @Param request body dto.BatchDeleteReq true "request"
|
// @Param request body dto.BatchDeleteReq true "request"
|
||||||
// @Success 200
|
// @Success 200
|
||||||
// @Security ApiKeyAuth
|
// @Security ApiKeyAuth
|
||||||
// @Router /backups/del [post]
|
// @Router /settings/backup/del [post]
|
||||||
// @x-panel-log {"bodyKeys":["ids"],"paramKeys":[],"BeforeFuntions":[{"input_colume":"id","input_value":"ids","isList":true,"db":"backup_accounts","output_colume":"type","output_value":"types"}],"formatZH":"删除备份账号 [types]","formatEN":"delete backup account [types]"}
|
// @x-panel-log {"bodyKeys":["ids"],"paramKeys":[],"BeforeFuntions":[{"input_colume":"id","input_value":"ids","isList":true,"db":"backup_accounts","output_colume":"type","output_value":"types"}],"formatZH":"删除备份账号 [types]","formatEN":"delete backup account [types]"}
|
||||||
func (b *BaseApi) DeleteBackup(c *gin.Context) {
|
func (b *BaseApi) DeleteBackup(c *gin.Context) {
|
||||||
var req dto.BatchDeleteReq
|
var req dto.BatchDeleteReq
|
||||||
@ -94,7 +94,7 @@ func (b *BaseApi) DeleteBackup(c *gin.Context) {
|
|||||||
// @Param request body dto.RecordSearch true "request"
|
// @Param request body dto.RecordSearch true "request"
|
||||||
// @Success 200
|
// @Success 200
|
||||||
// @Security ApiKeyAuth
|
// @Security ApiKeyAuth
|
||||||
// @Router /backups/record/search [post]
|
// @Router /settings/backup/record/search [post]
|
||||||
func (b *BaseApi) SearchBackupRecords(c *gin.Context) {
|
func (b *BaseApi) SearchBackupRecords(c *gin.Context) {
|
||||||
var req dto.RecordSearch
|
var req dto.RecordSearch
|
||||||
if err := c.ShouldBindJSON(&req); err != nil {
|
if err := c.ShouldBindJSON(&req); err != nil {
|
||||||
@ -121,7 +121,7 @@ func (b *BaseApi) SearchBackupRecords(c *gin.Context) {
|
|||||||
// @Param request body dto.DownloadRecord true "request"
|
// @Param request body dto.DownloadRecord true "request"
|
||||||
// @Success 200
|
// @Success 200
|
||||||
// @Security ApiKeyAuth
|
// @Security ApiKeyAuth
|
||||||
// @Router /backups/record/download [post]
|
// @Router /settings/backup/record/download [post]
|
||||||
// @x-panel-log {"bodyKeys":["source","fileName"],"paramKeys":[],"BeforeFuntions":[],"formatZH":"下载备份记录 [source][fileName]","formatEN":"download backup records [source][fileName]"}
|
// @x-panel-log {"bodyKeys":["source","fileName"],"paramKeys":[],"BeforeFuntions":[],"formatZH":"下载备份记录 [source][fileName]","formatEN":"download backup records [source][fileName]"}
|
||||||
func (b *BaseApi) DownloadRecord(c *gin.Context) {
|
func (b *BaseApi) DownloadRecord(c *gin.Context) {
|
||||||
var req dto.DownloadRecord
|
var req dto.DownloadRecord
|
||||||
@ -149,7 +149,7 @@ func (b *BaseApi) DownloadRecord(c *gin.Context) {
|
|||||||
// @Param request body dto.BatchDeleteReq true "request"
|
// @Param request body dto.BatchDeleteReq true "request"
|
||||||
// @Success 200
|
// @Success 200
|
||||||
// @Security ApiKeyAuth
|
// @Security ApiKeyAuth
|
||||||
// @Router /backups/record/del [post]
|
// @Router /settings/backup/record/del [post]
|
||||||
// @x-panel-log {"bodyKeys":["ids"],"paramKeys":[],"BeforeFuntions":[{"input_colume":"id","input_value":"ids","isList":true,"db":"backup_records","output_colume":"file_name","output_value":"files"}],"formatZH":"删除备份记录 [files]","formatEN":"delete backup records [files]"}
|
// @x-panel-log {"bodyKeys":["ids"],"paramKeys":[],"BeforeFuntions":[{"input_colume":"id","input_value":"ids","isList":true,"db":"backup_records","output_colume":"file_name","output_value":"files"}],"formatZH":"删除备份记录 [files]","formatEN":"delete backup records [files]"}
|
||||||
func (b *BaseApi) DeleteBackupRecord(c *gin.Context) {
|
func (b *BaseApi) DeleteBackupRecord(c *gin.Context) {
|
||||||
var req dto.BatchDeleteReq
|
var req dto.BatchDeleteReq
|
||||||
@ -176,7 +176,7 @@ func (b *BaseApi) DeleteBackupRecord(c *gin.Context) {
|
|||||||
// @Param request body dto.BackupOperate true "request"
|
// @Param request body dto.BackupOperate true "request"
|
||||||
// @Success 200
|
// @Success 200
|
||||||
// @Security ApiKeyAuth
|
// @Security ApiKeyAuth
|
||||||
// @Router /backups/update [post]
|
// @Router /settings/backup/update [post]
|
||||||
// @x-panel-log {"bodyKeys":["type"],"paramKeys":[],"BeforeFuntions":[],"formatZH":"更新备份账号 [types]","formatEN":"update backup account [types]"}
|
// @x-panel-log {"bodyKeys":["type"],"paramKeys":[],"BeforeFuntions":[],"formatZH":"更新备份账号 [types]","formatEN":"update backup account [types]"}
|
||||||
func (b *BaseApi) UpdateBackup(c *gin.Context) {
|
func (b *BaseApi) UpdateBackup(c *gin.Context) {
|
||||||
var req dto.BackupOperate
|
var req dto.BackupOperate
|
||||||
@ -200,7 +200,7 @@ func (b *BaseApi) UpdateBackup(c *gin.Context) {
|
|||||||
// @Description 获取备份账号列表
|
// @Description 获取备份账号列表
|
||||||
// @Success 200 {anrry} dto.BackupInfo
|
// @Success 200 {anrry} dto.BackupInfo
|
||||||
// @Security ApiKeyAuth
|
// @Security ApiKeyAuth
|
||||||
// @Router /backups/search [get]
|
// @Router /settings/backup/search [get]
|
||||||
func (b *BaseApi) ListBackup(c *gin.Context) {
|
func (b *BaseApi) ListBackup(c *gin.Context) {
|
||||||
data, err := backupService.List()
|
data, err := backupService.List()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -218,7 +218,7 @@ func (b *BaseApi) ListBackup(c *gin.Context) {
|
|||||||
// @Param request body dto.BackupSearchFile true "request"
|
// @Param request body dto.BackupSearchFile true "request"
|
||||||
// @Success 200 {anrry} string
|
// @Success 200 {anrry} string
|
||||||
// @Security ApiKeyAuth
|
// @Security ApiKeyAuth
|
||||||
// @Router /backups/search/files [post]
|
// @Router /settings/backup/search/files [post]
|
||||||
func (b *BaseApi) LoadFilesFromBackup(c *gin.Context) {
|
func (b *BaseApi) LoadFilesFromBackup(c *gin.Context) {
|
||||||
var req dto.BackupSearchFile
|
var req dto.BackupSearchFile
|
||||||
if err := c.ShouldBindJSON(&req); err != nil {
|
if err := c.ShouldBindJSON(&req); err != nil {
|
||||||
|
@ -15,7 +15,7 @@ import (
|
|||||||
// @Param request body dto.CommandOperate true "request"
|
// @Param request body dto.CommandOperate true "request"
|
||||||
// @Success 200
|
// @Success 200
|
||||||
// @Security ApiKeyAuth
|
// @Security ApiKeyAuth
|
||||||
// @Router /commands [post]
|
// @Router /hosts/command [post]
|
||||||
// @x-panel-log {"bodyKeys":["name","command"],"paramKeys":[],"BeforeFuntions":[],"formatZH":"创建快捷命令 [name][command]","formatEN":"create quick command [name][command]"}
|
// @x-panel-log {"bodyKeys":["name","command"],"paramKeys":[],"BeforeFuntions":[],"formatZH":"创建快捷命令 [name][command]","formatEN":"create quick command [name][command]"}
|
||||||
func (b *BaseApi) CreateCommand(c *gin.Context) {
|
func (b *BaseApi) CreateCommand(c *gin.Context) {
|
||||||
var req dto.CommandOperate
|
var req dto.CommandOperate
|
||||||
@ -41,7 +41,7 @@ func (b *BaseApi) CreateCommand(c *gin.Context) {
|
|||||||
// @Param request body dto.SearchWithPage true "request"
|
// @Param request body dto.SearchWithPage true "request"
|
||||||
// @Success 200 {object} dto.PageResult
|
// @Success 200 {object} dto.PageResult
|
||||||
// @Security ApiKeyAuth
|
// @Security ApiKeyAuth
|
||||||
// @Router /commands/search [post]
|
// @Router /hosts/command/search [post]
|
||||||
func (b *BaseApi) SearchCommand(c *gin.Context) {
|
func (b *BaseApi) SearchCommand(c *gin.Context) {
|
||||||
var req dto.SearchWithPage
|
var req dto.SearchWithPage
|
||||||
if err := c.ShouldBindJSON(&req); err != nil {
|
if err := c.ShouldBindJSON(&req); err != nil {
|
||||||
@ -66,7 +66,7 @@ func (b *BaseApi) SearchCommand(c *gin.Context) {
|
|||||||
// @Description 获取快速命令列表
|
// @Description 获取快速命令列表
|
||||||
// @Success 200 {object} dto.CommandInfo
|
// @Success 200 {object} dto.CommandInfo
|
||||||
// @Security ApiKeyAuth
|
// @Security ApiKeyAuth
|
||||||
// @Router /commands [get]
|
// @Router /hosts/command [get]
|
||||||
func (b *BaseApi) ListCommand(c *gin.Context) {
|
func (b *BaseApi) ListCommand(c *gin.Context) {
|
||||||
list, err := commandService.List()
|
list, err := commandService.List()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -84,7 +84,7 @@ func (b *BaseApi) ListCommand(c *gin.Context) {
|
|||||||
// @Param request body dto.BatchDeleteReq true "request"
|
// @Param request body dto.BatchDeleteReq true "request"
|
||||||
// @Success 200
|
// @Success 200
|
||||||
// @Security ApiKeyAuth
|
// @Security ApiKeyAuth
|
||||||
// @Router /commands/del [post]
|
// @Router /hosts/command/del [post]
|
||||||
// @x-panel-log {"bodyKeys":["ids"],"paramKeys":[],"BeforeFuntions":[{"input_colume":"id","input_value":"ids","isList":true,"db":"commands","output_colume":"name","output_value":"names"}],"formatZH":"删除快捷命令 [names]","formatEN":"delete quick command [names]"}
|
// @x-panel-log {"bodyKeys":["ids"],"paramKeys":[],"BeforeFuntions":[{"input_colume":"id","input_value":"ids","isList":true,"db":"commands","output_colume":"name","output_value":"names"}],"formatZH":"删除快捷命令 [names]","formatEN":"delete quick command [names]"}
|
||||||
func (b *BaseApi) DeleteCommand(c *gin.Context) {
|
func (b *BaseApi) DeleteCommand(c *gin.Context) {
|
||||||
var req dto.BatchDeleteReq
|
var req dto.BatchDeleteReq
|
||||||
@ -111,7 +111,7 @@ func (b *BaseApi) DeleteCommand(c *gin.Context) {
|
|||||||
// @Param request body dto.CommandOperate true "request"
|
// @Param request body dto.CommandOperate true "request"
|
||||||
// @Success 200
|
// @Success 200
|
||||||
// @Security ApiKeyAuth
|
// @Security ApiKeyAuth
|
||||||
// @Router /commands/update [post]
|
// @Router /hosts/command/update [post]
|
||||||
// @x-panel-log {"bodyKeys":["name"],"paramKeys":[],"BeforeFuntions":[],"formatZH":"更新快捷命令 [name]","formatEN":"update quick command [name]"}
|
// @x-panel-log {"bodyKeys":["name"],"paramKeys":[],"BeforeFuntions":[],"formatZH":"更新快捷命令 [name]","formatEN":"update quick command [name]"}
|
||||||
func (b *BaseApi) UpdateCommand(c *gin.Context) {
|
func (b *BaseApi) UpdateCommand(c *gin.Context) {
|
||||||
var req dto.CommandOperate
|
var req dto.CommandOperate
|
||||||
|
@ -15,7 +15,7 @@ import (
|
|||||||
// @Param request body dto.GroupOperate true "request"
|
// @Param request body dto.GroupOperate true "request"
|
||||||
// @Success 200
|
// @Success 200
|
||||||
// @Security ApiKeyAuth
|
// @Security ApiKeyAuth
|
||||||
// @Router /groups [post]
|
// @Router /hosts/group [post]
|
||||||
// @x-panel-log {"bodyKeys":["name","type"],"paramKeys":[],"BeforeFuntions":[],"formatZH":"创建组 [name][type]","formatEN":"create group [name][type]"}
|
// @x-panel-log {"bodyKeys":["name","type"],"paramKeys":[],"BeforeFuntions":[],"formatZH":"创建组 [name][type]","formatEN":"create group [name][type]"}
|
||||||
func (b *BaseApi) CreateGroup(c *gin.Context) {
|
func (b *BaseApi) CreateGroup(c *gin.Context) {
|
||||||
var req dto.GroupOperate
|
var req dto.GroupOperate
|
||||||
@ -41,7 +41,7 @@ func (b *BaseApi) CreateGroup(c *gin.Context) {
|
|||||||
// @Param request body dto.OperateByID true "request"
|
// @Param request body dto.OperateByID true "request"
|
||||||
// @Success 200
|
// @Success 200
|
||||||
// @Security ApiKeyAuth
|
// @Security ApiKeyAuth
|
||||||
// @Router /groups/del [post]
|
// @Router /hosts/group/del [post]
|
||||||
// @x-panel-log {"bodyKeys":["id"],"paramKeys":[],"BeforeFuntions":[{"input_colume":"id","input_value":"id","isList":false,"db":"groups","output_colume":"name","output_value":"name"}],"formatZH":"删除组 [name]","formatEN":"delete group [name]"}
|
// @x-panel-log {"bodyKeys":["id"],"paramKeys":[],"BeforeFuntions":[{"input_colume":"id","input_value":"id","isList":false,"db":"groups","output_colume":"name","output_value":"name"}],"formatZH":"删除组 [name]","formatEN":"delete group [name]"}
|
||||||
func (b *BaseApi) DeleteGroup(c *gin.Context) {
|
func (b *BaseApi) DeleteGroup(c *gin.Context) {
|
||||||
var req dto.OperateByID
|
var req dto.OperateByID
|
||||||
@ -68,7 +68,7 @@ func (b *BaseApi) DeleteGroup(c *gin.Context) {
|
|||||||
// @Param request body dto.GroupOperate true "request"
|
// @Param request body dto.GroupOperate true "request"
|
||||||
// @Success 200
|
// @Success 200
|
||||||
// @Security ApiKeyAuth
|
// @Security ApiKeyAuth
|
||||||
// @Router /groups/update [post]
|
// @Router /hosts/group/update [post]
|
||||||
// @x-panel-log {"bodyKeys":["name","type"],"paramKeys":[],"BeforeFuntions":[],"formatZH":"更新组 [name][type]","formatEN":"update group [name][type]"}
|
// @x-panel-log {"bodyKeys":["name","type"],"paramKeys":[],"BeforeFuntions":[],"formatZH":"更新组 [name][type]","formatEN":"update group [name][type]"}
|
||||||
func (b *BaseApi) UpdateGroup(c *gin.Context) {
|
func (b *BaseApi) UpdateGroup(c *gin.Context) {
|
||||||
var req dto.GroupOperate
|
var req dto.GroupOperate
|
||||||
@ -88,28 +88,6 @@ func (b *BaseApi) UpdateGroup(c *gin.Context) {
|
|||||||
helper.SuccessWithData(c, nil)
|
helper.SuccessWithData(c, nil)
|
||||||
}
|
}
|
||||||
|
|
||||||
// @Tags System Group
|
|
||||||
// @Summary Search group info by id
|
|
||||||
// @Description 查询系统组
|
|
||||||
// @Accept json
|
|
||||||
// @Param id path integer true "request"
|
|
||||||
// @Success 200 {object} dto.GroupInfo
|
|
||||||
// @Security ApiKeyAuth
|
|
||||||
// @Router /groups/:id [get]
|
|
||||||
func (b *BaseApi) GetGroupInfo(c *gin.Context) {
|
|
||||||
id, err := helper.GetParamID(c)
|
|
||||||
if err != nil {
|
|
||||||
helper.ErrorWithDetail(c, constant.CodeErrBadRequest, constant.ErrTypeInvalidParams, err)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
group, err := groupService.GetGroupInfo(id)
|
|
||||||
if err != nil {
|
|
||||||
helper.ErrorWithDetail(c, constant.CodeErrInternalServer, constant.ErrTypeInternalServer, err)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
helper.SuccessWithData(c, group)
|
|
||||||
}
|
|
||||||
|
|
||||||
// @Tags System Group
|
// @Tags System Group
|
||||||
// @Summary List groups
|
// @Summary List groups
|
||||||
// @Description 查询系统组
|
// @Description 查询系统组
|
||||||
@ -117,7 +95,7 @@ func (b *BaseApi) GetGroupInfo(c *gin.Context) {
|
|||||||
// @Param request body dto.GroupSearch true "request"
|
// @Param request body dto.GroupSearch true "request"
|
||||||
// @Success 200 {anrry} dto.GroupInfo
|
// @Success 200 {anrry} dto.GroupInfo
|
||||||
// @Security ApiKeyAuth
|
// @Security ApiKeyAuth
|
||||||
// @Router /groups/search [post]
|
// @Router /hosts/group/search [post]
|
||||||
func (b *BaseApi) ListGroup(c *gin.Context) {
|
func (b *BaseApi) ListGroup(c *gin.Context) {
|
||||||
var req dto.GroupSearch
|
var req dto.GroupSearch
|
||||||
if err := c.ShouldBindJSON(&req); err != nil {
|
if err := c.ShouldBindJSON(&req); err != nil {
|
||||||
|
@ -10,7 +10,6 @@ import (
|
|||||||
type GroupService struct{}
|
type GroupService struct{}
|
||||||
|
|
||||||
type IGroupService interface {
|
type IGroupService interface {
|
||||||
GetGroupInfo(id uint) (*dto.GroupInfo, error)
|
|
||||||
List(req dto.GroupSearch) ([]dto.GroupInfo, error)
|
List(req dto.GroupSearch) ([]dto.GroupInfo, error)
|
||||||
Create(groupDto dto.GroupOperate) error
|
Create(groupDto dto.GroupOperate) error
|
||||||
Update(id uint, name string) error
|
Update(id uint, name string) error
|
||||||
@ -21,18 +20,6 @@ func NewIGroupService() IGroupService {
|
|||||||
return &GroupService{}
|
return &GroupService{}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (u *GroupService) GetGroupInfo(id uint) (*dto.GroupInfo, error) {
|
|
||||||
group, err := groupRepo.Get(commonRepo.WithByID(id))
|
|
||||||
if err != nil {
|
|
||||||
return nil, constant.ErrRecordNotFound
|
|
||||||
}
|
|
||||||
var dtoGroup dto.GroupInfo
|
|
||||||
if err := copier.Copy(&dtoGroup, &group); err != nil {
|
|
||||||
return nil, errors.WithMessage(constant.ErrStructTransform, err.Error())
|
|
||||||
}
|
|
||||||
return &dtoGroup, err
|
|
||||||
}
|
|
||||||
|
|
||||||
func (u *GroupService) List(req dto.GroupSearch) ([]dto.GroupInfo, error) {
|
func (u *GroupService) List(req dto.GroupSearch) ([]dto.GroupInfo, error) {
|
||||||
groups, err := groupRepo.GetList(groupRepo.WithByType(req.Type))
|
groups, err := groupRepo.GetList(groupRepo.WithByType(req.Type))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -73,10 +73,7 @@ func Routers() *gin.Engine {
|
|||||||
systemRouter.InitBaseRouter(PrivateGroup)
|
systemRouter.InitBaseRouter(PrivateGroup)
|
||||||
systemRouter.InitDashboardRouter(PrivateGroup)
|
systemRouter.InitDashboardRouter(PrivateGroup)
|
||||||
systemRouter.InitHostRouter(PrivateGroup)
|
systemRouter.InitHostRouter(PrivateGroup)
|
||||||
systemRouter.InitBackupRouter(PrivateGroup)
|
|
||||||
systemRouter.InitGroupRouter(PrivateGroup)
|
|
||||||
systemRouter.InitContainerRouter(PrivateGroup)
|
systemRouter.InitContainerRouter(PrivateGroup)
|
||||||
systemRouter.InitCommandRouter(PrivateGroup)
|
|
||||||
systemRouter.InitTerminalRouter(PrivateGroup)
|
systemRouter.InitTerminalRouter(PrivateGroup)
|
||||||
systemRouter.InitMonitorRouter(PrivateGroup)
|
systemRouter.InitMonitorRouter(PrivateGroup)
|
||||||
systemRouter.InitLogRouter(PrivateGroup)
|
systemRouter.InitLogRouter(PrivateGroup)
|
||||||
|
@ -4,10 +4,7 @@ type RouterGroup struct {
|
|||||||
BaseRouter
|
BaseRouter
|
||||||
DashboardRouter
|
DashboardRouter
|
||||||
HostRouter
|
HostRouter
|
||||||
BackupRouter
|
|
||||||
GroupRouter
|
|
||||||
ContainerRouter
|
ContainerRouter
|
||||||
CommandRouter
|
|
||||||
MonitorRouter
|
MonitorRouter
|
||||||
LogRouter
|
LogRouter
|
||||||
FileRouter
|
FileRouter
|
||||||
|
@ -1,29 +0,0 @@
|
|||||||
package router
|
|
||||||
|
|
||||||
import (
|
|
||||||
v1 "github.com/1Panel-dev/1Panel/backend/app/api/v1"
|
|
||||||
"github.com/1Panel-dev/1Panel/backend/middleware"
|
|
||||||
|
|
||||||
"github.com/gin-gonic/gin"
|
|
||||||
)
|
|
||||||
|
|
||||||
type BackupRouter struct{}
|
|
||||||
|
|
||||||
func (s *BackupRouter) InitBackupRouter(Router *gin.RouterGroup) {
|
|
||||||
baRouter := Router.Group("backups").
|
|
||||||
Use(middleware.JwtAuth()).
|
|
||||||
Use(middleware.SessionAuth()).
|
|
||||||
Use(middleware.PasswordExpired())
|
|
||||||
baseApi := v1.ApiGroupApp.BaseApi
|
|
||||||
{
|
|
||||||
baRouter.GET("/search", baseApi.ListBackup)
|
|
||||||
baRouter.POST("/search/files", baseApi.LoadFilesFromBackup)
|
|
||||||
baRouter.POST("/buckets", baseApi.ListBuckets)
|
|
||||||
baRouter.POST("", baseApi.CreateBackup)
|
|
||||||
baRouter.POST("/del", baseApi.DeleteBackup)
|
|
||||||
baRouter.POST("/update", baseApi.UpdateBackup)
|
|
||||||
baRouter.POST("/record/search", baseApi.SearchBackupRecords)
|
|
||||||
baRouter.POST("/record/download", baseApi.DownloadRecord)
|
|
||||||
baRouter.POST("/record/del", baseApi.DeleteBackupRecord)
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,25 +0,0 @@
|
|||||||
package router
|
|
||||||
|
|
||||||
import (
|
|
||||||
v1 "github.com/1Panel-dev/1Panel/backend/app/api/v1"
|
|
||||||
"github.com/1Panel-dev/1Panel/backend/middleware"
|
|
||||||
|
|
||||||
"github.com/gin-gonic/gin"
|
|
||||||
)
|
|
||||||
|
|
||||||
type CommandRouter struct{}
|
|
||||||
|
|
||||||
func (s *CommandRouter) InitCommandRouter(Router *gin.RouterGroup) {
|
|
||||||
cmdRouter := Router.Group("commands").
|
|
||||||
Use(middleware.JwtAuth()).
|
|
||||||
Use(middleware.SessionAuth()).
|
|
||||||
Use(middleware.PasswordExpired())
|
|
||||||
baseApi := v1.ApiGroupApp.BaseApi
|
|
||||||
{
|
|
||||||
cmdRouter.GET("", baseApi.ListCommand)
|
|
||||||
cmdRouter.POST("", baseApi.CreateCommand)
|
|
||||||
cmdRouter.POST("/del", baseApi.DeleteCommand)
|
|
||||||
cmdRouter.POST("/search", baseApi.SearchCommand)
|
|
||||||
cmdRouter.POST("/update", baseApi.UpdateCommand)
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,25 +0,0 @@
|
|||||||
package router
|
|
||||||
|
|
||||||
import (
|
|
||||||
v1 "github.com/1Panel-dev/1Panel/backend/app/api/v1"
|
|
||||||
"github.com/1Panel-dev/1Panel/backend/middleware"
|
|
||||||
|
|
||||||
"github.com/gin-gonic/gin"
|
|
||||||
)
|
|
||||||
|
|
||||||
type GroupRouter struct{}
|
|
||||||
|
|
||||||
func (s *GroupRouter) InitGroupRouter(Router *gin.RouterGroup) {
|
|
||||||
groupRouter := Router.Group("groups").
|
|
||||||
Use(middleware.JwtAuth()).
|
|
||||||
Use(middleware.SessionAuth()).
|
|
||||||
Use(middleware.PasswordExpired())
|
|
||||||
baseApi := v1.ApiGroupApp.BaseApi
|
|
||||||
{
|
|
||||||
groupRouter.POST("", baseApi.CreateGroup)
|
|
||||||
groupRouter.POST("/del", baseApi.DeleteGroup)
|
|
||||||
groupRouter.POST("/update", baseApi.UpdateGroup)
|
|
||||||
groupRouter.POST("/search", baseApi.ListGroup)
|
|
||||||
groupRouter.GET(":id", baseApi.GetGroupInfo)
|
|
||||||
}
|
|
||||||
}
|
|
@ -23,5 +23,16 @@ func (s *HostRouter) InitHostRouter(Router *gin.RouterGroup) {
|
|||||||
hostRouter.POST("/test/byinfo", baseApi.TestByInfo)
|
hostRouter.POST("/test/byinfo", baseApi.TestByInfo)
|
||||||
hostRouter.POST("/test/byid/:id", baseApi.TestByID)
|
hostRouter.POST("/test/byid/:id", baseApi.TestByID)
|
||||||
hostRouter.GET(":id", baseApi.GetHostInfo)
|
hostRouter.GET(":id", baseApi.GetHostInfo)
|
||||||
|
|
||||||
|
hostRouter.POST("/group", baseApi.CreateGroup)
|
||||||
|
hostRouter.POST("/group/del", baseApi.DeleteGroup)
|
||||||
|
hostRouter.POST("/group/update", baseApi.UpdateGroup)
|
||||||
|
hostRouter.POST("/group/search", baseApi.ListGroup)
|
||||||
|
|
||||||
|
hostRouter.GET("/command", baseApi.ListCommand)
|
||||||
|
hostRouter.POST("/command", baseApi.CreateCommand)
|
||||||
|
hostRouter.POST("/command/del", baseApi.DeleteCommand)
|
||||||
|
hostRouter.POST("/command/search", baseApi.SearchCommand)
|
||||||
|
hostRouter.POST("/command/update", baseApi.UpdateCommand)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -25,6 +25,7 @@ func (s *SettingRouter) InitSettingRouter(Router *gin.RouterGroup) {
|
|||||||
settingRouter.POST("/monitor/clean", baseApi.CleanMonitor)
|
settingRouter.POST("/monitor/clean", baseApi.CleanMonitor)
|
||||||
settingRouter.GET("/mfa", baseApi.GetMFA)
|
settingRouter.GET("/mfa", baseApi.GetMFA)
|
||||||
settingRouter.POST("/mfa/bind", baseApi.MFABind)
|
settingRouter.POST("/mfa/bind", baseApi.MFABind)
|
||||||
|
|
||||||
settingRouter.POST("/snapshot", baseApi.CreateSnapshot)
|
settingRouter.POST("/snapshot", baseApi.CreateSnapshot)
|
||||||
settingRouter.POST("/snapshot/search", baseApi.SearchSnapshot)
|
settingRouter.POST("/snapshot/search", baseApi.SearchSnapshot)
|
||||||
settingRouter.POST("/snapshot/import", baseApi.ImportSnapshot)
|
settingRouter.POST("/snapshot/import", baseApi.ImportSnapshot)
|
||||||
@ -32,6 +33,17 @@ func (s *SettingRouter) InitSettingRouter(Router *gin.RouterGroup) {
|
|||||||
settingRouter.POST("/snapshot/recover", baseApi.RecoverSnapshot)
|
settingRouter.POST("/snapshot/recover", baseApi.RecoverSnapshot)
|
||||||
settingRouter.POST("/snapshot/rollback", baseApi.RollbackSnapshot)
|
settingRouter.POST("/snapshot/rollback", baseApi.RollbackSnapshot)
|
||||||
settingRouter.POST("/snapshot/description/update", baseApi.UpdateSnapDescription)
|
settingRouter.POST("/snapshot/description/update", baseApi.UpdateSnapDescription)
|
||||||
|
|
||||||
|
settingRouter.GET("/backup/search", baseApi.ListBackup)
|
||||||
|
settingRouter.POST("/backup/search/files", baseApi.LoadFilesFromBackup)
|
||||||
|
settingRouter.POST("/backup/buckets", baseApi.ListBuckets)
|
||||||
|
settingRouter.POST("/backup", baseApi.CreateBackup)
|
||||||
|
settingRouter.POST("/backup/del", baseApi.DeleteBackup)
|
||||||
|
settingRouter.POST("/backup/update", baseApi.UpdateBackup)
|
||||||
|
settingRouter.POST("/backup/record/search", baseApi.SearchBackupRecords)
|
||||||
|
settingRouter.POST("/backup/record/download", baseApi.DownloadRecord)
|
||||||
|
settingRouter.POST("/backup/record/del", baseApi.DeleteBackupRecord)
|
||||||
|
|
||||||
settingRouter.POST("/upgrade", baseApi.Upgrade)
|
settingRouter.POST("/upgrade", baseApi.Upgrade)
|
||||||
settingRouter.GET("/upgrade", baseApi.GetUpgradeInfo)
|
settingRouter.GET("/upgrade", baseApi.GetUpgradeInfo)
|
||||||
settingRouter.GET("/basedir", baseApi.LoadBaseDir)
|
settingRouter.GET("/basedir", baseApi.LoadBaseDir)
|
||||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -574,15 +574,6 @@ definitions:
|
|||||||
- type
|
- type
|
||||||
- vars
|
- vars
|
||||||
type: object
|
type: object
|
||||||
dto.GroupInfo:
|
|
||||||
properties:
|
|
||||||
id:
|
|
||||||
type: integer
|
|
||||||
name:
|
|
||||||
type: string
|
|
||||||
type:
|
|
||||||
type: string
|
|
||||||
type: object
|
|
||||||
dto.GroupOperate:
|
dto.GroupOperate:
|
||||||
properties:
|
properties:
|
||||||
id:
|
id:
|
||||||
@ -1284,6 +1275,8 @@ definitions:
|
|||||||
type: object
|
type: object
|
||||||
dto.SettingInfo:
|
dto.SettingInfo:
|
||||||
properties:
|
properties:
|
||||||
|
appStoreVersion:
|
||||||
|
type: string
|
||||||
complexityVerification:
|
complexityVerification:
|
||||||
type: string
|
type: string
|
||||||
dingVars:
|
dingVars:
|
||||||
@ -3201,352 +3194,6 @@ paths:
|
|||||||
summary: Check is First login
|
summary: Check is First login
|
||||||
tags:
|
tags:
|
||||||
- Auth
|
- Auth
|
||||||
/backups:
|
|
||||||
post:
|
|
||||||
consumes:
|
|
||||||
- application/json
|
|
||||||
description: 创建备份账号
|
|
||||||
parameters:
|
|
||||||
- description: request
|
|
||||||
in: body
|
|
||||||
name: request
|
|
||||||
required: true
|
|
||||||
schema:
|
|
||||||
$ref: '#/definitions/dto.BackupOperate'
|
|
||||||
responses:
|
|
||||||
"200":
|
|
||||||
description: ""
|
|
||||||
security:
|
|
||||||
- ApiKeyAuth: []
|
|
||||||
summary: Create backup account
|
|
||||||
tags:
|
|
||||||
- Backup Account
|
|
||||||
x-panel-log:
|
|
||||||
BeforeFuntions: []
|
|
||||||
bodyKeys:
|
|
||||||
- type
|
|
||||||
formatEN: create backup account [type]
|
|
||||||
formatZH: 创建备份账号 [type]
|
|
||||||
paramKeys: []
|
|
||||||
/backups/del:
|
|
||||||
post:
|
|
||||||
consumes:
|
|
||||||
- application/json
|
|
||||||
description: 删除备份账号
|
|
||||||
parameters:
|
|
||||||
- description: request
|
|
||||||
in: body
|
|
||||||
name: request
|
|
||||||
required: true
|
|
||||||
schema:
|
|
||||||
$ref: '#/definitions/dto.BatchDeleteReq'
|
|
||||||
responses:
|
|
||||||
"200":
|
|
||||||
description: ""
|
|
||||||
security:
|
|
||||||
- ApiKeyAuth: []
|
|
||||||
summary: Delete backup account
|
|
||||||
tags:
|
|
||||||
- Backup Account
|
|
||||||
x-panel-log:
|
|
||||||
BeforeFuntions:
|
|
||||||
- db: backup_accounts
|
|
||||||
input_colume: id
|
|
||||||
input_value: ids
|
|
||||||
isList: true
|
|
||||||
output_colume: type
|
|
||||||
output_value: types
|
|
||||||
bodyKeys:
|
|
||||||
- ids
|
|
||||||
formatEN: delete backup account [types]
|
|
||||||
formatZH: 删除备份账号 [types]
|
|
||||||
paramKeys: []
|
|
||||||
/backups/record/del:
|
|
||||||
post:
|
|
||||||
consumes:
|
|
||||||
- application/json
|
|
||||||
description: 删除备份记录
|
|
||||||
parameters:
|
|
||||||
- description: request
|
|
||||||
in: body
|
|
||||||
name: request
|
|
||||||
required: true
|
|
||||||
schema:
|
|
||||||
$ref: '#/definitions/dto.BatchDeleteReq'
|
|
||||||
responses:
|
|
||||||
"200":
|
|
||||||
description: ""
|
|
||||||
security:
|
|
||||||
- ApiKeyAuth: []
|
|
||||||
summary: Delete backup record
|
|
||||||
tags:
|
|
||||||
- Backup Account
|
|
||||||
x-panel-log:
|
|
||||||
BeforeFuntions:
|
|
||||||
- db: backup_records
|
|
||||||
input_colume: id
|
|
||||||
input_value: ids
|
|
||||||
isList: true
|
|
||||||
output_colume: file_name
|
|
||||||
output_value: files
|
|
||||||
bodyKeys:
|
|
||||||
- ids
|
|
||||||
formatEN: delete backup records [files]
|
|
||||||
formatZH: 删除备份记录 [files]
|
|
||||||
paramKeys: []
|
|
||||||
/backups/record/download:
|
|
||||||
post:
|
|
||||||
consumes:
|
|
||||||
- application/json
|
|
||||||
description: 下载备份记录
|
|
||||||
parameters:
|
|
||||||
- description: request
|
|
||||||
in: body
|
|
||||||
name: request
|
|
||||||
required: true
|
|
||||||
schema:
|
|
||||||
$ref: '#/definitions/dto.DownloadRecord'
|
|
||||||
responses:
|
|
||||||
"200":
|
|
||||||
description: ""
|
|
||||||
security:
|
|
||||||
- ApiKeyAuth: []
|
|
||||||
summary: Download backup record
|
|
||||||
tags:
|
|
||||||
- Backup Account
|
|
||||||
x-panel-log:
|
|
||||||
BeforeFuntions: []
|
|
||||||
bodyKeys:
|
|
||||||
- source
|
|
||||||
- fileName
|
|
||||||
formatEN: download backup records [source][fileName]
|
|
||||||
formatZH: 下载备份记录 [source][fileName]
|
|
||||||
paramKeys: []
|
|
||||||
/backups/record/search:
|
|
||||||
post:
|
|
||||||
consumes:
|
|
||||||
- application/json
|
|
||||||
description: 获取备份记录列表分页
|
|
||||||
parameters:
|
|
||||||
- description: request
|
|
||||||
in: body
|
|
||||||
name: request
|
|
||||||
required: true
|
|
||||||
schema:
|
|
||||||
$ref: '#/definitions/dto.RecordSearch'
|
|
||||||
responses:
|
|
||||||
"200":
|
|
||||||
description: ""
|
|
||||||
security:
|
|
||||||
- ApiKeyAuth: []
|
|
||||||
summary: Page backup records
|
|
||||||
tags:
|
|
||||||
- Backup Account
|
|
||||||
/backups/search:
|
|
||||||
get:
|
|
||||||
description: 获取备份账号列表
|
|
||||||
responses:
|
|
||||||
"200":
|
|
||||||
description: OK
|
|
||||||
schema:
|
|
||||||
type: anrry
|
|
||||||
security:
|
|
||||||
- ApiKeyAuth: []
|
|
||||||
summary: List backup accounts
|
|
||||||
tags:
|
|
||||||
- Backup Account
|
|
||||||
post:
|
|
||||||
consumes:
|
|
||||||
- application/json
|
|
||||||
description: 获取 bucket 列表
|
|
||||||
parameters:
|
|
||||||
- description: request
|
|
||||||
in: body
|
|
||||||
name: request
|
|
||||||
required: true
|
|
||||||
schema:
|
|
||||||
$ref: '#/definitions/dto.ForBuckets'
|
|
||||||
responses:
|
|
||||||
"200":
|
|
||||||
description: OK
|
|
||||||
schema:
|
|
||||||
type: anrry
|
|
||||||
security:
|
|
||||||
- ApiKeyAuth: []
|
|
||||||
summary: List buckets
|
|
||||||
tags:
|
|
||||||
- Backup Account
|
|
||||||
/backups/search/files:
|
|
||||||
post:
|
|
||||||
consumes:
|
|
||||||
- application/json
|
|
||||||
description: 获取备份账号内文件列表
|
|
||||||
parameters:
|
|
||||||
- description: request
|
|
||||||
in: body
|
|
||||||
name: request
|
|
||||||
required: true
|
|
||||||
schema:
|
|
||||||
$ref: '#/definitions/dto.BackupSearchFile'
|
|
||||||
responses:
|
|
||||||
"200":
|
|
||||||
description: OK
|
|
||||||
schema:
|
|
||||||
type: anrry
|
|
||||||
security:
|
|
||||||
- ApiKeyAuth: []
|
|
||||||
summary: List files from backup accounts
|
|
||||||
tags:
|
|
||||||
- Backup Account
|
|
||||||
/backups/update:
|
|
||||||
post:
|
|
||||||
consumes:
|
|
||||||
- application/json
|
|
||||||
description: 更新备份账号信息
|
|
||||||
parameters:
|
|
||||||
- description: request
|
|
||||||
in: body
|
|
||||||
name: request
|
|
||||||
required: true
|
|
||||||
schema:
|
|
||||||
$ref: '#/definitions/dto.BackupOperate'
|
|
||||||
responses:
|
|
||||||
"200":
|
|
||||||
description: ""
|
|
||||||
security:
|
|
||||||
- ApiKeyAuth: []
|
|
||||||
summary: Update backup account
|
|
||||||
tags:
|
|
||||||
- Backup Account
|
|
||||||
x-panel-log:
|
|
||||||
BeforeFuntions: []
|
|
||||||
bodyKeys:
|
|
||||||
- type
|
|
||||||
formatEN: update backup account [types]
|
|
||||||
formatZH: 更新备份账号 [types]
|
|
||||||
paramKeys: []
|
|
||||||
/commands:
|
|
||||||
get:
|
|
||||||
description: 获取快速命令列表
|
|
||||||
responses:
|
|
||||||
"200":
|
|
||||||
description: OK
|
|
||||||
schema:
|
|
||||||
$ref: '#/definitions/dto.CommandInfo'
|
|
||||||
security:
|
|
||||||
- ApiKeyAuth: []
|
|
||||||
summary: List commands
|
|
||||||
tags:
|
|
||||||
- Command
|
|
||||||
post:
|
|
||||||
consumes:
|
|
||||||
- application/json
|
|
||||||
description: 创建快速命令
|
|
||||||
parameters:
|
|
||||||
- description: request
|
|
||||||
in: body
|
|
||||||
name: request
|
|
||||||
required: true
|
|
||||||
schema:
|
|
||||||
$ref: '#/definitions/dto.CommandOperate'
|
|
||||||
responses:
|
|
||||||
"200":
|
|
||||||
description: ""
|
|
||||||
security:
|
|
||||||
- ApiKeyAuth: []
|
|
||||||
summary: Create command
|
|
||||||
tags:
|
|
||||||
- Command
|
|
||||||
x-panel-log:
|
|
||||||
BeforeFuntions: []
|
|
||||||
bodyKeys:
|
|
||||||
- name
|
|
||||||
- command
|
|
||||||
formatEN: create quick command [name][command]
|
|
||||||
formatZH: 创建快捷命令 [name][command]
|
|
||||||
paramKeys: []
|
|
||||||
/commands/del:
|
|
||||||
post:
|
|
||||||
consumes:
|
|
||||||
- application/json
|
|
||||||
description: 删除快速命令
|
|
||||||
parameters:
|
|
||||||
- description: request
|
|
||||||
in: body
|
|
||||||
name: request
|
|
||||||
required: true
|
|
||||||
schema:
|
|
||||||
$ref: '#/definitions/dto.BatchDeleteReq'
|
|
||||||
responses:
|
|
||||||
"200":
|
|
||||||
description: ""
|
|
||||||
security:
|
|
||||||
- ApiKeyAuth: []
|
|
||||||
summary: Delete command
|
|
||||||
tags:
|
|
||||||
- Command
|
|
||||||
x-panel-log:
|
|
||||||
BeforeFuntions:
|
|
||||||
- db: commands
|
|
||||||
input_colume: id
|
|
||||||
input_value: ids
|
|
||||||
isList: true
|
|
||||||
output_colume: name
|
|
||||||
output_value: names
|
|
||||||
bodyKeys:
|
|
||||||
- ids
|
|
||||||
formatEN: delete quick command [names]
|
|
||||||
formatZH: 删除快捷命令 [names]
|
|
||||||
paramKeys: []
|
|
||||||
/commands/search:
|
|
||||||
post:
|
|
||||||
consumes:
|
|
||||||
- application/json
|
|
||||||
description: 获取快速命令列表分页
|
|
||||||
parameters:
|
|
||||||
- description: request
|
|
||||||
in: body
|
|
||||||
name: request
|
|
||||||
required: true
|
|
||||||
schema:
|
|
||||||
$ref: '#/definitions/dto.SearchWithPage'
|
|
||||||
responses:
|
|
||||||
"200":
|
|
||||||
description: OK
|
|
||||||
schema:
|
|
||||||
$ref: '#/definitions/dto.PageResult'
|
|
||||||
security:
|
|
||||||
- ApiKeyAuth: []
|
|
||||||
summary: Page commands
|
|
||||||
tags:
|
|
||||||
- Command
|
|
||||||
/commands/update:
|
|
||||||
post:
|
|
||||||
consumes:
|
|
||||||
- application/json
|
|
||||||
description: 更新快速命令
|
|
||||||
parameters:
|
|
||||||
- description: request
|
|
||||||
in: body
|
|
||||||
name: request
|
|
||||||
required: true
|
|
||||||
schema:
|
|
||||||
$ref: '#/definitions/dto.CommandOperate'
|
|
||||||
responses:
|
|
||||||
"200":
|
|
||||||
description: ""
|
|
||||||
security:
|
|
||||||
- ApiKeyAuth: []
|
|
||||||
summary: Update command
|
|
||||||
tags:
|
|
||||||
- Command
|
|
||||||
x-panel-log:
|
|
||||||
BeforeFuntions: []
|
|
||||||
bodyKeys:
|
|
||||||
- name
|
|
||||||
formatEN: update quick command [name]
|
|
||||||
formatZH: 更新快捷命令 [name]
|
|
||||||
paramKeys: []
|
|
||||||
/containers:
|
/containers:
|
||||||
post:
|
post:
|
||||||
consumes:
|
consumes:
|
||||||
@ -5987,138 +5634,6 @@ paths:
|
|||||||
formatEN: Download url => [path]/[name]
|
formatEN: Download url => [path]/[name]
|
||||||
formatZH: 下载 url => [path]/[name]
|
formatZH: 下载 url => [path]/[name]
|
||||||
paramKeys: []
|
paramKeys: []
|
||||||
/groups:
|
|
||||||
post:
|
|
||||||
consumes:
|
|
||||||
- application/json
|
|
||||||
description: 创建系统组
|
|
||||||
parameters:
|
|
||||||
- description: request
|
|
||||||
in: body
|
|
||||||
name: request
|
|
||||||
required: true
|
|
||||||
schema:
|
|
||||||
$ref: '#/definitions/dto.GroupOperate'
|
|
||||||
responses:
|
|
||||||
"200":
|
|
||||||
description: ""
|
|
||||||
security:
|
|
||||||
- ApiKeyAuth: []
|
|
||||||
summary: Create group
|
|
||||||
tags:
|
|
||||||
- System Group
|
|
||||||
x-panel-log:
|
|
||||||
BeforeFuntions: []
|
|
||||||
bodyKeys:
|
|
||||||
- name
|
|
||||||
- type
|
|
||||||
formatEN: create group [name][type]
|
|
||||||
formatZH: 创建组 [name][type]
|
|
||||||
paramKeys: []
|
|
||||||
/groups/:id:
|
|
||||||
get:
|
|
||||||
consumes:
|
|
||||||
- application/json
|
|
||||||
description: 查询系统组
|
|
||||||
parameters:
|
|
||||||
- description: request
|
|
||||||
in: path
|
|
||||||
name: id
|
|
||||||
required: true
|
|
||||||
type: integer
|
|
||||||
responses:
|
|
||||||
"200":
|
|
||||||
description: OK
|
|
||||||
schema:
|
|
||||||
$ref: '#/definitions/dto.GroupInfo'
|
|
||||||
security:
|
|
||||||
- ApiKeyAuth: []
|
|
||||||
summary: Search group info by id
|
|
||||||
tags:
|
|
||||||
- System Group
|
|
||||||
/groups/del:
|
|
||||||
post:
|
|
||||||
consumes:
|
|
||||||
- application/json
|
|
||||||
description: 删除系统组
|
|
||||||
parameters:
|
|
||||||
- description: request
|
|
||||||
in: body
|
|
||||||
name: request
|
|
||||||
required: true
|
|
||||||
schema:
|
|
||||||
$ref: '#/definitions/dto.OperateByID'
|
|
||||||
responses:
|
|
||||||
"200":
|
|
||||||
description: ""
|
|
||||||
security:
|
|
||||||
- ApiKeyAuth: []
|
|
||||||
summary: Delete group
|
|
||||||
tags:
|
|
||||||
- System Group
|
|
||||||
x-panel-log:
|
|
||||||
BeforeFuntions:
|
|
||||||
- db: groups
|
|
||||||
input_colume: id
|
|
||||||
input_value: id
|
|
||||||
isList: false
|
|
||||||
output_colume: name
|
|
||||||
output_value: name
|
|
||||||
bodyKeys:
|
|
||||||
- id
|
|
||||||
formatEN: delete group [name]
|
|
||||||
formatZH: 删除组 [name]
|
|
||||||
paramKeys: []
|
|
||||||
/groups/search:
|
|
||||||
post:
|
|
||||||
consumes:
|
|
||||||
- application/json
|
|
||||||
description: 查询系统组
|
|
||||||
parameters:
|
|
||||||
- description: request
|
|
||||||
in: body
|
|
||||||
name: request
|
|
||||||
required: true
|
|
||||||
schema:
|
|
||||||
$ref: '#/definitions/dto.GroupSearch'
|
|
||||||
responses:
|
|
||||||
"200":
|
|
||||||
description: OK
|
|
||||||
schema:
|
|
||||||
type: anrry
|
|
||||||
security:
|
|
||||||
- ApiKeyAuth: []
|
|
||||||
summary: List groups
|
|
||||||
tags:
|
|
||||||
- System Group
|
|
||||||
/groups/update:
|
|
||||||
post:
|
|
||||||
consumes:
|
|
||||||
- application/json
|
|
||||||
description: 更新系统组
|
|
||||||
parameters:
|
|
||||||
- description: request
|
|
||||||
in: body
|
|
||||||
name: request
|
|
||||||
required: true
|
|
||||||
schema:
|
|
||||||
$ref: '#/definitions/dto.GroupOperate'
|
|
||||||
responses:
|
|
||||||
"200":
|
|
||||||
description: ""
|
|
||||||
security:
|
|
||||||
- ApiKeyAuth: []
|
|
||||||
summary: Update group
|
|
||||||
tags:
|
|
||||||
- System Group
|
|
||||||
x-panel-log:
|
|
||||||
BeforeFuntions: []
|
|
||||||
bodyKeys:
|
|
||||||
- name
|
|
||||||
- type
|
|
||||||
formatEN: update group [name][type]
|
|
||||||
formatZH: 更新组 [name][type]
|
|
||||||
paramKeys: []
|
|
||||||
/hosts:
|
/hosts:
|
||||||
post:
|
post:
|
||||||
consumes:
|
consumes:
|
||||||
@ -6168,6 +5683,128 @@ paths:
|
|||||||
summary: Load host info
|
summary: Load host info
|
||||||
tags:
|
tags:
|
||||||
- Host
|
- Host
|
||||||
|
/hosts/command:
|
||||||
|
get:
|
||||||
|
description: 获取快速命令列表
|
||||||
|
responses:
|
||||||
|
"200":
|
||||||
|
description: OK
|
||||||
|
schema:
|
||||||
|
$ref: '#/definitions/dto.CommandInfo'
|
||||||
|
security:
|
||||||
|
- ApiKeyAuth: []
|
||||||
|
summary: List commands
|
||||||
|
tags:
|
||||||
|
- Command
|
||||||
|
post:
|
||||||
|
consumes:
|
||||||
|
- application/json
|
||||||
|
description: 创建快速命令
|
||||||
|
parameters:
|
||||||
|
- description: request
|
||||||
|
in: body
|
||||||
|
name: request
|
||||||
|
required: true
|
||||||
|
schema:
|
||||||
|
$ref: '#/definitions/dto.CommandOperate'
|
||||||
|
responses:
|
||||||
|
"200":
|
||||||
|
description: ""
|
||||||
|
security:
|
||||||
|
- ApiKeyAuth: []
|
||||||
|
summary: Create command
|
||||||
|
tags:
|
||||||
|
- Command
|
||||||
|
x-panel-log:
|
||||||
|
BeforeFuntions: []
|
||||||
|
bodyKeys:
|
||||||
|
- name
|
||||||
|
- command
|
||||||
|
formatEN: create quick command [name][command]
|
||||||
|
formatZH: 创建快捷命令 [name][command]
|
||||||
|
paramKeys: []
|
||||||
|
/hosts/command/del:
|
||||||
|
post:
|
||||||
|
consumes:
|
||||||
|
- application/json
|
||||||
|
description: 删除快速命令
|
||||||
|
parameters:
|
||||||
|
- description: request
|
||||||
|
in: body
|
||||||
|
name: request
|
||||||
|
required: true
|
||||||
|
schema:
|
||||||
|
$ref: '#/definitions/dto.BatchDeleteReq'
|
||||||
|
responses:
|
||||||
|
"200":
|
||||||
|
description: ""
|
||||||
|
security:
|
||||||
|
- ApiKeyAuth: []
|
||||||
|
summary: Delete command
|
||||||
|
tags:
|
||||||
|
- Command
|
||||||
|
x-panel-log:
|
||||||
|
BeforeFuntions:
|
||||||
|
- db: commands
|
||||||
|
input_colume: id
|
||||||
|
input_value: ids
|
||||||
|
isList: true
|
||||||
|
output_colume: name
|
||||||
|
output_value: names
|
||||||
|
bodyKeys:
|
||||||
|
- ids
|
||||||
|
formatEN: delete quick command [names]
|
||||||
|
formatZH: 删除快捷命令 [names]
|
||||||
|
paramKeys: []
|
||||||
|
/hosts/command/search:
|
||||||
|
post:
|
||||||
|
consumes:
|
||||||
|
- application/json
|
||||||
|
description: 获取快速命令列表分页
|
||||||
|
parameters:
|
||||||
|
- description: request
|
||||||
|
in: body
|
||||||
|
name: request
|
||||||
|
required: true
|
||||||
|
schema:
|
||||||
|
$ref: '#/definitions/dto.SearchWithPage'
|
||||||
|
responses:
|
||||||
|
"200":
|
||||||
|
description: OK
|
||||||
|
schema:
|
||||||
|
$ref: '#/definitions/dto.PageResult'
|
||||||
|
security:
|
||||||
|
- ApiKeyAuth: []
|
||||||
|
summary: Page commands
|
||||||
|
tags:
|
||||||
|
- Command
|
||||||
|
/hosts/command/update:
|
||||||
|
post:
|
||||||
|
consumes:
|
||||||
|
- application/json
|
||||||
|
description: 更新快速命令
|
||||||
|
parameters:
|
||||||
|
- description: request
|
||||||
|
in: body
|
||||||
|
name: request
|
||||||
|
required: true
|
||||||
|
schema:
|
||||||
|
$ref: '#/definitions/dto.CommandOperate'
|
||||||
|
responses:
|
||||||
|
"200":
|
||||||
|
description: ""
|
||||||
|
security:
|
||||||
|
- ApiKeyAuth: []
|
||||||
|
summary: Update command
|
||||||
|
tags:
|
||||||
|
- Command
|
||||||
|
x-panel-log:
|
||||||
|
BeforeFuntions: []
|
||||||
|
bodyKeys:
|
||||||
|
- name
|
||||||
|
formatEN: update quick command [name]
|
||||||
|
formatZH: 更新快捷命令 [name]
|
||||||
|
paramKeys: []
|
||||||
/hosts/del:
|
/hosts/del:
|
||||||
post:
|
post:
|
||||||
consumes:
|
consumes:
|
||||||
@ -6201,6 +5838,117 @@ paths:
|
|||||||
formatEN: delete host [addr]
|
formatEN: delete host [addr]
|
||||||
formatZH: 删除主机 [addr]
|
formatZH: 删除主机 [addr]
|
||||||
paramKeys: []
|
paramKeys: []
|
||||||
|
/hosts/group:
|
||||||
|
post:
|
||||||
|
consumes:
|
||||||
|
- application/json
|
||||||
|
description: 创建系统组
|
||||||
|
parameters:
|
||||||
|
- description: request
|
||||||
|
in: body
|
||||||
|
name: request
|
||||||
|
required: true
|
||||||
|
schema:
|
||||||
|
$ref: '#/definitions/dto.GroupOperate'
|
||||||
|
responses:
|
||||||
|
"200":
|
||||||
|
description: ""
|
||||||
|
security:
|
||||||
|
- ApiKeyAuth: []
|
||||||
|
summary: Create group
|
||||||
|
tags:
|
||||||
|
- System Group
|
||||||
|
x-panel-log:
|
||||||
|
BeforeFuntions: []
|
||||||
|
bodyKeys:
|
||||||
|
- name
|
||||||
|
- type
|
||||||
|
formatEN: create group [name][type]
|
||||||
|
formatZH: 创建组 [name][type]
|
||||||
|
paramKeys: []
|
||||||
|
/hosts/group/del:
|
||||||
|
post:
|
||||||
|
consumes:
|
||||||
|
- application/json
|
||||||
|
description: 删除系统组
|
||||||
|
parameters:
|
||||||
|
- description: request
|
||||||
|
in: body
|
||||||
|
name: request
|
||||||
|
required: true
|
||||||
|
schema:
|
||||||
|
$ref: '#/definitions/dto.OperateByID'
|
||||||
|
responses:
|
||||||
|
"200":
|
||||||
|
description: ""
|
||||||
|
security:
|
||||||
|
- ApiKeyAuth: []
|
||||||
|
summary: Delete group
|
||||||
|
tags:
|
||||||
|
- System Group
|
||||||
|
x-panel-log:
|
||||||
|
BeforeFuntions:
|
||||||
|
- db: groups
|
||||||
|
input_colume: id
|
||||||
|
input_value: id
|
||||||
|
isList: false
|
||||||
|
output_colume: name
|
||||||
|
output_value: name
|
||||||
|
bodyKeys:
|
||||||
|
- id
|
||||||
|
formatEN: delete group [name]
|
||||||
|
formatZH: 删除组 [name]
|
||||||
|
paramKeys: []
|
||||||
|
/hosts/group/search:
|
||||||
|
post:
|
||||||
|
consumes:
|
||||||
|
- application/json
|
||||||
|
description: 查询系统组
|
||||||
|
parameters:
|
||||||
|
- description: request
|
||||||
|
in: body
|
||||||
|
name: request
|
||||||
|
required: true
|
||||||
|
schema:
|
||||||
|
$ref: '#/definitions/dto.GroupSearch'
|
||||||
|
responses:
|
||||||
|
"200":
|
||||||
|
description: OK
|
||||||
|
schema:
|
||||||
|
type: anrry
|
||||||
|
security:
|
||||||
|
- ApiKeyAuth: []
|
||||||
|
summary: List groups
|
||||||
|
tags:
|
||||||
|
- System Group
|
||||||
|
/hosts/group/update:
|
||||||
|
post:
|
||||||
|
consumes:
|
||||||
|
- application/json
|
||||||
|
description: 更新系统组
|
||||||
|
parameters:
|
||||||
|
- description: request
|
||||||
|
in: body
|
||||||
|
name: request
|
||||||
|
required: true
|
||||||
|
schema:
|
||||||
|
$ref: '#/definitions/dto.GroupOperate'
|
||||||
|
responses:
|
||||||
|
"200":
|
||||||
|
description: ""
|
||||||
|
security:
|
||||||
|
- ApiKeyAuth: []
|
||||||
|
summary: Update group
|
||||||
|
tags:
|
||||||
|
- System Group
|
||||||
|
x-panel-log:
|
||||||
|
BeforeFuntions: []
|
||||||
|
bodyKeys:
|
||||||
|
- name
|
||||||
|
- type
|
||||||
|
formatEN: update group [name][type]
|
||||||
|
formatZH: 更新组 [name][type]
|
||||||
|
paramKeys: []
|
||||||
/hosts/search:
|
/hosts/search:
|
||||||
post:
|
post:
|
||||||
consumes:
|
consumes:
|
||||||
@ -6472,6 +6220,230 @@ paths:
|
|||||||
formatEN: Update nginx conf [domain]
|
formatEN: Update nginx conf [domain]
|
||||||
formatZH: 更新 nginx 配置 [domain]
|
formatZH: 更新 nginx 配置 [domain]
|
||||||
paramKeys: []
|
paramKeys: []
|
||||||
|
/settings/backup:
|
||||||
|
post:
|
||||||
|
consumes:
|
||||||
|
- application/json
|
||||||
|
description: 创建备份账号
|
||||||
|
parameters:
|
||||||
|
- description: request
|
||||||
|
in: body
|
||||||
|
name: request
|
||||||
|
required: true
|
||||||
|
schema:
|
||||||
|
$ref: '#/definitions/dto.BackupOperate'
|
||||||
|
responses:
|
||||||
|
"200":
|
||||||
|
description: ""
|
||||||
|
security:
|
||||||
|
- ApiKeyAuth: []
|
||||||
|
summary: Create backup account
|
||||||
|
tags:
|
||||||
|
- Backup Account
|
||||||
|
x-panel-log:
|
||||||
|
BeforeFuntions: []
|
||||||
|
bodyKeys:
|
||||||
|
- type
|
||||||
|
formatEN: create backup account [type]
|
||||||
|
formatZH: 创建备份账号 [type]
|
||||||
|
paramKeys: []
|
||||||
|
/settings/backup/del:
|
||||||
|
post:
|
||||||
|
consumes:
|
||||||
|
- application/json
|
||||||
|
description: 删除备份账号
|
||||||
|
parameters:
|
||||||
|
- description: request
|
||||||
|
in: body
|
||||||
|
name: request
|
||||||
|
required: true
|
||||||
|
schema:
|
||||||
|
$ref: '#/definitions/dto.BatchDeleteReq'
|
||||||
|
responses:
|
||||||
|
"200":
|
||||||
|
description: ""
|
||||||
|
security:
|
||||||
|
- ApiKeyAuth: []
|
||||||
|
summary: Delete backup account
|
||||||
|
tags:
|
||||||
|
- Backup Account
|
||||||
|
x-panel-log:
|
||||||
|
BeforeFuntions:
|
||||||
|
- db: backup_accounts
|
||||||
|
input_colume: id
|
||||||
|
input_value: ids
|
||||||
|
isList: true
|
||||||
|
output_colume: type
|
||||||
|
output_value: types
|
||||||
|
bodyKeys:
|
||||||
|
- ids
|
||||||
|
formatEN: delete backup account [types]
|
||||||
|
formatZH: 删除备份账号 [types]
|
||||||
|
paramKeys: []
|
||||||
|
/settings/backup/record/del:
|
||||||
|
post:
|
||||||
|
consumes:
|
||||||
|
- application/json
|
||||||
|
description: 删除备份记录
|
||||||
|
parameters:
|
||||||
|
- description: request
|
||||||
|
in: body
|
||||||
|
name: request
|
||||||
|
required: true
|
||||||
|
schema:
|
||||||
|
$ref: '#/definitions/dto.BatchDeleteReq'
|
||||||
|
responses:
|
||||||
|
"200":
|
||||||
|
description: ""
|
||||||
|
security:
|
||||||
|
- ApiKeyAuth: []
|
||||||
|
summary: Delete backup record
|
||||||
|
tags:
|
||||||
|
- Backup Account
|
||||||
|
x-panel-log:
|
||||||
|
BeforeFuntions:
|
||||||
|
- db: backup_records
|
||||||
|
input_colume: id
|
||||||
|
input_value: ids
|
||||||
|
isList: true
|
||||||
|
output_colume: file_name
|
||||||
|
output_value: files
|
||||||
|
bodyKeys:
|
||||||
|
- ids
|
||||||
|
formatEN: delete backup records [files]
|
||||||
|
formatZH: 删除备份记录 [files]
|
||||||
|
paramKeys: []
|
||||||
|
/settings/backup/record/download:
|
||||||
|
post:
|
||||||
|
consumes:
|
||||||
|
- application/json
|
||||||
|
description: 下载备份记录
|
||||||
|
parameters:
|
||||||
|
- description: request
|
||||||
|
in: body
|
||||||
|
name: request
|
||||||
|
required: true
|
||||||
|
schema:
|
||||||
|
$ref: '#/definitions/dto.DownloadRecord'
|
||||||
|
responses:
|
||||||
|
"200":
|
||||||
|
description: ""
|
||||||
|
security:
|
||||||
|
- ApiKeyAuth: []
|
||||||
|
summary: Download backup record
|
||||||
|
tags:
|
||||||
|
- Backup Account
|
||||||
|
x-panel-log:
|
||||||
|
BeforeFuntions: []
|
||||||
|
bodyKeys:
|
||||||
|
- source
|
||||||
|
- fileName
|
||||||
|
formatEN: download backup records [source][fileName]
|
||||||
|
formatZH: 下载备份记录 [source][fileName]
|
||||||
|
paramKeys: []
|
||||||
|
/settings/backup/record/search:
|
||||||
|
post:
|
||||||
|
consumes:
|
||||||
|
- application/json
|
||||||
|
description: 获取备份记录列表分页
|
||||||
|
parameters:
|
||||||
|
- description: request
|
||||||
|
in: body
|
||||||
|
name: request
|
||||||
|
required: true
|
||||||
|
schema:
|
||||||
|
$ref: '#/definitions/dto.RecordSearch'
|
||||||
|
responses:
|
||||||
|
"200":
|
||||||
|
description: ""
|
||||||
|
security:
|
||||||
|
- ApiKeyAuth: []
|
||||||
|
summary: Page backup records
|
||||||
|
tags:
|
||||||
|
- Backup Account
|
||||||
|
/settings/backup/search:
|
||||||
|
get:
|
||||||
|
description: 获取备份账号列表
|
||||||
|
responses:
|
||||||
|
"200":
|
||||||
|
description: OK
|
||||||
|
schema:
|
||||||
|
type: anrry
|
||||||
|
security:
|
||||||
|
- ApiKeyAuth: []
|
||||||
|
summary: List backup accounts
|
||||||
|
tags:
|
||||||
|
- Backup Account
|
||||||
|
post:
|
||||||
|
consumes:
|
||||||
|
- application/json
|
||||||
|
description: 获取 bucket 列表
|
||||||
|
parameters:
|
||||||
|
- description: request
|
||||||
|
in: body
|
||||||
|
name: request
|
||||||
|
required: true
|
||||||
|
schema:
|
||||||
|
$ref: '#/definitions/dto.ForBuckets'
|
||||||
|
responses:
|
||||||
|
"200":
|
||||||
|
description: OK
|
||||||
|
schema:
|
||||||
|
type: anrry
|
||||||
|
security:
|
||||||
|
- ApiKeyAuth: []
|
||||||
|
summary: List buckets
|
||||||
|
tags:
|
||||||
|
- Backup Account
|
||||||
|
/settings/backup/search/files:
|
||||||
|
post:
|
||||||
|
consumes:
|
||||||
|
- application/json
|
||||||
|
description: 获取备份账号内文件列表
|
||||||
|
parameters:
|
||||||
|
- description: request
|
||||||
|
in: body
|
||||||
|
name: request
|
||||||
|
required: true
|
||||||
|
schema:
|
||||||
|
$ref: '#/definitions/dto.BackupSearchFile'
|
||||||
|
responses:
|
||||||
|
"200":
|
||||||
|
description: OK
|
||||||
|
schema:
|
||||||
|
type: anrry
|
||||||
|
security:
|
||||||
|
- ApiKeyAuth: []
|
||||||
|
summary: List files from backup accounts
|
||||||
|
tags:
|
||||||
|
- Backup Account
|
||||||
|
/settings/backup/update:
|
||||||
|
post:
|
||||||
|
consumes:
|
||||||
|
- application/json
|
||||||
|
description: 更新备份账号信息
|
||||||
|
parameters:
|
||||||
|
- description: request
|
||||||
|
in: body
|
||||||
|
name: request
|
||||||
|
required: true
|
||||||
|
schema:
|
||||||
|
$ref: '#/definitions/dto.BackupOperate'
|
||||||
|
responses:
|
||||||
|
"200":
|
||||||
|
description: ""
|
||||||
|
security:
|
||||||
|
- ApiKeyAuth: []
|
||||||
|
summary: Update backup account
|
||||||
|
tags:
|
||||||
|
- Backup Account
|
||||||
|
x-panel-log:
|
||||||
|
BeforeFuntions: []
|
||||||
|
bodyKeys:
|
||||||
|
- type
|
||||||
|
formatEN: update backup account [types]
|
||||||
|
formatZH: 更新备份账号 [types]
|
||||||
|
paramKeys: []
|
||||||
/settings/basedir:
|
/settings/basedir:
|
||||||
get:
|
get:
|
||||||
description: 获取安装根目录
|
description: 获取安装根目录
|
||||||
|
@ -1,37 +0,0 @@
|
|||||||
import http from '@/api';
|
|
||||||
import { Backup } from '../interface/backup';
|
|
||||||
import { ResPage } from '../interface';
|
|
||||||
|
|
||||||
export const getBackupList = () => {
|
|
||||||
return http.get<Array<Backup.BackupInfo>>(`/backups/search`);
|
|
||||||
};
|
|
||||||
|
|
||||||
export const getFilesFromBackup = (type: string) => {
|
|
||||||
return http.post<Array<any>>(`/backups/search/files`, { type: type });
|
|
||||||
};
|
|
||||||
|
|
||||||
export const addBackup = (params: Backup.BackupOperate) => {
|
|
||||||
return http.post<Backup.BackupOperate>(`/backups`, params);
|
|
||||||
};
|
|
||||||
|
|
||||||
export const editBackup = (params: Backup.BackupOperate) => {
|
|
||||||
return http.post(`/backups/update`, params);
|
|
||||||
};
|
|
||||||
|
|
||||||
export const deleteBackup = (params: { ids: number[] }) => {
|
|
||||||
return http.post(`/backups/del`, params);
|
|
||||||
};
|
|
||||||
|
|
||||||
export const downloadBackupRecord = (params: Backup.RecordDownload) => {
|
|
||||||
return http.download<BlobPart>(`/backups/record/download`, params, { responseType: 'blob' });
|
|
||||||
};
|
|
||||||
export const deleteBackupRecord = (params: { ids: number[] }) => {
|
|
||||||
return http.post(`/backups/record/del`, params);
|
|
||||||
};
|
|
||||||
export const searchBackupRecords = (params: Backup.SearchBackupRecord) => {
|
|
||||||
return http.post<ResPage<Backup.RecordInfo>>(`/backups/record/search`, params);
|
|
||||||
};
|
|
||||||
|
|
||||||
export const listBucket = (params: Backup.ForBucket) => {
|
|
||||||
return http.post(`/backups/buckets`, params);
|
|
||||||
};
|
|
@ -1,23 +0,0 @@
|
|||||||
import http from '@/api';
|
|
||||||
import { ResPage } from '../interface';
|
|
||||||
import { Command } from '../interface/command';
|
|
||||||
|
|
||||||
export const getCommandList = () => {
|
|
||||||
return http.get<Array<Command.CommandInfo>>(`/commands`, {});
|
|
||||||
};
|
|
||||||
|
|
||||||
export const getCommandPage = (params: Command.CommandSearch) => {
|
|
||||||
return http.post<ResPage<Command.CommandInfo>>(`/commands/search`, params);
|
|
||||||
};
|
|
||||||
|
|
||||||
export const addCommand = (params: Command.CommandOperate) => {
|
|
||||||
return http.post<Command.CommandOperate>(`/commands`, params);
|
|
||||||
};
|
|
||||||
|
|
||||||
export const editCommand = (params: Command.CommandOperate) => {
|
|
||||||
return http.post(`/commands/update`, params);
|
|
||||||
};
|
|
||||||
|
|
||||||
export const deleteCommand = (params: { ids: number[] }) => {
|
|
||||||
return http.post(`/commands/del`, params);
|
|
||||||
};
|
|
@ -1,18 +0,0 @@
|
|||||||
import http from '@/api';
|
|
||||||
import { Group } from '../interface/group';
|
|
||||||
|
|
||||||
export const getGroupList = (params: Group.GroupSearch) => {
|
|
||||||
return http.post<Array<Group.GroupInfo>>(`/groups/search`, params);
|
|
||||||
};
|
|
||||||
|
|
||||||
export const addGroup = (params: Group.GroupOperate) => {
|
|
||||||
return http.post<Group.GroupOperate>(`/groups`, params);
|
|
||||||
};
|
|
||||||
|
|
||||||
export const editGroup = (params: Group.GroupOperate) => {
|
|
||||||
return http.post(`/groups/update`, params);
|
|
||||||
};
|
|
||||||
|
|
||||||
export const deleteGroup = (id: number) => {
|
|
||||||
return http.post(`/groups/del`, { id: id });
|
|
||||||
};
|
|
@ -1,30 +1,58 @@
|
|||||||
import http from '@/api';
|
import http from '@/api';
|
||||||
|
import { ResPage } from '../interface';
|
||||||
|
import { Command } from '../interface/command';
|
||||||
|
import { Group } from '../interface/group';
|
||||||
import { Host } from '../interface/host';
|
import { Host } from '../interface/host';
|
||||||
|
|
||||||
export const getHostTree = (params: Host.ReqSearch) => {
|
export const getHostTree = (params: Host.ReqSearch) => {
|
||||||
return http.post<Array<Host.HostTree>>(`/hosts/search`, params);
|
return http.post<Array<Host.HostTree>>(`/hosts/search`, params);
|
||||||
};
|
};
|
||||||
|
|
||||||
export const getHostInfo = (id: number) => {
|
export const getHostInfo = (id: number) => {
|
||||||
return http.get<Host.Host>(`/hosts/` + id);
|
return http.get<Host.Host>(`/hosts/` + id);
|
||||||
};
|
};
|
||||||
|
|
||||||
export const addHost = (params: Host.HostOperate) => {
|
export const addHost = (params: Host.HostOperate) => {
|
||||||
return http.post<Host.HostOperate>(`/hosts`, params);
|
return http.post<Host.HostOperate>(`/hosts`, params);
|
||||||
};
|
};
|
||||||
|
|
||||||
export const testByInfo = (params: Host.HostConnTest) => {
|
export const testByInfo = (params: Host.HostConnTest) => {
|
||||||
return http.post<boolean>(`/hosts/test/byinfo`, params);
|
return http.post<boolean>(`/hosts/test/byinfo`, params);
|
||||||
};
|
};
|
||||||
|
|
||||||
export const testByID = (id: number) => {
|
export const testByID = (id: number) => {
|
||||||
return http.post<boolean>(`/hosts/test/byid/${id}`);
|
return http.post<boolean>(`/hosts/test/byid/${id}`);
|
||||||
};
|
};
|
||||||
|
|
||||||
export const editHost = (params: Host.HostOperate) => {
|
export const editHost = (params: Host.HostOperate) => {
|
||||||
return http.post(`/hosts/update`, params);
|
return http.post(`/hosts/update`, params);
|
||||||
};
|
};
|
||||||
|
|
||||||
export const deleteHost = (id: number) => {
|
export const deleteHost = (id: number) => {
|
||||||
return http.post(`/hosts/del`, { id: id });
|
return http.post(`/hosts/del`, { id: id });
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// group
|
||||||
|
export const getGroupList = (params: Group.GroupSearch) => {
|
||||||
|
return http.post<Array<Group.GroupInfo>>(`/hosts/group/search`, params);
|
||||||
|
};
|
||||||
|
export const addGroup = (params: Group.GroupOperate) => {
|
||||||
|
return http.post<Group.GroupOperate>(`/hosts/group`, params);
|
||||||
|
};
|
||||||
|
export const editGroup = (params: Group.GroupOperate) => {
|
||||||
|
return http.post(`/hosts/group/update`, params);
|
||||||
|
};
|
||||||
|
export const deleteGroup = (id: number) => {
|
||||||
|
return http.post(`/hosts/group/del`, { id: id });
|
||||||
|
};
|
||||||
|
|
||||||
|
// command
|
||||||
|
export const getCommandList = () => {
|
||||||
|
return http.get<Array<Command.CommandInfo>>(`/hosts/command`, {});
|
||||||
|
};
|
||||||
|
export const getCommandPage = (params: Command.CommandSearch) => {
|
||||||
|
return http.post<ResPage<Command.CommandInfo>>(`/hosts/command/search`, params);
|
||||||
|
};
|
||||||
|
export const addCommand = (params: Command.CommandOperate) => {
|
||||||
|
return http.post<Command.CommandOperate>(`/hosts/command`, params);
|
||||||
|
};
|
||||||
|
export const editCommand = (params: Command.CommandOperate) => {
|
||||||
|
return http.post(`/hosts/command/update`, params);
|
||||||
|
};
|
||||||
|
export const deleteCommand = (params: { ids: number[] }) => {
|
||||||
|
return http.post(`/hosts/command/del`, params);
|
||||||
|
};
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
import http from '@/api';
|
import http from '@/api';
|
||||||
import { ResPage, SearchWithPage, DescriptionUpdate } from '../interface';
|
import { ResPage, SearchWithPage, DescriptionUpdate } from '../interface';
|
||||||
|
import { Backup } from '../interface/backup';
|
||||||
import { Setting } from '../interface/setting';
|
import { Setting } from '../interface/setting';
|
||||||
|
|
||||||
export const getSettingInfo = () => {
|
export const getSettingInfo = () => {
|
||||||
@ -49,6 +50,35 @@ export const loadBaseDir = () => {
|
|||||||
return http.get<string>(`/settings/basedir`);
|
return http.get<string>(`/settings/basedir`);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// backup
|
||||||
|
export const getBackupList = () => {
|
||||||
|
return http.get<Array<Backup.BackupInfo>>(`/settings/backup/search`);
|
||||||
|
};
|
||||||
|
export const getFilesFromBackup = (type: string) => {
|
||||||
|
return http.post<Array<any>>(`/settings/backup/search/files`, { type: type });
|
||||||
|
};
|
||||||
|
export const addBackup = (params: Backup.BackupOperate) => {
|
||||||
|
return http.post<Backup.BackupOperate>(`/settings/backup`, params);
|
||||||
|
};
|
||||||
|
export const editBackup = (params: Backup.BackupOperate) => {
|
||||||
|
return http.post(`/settings/backup/update`, params);
|
||||||
|
};
|
||||||
|
export const deleteBackup = (params: { ids: number[] }) => {
|
||||||
|
return http.post(`/settings/backup/del`, params);
|
||||||
|
};
|
||||||
|
export const downloadBackupRecord = (params: Backup.RecordDownload) => {
|
||||||
|
return http.download<BlobPart>(`/settings/backup/record/download`, params, { responseType: 'blob' });
|
||||||
|
};
|
||||||
|
export const deleteBackupRecord = (params: { ids: number[] }) => {
|
||||||
|
return http.post(`/settings/backup/record/del`, params);
|
||||||
|
};
|
||||||
|
export const searchBackupRecords = (params: Backup.SearchBackupRecord) => {
|
||||||
|
return http.post<ResPage<Backup.RecordInfo>>(`/settings/backup/record/search`, params);
|
||||||
|
};
|
||||||
|
export const listBucket = (params: Backup.ForBucket) => {
|
||||||
|
return http.post(`/settings/backup/buckets`, params);
|
||||||
|
};
|
||||||
|
|
||||||
// snapshot
|
// snapshot
|
||||||
export const snapshotCreate = (param: Setting.SnapshotCreate) => {
|
export const snapshotCreate = (param: Setting.SnapshotCreate) => {
|
||||||
return http.post(`/settings/snapshot`, param);
|
return http.post(`/settings/snapshot`, param);
|
||||||
|
@ -69,7 +69,7 @@
|
|||||||
import LayoutContent from '@/layout/layout-content.vue';
|
import LayoutContent from '@/layout/layout-content.vue';
|
||||||
import ComplexTable from '@/components/complex-table/index.vue';
|
import ComplexTable from '@/components/complex-table/index.vue';
|
||||||
import { Command } from '@/api/interface/command';
|
import { Command } from '@/api/interface/command';
|
||||||
import { addCommand, editCommand, deleteCommand, getCommandPage } from '@/api/modules/command';
|
import { addCommand, editCommand, deleteCommand, getCommandPage } from '@/api/modules/host';
|
||||||
import { reactive, ref } from 'vue';
|
import { reactive, ref } from 'vue';
|
||||||
import { useDeleteData } from '@/hooks/use-delete-data';
|
import { useDeleteData } from '@/hooks/use-delete-data';
|
||||||
import type { ElForm } from 'element-plus';
|
import type { ElForm } from 'element-plus';
|
||||||
|
@ -156,8 +156,18 @@ import type { ElForm } from 'element-plus';
|
|||||||
import { Rules } from '@/global/form-rules';
|
import { Rules } from '@/global/form-rules';
|
||||||
import { Host } from '@/api/interface/host';
|
import { Host } from '@/api/interface/host';
|
||||||
import { Group } from '@/api/interface/group';
|
import { Group } from '@/api/interface/group';
|
||||||
import { getHostTree, getHostInfo, addHost, editHost, deleteHost, testByInfo } from '@/api/modules/host';
|
import {
|
||||||
import { getGroupList, addGroup, editGroup, deleteGroup } from '@/api/modules/group';
|
getHostTree,
|
||||||
|
getHostInfo,
|
||||||
|
addHost,
|
||||||
|
editHost,
|
||||||
|
deleteHost,
|
||||||
|
testByInfo,
|
||||||
|
getGroupList,
|
||||||
|
addGroup,
|
||||||
|
editGroup,
|
||||||
|
deleteGroup,
|
||||||
|
} from '@/api/modules/host';
|
||||||
import { useDeleteData } from '@/hooks/use-delete-data';
|
import { useDeleteData } from '@/hooks/use-delete-data';
|
||||||
import { ElMessage } from 'element-plus';
|
import { ElMessage } from 'element-plus';
|
||||||
import i18n from '@/lang';
|
import i18n from '@/lang';
|
||||||
@ -309,7 +319,7 @@ const onDelete = async (node: Node, data: Tree) => {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (node.level === 1) {
|
if (node.level === 1) {
|
||||||
await useDeleteData(deleteGroup, data.id - 10000, i18n.global.t('terminal.groupDeleteHelper'));
|
await useDeleteData(deleteGroup, data.id - 10000, 'terminal.groupDeleteHelper');
|
||||||
loadGroups();
|
loadGroups();
|
||||||
} else {
|
} else {
|
||||||
await useDeleteData(deleteHost, data.id, 'commons.msg.delete');
|
await useDeleteData(deleteHost, data.id, 'commons.msg.delete');
|
||||||
|
@ -119,7 +119,7 @@ import screenfull from 'screenfull';
|
|||||||
import i18n from '@/lang';
|
import i18n from '@/lang';
|
||||||
import { Host } from '@/api/interface/host';
|
import { Host } from '@/api/interface/host';
|
||||||
import { getHostTree, testByID } from '@/api/modules/host';
|
import { getHostTree, testByID } from '@/api/modules/host';
|
||||||
import { getCommandList } from '@/api/modules/command';
|
import { getCommandList } from '@/api/modules/host';
|
||||||
import { GlobalStore } from '@/store';
|
import { GlobalStore } from '@/store';
|
||||||
|
|
||||||
const dialogRef = ref();
|
const dialogRef = ref();
|
||||||
|
@ -35,11 +35,8 @@
|
|||||||
<el-option :label="$t('logs.detail.cronjobs')" value="cronjobs"></el-option>
|
<el-option :label="$t('logs.detail.cronjobs')" value="cronjobs"></el-option>
|
||||||
<el-option :label="$t('logs.detail.files')" value="files"></el-option>
|
<el-option :label="$t('logs.detail.files')" value="files"></el-option>
|
||||||
<el-option :label="$t('logs.detail.hosts')" value="hosts"></el-option>
|
<el-option :label="$t('logs.detail.hosts')" value="hosts"></el-option>
|
||||||
<el-option :label="$t('logs.detail.commands')" value="commands"></el-option>
|
|
||||||
<el-option :label="$t('logs.detail.logs')" value="logs"></el-option>
|
<el-option :label="$t('logs.detail.logs')" value="logs"></el-option>
|
||||||
<el-option :label="$t('logs.detail.settings')" value="settings"></el-option>
|
<el-option :label="$t('logs.detail.settings')" value="settings"></el-option>
|
||||||
<el-option :label="$t('logs.detail.backups')" value="backups"></el-option>
|
|
||||||
<el-option :label="$t('logs.detail.groups')" value="groups"></el-option>
|
|
||||||
</el-select>
|
</el-select>
|
||||||
<el-select v-model="searchStatus" @change="search()" clearable style="margin-left: 10px">
|
<el-select v-model="searchStatus" @change="search()" clearable style="margin-left: 10px">
|
||||||
<template #prefix>{{ $t('commons.table.status') }}</template>
|
<template #prefix>{{ $t('commons.table.status') }}</template>
|
||||||
|
@ -237,7 +237,7 @@
|
|||||||
import { dateFormatSimple, dateFormat } from '@/utils/util';
|
import { dateFormatSimple, dateFormat } from '@/utils/util';
|
||||||
import { onMounted, ref } from 'vue';
|
import { onMounted, ref } from 'vue';
|
||||||
import LayoutContent from '@/layout/layout-content.vue';
|
import LayoutContent from '@/layout/layout-content.vue';
|
||||||
import { getBackupList, deleteBackup } from '@/api/modules/backup';
|
import { getBackupList, deleteBackup } from '@/api/modules/setting';
|
||||||
import DialogOperate from '@/views/setting/backup-account/operate/index.vue';
|
import DialogOperate from '@/views/setting/backup-account/operate/index.vue';
|
||||||
import { Backup } from '@/api/interface/backup';
|
import { Backup } from '@/api/interface/backup';
|
||||||
import { ElForm } from 'element-plus';
|
import { ElForm } from 'element-plus';
|
||||||
|
@ -135,7 +135,7 @@ import i18n from '@/lang';
|
|||||||
import { ElForm, ElMessage } from 'element-plus';
|
import { ElForm, ElMessage } from 'element-plus';
|
||||||
import { Backup } from '@/api/interface/backup';
|
import { Backup } from '@/api/interface/backup';
|
||||||
import DrawerHeader from '@/components/drawer-header/index.vue';
|
import DrawerHeader from '@/components/drawer-header/index.vue';
|
||||||
import { addBackup, editBackup, listBucket } from '@/api/modules/backup';
|
import { addBackup, editBackup, listBucket } from '@/api/modules/setting';
|
||||||
import { deepCopy } from '@/utils/util';
|
import { deepCopy } from '@/utils/util';
|
||||||
|
|
||||||
const loading = ref(false);
|
const loading = ref(false);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user