package contexts import ( "context" "git.haelnorr.com/h/oslstats/internal/db" ) // WithPreviewRole adds a preview role to the context func WithPreviewRole(ctx context.Context, role *db.Role) context.Context { return context.WithValue(ctx, PreviewRoleKey, role) } // GetPreviewRole retrieves the preview role from the context, or nil if not present func GetPreviewRole(ctx context.Context) *db.Role { if role, ok := ctx.Value(PreviewRoleKey).(*db.Role); ok { return role } return nil } // IsPreviewMode returns true if the user is currently in preview mode func IsPreviewMode(ctx context.Context) bool { return GetPreviewRole(ctx) != nil }