mirror of
https://github.com/lzh-1625/go_process_manager.git
synced 2025-09-28 12:52:16 +08:00
37 lines
1.1 KiB
Go
37 lines
1.1 KiB
Go
package api
|
|
|
|
import (
|
|
"slices"
|
|
|
|
"github.com/lzh-1625/go_process_manager/internal/app/constants"
|
|
"github.com/lzh-1625/go_process_manager/internal/app/logic"
|
|
"github.com/lzh-1625/go_process_manager/internal/app/model"
|
|
"github.com/lzh-1625/go_process_manager/internal/app/repository"
|
|
|
|
"github.com/gin-gonic/gin"
|
|
)
|
|
|
|
type logApi struct{}
|
|
|
|
var LogApi = new(logApi)
|
|
|
|
func (a *logApi) GetLog(ctx *gin.Context, req model.GetLogReq) {
|
|
if isAdmin(ctx) {
|
|
rOk(ctx, "Query successful!", logic.LogLogicImpl.Search(req, req.FilterName...))
|
|
} else {
|
|
processNameList := repository.PermissionRepository.GetProcessNameByPermission(getUserName(ctx), constants.OPERATION_LOG)
|
|
filterName := slices.DeleteFunc(req.FilterName, func(s string) bool {
|
|
return !slices.Contains(processNameList, s)
|
|
})
|
|
if len(filterName) == 0 {
|
|
filterName = processNameList
|
|
}
|
|
errCheck(ctx, len(filterName) == 0, "No information found!")
|
|
rOk(ctx, "Query successful!", logic.LogLogicImpl.Search(req, filterName...))
|
|
}
|
|
}
|
|
|
|
func (a *logApi) GetRunningLog(ctx *gin.Context) {
|
|
rOk(ctx, "Query successful!", logic.Loghandler.GetRunning())
|
|
}
|