initial: ZeroTier-like P2P mesh VPN server with multi-tenant Web UI
This commit is contained in:
54
internal/service/log.go
Normal file
54
internal/service/log.go
Normal file
@@ -0,0 +1,54 @@
|
||||
package service
|
||||
|
||||
import (
|
||||
"zeromesh/internal/model"
|
||||
"zeromesh/internal/repository"
|
||||
)
|
||||
|
||||
type LogService struct {
|
||||
repo *repository.LogRepo
|
||||
}
|
||||
|
||||
func NewLogService(repo *repository.LogRepo) *LogService {
|
||||
return &LogService{repo: repo}
|
||||
}
|
||||
|
||||
func (s *LogService) ListApiLogs(page, pageSize int, ip, path, method string, statusCode int) ([]model.ApiLog, int64, error) {
|
||||
if page < 1 {
|
||||
page = 1
|
||||
}
|
||||
if pageSize < 1 || pageSize > 200 {
|
||||
pageSize = 20
|
||||
}
|
||||
return s.repo.ListApiLogs(page, pageSize, ip, path, method, statusCode)
|
||||
}
|
||||
|
||||
func (s *LogService) ListErrorLogs(page, pageSize int, ip, path, method string, statusCode int) ([]model.ErrorLog, int64, error) {
|
||||
if page < 1 {
|
||||
page = 1
|
||||
}
|
||||
if pageSize < 1 || pageSize > 200 {
|
||||
pageSize = 20
|
||||
}
|
||||
return s.repo.ListErrorLogs(page, pageSize, ip, path, method, statusCode)
|
||||
}
|
||||
|
||||
func (s *LogService) ListApiLogGrouped() ([]map[string]interface{}, error) {
|
||||
return s.repo.ListApiLogGrouped()
|
||||
}
|
||||
|
||||
func (s *LogService) InsertApiLog(log *model.ApiLog) error {
|
||||
return s.repo.InsertApiLog(log)
|
||||
}
|
||||
|
||||
func (s *LogService) InsertErrorLog(log *model.ErrorLog) error {
|
||||
return s.repo.InsertErrorLog(log)
|
||||
}
|
||||
|
||||
func (s *LogService) ClearApiLogs() error {
|
||||
return s.repo.ClearApiLogs()
|
||||
}
|
||||
|
||||
func (s *LogService) ClearErrorLogs() error {
|
||||
return s.repo.ClearErrorLogs()
|
||||
}
|
||||
Reference in New Issue
Block a user