Files
EdgeAPI/internal/rpc/services/service_http_web.go

85 lines
2.1 KiB
Go
Raw Normal View History

2020-09-15 14:44:11 +08:00
package services
import (
"context"
"github.com/TeaOSLab/EdgeAPI/internal/db/models"
rpcutils "github.com/TeaOSLab/EdgeAPI/internal/rpc/utils"
"github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb"
)
type HTTPWebService struct {
}
// 创建Web配置
func (this *HTTPWebService) CreateHTTPWeb(ctx context.Context, req *pb.CreateHTTPWebRequest) (*pb.CreateHTTPWebResponse, error) {
// 校验请求
_, _, err := rpcutils.ValidateRequest(ctx, rpcutils.UserTypeAdmin)
if err != nil {
return nil, err
}
webId, err := models.SharedHTTPWebDAO.CreateWeb(req.Root)
if err != nil {
return nil, err
}
return &pb.CreateHTTPWebResponse{WebId: webId}, nil
}
// 查找Web配置
func (this *HTTPWebService) FindEnabledHTTPWeb(ctx context.Context, req *pb.FindEnabledHTTPWebRequest) (*pb.FindEnabledHTTPWebResponse, error) {
// 校验请求
_, _, err := rpcutils.ValidateRequest(ctx, rpcutils.UserTypeAdmin)
if err != nil {
return nil, err
}
web, err := models.SharedHTTPWebDAO.FindEnabledHTTPWeb(req.WebId)
if err != nil {
return nil, err
}
if web == nil {
return &pb.FindEnabledHTTPWebResponse{Web: nil}, nil
}
result := &pb.HTTPWeb{}
result.Id = int64(web.Id)
2020-09-16 09:09:21 +08:00
result.IsOn = web.IsOn == 1
2020-09-15 14:44:11 +08:00
result.Root = web.Root
2020-09-16 09:09:21 +08:00
result.GzipId = int64(web.GzipId)
2020-09-15 14:44:11 +08:00
return &pb.FindEnabledHTTPWebResponse{Web: result}, nil
}
// 修改Web配置
func (this *HTTPWebService) UpdateHTTPWeb(ctx context.Context, req *pb.UpdateHTTPWebRequest) (*pb.UpdateHTTPWebResponse, error) {
// 校验请求
_, _, err := rpcutils.ValidateRequest(ctx, rpcutils.UserTypeAdmin)
if err != nil {
return nil, err
}
err = models.SharedHTTPWebDAO.UpdateWeb(req.WebId, req.Root)
if err != nil {
return nil, err
}
return &pb.UpdateHTTPWebResponse{}, nil
}
2020-09-16 09:09:21 +08:00
// 修改Gzip配置
func (this *HTTPWebService) UpdateHTTPWebGzip(ctx context.Context, req *pb.UpdateHTTPWebGzipRequest) (*pb.UpdateHTTPWebGzipResponse, error) {
// 校验请求
_, _, err := rpcutils.ValidateRequest(ctx, rpcutils.UserTypeAdmin)
if err != nil {
return nil, err
}
err = models.SharedHTTPWebDAO.UpdateWebGzip(req.WebId, req.GzipId)
if err != nil {
return nil, err
}
return &pb.UpdateHTTPWebGzipResponse{}, nil
}