| Method | URI | Action |
|---|---|---|
GET |
/semesters |
index |
GET |
/semesters/{id} |
show |
POST |
/semesters |
store |
PATCH |
/semesters/{id} |
update |
DELETE |
/semesters/{id} |
delete |
GET |
/semesters/{id}/courses |
get relation |
PUT |
/periods/{id}/pensums/{id}/semesters/{id}/courses |
Actualizar materias de un semestre |
{
"id": 1,
"number": 1,
"code": "BAS1", // this is optional
"pensum_id" : 1,
"specialization_id" : 1, // se asigna desde pensum
"created_at": "2020-04-06 17:28:15",
"updated_at": "2020-04-06 17:28:15"
}
HasMany sectionsBelongsTo pensumBelongsTo specializationBelongsToMany coursesGET /semestersadminextends QueryFilters| Filter | Description |
|---|---|
search=string |
Busca a traves de code |
number=int |
Filtra por el numero de semestre. Soporta operadores de busqueda >, <, >=, <= (se debe colocar al inicio del value) |
pensum=id |
Por pensum |
specialization=id |
Por especialidad |
period=id |
Por periodo (a traves de su pensum) |
200[
{
// Semester
}
]
POST /semestersadmin{info} No se puede crear 2 veces el mismo
semester.number
{
"number": "required|integer|min:1|max:15",
"code": "string", // this is optional
"pensum_id" : "required|integer|exists:pensums,id"
}
201{
// Semester
}
PATCH /semesters/{id}admin{
"code": "string"
}
200{
// Model Attributes
}
Un semestre con secciones no puede eliminarse
DELETE /semesters/{id}admin204 No ContentGET /semesters/{id}/coursesadmin200[
{
// Course
}
]
Esta accion sincroniza las materias de el semestre.
si ya tieneSe envian todos los courses_ids que ya tenia menos el que se quiere eliminar
si ya tieneSe envian todos los courses_ids que ya tenia más el que se quiere agregar (este metodo tambien sirve si no tiene materias)
PUT /periods/{id}/pensums/{id}/semesters/{id}/coursesadmin{info} Se filtran los cursos duplicados, si se envian
[1, 2 ,1 ,3]solo se utilizará[1, 2 ,3]
// courses ids
[
1,
2,
3
]
200