Method | URI | Action |
---|---|---|
GET |
/courses |
index |
GET |
/courses/{id} |
show |
POST |
/courses |
store |
PATCH |
/courses/{id} |
update |
DELETE |
/courses/{id} |
delete |
GET |
/courses/{id}/semestres |
index |
GET |
/periods/{id}/courses-by-specialization |
custom index |
{
"id": 1,
"code": "Código de Curso",
"title": "Titulo de Curso",
"credits": 10, // Creditos del curso
"hours": 20, // Horas de duracion del curso
"scheduled_content": "Contenido programático de la materia en forma de descripción",
"scheduled_content_resource": null, // Contenido programatico (archivo)
"analytic_content_resource": null, // Contenido analicito (archivo)
"synoptic_content_resource": null, // Contenido sinoptico (archivo)
"calculate_avg": false, // Si calcula promedio
"elective": false, // si es de electiva o no
"enabled": true,
"final_delivery": false, // Si tiene entrega final
"final_delivery_value_percent": null, // (int) Si tiene entrega final, cuanto de la nota en porcentaje equivale
"final_delivery_merged_sections": false, // Si soporta que dos secciones tengan una entrega final junta el mismo dia/hora
"updated_at": "2020-03-06 18:31:36",
"created_at": "2020-03-06 18:31:36"
}
BelongsToMany semesters
BelongsToMany sections
BelongsToMany teachers
GET /courses
admin
extends
QueryFiltersFilter | Description |
---|---|
search=string |
Busca a traves de code , title y scheduled_content |
credits=int |
Por los creditos. Soporta operadores de busqueda > , < , >= , <= (se debe colocar al inicio del value) |
hours=int |
Por las horas. Soporta operadores de busqueda > , < , >= , <= (se debe colocar al inicio del value) |
enabled=bool |
Obtiene las habilitadas |
elective=bool |
Obtiene las que sean de electivas |
final_delivery=bool |
Obtiene las que soporten entregas finales |
POST /courses
admin
{
"code": "required|string",
"title": "required|string",
"scheduled_content": "required|string",
"scheduled_content_resource": "nullable|file", // optional
"analytic_content_resource": "nullable|file", // optional
"synoptic_content_resource": "nullable|file", // optional
"credits": "required|integer|min:0",
"hours": "required|integer|min:0",
"calculate_avg": "boolean", // default false
"enabled": "boolean", // default false
"elective": "boolean", // default false
"final_delivery": "boolean", // default false
"final_delivery_value_percent": "required|integer|min:0|max:100" // Solo requerido cuando final_delivery es true
"final_delivery_merged_sections": "required|boolean" // Solo requerido cuando final_delivery es true
}
Aún se necesita definir que puede ser actualizado y sus limites
PATCH /courses/{id}
admin
{
"code": "required|string",
"title": "required|string",
"scheduled_content": "required|string",
"credits": "required|integer|min:0",
"hours": "required|integer|min:0",
"elective": "boolean",
"enabled": "boolean",
"final_delivery": "boolean",
// Solo requerido cuando `final_delivery` es true
// Toma por prioridad el `final_delivery` enviado en el request
// pero si no se encuentra, utilizara el valor
// que tenga la materia (course) en ese momento
"final_delivery_value_percent": "integer|min:0|max:100",
"final_delivery_merged_sections": "boolean",
// Solo si el request POST (multipart) y se envia "_method": "PATCH"
"scheduled_content_resource": "nullable|file",
"analytic_content_resource": "nullable|file",
"synoptic_content_resource": "nullable|file"
}
DELETE /courses/{id}
admin
GET /courses/{id}/semesters
admin
Obtiene las materias de todos los semestres de los pensums asociados al periodo, siempre y cuando
el pensums tenga semestres y sus semestres tengan materias. Y pensum tenga version
Viene agrupado por especialidad
GET /periods/{id}/courses-by-specialization
admin
200
{
"specializations": [
{
"id": 1,
"code": "dise\u00f1o_industrial-253",
"title": "Dise\u00f1o Industrial",
"color": "\#bf60c6",
"text_color": "\#0eb70e",
"enabled": true,
"created_at": "2020-04-29 19:13:25",
"updated_at": "2020-04-29 19:13:25",
"courses": [
{
"id": 1,
"code": "MATERIA 1",
"title": "title",
"scheduled_content": "Test description",
"scheduled_content_resource": null,
"credits": 10,
"hours": 20,
"calculate_avg": false,
"elective": false,
"enabled": true,
"final_delivery": false,
"final_delivery_value_percent": null,
"created_at": "2020-04-29 19:13:25",
"updated_at": "2020-04-29 19:13:25",
"pivot": {
"semester_id": "1",
"course_id": "1"
}
}
]
}
]
}