Ivan Fontosh
e299cfc7dd
Revoke licenses by product key instead of shared sub.
...
Add revokedKeys storage and accept key in admin revoke API so DND/TTRPG keys with the same sub can be revoked independently.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-01 16:44:16 +08:00
Ivan Fontosh
b7c14d6191
docs: document license.ttrpgplayer.ru production endpoint (v1.0.1)
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-01 15:56:46 +08:00
Ivan Fontosh
4ac63f2889
Ensure license server always listens under PM2.
...
Skip auto-listen only when SKIP_LICENSE_LISTEN is set for tests.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-28 12:54:56 +08:00
Ivan Fontosh
5aadc3d3a1
Fix server startup when launched via PM2.
...
Use a more reliable main-module check so the HTTP listener starts under process managers.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-28 12:53:08 +08:00
Ivan Fontosh
a6a0e8adf8
Add admin API to list licenses and create product keys.
...
Expose GET /v1/admin/licenses and POST /v1/admin/product-keys for the license manager app.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-28 12:35:40 +08:00
Ivan Fontosh
d595f4ca5a
chore: license server updates and tests
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-05-11 22:20:21 +08:00
Ivan Fontosh
4a0523f309
Initial commit: license activation server (Ed25519)
...
Made-with: Cursor
2026-04-19 17:58:51 +08:00