Curso

O curso, no contexto da API referenciado como course
é a entidade principal da hierarquia do Redu. Ele é uma entidade autocontida de conteúdo e usuários. Ou seja, usuários que têm acesso a um determinado curso terão permissão para visualizar todas suas disciplinas, módulos e aulas.
GET /api/courses/:id
Retorna o curso em questão.
Autorização
É necessário estar matriculado no curso para visualizar este recurso.
Parâmetros
Parâmetro | Descrição | Restrições |
---|---|---|
id | ID do curso | N/A |
Exemplo
Requisição:
GET /api/environments/462
Resposta:
{
"workload": 40,
"links": [
{
"href": "http://www.redu.com.br/api/courses/pacote-web",
"rel": "self"
},
{
"href": "http://www.redu.com.br/api/courses/pacote-web/spaces",
"rel": "spaces"
},
{
"href": "http://www.redu.com.br/api/environments/guiocavalcanti",
"rel": "environment"
},
{
"href": "http://www.redu.com.br/api/courses/pacote-web/enrollments",
"rel": "enrollments"
}
],
"name": "Pacote Web",
"description": "O foco é estudar os conceitos e tecnologias utilizadas no desenvolvimento da parte da Web que funciona dentro do navegador.",
"created_at": "2012-01-13T12:11:22-02:00",
"id": 462,
"path": "pacote-web"
}
POST /api/environments/:environment_id/courses
Cria um novo curso no AVA especificado. No Redu a matrícula é realizada no curso. Ou seja, os usuários que possuem acesso a um curso também podem visualizar suas disciplinas, módulos e aulas.
Autorização
Para criar um Curso é necessário ter papel administrativo no AVA.
Parâmetros
Parâmetro | Descrição | Restrições |
---|---|---|
environment_id | ID ou path do AVA | N/A |
course[name] | Nome do curso | Máximo 40 caracteres; deve ser único |
course[path] | Nome que aparecerá na barra de endereço | Deve respeitar a seguinte regex: ^[-_A-Za-z0-9]*$ ; Deve ser único dentro de um AVA |
course[description] | Descrição do curso | Máximo de 400 caracteres |
course[workload] | Carga horária do curso em horas | Deve ser numérico |
Exemplo
Requisição:
POST /api/environments/foo/courses
Payload:
{
"course" :
{
"name" : "meu novo curso",
"path" : "meu-novo-curso",
}
}
Resposta:
{
"links": [
{
"href": "http://www.redu.com.br/api/courses/meu-novo-curso",
"rel": "self"
},
{
"href": "http://www.redu.com.br/api/courses/meu-novo-curso/spaces",
"rel": "spaces"
},
{
"href": "http://www.redu.com.br/api/environments/www",
"rel": "environment"
},
{
"href": "http://www.redu.com.br/api/courses/meu-novo-curso/enrollments",
"rel": "enrollments"
}
],
"name": "meu novo curso",
"created_at": "2012-09-10T09:28:09-03:00",
"id": 1137,
"path": "meu-novo-curso"
}
PUT /api/courses/:id
Atualiza as informações do curso especificado. É importante perceber que não há proteção para a atualização do path. Ou seja, alguma aplicação pode acessar este recurso utilizando o path e, caso o mesmo seja modificado, o código HTTP 404 (not found) será lançado.
Autorização
Para criar um Curso é necessário ter papel administrativo no AVA.
Parâmetros
Parâmetro | Descrição | Restrições |
---|---|---|
course[name] | Nome do curso | Máximo 40 caracteres; deve ser único |
course[path] | Nome que aparecerá na barra de endereço | Deve respeitar a seguinte regex: ^[-_A-Za-z0-9]*$ ; Deve ser único dentro de um AVA |
course[description] | Descrição do curso | Máximo de 400 caracteres |
course[workload] | Carga horária do curso em horas | Deve ser numérico |
GET /api/environments/:environment_id/courses
Retorna uma lista de cursos criados dentro do AVA em questão.
Autorização
É necessário estar matriculado em pelo menos um Curso do AVA.
Parâmetros
Parâmetro | Descrição | Restrições |
---|---|---|
environment_id | ID ou path do AVA | N/A |
Exemplo
Requisição: GET /api/environments/guiocavalcanti/courses
Resposta:
[
{
"workload": 40,
"links": [
{
"href": "http://www.redu.com.br/api/courses/pacote-web",
"rel": "self"
},
{
"href": "http://www.redu.com.br/api/courses/pacote-web/spaces",
"rel": "spaces"
},
{
"href": "http://www.redu.com.br/api/environments/guiocavalcanti",
"rel": "environment"
},
{
"href": "http://www.redu.com.br/api/courses/pacote-web/enrollments",
"rel": "enrollments"
}
],
"name": "Pacote Web",
"description": "O foco é estudar os conceitos e tecnologias utilizadas no desenvolvimento da parte da Web que funciona dentro do navegador.",
"created_at": "2012-01-13T12:11:22-02:00",
"id": 462,
"path": "pacote-web"
},
{
"workload": 40,
"links": [
{
"href": "http://www.redu.com.br/api/courses/pacote-web-2012-2",
"rel": "self"
},
{
"href": "http://www.redu.com.br/api/courses/pacote-web-2012-2/spaces",
"rel": "spaces"
},
{
"href": "http://www.redu.com.br/api/environments/guiocavalcanti",
"rel": "environment"
},
{
"href": "http://www.redu.com.br/api/courses/pacote-web-2012-2/enrollments",
"rel": "enrollments"
}
],
"name": "Pacote Web 2012-2",
"description": "O foco é estudar os conceitos e tecnologias utilizadas no desenvolvimento da parte da Web que funciona dentro do navegador.",
"created_at": "2012-07-16T21:39:02-03:00",
"id": 968,
"path": "pacote-web-2012-2"
}
]
DELETE /api/courses/:id
Remove o curso em questão. Todos os usuários serão desmatriculados e perderão o acesso ao recurso.
Autorização
Para criar um Curso é necessário ter papel administrativo no AVA.
Parâmetros
Parâmetro | Descrição | Restrições |
---|---|---|
id | ID ou path do curso | N/A |