55 lines
1.3 KiB
Go
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()
|
|
}
|