Routes#
API routes for managing courses in the application.
Routes
POST /cursos: Create a new course.GET /cursos: Retrieve the list of all courses.GET /cursos/{curso_id}: Retrieve a course by its ID.PUT /cursos/{curso_id}: Update an existing course.DELETE /cursos/{curso_id}: Delete a course by its ID.
Functions:
| Name | Description |
|---|---|
- `create_curso` |
Create a new course. |
- `get_cursos` |
Retrieve the list of all courses. |
- `get_curso` |
Retrieve a course by its ID. |
- `update_curso` |
Update an existing course. |
- `delete_curso` |
Delete a course by its ID. |
Dependencies
- fastapi: FastAPI framework for building APIs. -pydantic: Data validation and settings management using Python type annotations.
- sqlalchemy: SQL toolkit and Object-Relational Mapping (ORM) library.
- sqlmodel: SQL databases in Python, designed to be compatible with FastAPI.
app.main: Main application module containing the database session..models: Module containing the Register model..schemas: Module containing the response schemas (CourseResponse,CourseUpdate).
create_curso(curso, db)
async
#
Crear un nuevo curso en la base de datos.
delete_curso(curso_id, db)
async
#
Eliminar un curso por su ID.
get_curso(curso_id, db)
async
#
Obtener un curso por su ID.
get_cursos(db)
#
Obtener la lista de todos los cursos.
update_curso(curso_id, curso_update, db)
async
#
Actualizar un curso existente.
Schemas#
Esquemas de validación de datos para la gestión de cursos.
CourseCreate
#
CourseResponse
#
CourseUpdate
#
Bases: BaseModel
Esquema para actualizar un curso existente.
descripcion = None
class-attribute
instance-attribute
#
Descripción del curso (opcional)
maestro = None
class-attribute
instance-attribute
#
Maestro del curso (opcional)
nombre = None
class-attribute
instance-attribute
#
Nombre del curso (opcional)
Config
#
Configuración adicional para el modelo CourseUpdate.
validate_not_empty(v)
classmethod
#
Valida que los campos de texto no estén vacíos si se proporcionan.
CursoBase
#
Models#
Modelo de la base de datos para la API de Gestión de Cursos.
Register
#
Bases: SQLModel
Modelo para registrar cursos en la base de datos.
now_utc()
#
Se obtiene la fecha y hora actual en UTC.
Está función es utilizada como un valor predeterminado para el campo creted_at en los modelos de la base de datos.
Returns:
| Name | Type | Description |
|---|---|---|
datetime |
Fecha y hora actual en formato UTC. |