Versions in this module Expand all Collapse all v0 v0.3.0 Aug 13, 2026 v0.2.0 Aug 9, 2026 Changes in this version + func NewHandler(logger *slog.Logger, cfg config.Config, deps Dependencies) http.Handler + type AuditLogService interface + List func(ctx context.Context, filter auditlogs.Filter) (*auditlogs.Page, error) + type AuthSpamService interface + CheckDeviceCodeCreate func(ctx context.Context, clientInfo requestmeta.ClientInfo) error + CheckDeviceDecision func(ctx context.Context, username string, clientInfo requestmeta.ClientInfo) error + CheckDeviceTokenExchange func(ctx context.Context, clientInfo requestmeta.ClientInfo) error + CheckLogout func(ctx context.Context, clientInfo requestmeta.ClientInfo) error + CheckRefreshToken func(ctx context.Context, clientInfo requestmeta.ClientInfo) error + type ClientAuthService interface + ApproveDeviceCode func(ctx context.Context, userCode string, user db.User) error + CreateDeviceCode func(ctx context.Context, request *api.DeviceCodeCreateRequest) (*api.DeviceCode, error) + DenyDeviceCode func(ctx context.Context, userCode string, user db.User) error + ExchangeDeviceCode func(ctx context.Context, request api.DeviceCodeTokenRequest, userAgent string) (*api.TokenResponse, error) + Logout func(ctx context.Context, request api.LogoutRequest) error + RefreshAccessToken func(ctx context.Context, request api.RefreshTokenRequest, userAgent string) (*api.TokenResponse, error) + type DatabasePinger interface + Ping func(context.Context) error + type Dependencies struct + AuditLogService AuditLogService + AuthSpamService AuthSpamService + ClientAuthService ClientAuthService + DatabasePinger DatabasePinger + DeviceService DeviceService + SessionService SessionService + UserStore identity.UserStore + VLANService VLANService + type DeviceService interface + Create func(ctx context.Context, actor db.User, input api.NetworkDeviceWrite) (devices.DeviceRecord, error) + Delete func(ctx context.Context, actor db.User, id uuid.UUID) error + Get func(ctx context.Context, id uuid.UUID) (devices.DeviceRecord, error) + List func(ctx context.Context) ([]devices.DeviceRecord, error) + Update func(ctx context.Context, actor db.User, id uuid.UUID, patch api.NetworkDevicePatch) (devices.DeviceRecord, error) + type SessionService interface + ListAdminSessionsPage func(ctx context.Context, currentSessionID string, limit, offset int32) (*api.AuthSessionPage, error) + ListProfileSessionsPage func(ctx context.Context, user db.User, currentSessionID string, ...) (*api.AuthSessionPage, error) + RevokeAdminSession func(ctx context.Context, sessionID uuid.UUID) error + RevokeAllAdminSessions func(ctx context.Context) error + RevokeOtherProfileSessions func(ctx context.Context, user db.User, currentSessionID string) error + RevokeProfileSession func(ctx context.Context, user db.User, sessionID uuid.UUID) error + ValidateSession func(ctx context.Context, sessionID string) (bool, error) + type VLANService interface + Create func(ctx context.Context, actor db.User, input api.VlanWrite) (db.Vlan, error) + Delete func(ctx context.Context, actor db.User, vlanID int32) error + Get func(ctx context.Context, vlanID int32) (db.Vlan, error) + List func(ctx context.Context) ([]db.Vlan, error) + Update func(ctx context.Context, actor db.User, vlanID int32, patch api.VlanPatch) (db.Vlan, error)