This repository has been archived on 2025-11-27. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
Fitz_Studio/backend/domains/usuarios_endpoint_v1.py
T

36 lines
1.5 KiB
Python

from fastapi import APIRouter, Depends, HTTPException
from sqlalchemy.orm import Session
from src.Usuario.usuario_mmr import UsuarioRepo, Usuario, UsuarioModel
from backend.db.conexion import get_conexion
router = APIRouter()
@router.post("/usuarios/", response_model=dict)
def crear_usuario(nombre: str, email: str, db: Session = Depends(get_conexion)):
repo = UsuarioRepo(db)
usuario = Usuario(id=None, nombre=nombre, email=email)
usuario_id = repo.add(usuario)
return {"id": usuario_id}
@router.get("/usuarios/{usuario_id}", response_model=dict)
def obtener_usuario(usuario_id: int, db: Session = Depends(get_conexion)):
repo = UsuarioRepo(db)
usuario = repo.get_by_id(usuario_id)
if not usuario:
raise HTTPException(status_code=404, detail="Usuario no encontrado")
return {"id": usuario.id, "nombre": usuario.nombre, "email": usuario.email, "activo": usuario.activo}
@router.get("/usuarios/", response_model=list)
def listar_usuarios(db: Session = Depends(get_conexion)):
repo = UsuarioRepo(db)
usuarios = repo.get_all()
return [{"id": u.id, "nombre": u.nombre, "email": u.email, "activo": u.activo} for u in usuarios]
@router.delete("/usuarios/{usuario_id}", response_model=dict)
def eliminar_usuario(usuario_id: int, db: Session = Depends(get_conexion)):
repo = UsuarioRepo(db)
exito = repo.delete_by_id(usuario_id)
if not exito:
raise HTTPException(status_code=404, detail="Usuario no encontrado")
return {"ok": True}