2025-04-14 15:42:22 +08:00

38 lines
899 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
menusvc v1.MenuService
auditLogsvc v1.AuditLogService
}
var _ Middleware = (*middleware)(nil)
func New(session session.Session, menusvc v1.MenuService, auditLogsvc v1.AuditLogService) Middleware {
return &middleware{
session: session,
menusvc: menusvc,
auditLogsvc: auditLogsvc,
}
}