Con una lista de documentos se crea una Biblioteca Virtual, en este modulo se le permite a los usuarios (menos estudiantes) subir documentos de distintos tipos con una imagen de cobertura opcional.
Method | URI | Action |
---|---|---|
GET |
/documents |
index |
GET |
/documents/{id} |
show |
POST |
/documents |
store |
PATCH |
/documents/{id} |
update |
DELETE |
/documents/{id} |
delete |
POST |
/documents/{id}/download |
download |
{
"id": 1,
"title": "Titulo del Documento",
"type": 1, // Tipo de Documento
"resource_path": null, // Ruta del documento subido
"cover_picture_path": null, // Ruta de la imagen de cobertura
"updated_at": "2020-03-06 18:31:36",
"created_at": "2020-03-06 18:31:36",
"user_id": 1, // Se utilizara el usuario que hizo el request como "uploader"
"period_id": null, // Opcional
"specialization_id": null, // Opcional
"semester_id": null, // Opcional
"course_id": null // Opcional
}
Ref: https://gitlab.com/simgulary/idc/caracas-design-institute-api/-/issues/6
Type | Value |
---|---|
Book |
1 |
Paper |
2 |
Thesis |
3 |
Others |
4 |
BelongsTo user
BelongsTo period
BelongsTo specialization
BelongsTo semester
BelongsTo course
GET /documents
admins
coordinador
profesor
estudiante
extends
Query FiltersFilter | Description |
---|---|
search=value |
Filtra a traves de title |
type=int |
Por tipo |
user=id |
Por usuario |
period=id |
Por periodo |
specialization=id |
Por especialidad |
semester=id |
Por semestre |
course=id |
Por materia |
200
POST /documents
admins
coordinador
profesor
{
"title": "required|string",
"type": "required|integer|in:1,2,3,4", // ver Tipos de Documentos
"resource": "required|file",
// No requeridos
"cover_picture": "image",
"period_id": "nullable|integer",
"specialization_id": "nullable|integer",
"semester_id": "nullable|integer",
"course_id": "nullable|integer"
}
201
PATCH /documents/{id}
admins
coordinador
profesor
que subio el documento{info} Para subir archivos se requiere que el request sea
POST
y enviar_method = PATCH
en elForm-Data
{
"title": "string",
"type": "integer|in:1,2,3,4", // ver Tipos de Documentos
"period_id": "nullable|integer",
"specialization_id": "nullable|integer",
"semester_id": "nullable|integer",
"course_id": "nullable|integer",
// Estos atributos solo estaran incluidos y utilizados en el request
// solo si se aplican las condiciones necesarias
"resource": "file",
"cover_picture": "image"
}
200
Tambien se eliminan los archivos asociados
DELETE /documents/{id}
admins
coordinador
profesor
que subio el documento204
No ContentEl api manda un response tipo descarga al cliente con el archivo de resource_path
Se deberia limitar las descargas de estudiantes por tipo de archivo?
POST /documents/{id}/download
admins
coordinador
profesor
estudiante
200
Contenido Del Archivo