@carlosnunezmx/aru
-
+
@carlosnunezmx/aru
@carlosnunezmx/aru
+
@@ -9,38 +9,42 @@
Este wrapper esta creado con Bun, Typescript y Bcrypt, el cual entrega una API facíl para interactuar con Leo(aka SIIAU 2) de manera sencilla y eficiente.
## Instalación
+
Instala el modulo ·v·
+Instala el modulonpm/bun/pnpm i @carlosnunezmx/aru
+
Copy
-
-Instala el modulonpm/bun/pnpm i @carlosnunezmx/aru
-
Copy
-
-Instalacion de dependecias.# bun bun i # node npm/pnpm/yarn i
-
Copy
+Descarga y prueba el codigo fuente
+Instalacion de dependecias.# bun bun i # node npm/pnpm/yarn i
+
Copy
+
-(Node) Transpilación de Typescriptnpm run build
-
Copy
+ (Node) Transpilación de Typescriptnpm run build
+
Copy
+
-
+Documentación
-
+Contributors ❤️
-
\ No newline at end of file
+
+
+
diff --git a/docs/typedoc/interfaces/CentroEducativo.html b/docs/typedoc/interfaces/CentroEducativo.html
new file mode 100644
index 0000000..b5ef1dd
--- /dev/null
+++ b/docs/typedoc/interfaces/CentroEducativo.html
@@ -0,0 +1,4 @@
+
CentroEducativo | @carlosnunezmx/aru Interface CentroEducativo Defined in source/centros/centros/centro.d.ts:3 Propertiesdescripcion descripcion : string
Defined in source/centros/centros/centro.d.ts:6 idcentro idcentro : string
Defined in source/centros/centros/centro.d.ts:4 siglas siglas : string
Defined in source/centros/centros/centro.d.ts:5
diff --git a/docs/typedoc/interfaces/Ciclo.html b/docs/typedoc/interfaces/Ciclo.html
new file mode 100644
index 0000000..6a5314b
--- /dev/null
+++ b/docs/typedoc/interfaces/Ciclo.html
@@ -0,0 +1,4 @@
+
Ciclo | @carlosnunezmx/aru Defined in source/centros/ciclos/ciclo.d.ts:3 Propertiesciclo ciclo : string
Defined in source/centros/ciclos/ciclo.d.ts:7 descripcion descripcion : string
Defined in source/centros/ciclos/ciclo.d.ts:9
diff --git a/docs/typedoc/interfaces/MateriaOferta.html b/docs/typedoc/interfaces/MateriaOferta.html
new file mode 100644
index 0000000..dab38a2
--- /dev/null
+++ b/docs/typedoc/interfaces/MateriaOferta.html
@@ -0,0 +1,16 @@
+
MateriaOferta | @carlosnunezmx/aru Defined in source/centros/oferta/oferta.d.ts:4 Propertiescreditos creditos : string
Defined in source/centros/oferta/oferta.d.ts:14 crn crn : string
Defined in source/centros/oferta/oferta.d.ts:10 cupodisponibl cupodisponibl : string
Defined in source/centros/oferta/oferta.d.ts:16 cupos cupos : string
Defined in source/centros/oferta/oferta.d.ts:15 descmateria descmateria : string
Defined in source/centros/oferta/oferta.d.ts:12 esttacrn esttacrn : string
Defined in source/centros/oferta/oferta.d.ts:17 horarios Defined in source/centros/oferta/oferta.d.ts:19 idcentro idcentro : string
Defined in source/centros/oferta/oferta.d.ts:6 idciclo idciclo : string
Defined in source/centros/oferta/oferta.d.ts:5 idmateria idmateria : string
Defined in source/centros/oferta/oferta.d.ts:11 idprograma idprograma : string
Defined in source/centros/oferta/oferta.d.ts:9 idsede idsede : string
Defined in source/centros/oferta/oferta.d.ts:8 profesores Defined in source/centros/oferta/oferta.d.ts:20 seccion seccion : string
Defined in source/centros/oferta/oferta.d.ts:13 subjmateria subjmateria : string
Defined in source/centros/oferta/oferta.d.ts:7
diff --git a/docs/typedoc/interfaces/Programa.html b/docs/typedoc/interfaces/Programa.html
new file mode 100644
index 0000000..4bcef31
--- /dev/null
+++ b/docs/typedoc/interfaces/Programa.html
@@ -0,0 +1,4 @@
+
Programa | @carlosnunezmx/aru Defined in source/centros/programas/programa.d.ts:3 Propertiesdescprograma descprograma : string
Defined in source/centros/programas/programa.d.ts:6 idcentro idcentro : string
Defined in source/centros/programas/programa.d.ts:4 programa programa : string
Defined in source/centros/programas/programa.d.ts:5
diff --git a/docs/typedoc/media/AppIcon.png b/docs/typedoc/media/AppIcon.png
new file mode 100644
index 0000000..e2d1d25
Binary files /dev/null and b/docs/typedoc/media/AppIcon.png differ
diff --git a/docs/typedoc/modules.html b/docs/typedoc/modules.html
index 7f0da37..dbc903e 100644
--- a/docs/typedoc/modules.html
+++ b/docs/typedoc/modules.html
@@ -1,12 +1,16 @@
-
@carlosnunezmx/aru
@carlosnunezmx/aru Index Namespaces Error Types
+
@carlosnunezmx/aru
\ No newline at end of file
+
diff --git a/docs/typedoc/modules/ErrorTypes.html b/docs/typedoc/modules/ErrorTypes.html
index 31138d1..2fe1066 100644
--- a/docs/typedoc/modules/ErrorTypes.html
+++ b/docs/typedoc/modules/ErrorTypes.html
@@ -1,6 +1,6 @@
-
ErrorTypes | @carlosnunezmx/aru
diff --git a/docs/typedoc/modules/KardexTypes.html b/docs/typedoc/modules/KardexTypes.html
index 262db49..b7fef88 100644
--- a/docs/typedoc/modules/KardexTypes.html
+++ b/docs/typedoc/modules/KardexTypes.html
@@ -1,6 +1,6 @@
-
KardexTypes | @carlosnunezmx/aru Index Type Aliases Cred Taes Item
+
KardexTypes | @carlosnunezmx/aru
\ No newline at end of file
+
diff --git a/docs/typedoc/modules/Method.html b/docs/typedoc/modules/Method.html
index 0681e5d..aa8f60a 100644
--- a/docs/typedoc/modules/Method.html
+++ b/docs/typedoc/modules/Method.html
@@ -1,3 +1,3 @@
-
Method | @carlosnunezmx/aru Index Classes Auth Method
+
Method | @carlosnunezmx/aru
\ No newline at end of file
+
diff --git a/docs/typedoc/modules/RegistroMateriaTypes.html b/docs/typedoc/modules/RegistroMateriaTypes.html
index b6727bd..e0ca02c 100644
--- a/docs/typedoc/modules/RegistroMateriaTypes.html
+++ b/docs/typedoc/modules/RegistroMateriaTypes.html
@@ -1,4 +1,4 @@
-
RegistroMateriaTypes | @carlosnunezmx/aru Namespace RegistroMateriaTypes IndexReferences Registrar Materia
+
RegistroMateriaTypes | @carlosnunezmx/aru Namespace RegistroMateriaTypes
\ No newline at end of file
+
References
diff --git a/docs/typedoc/types/AvAdvanceType.html b/docs/typedoc/types/AvAdvanceType.html
index 188b2da..bfdc8a3 100644
--- a/docs/typedoc/types/AvAdvanceType.html
+++ b/docs/typedoc/types/AvAdvanceType.html
@@ -1 +1 @@
-
AvAdvanceType | @carlosnunezmx/aru Av Advance Type : { avance : AvanceItem [] ; promgeneral : string ; }
\ No newline at end of file
+
AvAdvanceType | @carlosnunezmx/aru Av Advance Type : { avance : AvanceItem [] ; promgeneral : string ; }
diff --git a/docs/typedoc/types/AvanceItem.html b/docs/typedoc/types/AvanceItem.html
index b6ca517..b97e3a5 100644
--- a/docs/typedoc/types/AvanceItem.html
+++ b/docs/typedoc/types/AvanceItem.html
@@ -1 +1 @@
-
AvanceItem | @carlosnunezmx/aru Avance Item : { cicladmision : string ; ciclo : string ; credciclos : string ; idPrograma : string ; idsede : string ; porcavance : string ; promciclo : string ; siglcentro : string ; }
Type declaration cicladmision : string ciclo : string credciclos : string id Programa : string idsede : string porcavance : string promciclo : string siglcentro : string
\ No newline at end of file
+
AvanceItem | @carlosnunezmx/aru Avance Item : { cicladmision : string ; ciclo : string ; credciclos : string ; idPrograma : string ; idsede : string ; porcavance : string ; promciclo : string ; siglcentro : string ; }
diff --git a/docs/typedoc/types/AverageAdvanceInit.html b/docs/typedoc/types/AverageAdvanceInit.html
index 2a15903..ccbd241 100644
--- a/docs/typedoc/types/AverageAdvanceInit.html
+++ b/docs/typedoc/types/AverageAdvanceInit.html
@@ -1,4 +1,4 @@
-
AverageAdvanceInit | @carlosnunezmx/aru Type alias AverageAdvanceInit Average Advance Init : { cicladmision : string ; idprograma : string ; }
idprograma : string
diff --git a/docs/typedoc/types/Card.html b/docs/typedoc/types/Card.html
index 999a3b9..94fb9cb 100644
--- a/docs/typedoc/types/Card.html
+++ b/docs/typedoc/types/Card.html
@@ -1 +1 @@
-
Card | @carlosnunezmx/aru Card : { apellido_materno : string ; apellido_paterno : string ; centro : string ; centroDesc : string ; curp : string ; error ?: string ; firma : string ; firmaRector : string ; foto : string ; imss : string ; nombre : string ; nombreRector : string ; sede : string ; tarjeta_informador : unknown [] ; }
Type declaration apellido_ materno : string apellido_ paterno : string centro : string centro Desc : string curp : string Optional
error ?: string firma : string firma Rector : string foto : string imss : string nombre : string nombre Rector : string sede : string tarjeta_ informador : unknown []
\ No newline at end of file
+
Card | @carlosnunezmx/aru Card : { apellido_materno : string ; apellido_paterno : string ; centro : string ; centroDesc : string ; curp : string ; error ?: string ; firma : string ; firmaRector : string ; foto : string ; imss : string ; nombre : string ; nombreRector : string ; sede : string ; tarjeta_informador : unknown [] ; }
diff --git a/docs/typedoc/types/CreditsInit.html b/docs/typedoc/types/CreditsInit.html
index 6e22149..65bce58 100644
--- a/docs/typedoc/types/CreditsInit.html
+++ b/docs/typedoc/types/CreditsInit.html
@@ -1,2 +1,2 @@
-
CreditsInit | @carlosnunezmx/aru Credits Init : { cicladmision : string ; idprograma : string ; }
Type declaration cicladmision : string idprograma : string
\ No newline at end of file
+
CreditsInit | @carlosnunezmx/aru Credits Init : { cicladmision : string ; idprograma : string ; }
Type declaration cicladmision : string idprograma : string
diff --git a/docs/typedoc/types/Dias.html b/docs/typedoc/types/Dias.html
index 6deb34e..cb767cd 100644
--- a/docs/typedoc/types/Dias.html
+++ b/docs/typedoc/types/Dias.html
@@ -1 +1 @@
-
Dias | @carlosnunezmx/aru Dias : "Lunes" | "Martes" | "Miercoles" | "Jueves" | "Viernes" | "Sabado" | "Domingo"
\ No newline at end of file
+
Dias | @carlosnunezmx/aru Dias : | "Lunes" | "Martes" | "Miercoles" | "Jueves" | "Viernes" | "Sabado" | "Domingo"
diff --git a/docs/typedoc/types/DomicilioFormated.html b/docs/typedoc/types/DomicilioFormated.html
index bb8d4b8..b3a7730 100644
--- a/docs/typedoc/types/DomicilioFormated.html
+++ b/docs/typedoc/types/DomicilioFormated.html
@@ -1 +1 @@
-
DomicilioFormated | @carlosnunezmx/aru Type alias DomicilioFormated Domicilio Formated : { cp : string ; estado : string ; municipio : string ; pais : string ; }
Type declaration cp : string estado : string municipio : string pais : string
\ No newline at end of file
+
DomicilioFormated | @carlosnunezmx/aru Type Alias DomicilioFormated Domicilio Formated : { cp : string ; estado : string ; municipio : string ; pais : string ; }
diff --git a/docs/typedoc/types/ErrorTypes.UnsupportedType.html b/docs/typedoc/types/ErrorTypes.UnsupportedType.html
index f5b8c95..fc07769 100644
--- a/docs/typedoc/types/ErrorTypes.UnsupportedType.html
+++ b/docs/typedoc/types/ErrorTypes.UnsupportedType.html
@@ -1 +1 @@
-
UnsupportedType | @carlosnunezmx/aru Type alias UnsupportedType Unsupported Type : { error : "Unsupported Media Type" ; path : string ; status : 415 ; timestamp : number ; }
Type declaration error : "Unsupported Media Type" path : string status : 415 timestamp : number
\ No newline at end of file
+
UnsupportedType | @carlosnunezmx/aru Type Alias UnsupportedType Unsupported Type : { error : "Unsupported Media Type" ; path : string ; status : 415 ; timestamp : number ; }
diff --git a/docs/typedoc/types/Horario.html b/docs/typedoc/types/Horario.html
index 8becb6b..5f05b42 100644
--- a/docs/typedoc/types/Horario.html
+++ b/docs/typedoc/types/Horario.html
@@ -1,3 +1,3 @@
-
Horario | @carlosnunezmx/aru Horario : { fechfin : string ; fechinicio : string ; horas : Horas [] ; }
diff --git a/docs/typedoc/types/Horas.html b/docs/typedoc/types/Horas.html
index ddf495b..755f35f 100644
--- a/docs/typedoc/types/Horas.html
+++ b/docs/typedoc/types/Horas.html
@@ -1,2 +1,2 @@
-
Horas | @carlosnunezmx/aru Horas : { dia : Dias ; edificio : string ; hora : string ; idedificio : string ; numesalon : string ; } Type declaration edificio : string hora : string idedificio : string numesalon : string
\ No newline at end of file
+
Horas | @carlosnunezmx/aru Horas : { dia : Dias ; edificio : string ; hora : string ; idedificio : string ; numesalon : string ; } Type declaration edificio : string hora : string idedificio : string numesalon : string
diff --git a/docs/typedoc/types/KardexTypes.CredTaesItem.html b/docs/typedoc/types/KardexTypes.CredTaesItem.html
index abcb111..9262b43 100644
--- a/docs/typedoc/types/KardexTypes.CredTaesItem.html
+++ b/docs/typedoc/types/KardexTypes.CredTaesItem.html
@@ -1 +1 @@
-
CredTaesItem | @carlosnunezmx/aru Cred Taes Item : { credadqutae : string ; credfalttae : string ; credrequtae : string ; desctae : string ; }
Type declaration credadqutae : string credfalttae : string credrequtae : string desctae : string
\ No newline at end of file
+
CredTaesItem | @carlosnunezmx/aru Cred Taes Item : { credadqutae : string ; credfalttae : string ; credrequtae : string ; desctae : string ; }
diff --git a/docs/typedoc/types/KardexTypes.KardexType.html b/docs/typedoc/types/KardexTypes.KardexType.html
index e99918e..72c6abc 100644
--- a/docs/typedoc/types/KardexTypes.KardexType.html
+++ b/docs/typedoc/types/KardexTypes.KardexType.html
@@ -1 +1 @@
-
KardexType | @carlosnunezmx/aru Kardex Type : { certificado : "PARCIAL" | "COMPLETO" ; creditos : { credadquirido : string ; credfaltantes : string ; credporcentaj : string ; credtotaprogr : string ; } ; curriculares : unknown [] | null ; datosPersonales : { nombre : string ; } ; historiaAcademicaKardex : historiaAcademicaKardexItem [] ; informacion : string ; planesEstudios : planesEstudio ; promedios : { promgeneral : string ; } ; resumenCreditos : resumenCreditosItem [] ; } Type declaration certificado : "PARCIAL" | "COMPLETO" creditos : { credadquirido : string ; credfaltantes : string ; credporcentaj : string ; credtotaprogr : string ; } credadquirido : string credfaltantes : string credporcentaj : string credtotaprogr : string curriculares : unknown [] | null datos Personales : { nombre : string ; } informacion : string planes Estudios : planesEstudio promedios : { promgeneral : string ; }
\ No newline at end of file
+
KardexType | @carlosnunezmx/aru Kardex Type : { certificado : "PARCIAL" | "COMPLETO" ; creditos : { credadquirido : string ; credfaltantes : string ; credporcentaj : string ; credtotaprogr : string ; } ; curriculares : unknown [] | null ; datosPersonales : { nombre : string ; } ; historiaAcademicaKardex : historiaAcademicaKardexItem [] ; informacion : string ; planesEstudios : planesEstudio ; promedios : { promgeneral : string ; } ; resumenCreditos : resumenCreditosItem [] ; }
diff --git a/docs/typedoc/types/KardexTypes.historiaAcademicaKardexItem.html b/docs/typedoc/types/KardexTypes.historiaAcademicaKardexItem.html
index 816b76d..9c3d850 100644
--- a/docs/typedoc/types/KardexTypes.historiaAcademicaKardexItem.html
+++ b/docs/typedoc/types/KardexTypes.historiaAcademicaKardexItem.html
@@ -1 +1 @@
-
historiaAcademicaKardexItem | @carlosnunezmx/aru Type alias historiaAcademicaKardexItem historia Academica Kardex Item : { calinumeletra : string ; clasificacion : string ; clavmateria : string ; creditos : string ; crn : string ; fechcaptura : string ; horacurso : string ; idsede : string ; idtae : null | string ; tae : null | string ; tipocaptura : string ; titucurso : string ; }
Type declaration calinumeletra : string clasificacion : string clavmateria : string creditos : string crn : string fechcaptura : string horacurso : string idsede : string idtae : null | string tae : null | string tipocaptura : string titucurso : string
\ No newline at end of file
+
historiaAcademicaKardexItem | @carlosnunezmx/aru Type Alias historiaAcademicaKardexItem historia Academica Kardex Item : { calinumeletra : string ; clasificacion : string ; clavmateria : string ; creditos : string ; crn : string ; fechcaptura : string ; horacurso : string ; idsede : string ; idtae : null | string ; tae : null | string ; tipocaptura : string ; titucurso : string ; }
diff --git a/docs/typedoc/types/KardexTypes.planesEstudios.html b/docs/typedoc/types/KardexTypes.planesEstudios.html
index 0237a71..93a3bf1 100644
--- a/docs/typedoc/types/KardexTypes.planesEstudios.html
+++ b/docs/typedoc/types/KardexTypes.planesEstudios.html
@@ -1 +1 @@
-
planesEstudios | @carlosnunezmx/aru Type alias planesEstudios planes Estudios : { certificacion : string ; cicladmision : string ; ciclefectivo : string ; desccentro : string ; descestatus : string ; descnivel : string ; descprograma : string ; descsede : string ; idPlan : string ; idcentro : string ; idestatus : string ; idprograma : string ; idsede : string ; nivel : string ; siglacentro : string ; siiacampus : string ; tipoestatus : string ; }
Type declaration certificacion : string cicladmision : string ciclefectivo : string desccentro : string descestatus : string descnivel : string descprograma : string descsede : string id Plan : string idcentro : string idestatus : string idprograma : string idsede : string nivel : string siglacentro : string siiacampus : string tipoestatus : string
\ No newline at end of file
+
planesEstudios | @carlosnunezmx/aru Type Alias planesEstudios planes Estudios : { certificacion : string ; cicladmision : string ; ciclefectivo : string ; desccentro : string ; descestatus : string ; descnivel : string ; descprograma : string ; descsede : string ; idPlan : string ; idcentro : string ; idestatus : string ; idprograma : string ; idsede : string ; nivel : string ; siglacentro : string ; siiacampus : string ; tipoestatus : string ; }
diff --git a/docs/typedoc/types/KardexTypes.resumenCreditosItem.html b/docs/typedoc/types/KardexTypes.resumenCreditosItem.html
index 8db5c72..f82a281 100644
--- a/docs/typedoc/types/KardexTypes.resumenCreditosItem.html
+++ b/docs/typedoc/types/KardexTypes.resumenCreditosItem.html
@@ -1 +1 @@
-
resumenCreditosItem | @carlosnunezmx/aru Type alias resumenCreditosItem resumen Creditos Item : { areaformacion : string ; credTaes : null | CredTaesItem [] ; credadquaerea : string ; credfaltaerea : string ; credrequaerea : string ; } Type declaration areaformacion : string credadquaerea : string credfaltaerea : string credrequaerea : string
\ No newline at end of file
+
resumenCreditosItem | @carlosnunezmx/aru Type Alias resumenCreditosItem resumen Creditos Item : { areaformacion : string ; credTaes : null | CredTaesItem [] ; credadquaerea : string ; credfaltaerea : string ; credrequaerea : string ; }
diff --git a/docs/typedoc/types/Materia.html b/docs/typedoc/types/Materia.html
index 10a5483..18b55f6 100644
--- a/docs/typedoc/types/Materia.html
+++ b/docs/typedoc/types/Materia.html
@@ -1 +1 @@
-
Materia | @carlosnunezmx/aru Materia : { creditos : string ; crn : string ; horarios : Horario [] ; idcampus : string ; idcurso : string ; nombcurso : string ; numeseccion : string ; profesores : Profesor [] ; } Type declaration creditos : string crn : string idcampus : string idcurso : string nombcurso : string numeseccion : string
\ No newline at end of file
+
Materia | @carlosnunezmx/aru Materia : { creditos : string ; crn : string ; horarios : Horario [] ; idcampus : string ; idcurso : string ; nombcurso : string ; numeseccion : string ; profesores : Profesor [] ; }
diff --git a/docs/typedoc/types/MethodNotAllowedType.html b/docs/typedoc/types/MethodNotAllowedType.html
index d7d39ef..4b1c16b 100644
--- a/docs/typedoc/types/MethodNotAllowedType.html
+++ b/docs/typedoc/types/MethodNotAllowedType.html
@@ -1,2 +1,2 @@
-
MethodNotAllowedType | @carlosnunezmx/aru Type alias MethodNotAllowedType Method Not Allowed Type : { error : string ; path : string ; status : number ; timestamp : number ; }
Type declaration error : string path : string status : number timestamp : number
\ No newline at end of file
+
MethodNotAllowedType | @carlosnunezmx/aru Type Alias MethodNotAllowedType Method Not Allowed Type : { error : string ; path : string ; status : number ; timestamp : number ; }
diff --git a/docs/typedoc/types/OfertaAcademicaRequest.html b/docs/typedoc/types/OfertaAcademicaRequest.html
new file mode 100644
index 0000000..03b8aa9
--- /dev/null
+++ b/docs/typedoc/types/OfertaAcademicaRequest.html
@@ -0,0 +1 @@
+
OfertaAcademicaRequest | @carlosnunezmx/aru Type Alias OfertaAcademicaRequest Oferta Academica Request : { idcentro : string ; idciclo : string ; idprograma : string ; }
Defined in source/centros/oferta/oferta.d.ts:25
diff --git a/docs/typedoc/types/Plans.html b/docs/typedoc/types/Plans.html
index 3e306ab..7bbd1c4 100644
--- a/docs/typedoc/types/Plans.html
+++ b/docs/typedoc/types/Plans.html
@@ -1 +1 @@
-
Plans | @carlosnunezmx/aru Plans : { certificacion : string ; cicladmision : string ; ciclefectivo : string ; desccentro : string ; descestatus : string ; descnivel : string ; descprograma : string ; descsede : sting ; emailudg : string ; idPlan : string ; idcentro : string ; idestatus : string ; idprograma : string ; idsede : string ; nivel : string ; siglacentro : string ; siiacampus : string ; tipoestatus : string ; } []
Type declaration certificacion : string cicladmision : string ciclefectivo : string desccentro : string descestatus : string descnivel : string descprograma : string descsede : sting emailudg : string id Plan : string idcentro : string idestatus : string idprograma : string idsede : string nivel : string siglacentro : string siiacampus : string tipoestatus : string
\ No newline at end of file
+
Plans | @carlosnunezmx/aru Plans : { certificacion : string ; cicladmision : string ; ciclefectivo : string ; desccentro : string ; descestatus : string ; descnivel : string ; descprograma : string ; descsede : sting ; emailudg : string ; idPlan : string ; idcentro : string ; idestatus : string ; idprograma : string ; idsede : string ; nivel : string ; siglacentro : string ; siiacampus : string ; tipoestatus : string ; } []
diff --git a/docs/typedoc/types/Profesor.html b/docs/typedoc/types/Profesor.html
index 338ae7c..c437d85 100644
--- a/docs/typedoc/types/Profesor.html
+++ b/docs/typedoc/types/Profesor.html
@@ -1 +1 @@
-
Profesor | @carlosnunezmx/aru Profesor : { apellidos : string ; idprofesor : string ; nombres : string ; }
Type declaration apellidos : string idprofesor : string nombres : string
\ No newline at end of file
+
Profesor | @carlosnunezmx/aru Profesor : { apellidos : string ; idprofesor : string ; nombres : string ; }
diff --git a/docs/typedoc/types/ProjectionSubjectType.html b/docs/typedoc/types/ProjectionSubjectType.html
index 7b346ce..c082703 100644
--- a/docs/typedoc/types/ProjectionSubjectType.html
+++ b/docs/typedoc/types/ProjectionSubjectType.html
@@ -1 +1 @@
-
ProjectionSubjectType | @carlosnunezmx/aru Type alias ProjectionSubjectType Projection Subject Type : { creditos : string ; idMateria : string ; idsubj : string ; materia : string ; }
Type declaration creditos : string id Materia : string idsubj : string materia : string
\ No newline at end of file
+
ProjectionSubjectType | @carlosnunezmx/aru Type Alias ProjectionSubjectType Projection Subject Type : { creditos : string ; idMateria : string ; idsubj : string ; materia : string ; }
diff --git a/docs/typedoc/types/RegistroMateriaTypes.MateriaRegistrada.html b/docs/typedoc/types/RegistroMateriaTypes.MateriaRegistrada.html
index 95e40c0..72902e6 100644
--- a/docs/typedoc/types/RegistroMateriaTypes.MateriaRegistrada.html
+++ b/docs/typedoc/types/RegistroMateriaTypes.MateriaRegistrada.html
@@ -1,2 +1,2 @@
-
MateriaRegistrada | @carlosnunezmx/aru Type alias MateriaRegistrada Materia Registrada : string []
\ No newline at end of file
+
MateriaRegistrada | @carlosnunezmx/aru Type Alias MateriaRegistrada Materia Registrada : string []
diff --git a/docs/typedoc/types/RegistroMateriaTypes.RegistrarMateriaInit.html b/docs/typedoc/types/RegistroMateriaTypes.RegistrarMateriaInit.html
index 8bc6f4f..30557f0 100644
--- a/docs/typedoc/types/RegistroMateriaTypes.RegistrarMateriaInit.html
+++ b/docs/typedoc/types/RegistroMateriaTypes.RegistrarMateriaInit.html
@@ -1,2 +1,2 @@
-
RegistrarMateriaInit | @carlosnunezmx/aru Type alias RegistrarMateriaInit Registrar Materia Init : { ciclo : string ; cursos : string [] ; idcentro ?: string ; idprograma ?: string ; nivel ?: string ; }
Type declaration ciclo : string cursos : string [] Optional
idcentro ?: string Optional
idprograma ?: string Optional
nivel ?: string
\ No newline at end of file
+
RegistrarMateriaInit | @carlosnunezmx/aru Type Alias RegistrarMateriaInit Registrar Materia Init : { ciclo : string ; cursos : string [] ; idcentro ?: string ; idprograma ?: string ; nivel ?: string ; }
Type declaration ciclo : string cursos : string [] Optional
idcentro ?: string Optional
idprograma ?: string Optional
nivel ?: string
diff --git a/docs/typedoc/types/ScheduleInit.html b/docs/typedoc/types/ScheduleInit.html
index 4a9c651..c8e0d90 100644
--- a/docs/typedoc/types/ScheduleInit.html
+++ b/docs/typedoc/types/ScheduleInit.html
@@ -1,2 +1,2 @@
-
ScheduleInit | @carlosnunezmx/aru Schedule Init : { ciclo : string ; idprograma ?: string ; }
Type declaration ciclo : string Optional
idprograma ?: string
\ No newline at end of file
+
ScheduleInit | @carlosnunezmx/aru Schedule Init : { ciclo : string ; idprograma ?: string ; }
Type declaration ciclo : string Optional
idprograma ?: string
diff --git a/docs/typedoc/types/SoyUdgError.html b/docs/typedoc/types/SoyUdgError.html
index 77facc5..2e9253e 100644
--- a/docs/typedoc/types/SoyUdgError.html
+++ b/docs/typedoc/types/SoyUdgError.html
@@ -1 +1 @@
-
SoyUdgError | @carlosnunezmx/aru Soy Udg Error : { code : number ; data : { error : string ; tarjeta_informador : unknown [] ; } ; }
Type declaration code : number data : { error : string ; tarjeta_informador : unknown [] ; } error : string tarjeta_ informador : unknown []
\ No newline at end of file
+
SoyUdgError | @carlosnunezmx/aru Soy Udg Error : { code : number ; data : { error : string ; tarjeta_informador : unknown [] ; } ; }
diff --git a/docs/typedoc/types/StudentInfoType.html b/docs/typedoc/types/StudentInfoType.html
index d460f4b..6753c7c 100644
--- a/docs/typedoc/types/StudentInfoType.html
+++ b/docs/typedoc/types/StudentInfoType.html
@@ -1,3 +1,3 @@
-
StudentInfoType | @carlosnunezmx/aru Type alias StudentInfoType Student Info Type : { alumcodigo : string ; curp : string ; desctiposangr : string | null ; domicilio : string ; email : string ; fechnacimient : string ; firma : string ; foto : string ; genero : "M" | "F" ; imss : string ; lugadomicilio : DomicilioFormated ; lugadomicilioDB : string ; nombre : string ; rfc : string | null ; teleemergenci : string ; tiposangre : string | null ; } Type declaration alumcodigo : string curp : string desctiposangr : string | null domicilio : string email : string fechnacimient : string firma : string genero : "M" | "F" imss : string lugadomicilioDB : string nombre : string rfc : string | null teleemergenci : string tiposangre : string | null
diff --git a/docs/typedoc/types/UnauthorizedType.html b/docs/typedoc/types/UnauthorizedType.html
index be59d87..a4fac68 100644
--- a/docs/typedoc/types/UnauthorizedType.html
+++ b/docs/typedoc/types/UnauthorizedType.html
@@ -1,3 +1,3 @@
-
UnauthorizedType | @carlosnunezmx/aru Type alias UnauthorizedType Unauthorized Type : { codigo : 401 ; mensaje : string ; respuesta : false ; }
Type declaration codigo : 401 mensaje : string respuesta : false
\ No newline at end of file
+
UnauthorizedType | @carlosnunezmx/aru Type Alias UnauthorizedType Unauthorized Type : { codigo : 401 ; mensaje : string ; respuesta : false ; }
diff --git a/docs/typedoc/types/UserCredentials.html b/docs/typedoc/types/UserCredentials.html
index 09453e9..a52e205 100644
--- a/docs/typedoc/types/UserCredentials.html
+++ b/docs/typedoc/types/UserCredentials.html
@@ -1,2 +1,2 @@
-
UserCredentials | @carlosnunezmx/aru Type alias UserCredentials User Credentials : { Password : string ; User : string ; }
Type declaration Password : string User : string
\ No newline at end of file
+
UserCredentials | @carlosnunezmx/aru Type Alias UserCredentials User Credentials : { Password : string ; User : string ; }
diff --git a/package.json b/package.json
index 8a6078f..0a2cbb3 100644
--- a/package.json
+++ b/package.json
@@ -5,7 +5,7 @@
"main": "dist/index.js",
"types": "./types/index.d.ts",
"description": "Just another UdeG Leo Wrapper",
- "version": "0.8.2",
+ "version": "0.8.4",
"bugs": {
"email": "carlitosnu41@gmail.com",
"url": "https://github.com/CarlosNunezMX/aru/issues"
@@ -34,11 +34,16 @@
"./kardex": {
"default": "./dist/kardex/index.js",
"types": "./types/kardex/index.d.ts"
+ },
+ "./oferta": {
+ "default": "./dist/centros/index.js",
+ "types": "./types/centros/index.d.ts"
}
},
"homepage": "https://github.com/CarlosNunezMX/aru",
"author": {
"email": "carlitosnu41@gmail.com",
+ "url": "https://carlosnunezmx.tech",
"name": "CarlosNuñezMX"
},
"scripts": {
diff --git a/source/centros/centros/centro.d.ts b/source/centros/centros/centro.d.ts
new file mode 100644
index 0000000..470a819
--- /dev/null
+++ b/source/centros/centros/centro.d.ts
@@ -0,0 +1,9 @@
+import type { DirtyType } from "../../utils/generics/ResponseOK.js";
+
+export interface CentroEducativo {
+ idcentro: string;
+ siglas: string;
+ descripcion: string;
+}
+
+export type DirtyCentroEducativo = DirtyType
\ No newline at end of file
diff --git a/source/centros/centros/centros.ts b/source/centros/centros/centros.ts
new file mode 100644
index 0000000..6249c55
--- /dev/null
+++ b/source/centros/centros/centros.ts
@@ -0,0 +1,26 @@
+import { ErrorHandling } from "../../error/Request.js";
+import { AuthHeaderPreset } from "../../utils/CommonHeaders.js";
+import { AuthMethod } from "../../utils/Method.js";
+import type { CentroEducativo, DirtyCentroEducativo } from "./centro.js";
+
+export class Centros extends AuthMethod {
+ protected Route: string = "https://micro-leo.udg.mx/esc-programas/v1/centros";
+ async exec(): Promise {
+ super.exec();
+ const cache = this.getCache(Centros as typeof AuthMethod);
+ if (cache)
+ return cache;
+ const req = await fetch("https://micro-leo.udg.mx/esc-programas/v1/centros", {
+ headers: AuthHeaderPreset(this.AuthToken, this.Auth.getToken().token!)
+ })
+
+ if (!req.ok)
+ ErrorHandling(req);
+
+ const data = (await req.json()) as DirtyCentroEducativo;
+
+ this.UpdateCache.bind(this)(data.respuesta, Centros as typeof AuthMethod)
+ return data.respuesta;
+ }
+
+}
\ No newline at end of file
diff --git a/source/centros/ciclos/ciclo.d.ts b/source/centros/ciclos/ciclo.d.ts
new file mode 100644
index 0000000..ef8501a
--- /dev/null
+++ b/source/centros/ciclos/ciclo.d.ts
@@ -0,0 +1,12 @@
+import type { DirtyType } from "../../utils/generics/ResponseOK.js";
+
+export interface Ciclo {
+ /**
+ * @description Match with "**20xx**-{A|B}"
+ */
+ ciclo: string;
+
+ descripcion: string;
+}
+
+export type DirtyCiclo = DirtyType
\ No newline at end of file
diff --git a/source/centros/ciclos/ciclos.ts b/source/centros/ciclos/ciclos.ts
new file mode 100644
index 0000000..3c20e80
--- /dev/null
+++ b/source/centros/ciclos/ciclos.ts
@@ -0,0 +1,32 @@
+import { ClassInitializeError } from "../../error/Initializer.js";
+import { ErrorHandling } from "../../error/Request.js";
+import { AuthHeaderPreset } from "../../utils/CommonHeaders.js";
+import { AuthMethod } from "../../utils/Method.js";
+import type { Ciclo, DirtyCiclo } from "./ciclo.js";
+
+export class Ciclos extends AuthMethod {
+ protected Route: string = "https://micro-leo.udg.mx/esc-programas/v1/:carrera/ciclos";
+
+ async exec(): Promise {
+ if (!this.Props)
+ throw new ClassInitializeError("Prop ProgramaEducativo is required!");
+
+
+ const cache = this.getCache(Ciclos as typeof AuthMethod);
+ if (cache)
+ return cache;
+
+ const url = this.Route.replace(":carrera", this.Props);
+ const request = await fetch(url, {
+ headers: AuthHeaderPreset(this.AuthToken, this.Auth.getToken().token!)
+ })
+
+ if (!request.ok)
+ ErrorHandling(request);
+
+ const data = await request.json() as DirtyCiclo;
+
+ this.UpdateCache.bind(this)(data.respuesta, Ciclos as typeof AuthMethod)
+ return data.respuesta;
+ }
+}
\ No newline at end of file
diff --git a/source/centros/index.ts b/source/centros/index.ts
new file mode 100644
index 0000000..7194840
--- /dev/null
+++ b/source/centros/index.ts
@@ -0,0 +1,11 @@
+export type { CentroEducativo } from "./centros/centro.js";
+export { Centros } from "./centros/centros.js"
+
+export { ProgramasCentros } from "./programas/programas.js";
+export type { Programa } from "./programas/programa.js";
+
+export type { Ciclo } from "./ciclos/ciclo.js";
+export { Ciclos } from "./ciclos/ciclos.js";
+
+export type { MateriaOferta, OfertaAcademicaRequest } from "./oferta/oferta.js";
+export { OfertaAcademica } from "./oferta/ofertaAcademica.js";
\ No newline at end of file
diff --git a/source/centros/oferta/oferta.d.ts b/source/centros/oferta/oferta.d.ts
new file mode 100644
index 0000000..6a30f78
--- /dev/null
+++ b/source/centros/oferta/oferta.d.ts
@@ -0,0 +1,29 @@
+import type { Horario, Profesor } from "../../student/Schedules/ScheduleTypes.js";
+import type { DirtyType } from "../../utils/generics/ResponseOK.js";
+
+export interface MateriaOferta {
+ idciclo: string;
+ idcentro: string;
+ subjmateria: string;
+ idsede: string;
+ idprograma: string;
+ crn: string;
+ idmateria: string;
+ descmateria: string;
+ seccion: string;
+ creditos: string;
+ cupos: string;
+ cupodisponibl: string;
+ esttacrn: string;
+
+ horarios: Horario[];
+ profesores: Profesor[]
+}
+
+export type DirtyOfertaMateria = DirtyType;
+
+export type OfertaAcademicaRequest = {
+ idcentro: string;
+ idciclo: string;
+ idprograma: string;
+};
\ No newline at end of file
diff --git a/source/centros/oferta/ofertaAcademica.ts b/source/centros/oferta/ofertaAcademica.ts
new file mode 100644
index 0000000..ec79559
--- /dev/null
+++ b/source/centros/oferta/ofertaAcademica.ts
@@ -0,0 +1,35 @@
+import type { Login } from "../../auth/Login.js";
+import { ClassInitializeError } from "../../error/Initializer.js";
+import { ErrorHandling } from "../../error/Request.js";
+import { AuthHeaderPreset } from "../../utils/CommonHeaders.js";
+import { AuthMethod } from "../../utils/Method.js";
+import type { DirtyOfertaMateria, MateriaOferta, OfertaAcademicaRequest } from "./oferta.js";
+
+export class OfertaAcademica extends AuthMethod {
+ protected Route: string = "https://micro-leo.udg.mx/esc-ofertas/v1/horas-nrc";
+ constructor(auth: Login, init: Required) {
+ super(auth, init);
+ }
+
+ async exec(): Promise {
+ if (!this.Props)
+ throw new ClassInitializeError("Expected OfertaAcademicaRequest");
+
+ const cache = this.getCache(OfertaAcademica as typeof AuthMethod);
+ if (cache)
+ return cache;
+
+ const request = await fetch(this.Route, {
+ method: "POST",
+ body: JSON.stringify(this.Props),
+ headers: AuthHeaderPreset(this.AuthToken, this.Auth.getToken().token!)
+ });
+
+ if (!request.ok)
+ ErrorHandling(request);
+
+ const { respuesta } = await request.json() as DirtyOfertaMateria;
+ this.UpdateCache(respuesta, OfertaAcademica as typeof AuthMethod);
+ return respuesta;
+ }
+}
\ No newline at end of file
diff --git a/source/centros/programas/programa.d.ts b/source/centros/programas/programa.d.ts
new file mode 100644
index 0000000..68170b5
--- /dev/null
+++ b/source/centros/programas/programa.d.ts
@@ -0,0 +1,9 @@
+import type { DirtyType } from "../../utils/generics/ResponseOK.js";
+
+export interface Programa {
+ idcentro: string;
+ programa: string;
+ descprograma: string;
+}
+
+export type DirtyProgramaCentro = DirtyType
\ No newline at end of file
diff --git a/source/centros/programas/programas.ts b/source/centros/programas/programas.ts
new file mode 100644
index 0000000..1342eaa
--- /dev/null
+++ b/source/centros/programas/programas.ts
@@ -0,0 +1,34 @@
+import type { Login } from "../../auth/Login.js";
+import { ErrorHandling } from "../../error/Request.js";
+import { AuthHeaderPreset } from "../../utils/CommonHeaders.js";
+import { AuthMethod } from "../../utils/Method.js";
+import type { DirtyProgramaCentro, Programa } from "./programa.js";
+
+export class ProgramasCentros extends AuthMethod {
+ protected Route: string = "https://micro-leo.udg.mx/esc-programas/v1/:centro/programas-centros";
+
+ constructor(Auth: Login, init: string) {
+ super(Auth, init)
+ }
+
+ async exec(): Promise {
+ await super.exec();
+ const cache = this.getCache(ProgramasCentros as typeof AuthMethod);
+
+ if (cache)
+ return cache;
+
+ const url = this.Route.replace(":centro", this.Props!)
+ const req = await fetch(url, {
+ headers: AuthHeaderPreset(this.AuthToken, this.Auth.getToken().token!)
+ });
+ if (!req.ok)
+ ErrorHandling(req);
+
+ const data = await req.json() as DirtyProgramaCentro;
+
+ this.UpdateCache.bind(this)(data.respuesta, ProgramasCentros as typeof AuthMethod)
+ return data.respuesta;
+
+ }
+}
\ No newline at end of file
diff --git a/source/error/Initializer.ts b/source/error/Initializer.ts
new file mode 100644
index 0000000..858b508
--- /dev/null
+++ b/source/error/Initializer.ts
@@ -0,0 +1,3 @@
+export class ClassInitializeError extends Error {
+
+}
\ No newline at end of file
diff --git a/source/index.ts b/source/index.ts
index 31ab52f..205b57e 100644
--- a/source/index.ts
+++ b/source/index.ts
@@ -6,7 +6,7 @@ export { RequestError } from "./error/Request.js";
export { StudentPlans } from "./info/Plans.js";
-export {Kardex} from "./kardex/Kardex.js";
+export { Kardex } from "./kardex/Kardex.js";
export { AverageAdvance } from "./student/AverageAdvance/AvAdvance.js";
export { EliminarMateria } from "./student/RegistroMaterias/EliminarMateria.js";
@@ -37,3 +37,19 @@ export type { ProjectionSubjectType } from "./student/Projections/ProjectionsTyp
export * as RegistroMateriaTypes from "./student/RegistroMaterias/RegistrarMateria.js";
export type { StudentInfoType, DomicilioFormated } from "./student/StudentInfo/InfoType.js";
export type { ScheduleInit } from "./student/Schedules/Schedule.js";
+
+// Centros aka oferta
+export type { CentroEducativo } from "./centros/centros/centro.js";
+export { Centros } from "./centros/centros/centros.js"
+
+// Carreras
+export { ProgramasCentros } from "./centros/programas/programas.js";
+export type { Programa } from "./centros/programas/programa.js";
+
+// Ciclos
+export type { Ciclo } from "./centros/ciclos/ciclo.js"
+export { Ciclos } from "./centros/ciclos/ciclos.js"
+
+// oferta academica
+export type { MateriaOferta, OfertaAcademicaRequest } from "./centros/oferta/oferta.js";
+export { OfertaAcademica } from "./centros/oferta/ofertaAcademica.js";
\ No newline at end of file
diff --git a/source/student/Card/StudentCard.ts b/source/student/Card/StudentCard.ts
index f2ddae6..f1ab36c 100644
--- a/source/student/Card/StudentCard.ts
+++ b/source/student/Card/StudentCard.ts
@@ -26,7 +26,11 @@ export class StudentCard extends AuthMethod {
await super.exec()
const url = this.Route.replace(":studentCode", this.Encode())
- const request = await fetch(url);
+ const request = await fetch(url, {
+ tls: {
+ rejectUnauthorized: false
+ }
+ });
const data = await request.json() as DirtyCard;
diff --git a/source/utils/Method.ts b/source/utils/Method.ts
index 76034ef..b633707 100644
--- a/source/utils/Method.ts
+++ b/source/utils/Method.ts
@@ -4,28 +4,28 @@ import { LeoAuth } from "./crypto/AuthToken.js";
/**
* Use this class to create a new method, it contains the AuthToken, remember to call the exec method before using the AuthToken by super.exec()
*/
-export class Method{
+export class Method {
protected AuthToken: string;
protected Route: string = "";
public isTokenUsed = false;
private AuthTokenGenerator = new LeoAuth();
-
- constructor(){
+
+ constructor() {
this.AuthToken = this.AuthTokenGenerator.encrypt();
}
/**
* Used for create a new token after it was used
*/
- protected recreateToken(){
- if(this.isTokenUsed){
+ protected recreateToken() {
+ if (this.isTokenUsed) {
this.AuthToken = this.AuthTokenGenerator.encrypt();
return;
}
this.isTokenUsed = true;
}
- exec(){
+ exec() {
this.recreateToken();
}
}
@@ -37,38 +37,36 @@ export abstract class AuthMethod extends Me
declare protected Auth: Login;
ShouldUpCache: boolean = true;
protected Props?: initType;
- constructor(Auth: Login, init?: initType){
+ constructor(Auth: Login, init?: initType) {
super();
this.Auth = Auth;
this.Props = init;
}
// @ts-ignore
- async exec(): Promise{
+ async exec(): Promise {
super.exec();
- if(!this.Auth.checkVigencia()){
+ if (!this.Auth.checkVigencia()) {
await this.Auth.exec.bind(this.Auth)();
this.ShouldUpCache = true;
}
}
- UpdateCache(data: T, c: typeof AuthMethod): void{
- if(!this.ShouldUpCache)
+ UpdateCache(data: T, c: typeof AuthMethod): void {
+ if (!this.ShouldUpCache)
return;
- if(this.Auth.Cache){
- console.log("Setting cache");
-
+ if (this.Auth.Cache) {
this.Auth.Cache.setCache(this.Auth.StudentCode!, c, data);
}
this.ShouldUpCache = true;
}
- getCache(c: typeof AuthMethod): R | undefined{
- if(this.ShouldUpCache)
+ getCache(c: typeof AuthMethod): R | undefined {
+ if (this.ShouldUpCache)
return;
- if(this.Auth.Cache)
+ if (this.Auth.Cache)
return this.Auth.Cache?.getCache(c, this.Auth.StudentCode!);
}
}
\ No newline at end of file
diff --git a/test/Kardex.test.ts b/test/Kardex.test.ts
index fc1aaa0..116d2fa 100644
--- a/test/Kardex.test.ts
+++ b/test/Kardex.test.ts
@@ -1,9 +1,9 @@
-import {Kardex, Login} from "../source/index.ts";
+import { Kardex, Login } from "../source/index.ts";
import common from "./common.ts";
import { expect, test } from "bun:test"
-if( !common.StudentCode )
+if (!common.StudentCode)
await common.exec();
const kardex = new Kardex(common);
@@ -12,6 +12,5 @@ test("Kardex", async () => {
expect(data).toBeObject();
expect(data.certificado).toBeString();
expect(data.creditos).toBeObject();
- expect(data.informacion).toBeString();
expect(data.historiaAcademicaKardex).toBeArray();
})
\ No newline at end of file
diff --git a/test/centros.test.ts b/test/centros.test.ts
new file mode 100644
index 0000000..45302c4
--- /dev/null
+++ b/test/centros.test.ts
@@ -0,0 +1,46 @@
+import { Centros, ProgramasCentros, Login, Ciclos } from "../source/index.ts";
+import common from "./common.ts";
+
+import { expect, test } from "bun:test"
+
+if (!common.StudentCode)
+ await common.exec();
+
+const RespCentros = new Centros(common);
+const centros = await RespCentros.exec();
+
+test("Centros", () => {
+ expect(centros)
+ .toBeArray()
+ expect(centros[0])
+ .toBeObject()
+ expect(centros[0].siglas)
+ .toBeString()
+ expect(centros[0].descripcion)
+ .toBeString()
+ expect(centros[0].idcentro)
+ .toBeString()
+})
+
+const Carreras = new ProgramasCentros(common, "D");
+const carreras = await Carreras.exec()
+const [testing] = carreras;
+test("Carreras Centros", () => {
+ expect(carreras)
+ .toBeArray()
+ expect(testing)
+ .toBeObject()
+ expect(testing.descprograma)
+ .toBeString()
+ expect(testing.idcentro)
+ .toBeString()
+ expect(testing.programa)
+ .toBeString()
+})
+
+const Calendarios = await new Ciclos(common, testing.programa).exec();
+test("Ciclos", () => {
+ expect(Calendarios).toBeArray()
+ expect(Calendarios[0].ciclo).toBeString()
+ expect(Calendarios[0].descripcion).toBeString()
+})
\ No newline at end of file
diff --git a/test/oferta.test.ts b/test/oferta.test.ts
new file mode 100644
index 0000000..76dbf13
--- /dev/null
+++ b/test/oferta.test.ts
@@ -0,0 +1,21 @@
+import { OfertaAcademica, OfertaAcademicaRequest } from "../source/index.ts";
+import common from "./common.ts";
+
+
+import { expect, test } from "bun:test"
+
+if (!common.StudentCode)
+ await common.exec();
+
+const ofertaINNI = await new OfertaAcademica(common, {
+ idcentro: "D",
+ idciclo: "2024-B",
+ idprograma: "INNI"
+}).exec()
+
+test("Oferta CUCEI INNI", () => {
+ expect(ofertaINNI).toBeArray();
+ expect(ofertaINNI[0]).toBeObject();
+ expect(ofertaINNI[0].profesores).toBeArray();
+ expect(ofertaINNI[0].horarios).toBeArray();
+})
\ No newline at end of file
diff --git a/types/centros/centros/centros.d.ts b/types/centros/centros/centros.d.ts
new file mode 100644
index 0000000..e0da056
--- /dev/null
+++ b/types/centros/centros/centros.d.ts
@@ -0,0 +1,6 @@
+import { AuthMethod } from "../../utils/Method.js";
+import type { CentroEducativo } from "./centro.js";
+export declare class Centros extends AuthMethod {
+ protected Route: string;
+ exec(): Promise;
+}
diff --git a/types/centros/ciclos/ciclos.d.ts b/types/centros/ciclos/ciclos.d.ts
new file mode 100644
index 0000000..2dfd7b1
--- /dev/null
+++ b/types/centros/ciclos/ciclos.d.ts
@@ -0,0 +1,6 @@
+import { AuthMethod } from "../../utils/Method.js";
+import type { Ciclo } from "./ciclo.js";
+export declare class Ciclos extends AuthMethod {
+ protected Route: string;
+ exec(): Promise;
+}
diff --git a/types/centros/index.d.ts b/types/centros/index.d.ts
new file mode 100644
index 0000000..4b1c424
--- /dev/null
+++ b/types/centros/index.d.ts
@@ -0,0 +1,8 @@
+export type { CentroEducativo } from "./centros/centro.js";
+export { Centros } from "./centros/centros.js";
+export { ProgramasCentros } from "./programas/programas.js";
+export type { Programa } from "./programas/programa.js";
+export type { Ciclo } from "./ciclos/ciclo.js";
+export { Ciclos } from "./ciclos/ciclos.js";
+export type { MateriaOferta, OfertaAcademicaRequest } from "./oferta/oferta.js";
+export { OfertaAcademica } from "./oferta/ofertaAcademica.js";
diff --git a/types/centros/oferta/ofertaAcademica.d.ts b/types/centros/oferta/ofertaAcademica.d.ts
new file mode 100644
index 0000000..cb583be
--- /dev/null
+++ b/types/centros/oferta/ofertaAcademica.d.ts
@@ -0,0 +1,8 @@
+import type { Login } from "../../auth/Login.js";
+import { AuthMethod } from "../../utils/Method.js";
+import type { MateriaOferta, OfertaAcademicaRequest } from "./oferta.js";
+export declare class OfertaAcademica extends AuthMethod {
+ protected Route: string;
+ constructor(auth: Login, init: Required);
+ exec(): Promise;
+}
diff --git a/types/centros/programas/programas.d.ts b/types/centros/programas/programas.d.ts
new file mode 100644
index 0000000..e59a446
--- /dev/null
+++ b/types/centros/programas/programas.d.ts
@@ -0,0 +1,8 @@
+import type { Login } from "../../auth/Login.js";
+import { AuthMethod } from "../../utils/Method.js";
+import type { Programa } from "./programa.js";
+export declare class ProgramasCentros extends AuthMethod {
+ protected Route: string;
+ constructor(Auth: Login, init: string);
+ exec(): Promise;
+}
diff --git a/types/error/Initializer.d.ts b/types/error/Initializer.d.ts
new file mode 100644
index 0000000..d44957f
--- /dev/null
+++ b/types/error/Initializer.d.ts
@@ -0,0 +1,2 @@
+export declare class ClassInitializeError extends Error {
+}
diff --git a/types/index.d.ts b/types/index.d.ts
index c264be5..980e8d6 100644
--- a/types/index.d.ts
+++ b/types/index.d.ts
@@ -26,3 +26,11 @@ export type { ProjectionSubjectType } from "./student/Projections/ProjectionsTyp
export * as RegistroMateriaTypes from "./student/RegistroMaterias/RegistrarMateria.js";
export type { StudentInfoType, DomicilioFormated } from "./student/StudentInfo/InfoType.js";
export type { ScheduleInit } from "./student/Schedules/Schedule.js";
+export type { CentroEducativo } from "./centros/centros/centro.js";
+export { Centros } from "./centros/centros/centros.js";
+export { ProgramasCentros } from "./centros/programas/programas.js";
+export type { Programa } from "./centros/programas/programa.js";
+export type { Ciclo } from "./centros/ciclos/ciclo.js";
+export { Ciclos } from "./centros/ciclos/ciclos.js";
+export type { MateriaOferta, OfertaAcademicaRequest } from "./centros/oferta/oferta.js";
+export { OfertaAcademica } from "./centros/oferta/ofertaAcademica.js";
Get the student average advance
-