VersionService
Visão Geral
O VersionService busca versões/publicações de versão da solução, com suporte a paginação e filtros.
Localização: services/version/version.service.ts
Endpoints
| Método | Endpoint | Descrição |
|---|---|---|
| GET | /versoes | Busca versões (paginado) |
Métodos
fetchRemote(params)
Busca versões com paginação e filtros opcionais.
Parâmetros
| Nome | Tipo | Obrigatório |
|---|---|---|
params | { page?: number; size?: number; dataHora?: string; solucaoId?: string } | Não |
Retorno: Promise<Version[]>
Exemplo
const versions = await versionService.fetchRemote({ page: 0, size: 20, solucaoId: 'force' });
Erros
| Status | Descrição |
|---|---|
| 5xx | Lança Error: VersionService.fetchRemote failed: {status} |
Estruturas de Dados
Version
export interface Version {
id: string;
idSolucao: string;
solucao: string;
numeroVersao: string;
registroAlteracoes: string;
dhCriacao: Date;
}
Componentes Relacionados
| Componente | Descrição |
|---|---|
buildQueryParams | Serializa parâmetros de query para a requisição |
apiWithoutAccessToken | Instância Axios usada para chamadas públicas |
PageResponse<T> | Tipo genérico para respostas paginadas |
Casos de Uso
- Listar versões por solução
- Exibir changelog/registro de alterações de uma versão
Testes
Localização: services/version/version.service.test.ts
Principais cenários
| Cenário | Resultado esperado |
|---|---|
fetchRemote status 200 | Retorna pageVersionsMock.content |
fetchRemote status 500 | Lança VersionService.fetchRemote failed |
Mocks
Localização: __mocks__/version.mock.ts
pageVersionsMock— objeto paginado comcontentcontendoVersion[]usado nos testes.
Instância
Localização: services/version/version.service.instance.ts
import { versionService } from '@/services/version/version.service.instance';