Esta é uma API simples construída com Node.js e Express, que utiliza autenticação JWT (JSON Web Tokens) para proteger rotas específicas. A API permite a criação, leitura, atualização e exclusão de incidentes, além de fornecer informações sobre o servidor onde está hospedada.
- POST /login
- Esta rota permite autenticar um usuário e receber um token JWT válido para acesso às demais rotas protegidas.
- Body:
{ "username": "admin", "password": "admin" }
- Resposta de Sucesso:
{ "token": "token_jwt" }
-
GET /incidents
- Retorna uma lista de todos os incidentes cadastrados.
- Requer autenticação JWT.
-
POST /incidents
- Cria um novo incidente.
- Body:
{ "title": "Título do Incidente", "description": "Descrição detalhada do incidente", "leak": "Tipo de vazamento", "severity": "Severidade do incidente" }
- Requer autenticação JWT.
-
PUT /incidents/:id
- Atualiza um incidente existente.
- Parâmetros de Rota:
id
: ID do incidente a ser atualizado.
- Body:
{ "title": "Novo Título", "description": "Nova descrição", "leak": "Novo tipo de vazamento", "severity": "Nova severidade" }
- Requer autenticação JWT.
-
DELETE /incidents/:id
- Exclui um incidente existente.
- Parâmetros de Rota:
id
: ID do incidente a ser excluído.
- Requer autenticação JWT.
- GET /server-info
- Retorna informações sobre o servidor onde a API está hospedada, como nome do host, tempo de atividade, memória total e livre, carga média do sistema, informações da CPU e interfaces de rede.
- Instale as dependências:
npm install
- Execute a aplicação:
node app.js A aplicação será executada na porta especificada (padrão: 3000).
- Node.js e npm instalados na máquina.