123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- package web
- import (
- "context"
- "fmt"
- v1 "github.com/go-nunu/nunu-layout-advanced/api/v1"
- "github.com/go-nunu/nunu-layout-advanced/internal/service/api/waf/common"
- )
- // ValidateAddRequest 验证添加请求
- func (s *AidedWebService) ValidateAddRequest(ctx context.Context, req *v1.WebForwardingRequest, require common.RequireResponse) error {
- if err := s.wafformatter.ValidateWafDomainCount(ctx, v1.GlobalRequire{
- HostId: req.HostId,
- Domain: req.WebForwardingData.Domain,
- Comment: req.WebForwardingData.Comment,
- Uid: req.Uid,
- }); err != nil {
- return fmt.Errorf("域名数量验证失败: %w", err)
- }
- if err := s.wafformatter.ValidateWafPortCount(ctx, require.HostId); err != nil {
- return fmt.Errorf("端口数量验证失败: %w", err)
- }
- protocol := s.GetProtocolType(req.WebForwardingData.IsHttps)
- if err := s.wafformatter.VerifyPort(ctx, protocol, int64(req.WebForwardingData.Id), req.WebForwardingData.Port, int64(require.HostId), req.WebForwardingData.Domain); err != nil {
- return fmt.Errorf("端口 %d 验证失败: %w", req.WebForwardingData.Port, err)
- }
- return nil
- }
- // ValidateEditRequest 验证编辑请求
- func (s *AidedWebService) ValidateEditRequest(ctx context.Context, req *v1.WebForwardingRequest) error {
- if err := s.wafformatter.ValidateWafDomainCount(ctx, v1.GlobalRequire{
- HostId: req.HostId,
- Domain: req.WebForwardingData.Domain,
- Comment: req.WebForwardingData.Comment,
- Uid: req.Uid,
- }); err != nil {
- return fmt.Errorf("域名数量验证失败: %w", err)
- }
- protocol := s.GetProtocolType(req.WebForwardingData.IsHttps)
- if err := s.wafformatter.VerifyPort(ctx, protocol, int64(req.WebForwardingData.Id), req.WebForwardingData.Port, int64(req.HostId), req.WebForwardingData.Domain); err != nil {
- return fmt.Errorf("端口 %d 验证失败: %w", req.WebForwardingData.Port, err)
- }
- return nil
- }
- // ValidateDeletePermission 验证删除权限
- func (s *AidedWebService) ValidateDeletePermission(oldHostId int, hostId int) error {
- if oldHostId != hostId {
- return fmt.Errorf("用户权限不足")
- }
- return nil
- }
|