Method | URI | Action |
---|---|---|
GET |
/sections |
index |
GET |
/sections/{id} |
show |
POST |
/sections |
store |
PATCH |
/sections/{id} |
update |
DELETE |
/sections/{id} |
delete |
GET |
/sections/{id}/courses |
get relation |
{
"id": 1,
"letter_code": "A",
"males_limit": 9, // Limite de hombres que se pueden asignar a la seccion
"females_limit": 9, // Limite de mujeres que se pueden asignar a la seccion
"males_assigned": 0, // Hombres actualmente asignados
"females_assigned": 0, // Mujeres actualmente asignados
"filled": false, // Determina si la seccion ya no tiene disponibilidad de hombre o mujeres
"specialization_id":1, // ID de especialidad, se toma del semestre
"period_id":1,
"semester_id":1,
"created_at": "2020-03-10 13:28:15",
"updated_at": "2020-03-10 13:28:15"
}
BelongsToMany courses
HasMany courseSection
HasMany schedules Through courseSection
BelongsTo specialization
BelongsTo period
BelongsTo semesters
{primary} Al obtener un modelo con el metodo
show
oindex
se puede utilizar un query string para cargar las relaciones?with=relation
o?with=relationA,relationB
GET /sections
admin
coordinador
extends
Query FiltersFilter | Description |
---|---|
search=string |
Busca a traves de letter_code |
males_assigned=int |
Filtra por los hombres asignados. Soporta operadores de busqueda > , < , >= , <= (se debe colocar al inicio del value) |
females_assigned=int |
Filtra por los mujeres asignadas. Soporta operadores de busqueda > , < , >= , <= (se debe colocar al inicio del value) |
filled=bool |
Obtiene solo las secciones llenas (o no) |
specialization=id |
Obtiene las que tengan la especialización |
period=id |
Obtiene las que tengan el periodo |
semester=id |
Obtiene las que tengan el semestres |
course=id |
Obtiene las que tengan la materia |
200
[
{
// Section
}
]
males_assigned
y females_assigned
estaran en 0
POST /sections
admin
{
"letter_code": "required|string",
"males_limit": "required|integer",
"females_limit": "required|integer",
"period_id": "required|integer|exists",
"semester_id": "required|integer|exists"
}
201
{
// Section
}
Si se actualiza el limite y se determina que es la suma de los nuevos limites es menor que la suma
de los hombres y mujeres asignados actualmente se marcará filled
como true
.
En el caso contrario se marcara como false
.
PATCH /sections/{id}
admin
{
"letter_code": "string",
"males_limit": "integer",
"females_limit": "integer"
}
200
{
// Section
}
DELETE /sections/{id}
admin
204
No ContentGET /sections/{id}/courses
admin
coordinador
que coordine la especialidad de la seccion200
[
{
"id": 1,
"code": "code",
"title": "title",
"scheduled_content": "Test description",
"scheduled_content_resource": null,
"credits": 10,
"hours": 20,
"priority": 1,
"calculated_avg": null,
"elective": false,
"enabled": true,
"final_delivery": false,
"final_delivery_value_percent": null,
"created_at": "2020-04-08 23:33:53",
"updated_at": "2020-04-08 23:33:53",
"pivot": {
"section_id": 1,
"course_id": 1,
"teacher_id": null, // Profesor asignado a la materia_seccion
"created_at": "2020-04-08 23:33:53",
"updated_at": "2020-04-08 23:41:40"
}
}
]