Public Link Admin Console #7
Labels
No labels
area:ai
area:ci-cd
area:notifications
area:observability
area:public-pages
backlog
bug
duplicate
enhancement
help wanted
invalid
question
type:decision
type:feature
type:infra
type:maintenance
type:security
v1.0.1
v1.1.0
v1.2.0
v1.3.0
v2.0.0
wontfix
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
rbrooks/WeatherBot#7
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Target release: v1.1.0
Operators need an authenticated in-app place to discover, inspect, copy/open, filter, and revoke generated public links across NWS alert pages and SPC outlook impact pages. Implement as shared public-link administration (target type is first-class metadata), not per-product.
Acceptance
/p/{token}path.SHORT_LINK_BASE_URL→PUBLIC_LINK_BASE_URL→APP_BASE_URLpreference.Source:
docs/ROADMAP.md→ Planned → Public Link Admin Console.Audit note (2026-07-18)
From the 2026-07 codebase audit (
docs/.internal/report-2026-07-17.md), finding F-34.Backend primitives for this console already exist — this is smaller than the body implies:
POST /api/public-tokens/{token}/revoke(app/api/public.py:305).revoke_public_tokenhelper (app/services/public_alerts.py:481).app/api/public.py:181,app/api/spc_impacts.py:118).No template references any of it (grep: zero hits in
app/templates). Remaining scope is the listing/console UI plus a list endpoint with filters (location, product, status, expiry, enabled/revoked).Consider pairing with the
public_enabledrevoke-on-toggle behavior from the public-surface privacy issue (#60, audit F-21) — both touch token revocation.Done in #97 (merged). Added the admin
GET /api/public-tokenslist endpoint (unions the NWS-alert and SPC-outlook target types, with token/free-text/type/status/window filters and derived status) and a/public-linksadmin console page with per-row status, copy (resolved outbound URL via SHORT→PUBLIC→APP), open, and revoke (reuses the existing admin revoke endpoint). Admin nav link added. Note: there's no "public-location token" type in the codebase, so the console covers the two real types — a future type slots in with one more outerjoin.