feat: handle pre-existing users in register_magic_link route
This commit is contained in:
parent
1c21d6d199
commit
0c3157ea3a
1 changed files with 7 additions and 3 deletions
|
|
@ -78,9 +78,13 @@ async def register_magic_link(request: Request, token: str) -> Response:
|
|||
if link is None:
|
||||
return HTMLResponse("<p>Invalid or expired registration link.</p>", status_code=400)
|
||||
|
||||
userid = await generate_unique_userid(user_repo)
|
||||
user = User(userid=userid, username=link.username, groups=["users"])
|
||||
await user_repo.create(user)
|
||||
existing_user = await user_repo.get_by_username(link.username)
|
||||
if existing_user is not None:
|
||||
user = existing_user
|
||||
else:
|
||||
userid = await generate_unique_userid(user_repo)
|
||||
user = User(userid=userid, username=link.username, groups=["users"])
|
||||
await user_repo.create(user)
|
||||
|
||||
await magic_link_service.mark_used(token)
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue