подключил регистрацию

This commit is contained in:
Андрей Дувакин 2025-11-29 21:57:41 +05:00
parent 196fe6724d
commit 1929318d55
3 changed files with 24 additions and 1 deletions

View File

@ -89,6 +89,20 @@ async def create_user(
return await register_service.create_user(user) return await register_service.create_user(user)
@users_router.post(
'/register/',
response_model=Optional[UserRead],
summary='Register a new user',
description='Register a new user',
)
async def register_user(
user: UserCreate,
db: AsyncSession = Depends(get_db),
):
register_service = RegisterService(db)
return await register_service.user_register(user)
@users_router.get( @users_router.get(
'/role/{role_name}/', '/role/{role_name}/',
response_model=List[UserRead], response_model=List[UserRead],

View File

@ -27,7 +27,7 @@ class UserCreate(BaseModel):
birthdate: date birthdate: date
password: str = Field(min_length=8) password: str = Field(min_length=8)
repeat_password: str = Field(min_length=8) repeat_password: str = Field(min_length=8)
role_id: int = Field() role_id: Optional[int] = Field(default=None)
class UserUpdate(BaseModel): class UserUpdate(BaseModel):

View File

@ -39,6 +39,14 @@ export const usersApi = createApi({
}), }),
invalidatesTags: ["user"], invalidatesTags: ["user"],
}), }),
registerUser: builder.mutation({
query: (data) => ({
url: "/users/register/",
method: "POST",
body: data,
}),
invalidatesTags: ["user"],
}),
getUsersByRoleName: builder.query({ getUsersByRoleName: builder.query({
query: (roleName) => ({ query: (roleName) => ({
url: `/users/role/${roleName}/`, url: `/users/role/${roleName}/`,
@ -76,6 +84,7 @@ export const {
useUpdateUserMutation, useUpdateUserMutation,
useUpdateUserPasswordMutation, useUpdateUserPasswordMutation,
useCreateUserMutation, useCreateUserMutation,
useRegisterUserMutation,
useGetUsersByRoleNameQuery, useGetUsersByRoleNameQuery,
useGetReadedLessonsByCourseQuery, useGetReadedLessonsByCourseQuery,
useSetLessonAsReadedMutation, useSetLessonAsReadedMutation,