feat(licenses): platform enforcement, key deletion, expired key cleanup #340

Merged
jmiller merged 2 commits from dev into main 2026-05-31 15:03:52 +00:00

2 Commits

Author SHA1 Message Date
Jonathan Miller 4efc679c8b feat(licenses): platform enforcement, key deletion, expired key cleanup
Branch Policy Check / Verify merge target (pull_request) Successful in 1s
Universal: PR Check / Branch Policy (pull_request) Successful in 1s
Universal: PR Check / Validate PR (pull_request) Failing after 6s
Branch Cleanup / Delete merged branch (pull_request) Has been skipped
PR RC Release / Build RC Release (pull_request) Successful in 24s
Universal: PR Check / Build RC Package (pull_request) Has been cancelled
- Block update feed endpoints based on repo platform setting:
  Joomla-only repos return 404 on /updates/dolibarr.json and vice versa
- Show feed URLs section only when licensing is enabled
- Add delete button for license keys (site admin only)
- Add weekly cron job to purge expired keys older than 1 year
- Add DeleteLicenseKey and DeleteExpiredKeys model functions

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-31 10:03:23 -05:00
Jonathan Miller 68ee152cfc fix(licenses): show feed URLs based on repo update platform setting
Only show Joomla XML URL when platform is joomla/both/empty.
Only show Dolibarr JSON URL when platform is dolibarr/both.
Also gate the entire feed URLs section behind LicensingEnabled.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-05-31 09:54:38 -05:00