Disciplinas
Disciplinas de uma instituição.
Lê uma disciplina
GET /disciplinas/{disciplinaId}
Acesso: Exige a capacidade LER sobre disciplina (params.disciplinaId). Status de sucesso: 200.
Parâmetros de caminho
| Parâmetro | Tipo | Obrigatório | Restrições | Descrição |
|---|---|---|---|---|
disciplinaId | string (uuid) | sim | Id da disciplina. |
Resposta
| Campo | Tipo | Obrigatório | Restrições | Descrição |
|---|---|---|---|---|
id | string (uuid) | sim | ||
instituicaoId | string (uuid) | sim | ||
sigla | string | sim | ||
nome | string | sim | ||
ementa | string ou nulo | sim | ||
semanas | integer ou nulo | sim | ||
ativo | boolean | sim |
Em caso de erro: modelo ErroApi.
Exemplo
curl -X GET "$API/disciplinas/{disciplinaId}" -H "Authorization: Bearer $TOKEN"Atualiza uma disciplina
PATCH /disciplinas/{disciplinaId}
Acesso: Exige a capacidade CADASTRAR sobre disciplina (params.disciplinaId). Status de sucesso: 200.
Parâmetros de caminho
| Parâmetro | Tipo | Obrigatório | Restrições | Descrição |
|---|---|---|---|---|
disciplinaId | string (uuid) | sim | Id da disciplina. |
Corpo da requisição (DisciplinaAtualizar)
| Campo | Tipo | Obrigatório | Restrições | Descrição |
|---|---|---|---|---|
sigla | string | não | ^[A-Za-z0-9][A-Za-z0-9._-]{0,14}$ | |
nome | string | não | 1–200 caracteres | |
ementa | string ou nulo | não | a 10000 caracteres | |
semanas | integer ou nulo | não | 1…520 | |
ativo | boolean | não |
Resposta
| Campo | Tipo | Obrigatório | Restrições | Descrição |
|---|---|---|---|---|
id | string (uuid) | sim | ||
instituicaoId | string (uuid) | sim | ||
sigla | string | sim | ||
nome | string | sim | ||
ementa | string ou nulo | sim | ||
semanas | integer ou nulo | sim | ||
ativo | boolean | sim |
Em caso de erro: modelo ErroApi.
Exemplo
curl -X PATCH "$API/disciplinas/{disciplinaId}" -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" -d '{}'Lista as disciplinas de uma instituição
GET /instituicoes/{instituicaoId}/disciplinas
Acesso: Exige a capacidade LER, em algum escopo (a resposta traz só o que a pessoa pode ver). Status de sucesso: 200.
Parâmetros de caminho
| Parâmetro | Tipo | Obrigatório | Restrições | Descrição |
|---|---|---|---|---|
instituicaoId | string (uuid) | sim | Id da instituição. |
Parâmetros de consulta
| Parâmetro | Tipo | Obrigatório | Restrições | Descrição |
|---|---|---|---|---|
busca | string | não | a 100 caracteres | Texto para buscar (nome ou e-mail, conforme a rota). |
limite | integer | não | 1…200; padrão: 50 | Quantos itens por página (1 a 200; o padrão varia por rota, em geral 50). |
deslocamento | integer | não | 0…100000; padrão: 0 | Quantos itens pular, para paginar (até 100000). |
inativos | "true" | "false" | não | padrão: "false" | true inclui também os registros inativos. |
Resposta
lista de DisciplinaDto (+ total)
| Campo | Tipo | Obrigatório | Restrições | Descrição |
|---|---|---|---|---|
id | string (uuid) | sim | ||
instituicaoId | string (uuid) | sim | ||
sigla | string | sim | ||
nome | string | sim | ||
ementa | string ou nulo | sim | ||
semanas | integer ou nulo | sim | ||
ativo | boolean | sim |
Em caso de erro: modelo ErroApi.
Exemplo
curl -X GET "$API/instituicoes/{instituicaoId}/disciplinas" -H "Authorization: Bearer $TOKEN"Cria uma disciplina na instituição
POST /instituicoes/{instituicaoId}/disciplinas
sigla e nome são únicos na instituição: repetir devolve 409 taken.
Acesso: Exige a capacidade CADASTRAR sobre instituição (params.instituicaoId). Status de sucesso: 201.
Parâmetros de caminho
| Parâmetro | Tipo | Obrigatório | Restrições | Descrição |
|---|---|---|---|---|
instituicaoId | string (uuid) | sim | Id da instituição. |
Corpo da requisição (DisciplinaCriar)
| Campo | Tipo | Obrigatório | Restrições | Descrição |
|---|---|---|---|---|
sigla | string | sim | ^[A-Za-z0-9][A-Za-z0-9._-]{0,14}$ | |
nome | string | sim | 1–200 caracteres | |
ementa | string ou nulo | não | a 10000 caracteres | |
semanas | integer ou nulo | não | 1…520 |
Resposta
| Campo | Tipo | Obrigatório | Restrições | Descrição |
|---|---|---|---|---|
id | string (uuid) | sim | ||
instituicaoId | string (uuid) | sim | ||
sigla | string | sim | ||
nome | string | sim | ||
ementa | string ou nulo | sim | ||
semanas | integer ou nulo | sim | ||
ativo | boolean | sim |
Em caso de erro: modelo ErroApi.
Exemplo
curl -X POST "$API/instituicoes/{instituicaoId}/disciplinas" -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" -d '{"sigla":"texto","nome":"texto"}'