Descrição
Permitir que usuários se cadastrem e mantenham uma lista de jogos concluídos.
Endpoints:
POST /users — cria usuário
GET /users/{id} — obtém usuário e sua lista
POST /users/{id}/completions — adiciona jogo concluído
GET /users/{id}/completions — lista jogos concluídos
Modelo:
{
"id": "uuid",
"username": "string",
"email": "string",
"completed": ["game-id", "game-id2"]
}
Critérios de Aceite
Tasks
Exemplos de Requisição
Criar usuário
POST /users
{
"username": "pedro",
"email": "pedro@example.com"
}
Adicionar jogo concluído
POST /users/{id}/completions
{
"game_id": "uuid-do-jogo"
}
Listar concluídos
GET /users/{id}/completions
Descrição
Permitir que usuários se cadastrem e mantenham uma lista de jogos concluídos.
Endpoints:
POST /users— cria usuárioGET /users/{id}— obtém usuário e sua listaPOST /users/{id}/completions— adiciona jogo concluídoGET /users/{id}/completions— lista jogos concluídosModelo:
{ "id": "uuid", "username": "string", "email": "string", "completed": ["game-id", "game-id2"] }Critérios de Aceite
POST /userscadastra usuárioPOST /users/{id}/completionsadiciona jogo à listaGET /users/{id}/completionsretorna lista de jogos concluídosgame_idexiste (opcionalmente)data/users.jsonTasks
internal/userscom handlers CRUDUserapp.Post("/users", ...))internal/users/users_test.goopenapi.yamlExemplos de Requisição
Criar usuário
Adicionar jogo concluído
Listar concluídos