Marcador

Documentación detallada del módulo de Marcadores para la gestión de marcadores en unidades de planificación en RedCollege.

Introducción

El módulo MarcadorModule proporciona métodos para gestionar marcadores dentro de las unidades de planificación en el sistema RedCollege. Estos marcadores permiten resaltar fechas importantes, eventos o hitos dentro del cronograma de una unidad educativa.

Métodos

obtenerMarcadorPorUnidad

Obtiene todos los marcadores asociados a una unidad específica.

Parámetros:

NombreTipoDescripciónRequerido
unidadIdnumberID de la unidad

Retorna:

  • Promise con un array de objetos IMarcador

Ejemplo de uso:

const { planificaciones } = useNuxtApp().$apis
const marcadores = await planificaciones.marcadores.obtenerMarcadorPorUnidad(456)

crearMarcador

Crea un nuevo marcador asociado a una unidad.

Parámetros:

NombreTipoDescripciónRequerido
unidadIdnumberID de la unidad
marcadorFormDataIFormDataMarcadorDatos del marcador a crear

Propiedades de IFormDataMarcador:

PropiedadTipoDescripciónRequerido
idnumberID del marcador (0 para nuevos)
fechastringFecha del marcador (formato ISO)
colorstringColor de fondo del marcador
iconstringNombre del icono a mostrar
iconColorstringColor del icono
nombrestringTítulo del marcador
descripcionstringDescripción detallada
unidadIdnumberID de la unidad asociada

Retorna:

  • Promise con un objeto IMarcador del marcador creado

Ejemplo de uso:

const { planificaciones } = useNuxtApp().$apis
const nuevoMarcador = await planificaciones.marcadores.crearMarcador(456, {
  id: 0,
  fecha: '2023-07-15T10:00:00',
  color: '#e3f2fd',
  icon: 'calendar',
  iconColor: '#1976d2',
  nombre: 'Evaluación Parcial',
  descripcion: 'Evaluación de conceptos básicos',
  unidadId: 456
})

actualizarMarcador

Actualiza un marcador existente.

Parámetros:

NombreTipoDescripciónRequerido
marcadorIdnumberID del marcador a actualizar
marcadorFormDataIFormDataMarcadorDatos actualizados del marcador

Retorna:

  • Promise con un objeto IMarcador con los datos actualizados

Ejemplo de uso:

const { planificaciones } = useNuxtApp().$apis
const marcadorActualizado = await planificaciones.marcadores.actualizarMarcador(789, {
  id: 789,
  fecha: '2023-07-20T10:00:00',
  color: '#fff8e1',
  icon: 'star',
  iconColor: '#ff8f00',
  nombre: 'Evaluación Final',
  descripcion: 'Evaluación final de la unidad',
  unidadId: 456
})

eliminarMarcador

Elimina un marcador existente.

Parámetros:

NombreTipoDescripciónRequerido
marcadorIdnumberID del marcador a eliminar

Retorna:

  • Promise con un objeto IMarcador del marcador eliminado

Ejemplo de uso:

const { planificaciones } = useNuxtApp().$apis
const marcadorEliminado = await planificaciones.marcadores.eliminarMarcador(789)

Consideraciones importantes

  • La mayoría de los métodos requieren autenticación previa en el sistema.
  • Los marcadores están asociados a unidades de planificación, por lo que es necesario contar con permisos de edición sobre la unidad.
  • El formato de fecha debe ser compatible con DateTime de Luxon, preferiblemente en formato ISO.
  • Los colores pueden especificarse en formato hexadecimal (#RRGGBB) o mediante nombres de colores CSS.
  • Los iconos deben estar disponibles en el sistema de iconos de la aplicación.

Errores comunes

  • 404 Not Found: El marcador o unidad solicitada no existe
  • 403 Forbidden: El usuario no tiene permisos para gestionar marcadores en la unidad
  • 400 Bad Request: Datos enviados incorrectos o incompletos
  • 500 Internal Server Error: Error en el servidor, intentar más tarde

Interfaces relacionadas

La principal interfaz utilizada por este módulo es:

  • IMarcador: Representa un marcador completo con todas sus propiedades
    • id: Identificador único del marcador
    • fecha: Fecha del evento o hito (DateTime)
    • color: Color de fondo para el marcador
    • icon: Nombre del icono a mostrar
    • iconColor: Color para el icono
    • nombre: Título breve del marcador
    • descripcion: Descripción detallada
    • unidadId: ID de la unidad asociada
    • deletedBy: ID del usuario que eliminó el marcador (si aplica)
    • deletedAt: Fecha de eliminación (si aplica)
    • createdAt: Fecha de creación
    • updatedAt: Fecha de última actualización