$ git clone https://github.com/adevecchi/crud-cadastro-incidentes.git
$ cd crud-cadastro-incidentes
$ composer install
$ php -S localhost:8080 -t public
Configurando usuário de acesso do MySQL
Acessar o arquivo src/settings.php
Seu conteúdo é mostrado abaixo:
// Database connection settings
'db' => [
'host' => 'localhost',
'dbname' => 'dvq_red',
'user' => '<seu_nome_de_usuario_aqui>',
'pass' => '<sua_senha_de_usuario_aqui>'
]
Alterar conforme seus valores de acesso para o MySQL. O script para criar o Bando de Dados MySQL segue abaixo:
CREATE DATABASE `dvq_red`
CHARACTER SET utf8
COLLATE utf8_general_ci;
USE `dvq_red`;
CREATE TABLE `incidentes` (
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
`titulo` VARCHAR(100) NOT NULL,
`descricao` TEXT NOT NULL,
`criticidade` enum ('Alta', 'Média', 'Baixa') NOT NULL,
`tipo` ENUM ('Ataque Brute Force', 'Credenciais Vazadas', 'Ataque de DDoS', 'Atividades anormais de usuário') NOT NULL,
`status` ENUM ('Aberto', 'Fechado') NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
que se encontra no arquivo script.sql
CRUD para realizar cadastro de incidentes. Cada incidente possui:
- ID único
- Um título (obrigatório)
- Uma descrição (obrigatório)
- Criticidade (Alta, média ou baixa)
- Um tipo (obrigatório)
- Um status (aberto ou fechado). Todo incidente deverá ser cadastrado com status aberto
Os tipos possíveis para incidentes são
- Ataque Brute Force
- Credenciais vazadas
- Ataque de DDoS
- Atividades anormais de usuários
- Incidentes por página:
GET /api/incidentes/pagina/{pagina}
- Incidentes por ID:
GET /api/incidentes/{id}
- Adiciona incidente:
POST /api/incidentes
- Atualiza incidente:
PUT /api/incidentes/{id}
- Exclui incidente:
DELETE /api/incidentes/{id}