Saltar a contenido

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 #

Bases: CursoBase

Esquema para la creación de un curso.

Config #

Configuración adicional para el modelo CourseCreate.

CourseResponse #

Bases: CursoBase

Esquema para la respuesta de operaciones con cursos.

created_at instance-attribute #

Fecha y hora de registro del curso en formato ISO 8601

id instance-attribute #

Identificador único del curso en la base de datos

Config #

Configuración adicional para el modelo 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 #

Bases: BaseModel

Esquema base para un curso.

descripcion instance-attribute #

Descripción del curso.

maestro instance-attribute #

Nombre del maestro a cargo del curso.

nombre instance-attribute #

Nombre del curso.

validate_not_empty(v) classmethod #

Valida que los campos de texto no estén vacíos.


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.