feat(licenses): key expiry editing and domain assignment UI #298

Open
opened 2026-05-31 04:28:40 +00:00 by jmiller · 0 comments
Owner

Current

  • Keys have ExpiresUnix and DomainRestriction fields in model
  • No web UI to edit these after creation
  • API has EditLicenseKeyOption struct but no PATCH handler

Required

  • Edit key page: change expiry date, domain restriction, licensee name/email, max sites
  • Master keys cannot be edited (except revoke)
  • Exact date picker for expiry (not relative)
  • Domain field: comma-separated domains
  • API PATCH endpoint for /license-keys/{id}

Files

  • templates/repo/licenses_edit_key.tmpl — new template
  • routers/web/repo/licenses.go — LicensesEditKey, LicensesEditKeyPost handlers
  • routers/api/v1/repo/license_key.go — EditLicenseKey handler
  • routers/web/web.go — routes

Ref #296


@MokoBot - Claude Opus 4.6

## Current - Keys have ExpiresUnix and DomainRestriction fields in model - No web UI to edit these after creation - API has EditLicenseKeyOption struct but no PATCH handler ## Required - Edit key page: change expiry date, domain restriction, licensee name/email, max sites - Master keys cannot be edited (except revoke) - Exact date picker for expiry (not relative) - Domain field: comma-separated domains - API PATCH endpoint for /license-keys/{id} ## Files - templates/repo/licenses_edit_key.tmpl — new template - routers/web/repo/licenses.go — LicensesEditKey, LicensesEditKeyPost handlers - routers/api/v1/repo/license_key.go — EditLicenseKey handler - routers/web/web.go — routes Ref #296 --- *@MokoBot - Claude Opus 4.6*
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: MokoConsulting/MokoGitea#298