Files
acad-ia-2/src/types/plan.ts

103 lines
1.8 KiB
TypeScript

export type PlanStatus =
| 'borrador'
| 'revision'
| 'expertos'
| 'consejo'
| 'aprobado'
| 'rechazado';
export type TipoPlan = 'Licenciatura' | 'Maestría' | 'Doctorado' | 'Especialidad';
export type TipoMateria = 'obligatoria' | 'optativa' | 'troncal';
export type MateriaStatus = 'borrador' | 'revisada' | 'aprobada';
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 Materia {
id: string;
clave: string;
nombre: string;
creditos: number;
ciclo: number | null;
lineaCurricularId: string | null;
tipo: TipoMateria;
estado: MateriaStatus;
orden?: number;
hd: number; // <--- Añadir
hi: number; // <--- Añadir
}
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 interface DatosGeneralesField {
id: string;
label: string;
value: string;
tipo: 'texto' | 'lista' | 'parrafo';
requerido: boolean;
}
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'
| 'materias'
| 'flujo'
| 'ia'
| 'documento'
| 'historial';