mirror of
https://gitee.com/samwaf/SamWaf.git
synced 2025-12-06 14:59:18 +08:00
82 lines
2.6 KiB
Go
82 lines
2.6 KiB
Go
package waf_service
|
|
|
|
import (
|
|
"SamWaf/customtype"
|
|
"SamWaf/global"
|
|
"SamWaf/model"
|
|
"SamWaf/model/baseorm"
|
|
"SamWaf/model/request"
|
|
"errors"
|
|
uuid "github.com/satori/go.uuid"
|
|
"time"
|
|
)
|
|
|
|
type WafBlockUrlService struct{}
|
|
|
|
var WafBlockUrlServiceApp = new(WafBlockUrlService)
|
|
|
|
func (receiver *WafBlockUrlService) AddApi(req request.WafBlockUrlAddReq) error {
|
|
var bean = &model.URLBlockList{
|
|
BaseOrm: baseorm.BaseOrm{
|
|
Id: uuid.NewV4().String(),
|
|
USER_CODE: global.GWAF_USER_CODE,
|
|
Tenant_ID: global.GWAF_TENANT_ID,
|
|
CREATE_TIME: customtype.JsonTime(time.Now()),
|
|
UPDATE_TIME: customtype.JsonTime(time.Now()),
|
|
},
|
|
HostCode: req.HostCode,
|
|
Url: req.Url,
|
|
Remarks: req.Remarks,
|
|
}
|
|
global.GWAF_LOCAL_DB.Create(bean)
|
|
return nil
|
|
}
|
|
|
|
func (receiver *WafBlockUrlService) CheckIsExistApi(req request.WafBlockUrlAddReq) error {
|
|
return global.GWAF_LOCAL_DB.First(&model.URLBlockList{}, "host_code = ? and url= ?", req.HostCode,
|
|
req.Url).Error
|
|
}
|
|
func (receiver *WafBlockUrlService) ModifyApi(req request.WafBlockUrlEditReq) error {
|
|
var bean model.URLBlockList
|
|
global.GWAF_LOCAL_DB.Where("host_code = ? and url= ?", req.HostCode,
|
|
req.Url).Find(&bean)
|
|
if bean.Id != "" && bean.Url != req.Url {
|
|
return errors.New("当前网站和url已经存在")
|
|
}
|
|
modfiyMap := map[string]interface{}{
|
|
"Host_Code": req.HostCode,
|
|
"Url": req.Url,
|
|
"Remarks": req.Remarks,
|
|
"UPDATE_TIME": customtype.JsonTime(time.Now()),
|
|
}
|
|
err := global.GWAF_LOCAL_DB.Model(model.URLBlockList{}).Where("id = ?", req.Id).Updates(modfiyMap).Error
|
|
|
|
return err
|
|
}
|
|
func (receiver *WafBlockUrlService) GetDetailApi(req request.WafBlockUrlDetailReq) model.URLBlockList {
|
|
var bean model.URLBlockList
|
|
global.GWAF_LOCAL_DB.Where("id=?", req.Id).Find(&bean)
|
|
return bean
|
|
}
|
|
func (receiver *WafBlockUrlService) GetDetailByIdApi(id string) model.URLBlockList {
|
|
var bean model.URLBlockList
|
|
global.GWAF_LOCAL_DB.Where("id=?", id).Find(&bean)
|
|
return bean
|
|
}
|
|
func (receiver *WafBlockUrlService) GetListApi(req request.WafBlockUrlSearchReq) ([]model.URLBlockList, int64, error) {
|
|
var ipWhites []model.URLBlockList
|
|
var total int64 = 0
|
|
global.GWAF_LOCAL_DB.Limit(req.PageSize).Offset(req.PageSize * (req.PageIndex - 1)).Find(&ipWhites)
|
|
global.GWAF_LOCAL_DB.Model(&model.URLBlockList{}).Count(&total)
|
|
return ipWhites, total, nil
|
|
}
|
|
func (receiver *WafBlockUrlService) DelApi(req request.WafBlockUrlDelReq) error {
|
|
var bean model.URLBlockList
|
|
err := global.GWAF_LOCAL_DB.Where("id = ?", req.Id).First(&bean).Error
|
|
if err != nil {
|
|
return err
|
|
}
|
|
err = global.GWAF_LOCAL_DB.Where("id = ?", req.Id).Delete(model.URLBlockList{}).Error
|
|
return err
|
|
}
|