Skip to content

Listar e buscar fases sucessionais #495

Description

@edvaldoszy

GitHub: bloqueada por Renomear coluna numero para id. A issue de escrita fica bloqueada por esta.

Por que isso importa

Fase sucessional é o estágio sucessional da vegetação (Estágio Inicial, Médio e Avançado na lista atual). O coletor escolhe no formulário do tombo; fica em tombos.fase_sucessional_id e também em locais_coleta.fase_sucessional_id. A ficha impressa mostra o nome em Observações.

Hoje o Curador só lista as fases sucessionais pela API antiga. A API nova precisa deixar listar o catálogo e abrir um registro, para o formulário do tombo ter uma lista confiável e o Curador saber que está no registro certo antes de alterar.

Esta issue cria o módulo de Fase sucessional na API v2 e os dois endpoints de leitura. Cadastrar, renomear e remover ficam em outra issue.

O nome da tabela é singular (fase_sucessional); a URL é plural (/api/v2/fases-sucessionais). Os atributos são { id, nome } — nunca numero.

Histórias

  • Como Curador, quero listar as fases sucessionais pelo nome para ver o que os coletores vão escolher no formulário do tombo.
  • Como Curador, quero ordenar essa lista (por id ou por nome, crescente ou decrescente) para achar o registro mais fácil. Sem ordenação pedida, quero ver os mais recentes primeiro.
  • Como Curador, quero abrir uma fase sucessional pelo id para confirmar que estou editando o registro certo.

Critérios de aceite

Listar

  • GET /api/v2/fases-sucessionais devolve { id, nome }[].
  • Sem parâmetros de ordenação, a lista vem por id descendente.
  • A UI consegue pedir outra ordenação, pelo menos por id e nome, nas direções crescente e decrescente.
  • Query opcional ?nome= filtra por nome (match parcial, sem diferenciar maiúsculas).

Buscar

  • GET /api/v2/fases-sucessionais/:faseSucessionalId devolve { id, nome } com 200.
  • Id inexistente → 404.
  • faseSucessionalId inválido → 400.

Comum

  • O legado /api/fases-sucessionais permanece inalterado.
  • Há testes de listagem (filtro, ordenação padrão e ordenação pedida pela UI), de busca encontrada e de busca inexistente.

Fora de escopo

  • Cadastrar, atualizar e excluir — issue separada, bloqueada por esta.
  • Auth na v2.
  • Alterar o formulário do tombo.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

Status
to do

Relationships

None yet

Development

No branches or pull requests

Issue actions