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. |