mirror of
https://github.com/1Panel-dev/1Panel.git
synced 2025-03-14 01:34:47 +08:00
feat: 修改接口 方便记录日志
This commit is contained in:
parent
76f5e83eed
commit
f7f7fff84d
@ -1,7 +1,6 @@
|
|||||||
package v1
|
package v1
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"errors"
|
|
||||||
"github.com/1Panel-dev/1Panel/backend/app/api/v1/helper"
|
"github.com/1Panel-dev/1Panel/backend/app/api/v1/helper"
|
||||||
"github.com/1Panel-dev/1Panel/backend/app/dto"
|
"github.com/1Panel-dev/1Panel/backend/app/dto"
|
||||||
"github.com/1Panel-dev/1Panel/backend/app/dto/request"
|
"github.com/1Panel-dev/1Panel/backend/app/dto/request"
|
||||||
@ -51,12 +50,12 @@ func (b *BaseApi) CreateWebsite(c *gin.Context) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (b *BaseApi) BackupWebsite(c *gin.Context) {
|
func (b *BaseApi) BackupWebsite(c *gin.Context) {
|
||||||
domain, ok := c.Params.Get("domain")
|
var req request.WebsiteResourceReq
|
||||||
if !ok {
|
if err := c.ShouldBindJSON(&req); err != nil {
|
||||||
helper.ErrorWithDetail(c, constant.CodeErrBadRequest, constant.ErrTypeInvalidParams, errors.New("error domain in path"))
|
helper.ErrorWithDetail(c, constant.CodeErrBadRequest, constant.ErrTypeInvalidParams, err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
if err := websiteService.Backup(domain); err != nil {
|
if err := websiteService.Backup(req.ID); err != nil {
|
||||||
helper.ErrorWithDetail(c, constant.CodeErrInternalServer, constant.ErrTypeInternalServer, err)
|
helper.ErrorWithDetail(c, constant.CodeErrInternalServer, constant.ErrTypeInternalServer, err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
@ -43,12 +43,12 @@ func (b *BaseApi) UpdateWebGroup(c *gin.Context) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (b *BaseApi) DeleteWebGroup(c *gin.Context) {
|
func (b *BaseApi) DeleteWebGroup(c *gin.Context) {
|
||||||
groupId, err := helper.GetIntParamByKey(c, "groupId")
|
var req request.WebsiteResourceReq
|
||||||
if err != nil {
|
if err := c.ShouldBindJSON(&req); err != nil {
|
||||||
helper.ErrorWithDetail(c, constant.CodeErrBadRequest, constant.ErrTypeInternalServer, nil)
|
helper.ErrorWithDetail(c, constant.CodeErrBadRequest, constant.ErrTypeInvalidParams, err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
if err := websiteGroupService.DeleteGroup(groupId); err != nil {
|
if err := websiteGroupService.DeleteGroup(req.ID); err != nil {
|
||||||
helper.ErrorWithDetail(c, constant.CodeErrInternalServer, constant.ErrTypeInternalServer, err)
|
helper.ErrorWithDetail(c, constant.CodeErrInternalServer, constant.ErrTypeInternalServer, err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
@ -77,12 +77,12 @@ func (b *BaseApi) GetDNSResolve(c *gin.Context) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (b *BaseApi) DeleteWebsiteSSL(c *gin.Context) {
|
func (b *BaseApi) DeleteWebsiteSSL(c *gin.Context) {
|
||||||
id, err := helper.GetParamID(c)
|
var req request.WebsiteResourceReq
|
||||||
if err != nil {
|
if err := c.ShouldBindJSON(&req); err != nil {
|
||||||
helper.ErrorWithDetail(c, constant.CodeErrBadRequest, constant.ErrTypeInvalidParams, err)
|
helper.ErrorWithDetail(c, constant.CodeErrBadRequest, constant.ErrTypeInvalidParams, err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
if err := websiteSSLService.Delete(id); err != nil {
|
if err := websiteSSLService.Delete(req.ID); err != nil {
|
||||||
helper.ErrorWithDetail(c, constant.CodeErrInternalServer, constant.ErrTypeInternalServer, err)
|
helper.ErrorWithDetail(c, constant.CodeErrInternalServer, constant.ErrTypeInternalServer, err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
@ -30,7 +30,7 @@ type IWebsiteService interface {
|
|||||||
PageWebsite(req request.WebsiteSearch) (int64, []response.WebsiteDTO, error)
|
PageWebsite(req request.WebsiteSearch) (int64, []response.WebsiteDTO, error)
|
||||||
CreateWebsite(create request.WebsiteCreate) error
|
CreateWebsite(create request.WebsiteCreate) error
|
||||||
GetWebsiteOptions() ([]string, error)
|
GetWebsiteOptions() ([]string, error)
|
||||||
Backup(domain string) error
|
Backup(id uint) error
|
||||||
Recover(req request.WebsiteRecover) error
|
Recover(req request.WebsiteRecover) error
|
||||||
RecoverByUpload(req request.WebsiteRecoverByFile) error
|
RecoverByUpload(req request.WebsiteRecoverByFile) error
|
||||||
UpdateWebsite(req request.WebsiteUpdate) error
|
UpdateWebsite(req request.WebsiteUpdate) error
|
||||||
@ -165,15 +165,19 @@ func (w WebsiteService) GetWebsiteOptions() ([]string, error) {
|
|||||||
return datas, nil
|
return datas, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (w WebsiteService) Backup(domain string) error {
|
func (w WebsiteService) Backup(id uint) error {
|
||||||
localDir, err := loadLocalDir()
|
localDir, err := loadLocalDir()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
fileName := fmt.Sprintf("%s_%s", domain, time.Now().Format("20060102150405"))
|
website, err := websiteRepo.GetFirst(commonRepo.WithByID(id))
|
||||||
backupDir := fmt.Sprintf("website/%s", domain)
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
if err := handleWebsiteBackup("LOCAL", localDir, backupDir, domain, fileName); err != nil {
|
fileName := fmt.Sprintf("%s_%s", website.PrimaryDomain, time.Now().Format("20060102150405"))
|
||||||
|
backupDir := fmt.Sprintf("website/%s", website.PrimaryDomain)
|
||||||
|
if err := handleWebsiteBackup("LOCAL", localDir, backupDir, website.PrimaryDomain, fileName); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
|
@ -22,7 +22,7 @@ func (a *WebsiteRouter) InitWebsiteRouter(Router *gin.RouterGroup) {
|
|||||||
groupRouter.POST("/update", baseApi.UpdateWebsite)
|
groupRouter.POST("/update", baseApi.UpdateWebsite)
|
||||||
groupRouter.GET("/:id", baseApi.GetWebsite)
|
groupRouter.GET("/:id", baseApi.GetWebsite)
|
||||||
groupRouter.POST("/del", baseApi.DeleteWebsite)
|
groupRouter.POST("/del", baseApi.DeleteWebsite)
|
||||||
groupRouter.POST("/backup/:domain", baseApi.BackupWebsite)
|
groupRouter.POST("/backup", baseApi.BackupWebsite)
|
||||||
groupRouter.POST("/recover", baseApi.RecoverWebsite)
|
groupRouter.POST("/recover", baseApi.RecoverWebsite)
|
||||||
groupRouter.POST("/recover/byupload", baseApi.RecoverWebsiteByUpload)
|
groupRouter.POST("/recover/byupload", baseApi.RecoverWebsiteByUpload)
|
||||||
|
|
||||||
|
@ -17,7 +17,7 @@ func (a *WebsiteGroupRouter) InitWebsiteGroupRouter(Router *gin.RouterGroup) {
|
|||||||
{
|
{
|
||||||
groupRouter.GET("", baseApi.GetWebGroups)
|
groupRouter.GET("", baseApi.GetWebGroups)
|
||||||
groupRouter.POST("", baseApi.CreateWebGroup)
|
groupRouter.POST("", baseApi.CreateWebGroup)
|
||||||
groupRouter.PUT("", baseApi.UpdateWebGroup)
|
groupRouter.POST("/update", baseApi.UpdateWebGroup)
|
||||||
groupRouter.DELETE("/:groupId", baseApi.DeleteWebGroup)
|
groupRouter.POST("/del", baseApi.DeleteWebGroup)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -19,7 +19,7 @@ func (a *WebsiteSSLRouter) InitWebsiteSSLRouter(Router *gin.RouterGroup) {
|
|||||||
groupRouter.POST("/renew", baseApi.RenewWebsiteSSL)
|
groupRouter.POST("/renew", baseApi.RenewWebsiteSSL)
|
||||||
groupRouter.POST("", baseApi.CreateWebsiteSSL)
|
groupRouter.POST("", baseApi.CreateWebsiteSSL)
|
||||||
groupRouter.POST("/resolve", baseApi.GetDNSResolve)
|
groupRouter.POST("/resolve", baseApi.GetDNSResolve)
|
||||||
groupRouter.DELETE("/:id", baseApi.DeleteWebsiteSSL)
|
groupRouter.POST("/del", baseApi.DeleteWebsiteSSL)
|
||||||
groupRouter.GET("/:websiteId", baseApi.GetWebsiteSSL)
|
groupRouter.GET("/:websiteId", baseApi.GetWebsiteSSL)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -232,4 +232,8 @@ export namespace Website {
|
|||||||
export interface DelReq {
|
export interface DelReq {
|
||||||
id: number;
|
id: number;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export interface BackupReq {
|
||||||
|
id: number;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -11,8 +11,8 @@ export const CreateWebsite = (req: Website.WebSiteCreateReq) => {
|
|||||||
return http.post<any>(`/websites`, req);
|
return http.post<any>(`/websites`, req);
|
||||||
};
|
};
|
||||||
|
|
||||||
export const BackupWebsite = (id: number) => {
|
export const BackupWebsite = (req: Website.BackupReq) => {
|
||||||
return http.post(`/websites/backup/${id}`);
|
return http.post(`/websites/backup`, req);
|
||||||
};
|
};
|
||||||
|
|
||||||
export const RecoverWebsite = (req: Website.WebSiteRecover) => {
|
export const RecoverWebsite = (req: Website.WebSiteRecover) => {
|
||||||
@ -52,11 +52,11 @@ export const CreateGroup = (req: Website.GroupOp) => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
export const UpdateGroup = (req: Website.GroupOp) => {
|
export const UpdateGroup = (req: Website.GroupOp) => {
|
||||||
return http.put<any>(`/websites/groups`, req);
|
return http.post<any>(`/websites/groups/update`, req);
|
||||||
};
|
};
|
||||||
|
|
||||||
export const DeleteGroup = (id: number) => {
|
export const DeleteGroup = (req: Website.DelReq) => {
|
||||||
return http.delete<any>(`/websites/groups/${id}`);
|
return http.post<any>(`/websites/groups/del`, req);
|
||||||
};
|
};
|
||||||
|
|
||||||
export const ListDomains = (id: number) => {
|
export const ListDomains = (id: number) => {
|
||||||
@ -119,8 +119,8 @@ export const CreateSSL = (req: Website.SSLCreate) => {
|
|||||||
return http.post<Website.SSLCreate>(`/websites/ssl`, req);
|
return http.post<Website.SSLCreate>(`/websites/ssl`, req);
|
||||||
};
|
};
|
||||||
|
|
||||||
export const DeleteSSL = (id: number) => {
|
export const DeleteSSL = (req: Website.DelReq) => {
|
||||||
return http.delete<any>(`/websites/ssl/${id}`);
|
return http.post<any>(`/websites/ssl/del`, req);
|
||||||
};
|
};
|
||||||
|
|
||||||
export const GetWebsiteSSL = (websiteId: number) => {
|
export const GetWebsiteSSL = (websiteId: number) => {
|
||||||
|
@ -129,7 +129,7 @@ const openRenewSSL = (id: number) => {
|
|||||||
|
|
||||||
const deleteSSL = async (id: number) => {
|
const deleteSSL = async (id: number) => {
|
||||||
loading.value = true;
|
loading.value = true;
|
||||||
await useDeleteData(DeleteSSL, id, 'commons.msg.delete');
|
await useDeleteData(DeleteSSL, { id: id }, 'commons.msg.delete');
|
||||||
loading.value = false;
|
loading.value = false;
|
||||||
search();
|
search();
|
||||||
};
|
};
|
||||||
|
@ -108,7 +108,7 @@ const onRecover = async (row: Backup.RecordInfo) => {
|
|||||||
|
|
||||||
const onBackup = async () => {
|
const onBackup = async () => {
|
||||||
loading.value = true;
|
loading.value = true;
|
||||||
await BackupWebsite(websiteName.value)
|
await BackupWebsite({ id: websiteID.value })
|
||||||
.then(() => {
|
.then(() => {
|
||||||
loading.value = false;
|
loading.value = false;
|
||||||
ElMessage.success(i18n.global.t('commons.msg.operationSuccess'));
|
ElMessage.success(i18n.global.t('commons.msg.operationSuccess'));
|
||||||
|
@ -127,7 +127,7 @@ const deleteGroup = (index: number) => {
|
|||||||
const group = data.value[index];
|
const group = data.value[index];
|
||||||
|
|
||||||
if (group.id > 0) {
|
if (group.id > 0) {
|
||||||
DeleteGroup(group.id).then(() => {
|
DeleteGroup({ id: group.id }).then(() => {
|
||||||
data.value.splice(index, 1);
|
data.value.splice(index, 1);
|
||||||
ElMessage.success(i18n.global.t('commons.msg.deleteSuccess'));
|
ElMessage.success(i18n.global.t('commons.msg.deleteSuccess'));
|
||||||
});
|
});
|
||||||
|
Loading…
x
Reference in New Issue
Block a user