Criação, edição e exclusão autenticadas de eventos
Contexto
A API já possui listagem e leitura de eventos, mas ainda é necessário garantir o fluxo de escrita com autenticação no backend.
Para permitir o gerenciamento de eventos via NestJS com segurança, precisamos cobrir criação, edição e exclusão com validação de payload e proteção por token.
Objetivo
Permitir criação, edição e exclusão de eventos via NestJS, com DTOs validados, endpoints protegidos por autenticação e retorno do evento criado/atualizado.
Exemplos de requisição e resposta
Exemplo 1 — Criar evento autenticado
Requisição:
POST /events
Authorization: Bearer <token>
Content-Type: application/json
{
"name": "Workshop de Backend",
"description": "Hands-on de NestJS",
"location": "São Paulo, Brasil",
"date": "2026-04-10T19:00:00.000Z",
"capacity": 120
}
Resposta esperada (201): retorna o evento criado.
Exemplo 2 — Atualizar evento autenticado
Requisição:
PATCH /events/:id
Authorization: Bearer <token>
Content-Type: application/json
{
"name": "Workshop de Backend Avançado"
}
Resposta esperada (200): retorna o evento atualizado.
Exemplo 3 — Excluir evento autenticado
Requisição:
DELETE /events/:id
Authorization: Bearer <token>
Resposta esperada (204): evento removido com sucesso.
Exemplo 4 — Payload inválido
Requisição:
POST /events
Authorization: Bearer <token>
Content-Type: application/json
{
"name": "",
"capacity": 0
}
Resposta esperada (400): erro de validação do payload.
Exemplo 5 — Sem token válido
Requisição:
Resposta esperada (401/403): acesso negado por autenticação/autorização.
Comportamento esperado
POST /events cria um novo evento quando o token for válido.
PATCH /events/:id atualiza um evento existente quando o token for válido.
DELETE /events/:id remove um evento existente quando o token for válido.
- Os endpoints de escrita devem estar protegidos por guard de autenticação.
CreateEventDto e UpdateEventDto devem validar os payloads com class-validator.
- Erros de validação devem retornar
400 Bad Request.
- Criação e edição devem retornar o evento persistido.
Tarefas
Critérios de aceite
Dependências
Criação, edição e exclusão autenticadas de eventos
Contexto
A API já possui listagem e leitura de eventos, mas ainda é necessário garantir o fluxo de escrita com autenticação no backend.
Para permitir o gerenciamento de eventos via NestJS com segurança, precisamos cobrir criação, edição e exclusão com validação de payload e proteção por token.
Objetivo
Permitir criação, edição e exclusão de eventos via NestJS, com DTOs validados, endpoints protegidos por autenticação e retorno do evento criado/atualizado.
Exemplos de requisição e resposta
Exemplo 1 — Criar evento autenticado
Requisição:
{ "name": "Workshop de Backend", "description": "Hands-on de NestJS", "location": "São Paulo, Brasil", "date": "2026-04-10T19:00:00.000Z", "capacity": 120 }Resposta esperada (201): retorna o evento criado.
Exemplo 2 — Atualizar evento autenticado
Requisição:
{ "name": "Workshop de Backend Avançado" }Resposta esperada (200): retorna o evento atualizado.
Exemplo 3 — Excluir evento autenticado
Requisição:
Resposta esperada (204): evento removido com sucesso.
Exemplo 4 — Payload inválido
Requisição:
{ "name": "", "capacity": 0 }Resposta esperada (400): erro de validação do payload.
Exemplo 5 — Sem token válido
Requisição:
Resposta esperada (401/403): acesso negado por autenticação/autorização.
Comportamento esperado
POST /eventscria um novo evento quando o token for válido.PATCH /events/:idatualiza um evento existente quando o token for válido.DELETE /events/:idremove um evento existente quando o token for válido.CreateEventDtoeUpdateEventDtodevem validar os payloads comclass-validator.400 Bad Request.Tarefas
CreateEventDtocom validações usandoclass-validator.UpdateEventDtocom validações usandoclass-validator.POST /events.PATCH /events/:id.DELETE /events/:id.Critérios de aceite
POST /eventsretorna o evento criado.PATCH /events/:idretorna o evento atualizado.DELETE /events/:idremove o evento com sucesso.400.Dependências