Coverage for src / mysingle / auth / router / register.py: 0%

11 statements  

« prev     ^ index     » next       coverage.py v7.12.0, created at 2025-12-02 00:58 +0900

1from fastapi import APIRouter, Request, status 

2 

3from ..schemas import UserCreate, UserResponse 

4from ..user_manager import UserManager 

5 

6user_manager = UserManager() 

7 

8 

9def get_register_router() -> APIRouter: 

10 """회원 가입을 위한 라우터 생성""" 

11 router = APIRouter() 

12 

13 @router.post( 

14 "/register", 

15 response_model=UserResponse, 

16 status_code=status.HTTP_201_CREATED, 

17 ) 

18 async def register( 

19 request: Request, 

20 obj_in: UserCreate, 

21 ) -> UserResponse: 

22 """ 

23 새로운 사용자를 등록합니다. 

24 

25 Args: 

26 request: FastAPI Request 객체 

27 obj_in: 사용자 생성 정보 (이메일, 비밀번호 등) 

28 

29 Returns: 

30 UserResponse: 생성된 사용자 정보 

31 """ 

32 # UserManager.create에서 이미 적절한 예외를 발생시키므로 

33 # 직접 전파하도록 수정 

34 created_user = await user_manager.create(obj_in, request=request) 

35 return UserResponse.model_validate(created_user, from_attributes=True) 

36 

37 return router