Skip to content

feat: adiciona username e banner ao perfil de usuario - #52

Merged
Megueutu merged 1 commit into
qafrom
feat/user-username-banner
Sep 11, 2026
Merged

Megueutu merged 1 commit into
qafrom
feat/user-username-banner

Conversation

@Megueutu

Copy link
Copy Markdown
Contributor

Objetivo

Dar a User suporte a username (handle público, ex.: @joaosilva) e
banner (imagem de capa do perfil), junto com o avatar já existente.
Acompanha o PR no database-console que adiciona essas colunas ao
db/core/schema.sql (fonte de verdade versionada do schema, já que este
repo roda com ddl-auto=validate e não tem Flyway próprio) — sem esse
PR aqui, o schema versionado ficaria descrevendo colunas que a entidade
real não tem.

Alterações

  • User.java: novo campo username (NOT NULL, UNIQUE, length = 30)
    e banner (nullable, mesmo padrão de avatar).
  • RegexValidator: novo USERNAME_REGEX (^[a-z0-9_]{3,30}$), espelhando
    o CHECK do banco (ck_users_username_format).
  • UserRequestDTO/UserResponseDTO: expõem username (obrigatório,
    validado pelo regex) e banner (opcional, validado como URL igual
    avatar).
  • UserService: save/update passam a setar username/banner.

Endpoints afetados

POST /api/users, PUT /api/users/{id}, GET /api/users/{id},
GET /api/users — corpo de request/response ganha username e banner.

Banco de Dados

  • Schema

Requer que a coluna username (NOT NULL UNIQUE) e banner existam em
users no banco real antes do deploy — como não há Flyway aqui, isso
precisa ser aplicado manualmente (ou via make schema/make dataload
do database-console, que já reflete essas colunas).

Como testar

curl -X POST localhost:8080/api/users \
  -H "Content-Type: application/json" \
  -d '{"authId":"<uuid>","username":"joao_silva","avatar":"https://...","banner":"https://..."}'

Deve validar username contra ^[a-z0-9_]{3,30}$ e rejeitar duplicado.

Evidências

Sem evidências visuais

Closes #

Copilot AI lite review requested due to automatic review settings September 11, 2026 14:27

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@sonarqubecloud

Copy link
Copy Markdown

@Megueutu
Megueutu merged commit 6b0def4 into qa Sep 11, 2026
3 checks passed
@Megueutu
Megueutu deleted the feat/user-username-banner branch September 11, 2026 14:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants