limit max number of users
This commit is contained in:
@@ -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)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user