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
« prev ^ index » next coverage.py v7.16.1, created at 2026-10-26 10:48 +0000
1from typing import Any
3from fastapi import APIRouter
4from pydantic import BaseModel
6from app.api.deps import SessionDep
7from app.core.security import get_password_hash
8from app.models import (
9 User,
10 UserPublic,
11)
13router = APIRouter(tags=["private"], prefix="/private")
16class PrivateUserCreate(BaseModel):
17 email: str
18 password: str
19 full_name: str
20 is_verified: bool = False
23@router.post("/users/", response_model=UserPublic)
24def create_user(user_in: PrivateUserCreate, session: SessionDep) -> Any:
25 """
26 Create a new user.
27 """
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 )
35 session.add(user) 1b
36 session.commit() 1b
38 return user 1b