- Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
documentationImprovements or additions to documentationImprovements or additions to documentationfeatureNew featureNew featuregood first issueGood for newcomersGood for newcomers
Description
Descrição
Adicionar endpoint para cadastrar um novo jogo.
Requisitos:
POST /games- Validação do payload
- Persistência em storage (arquivo
data/games_seed.jsonou DB futuro) - Retornar
201 Createdcom o recurso criado ou400/422em caso de erro
Payload esperado:
{ "id": "string-ulid", "name": "string", "releaseDate": "YYYY-MM-DD", "platform": "string", "gender": "string", "subGender": "string", "rating": 0 }Critérios de Aceite
- Endpoint
POST /gamesimplementado - Validação mínima (
title,platformobrigatórios) - Retorna
201e JSON do jogo criado - Persistência no arquivo
data/games_seed.json - Retorna
400em caso de payload inválido - Testes unitários cobrindo happy path e validações
- OpenAPI atualizado com POST
/games
Tasks
- Definir
Gamestruct - Criar handler
CreateGamee registrarapp.Post("/games", CreateGame) - Validar payload (
title,platform) - Persistir no arquivo
data/games_seed.jsoncom lock (mutex) - Atualizar
openapi.yaml - Criar testes
internal/games/games_create_test.go
Exemplo de Requisição
POST /games Content-Type: application/json { "name": "The Legend of Go", "releaseDate": "2025-01-01", "platform": "PC", "gender": "Programing", "subGender": "Simple", "rating": 0 }Resposta:
{ "id": "01K9JYHR1HA9RNE7QVBXMMW4TH", "name": "The Legend of Go", "releaseDate": "2025-01-01", "platform": "PC", "gender": "Programing", "subGender": "Simple", "rating": 0 } Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
documentationImprovements or additions to documentationImprovements or additions to documentationfeatureNew featureNew featuregood first issueGood for newcomersGood for newcomers