Files

55 lines
1.3 KiB
Go

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()
}