Coverage for app/api/routes/private.py: 100%

15 statements  

« prev     ^ index     » next       coverage.py v7.16.1, created at 2026-10-26 10:48 +0000

1from typing import Any 

2 

3from fastapi import APIRouter 

4from pydantic import BaseModel 

5 

6from app.api.deps import SessionDep 

7from app.core.security import get_password_hash 

8from app.models import ( 

9 User, 

10 UserPublic, 

11) 

12 

13router = APIRouter(tags=["private"], prefix="/private") 

14 

15 

16class PrivateUserCreate(BaseModel): 

17 email: str 

18 password: str 

19 full_name: str 

20 is_verified: bool = False 

21 

22 

23@router.post("/users/", response_model=UserPublic) 

24def create_user(user_in: PrivateUserCreate, session: SessionDep) -> Any: 

25 """ 

26 Create a new user. 

27 """ 

28 

29 user = User( 1b

30 email=user_in.email, 

31 full_name=user_in.full_name, 

32 hashed_password=get_password_hash(user_in.password), 

33 ) 

34 

35 session.add(user) 1b

36 session.commit() 1b

37 

38 return user 1b