limit max number of users

This commit is contained in:
Davide Scaini
2026-04-10 12:35:34 +02:00
parent cbac82a2ba
commit 683b7d9c1b
4 changed files with 62 additions and 3 deletions
+8
View File
@@ -25,10 +25,12 @@ from bincio.serve.db import (
authenticate,
create_invite,
create_session,
count_users,
create_user,
delete_session,
get_invite,
get_session,
get_setting,
get_user,
list_invites,
list_users,
@@ -221,6 +223,12 @@ async def register(request: Request) -> JSONResponse:
if get_user(_get_db(), handle):
raise HTTPException(409, "Handle already taken")
max_users_val = get_setting(_get_db(), "max_users")
if max_users_val is not None:
limit = int(max_users_val)
if limit > 0 and count_users(_get_db()) >= limit:
raise HTTPException(403, f"This instance has reached its user limit ({limit})")
create_user(_get_db(), handle, display, password, is_admin=False)
use_invite(_get_db(), code, handle)