Skip to content

Commit 09b42c3

Browse files
authored
Update the nickname field creation logic (#196)
* Update the nickname field creation logic * fix nickname field transfer
1 parent 64f994c commit 09b42c3

File tree

2 files changed

+9
-6
lines changed

2 files changed

+9
-6
lines changed

backend/app/schemas/user.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
#!/usr/bin/env python3
22
# -*- coding: utf-8 -*-
3-
import random
43
from datetime import datetime
54

65
from email_validator import validate_email, EmailNotValidError
@@ -22,7 +21,7 @@ class AuthLogin(Auth):
2221

2322

2423
class RegisterUser(Auth):
25-
nickname: str = Field(f'用户{random.randrange(10000, 99999)}')
24+
nickname: str | None = None
2625
email: str = Field(..., example='user@example.com')
2726

2827
@validator('email')
@@ -37,7 +36,7 @@ def email_validate(cls, v):
3736
class AddUser(Auth):
3837
dept_id: int
3938
roles: list[int]
40-
nickname: str = Field(f'用户{random.randrange(10000, 99999)}')
39+
nickname: str | None = None
4140
email: str = Field(..., example='user@example.com')
4241

4342
@validator('email')

backend/app/services/user_service.py

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
#!/usr/bin/env python3
22
# -*- coding: utf-8 -*-
3+
import random
4+
35
from fastapi import Request
46
from sqlalchemy import Select
57

@@ -23,9 +25,10 @@ async def register(*, obj: RegisterUser) -> None:
2325
username = await UserDao.get_by_username(db, obj.username)
2426
if username:
2527
raise errors.ForbiddenError(msg='该用户名已注册')
28+
obj.nickname = obj.nickname if obj.nickname else f'用户{random.randrange(10000, 99999)}'
2629
nickname = await UserDao.get_by_nickname(db, obj.nickname)
2730
if nickname:
28-
raise errors.ForbiddenError(msg='该昵称已注册')
31+
raise errors.ForbiddenError(msg='昵称已注册')
2932
email = await UserDao.check_email(db, obj.email)
3033
if email:
3134
raise errors.ForbiddenError(msg='该邮箱已注册')
@@ -36,10 +39,11 @@ async def add(*, obj: AddUser) -> None:
3639
async with async_db_session.begin() as db:
3740
username = await UserDao.get_by_username(db, obj.username)
3841
if username:
39-
raise errors.ForbiddenError(msg='该用户名已注册')
42+
raise errors.ForbiddenError(msg='此用户名已注册')
43+
obj.nickname = obj.nickname if obj.nickname else f'用户{random.randrange(10000, 99999)}'
4044
nickname = await UserDao.get_by_nickname(db, obj.nickname)
4145
if nickname:
42-
raise errors.ForbiddenError(msg='该昵称已注册')
46+
raise errors.ForbiddenError(msg='昵称已注册')
4347
dept = await DeptDao.get(db, obj.dept_id)
4448
if not dept:
4549
raise errors.NotFoundError(msg='部门不存在')

0 commit comments

Comments
 (0)