from fastapi import APIRouter from uuid import UUID from services.users_service import ( create_user_in_firestore, get_user_from_firestore, update_user_in_firestore, delete_user_from_firestore ) from models.user_model import CreateUser, UpdateUser router = APIRouter( prefix="/api/v1/users", tags=["Users"] ) @router.post("/") def create_user(user_data: CreateUser): return create_user_in_firestore(user_data.dict()) @router.get("/{id}") def get_user(id: str): # Accept uid as a string, not UUID return get_user_from_firestore(id) @router.put("/{id}") def update_user(id: str, user_data: UpdateUser): # Accept uid as a string return update_user_in_firestore(id, user_data.dict()) @router.delete("/{id}") def delete_user(id: str): # Accept uid as a string return delete_user_from_firestore(id)