dev #11

Merged
k1nq merged 76 commits from dev into master 2025-11-30 04:48:35 +00:00
1 changed files with 0 additions and 46 deletions
Showing only changes of commit fd6561205b - Show all commits

View File

@ -1,46 +0,0 @@
"""Authentication API endpoints."""
from __future__ import annotations
from fastapi import APIRouter, Depends, HTTPException, status
from pydantic import BaseModel, EmailStr
from app.api.deps import get_auth_service
from app.models.token import LoginRequest, TokenResponse
from app.services.auth_service import AuthService, InvalidCredentialsError
router = APIRouter(prefix="/auth", tags=["auth"])
class RegisterRequest(BaseModel):
email: EmailStr
password: str
name: str
organization_name: str
def _stub(detail: str) -> dict[str, str]:
return {"detail": detail}
@router.post("/register", status_code=status.HTTP_501_NOT_IMPLEMENTED)
async def register_user(_: RegisterRequest) -> dict[str, str]:
"""Placeholder for user plus organization registration flow."""
return _stub("POST /auth/register is not implemented yet")
@router.post("/login", status_code=status.HTTP_501_NOT_IMPLEMENTED)
async def login(_: LoginRequest) -> dict[str, str]:
"""Placeholder for login shortcut endpoint defined in the spec."""
return _stub("POST /auth/login is not implemented yet")
@router.post("/token", response_model=TokenResponse)
async def login_for_access_token(
credentials: LoginRequest,
service: AuthService = Depends(get_auth_service),
) -> TokenResponse:
try:
user = await service.authenticate(credentials.email, credentials.password)
except InvalidCredentialsError as exc: # pragma: no cover - thin API
raise HTTPException(status_code=status.HTTP_401_UNAUTHORIZED, detail=str(exc)) from exc
return service.create_access_token(user)