2025-05-07 14:12:53 +08:00

36 lines
900 B
Go

package middleware
import (
"context"
"net/http"
"management/internal/erpserver/model/dto"
v1 "management/internal/erpserver/service/v1"
"management/internal/pkg/session"
)
type Middleware interface {
Audit(next http.Handler) http.Handler
NoSurf(next http.Handler) http.Handler
LoadSession(next http.Handler) http.Handler
Authorize(next http.Handler) http.Handler
AuthUser(ctx context.Context) dto.AuthorizeUser
IsAuth(ctx context.Context) bool
RefreshToken(ctx context.Context) bool
Destroy(ctx context.Context) error
}
type middleware struct {
session session.Session
menuService v1.MenuService
auditLogService v1.AuditLogService
}
func New(session session.Session, menuService v1.MenuService, auditLogService v1.AuditLogService) Middleware {
return &middleware{
session: session,
menuService: menuService,
auditLogService: auditLogService,
}
}