feat(licenses): multi-site keys and domain enforcement #299

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

Current

  • DomainRestriction field exists on LicenseKey (CSV)
  • MaxSites field exists on LicenseKey and LicensePackage
  • No enforcement — domain/site limits not checked during validation

Required

  • ValidateLicenseKey checks domain against DomainRestriction if set
  • Track unique domains per key in usage table
  • Reject if unique domains exceed MaxSites
  • Multiple keys per user (already supported — just needs UI clarity)
  • Show domain count in key list

Files

  • models/licenses/license_key.go — ValidateLicenseKey domain check
  • models/licenses/license_key_usage.go — CountUniqueDomains function
  • routers/web/repo/updateserver.go — pass domain from request
  • templates — show domain count

Ref #296


@MokoBot - Claude Opus 4.6

## Current - DomainRestriction field exists on LicenseKey (CSV) - MaxSites field exists on LicenseKey and LicensePackage - No enforcement — domain/site limits not checked during validation ## Required - ValidateLicenseKey checks domain against DomainRestriction if set - Track unique domains per key in usage table - Reject if unique domains exceed MaxSites - Multiple keys per user (already supported — just needs UI clarity) - Show domain count in key list ## Files - models/licenses/license_key.go — ValidateLicenseKey domain check - models/licenses/license_key_usage.go — CountUniqueDomains function - routers/web/repo/updateserver.go — pass domain from request - templates — show domain count 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#299