Types
types.ts

types.ts

En el archivo types.ts se tienen 8 interfaces las cuales funcionan para diferentes cosas en nuestra aplicación. En este archivo se va a buscar explicar todas las interfaces, para que sirven y tambien para que son cada cosa.

UserDetails

Esta interfaz es la que se aplica en el userContext. El cual contiene lo que serian los datos del usuario de la base de datos. Los cuales están en la tabla "users"

// Path: ./types/types.ts
 
export interface UserDetails {
  id: string;
  first_name: string;
  last_name: string;
}

Estos tipos son usados para colocar la información. El que se usa frecuenteme es el campo "id" el cual usamos a la creación de eventos y crear un registro de quien crear el evento.

Evento

La interfaz o las propiedades "Evento" son usadas como dice su nombre, para eventos individuales. Estas propiedades son algunas que tienen en donde sería la creación del evento o la visualización del evento de manera individual en la ruta /eventos/[idEvento].tsx

// Path: ./types/types.ts
 
export interface Evento {
  nameevent: string;
  description: string;
  dateevent: string;
  starthour: string;
  endhour: string;
  placeevent: string;
  // addressedto: never[];
}

CarrerasGrupos

Estan son las carreras que hay, lo que se tiene es que los valores son arrays de strings. De esta manera se tiene lo que serían los grupos que contienen los grupos.

// Path: ./types/types.ts
 
export interface CarrerasGrupos {
  BTAD?: string[];
  TPIN?: string[];
  BTGO?: string[];
  TPTE?: string[];
  TPBI?: string[];
  TPMC?: string[];
}

GruposYCarreras

La interfaz es usada para los registros que se traen en la tabla de "semestres_grupos". La cual contiene los mismos campos que en la tabla. Las que son mas importanes son las de carrera y lo que nos interesa saber es el status del grupo del ciclo.

// Path: ./types/types.ts
 
export interface GruposYCarreras {
  id: number;
  carrera: string;
  grupo: string;
  semestregrupo: string;
  turno: string;
  status: boolean;
}

FiltrosEventos

La interfaz de FiltrosEventos es realmente importante ya que maneja lo que sería la estructura de nuestro filtro para la invitación de las personas. Este filtro será explicado después en su carpeta y en su función. Pero lo que se puede ver es que va de lo mas general a lo más especifico.

// Path: ./types/types.ts
 
export interface FiltrosEventos {
  categoriasGenerales: string[];
  turno: string;
  seleccionGrupos: { carrera: string }[];
  departamentos: string[];
  personasEspecificas: {}[];
  gruposEspeficos: { carrera: string }[];
  carreras: string[];
  seleccionCarrera: boolean;
  checkGrupos: boolean;
}

PersonQuery

Esta interfaz es usada para la tabla de PersonQuery el cual tiene los valores más generales para personas. En este caso solo se agrega seccion el cual nos hace referencia a la tabla a la que pertenece a la persona.

// Path: ./types/types.ts
 
export interface PersonQuery {
  id: number;
  correo: string;
  codigo: number;
  nombre: string;
  seccion: string;
}
Last updated on December 14, 2022