Solicitud de Documentos (Document Requests)


Routes

Method URI Action
GET /document-requests index
GET /document-requests/{id} show
POST /document-requests store
DELETE /document-requests/{id} delete
PATCH /document-requests/{id}/set-generated update
PATCH /document-requests/{id}/set-retired update
PATCH /document-requests/{id}/set-canceled update

Model Attributes

{
  "id": 1,
  "document": "Constancia de Estudios", // Nombre del documento a solicitar
  "generated_at": null,                 // (datetime) Cuando el admin marca la solicitud como "generada" 
  "retired_at": null,                   // (datetime) Cuando el admin marca la solicitud como "retirada" 
  "student_id": 1,                      // ID de estudiante que genero la solicitud
  "user_id": null,                      // ID de admin que atendio la solicitud
  "related_notification_id": 1,         // ID de notificacion que se creo al generar la solicitud
  "updated_at": "2020-06-10 16:23:36",
  "created_at": "2020-06-10 16:23:36"
}

Index

Route GET /document-requests

Policies

{primary} Cuando el usuario autenticado es estudiante se obtendran sus solicitudes

  • admin
  • estudiante

Filters extends Query Filters

Filter Description
search=string Busca a traves de document
completed=bool Obtiene los completados o no completados
generated=bool Obtiene los generados o no generados
student=value,type Solo Admin Por estudiante, de manera opcional se puede buscar por cedula o email especificando en el type email o ci por defecto es id. Colocar algun otro tipo no ejecutara el filtro

Response 200

[
  {
    // DocumentRequest
  }
]

Store

Route POST /document-requests

Policies

  • estudiante

Request Body

{
  "document_request_type_id": "required|integer|exists"
}

Response 201

{
  // DocumentRequest
}

Delete

Cuando una solicitud es eliminada, tambien se elimina la notificacion relacionada. Si esta completada no se puede eliminar.

Route DELETE /document-requests/{id}

Policies

  • admin
  • estudiante

Response 204 No Content


Marcar como generado

Cuando una solicitud se marca como generada se le genera una nueva notificación al estudiante avisandole que ya se genero el documento solicitado.

Tambien se le asigna a la solicitud que admin lo atendio.

Route PATCH /document-requests/{id}/set-generated

Policies

  • admin

Response 200


Marcar como retirado

Cuando una solicitud se marca como retirada, se considera como completada y bloquea la capacidad de eliminarla

Route PATCH /document-requests/{id}/set-retired

Policies

  • admin

Response 200


Marcar como cancelado

Cuando una solicitud se marca como cancelada, no se puede generar ni retirar

Route PATCH /document-requests/{id}/set-canceled

Policies

  • admin

Response 200