Files
acad-ia-2/src/types/plan.ts
Guillermo Arrieta Medina d6c567195a Generación existosa de múltiples asignaturas con IA
TODO: actualización automática de el estado de las asignaturas generadas
2026-02-12 16:17:48 -06:00

113 lines
1.9 KiB
TypeScript

import type { Tables } from './supabase'
export type PlanStatus =
| 'borrador'
| 'revision'
| 'expertos'
| 'consejo'
| 'aprobado'
| 'rechazado'
export type TipoPlan =
| 'Licenciatura'
| 'Maestría'
| 'Doctorado'
| 'Especialidad'
export type TipoAsignatura = Tables<'asignaturas'>['tipo']
export type AsignaturaStatus = Tables<'asignaturas'>['estado']
export interface Facultad {
id: string
nombre: string
color: string
icono: string
}
export interface Carrera {
id: string
nombre: string
facultadId: string
}
export interface LineaCurricular {
id: string
nombre: string
orden: number
color?: string
}
export interface Asignatura {
id: string
clave: string
nombre: string
creditos: number
ciclo: number | null
lineaCurricularId: string | null
tipo: TipoAsignatura
estado: AsignaturaStatus
orden?: number
hd: number // <--- Añadir
hi: number // <--- Añadir
prerrequisitos: Array<string>
}
export interface Plan {
id: string
nombre: string
carrera: Carrera
facultad: Facultad
tipoPlan: TipoPlan
nivel?: string
modalidad?: string
duracionCiclos: number
creditosTotales: number
fechaCreacion: string
estadoActual: PlanStatus
}
export type DatosGeneralesField = {
id: string
label: string
helperText?: string
holder?: string
value: string
requerido: boolean
tipo: 'texto' | 'parrafo' | 'lista' | 'number' | 'select'
opciones?: Array<string>
}
export interface CambioPlan {
id: string
fecha: string
usuario: string
tab: string
descripcion: string
detalle?: string
}
export interface ComentarioFlujo {
id: string
usuario: string
fecha: string
texto: string
fase: PlanStatus
}
export interface DocumentoPlan {
id: string
fechaGeneracion: string
version: number
url?: string
}
export type PlanTab =
| 'datos-generales'
| 'mapa-curricular'
| 'asignaturas'
| 'flujo'
| 'ia'
| 'documento'
| 'historial'