16.1 Criar rota para buscar informacões de perfil do usuário
O back deve possuir uma rota GET de enpoint /user/profile
para buscar informações a serem exibidas no perfil. O frontend já tem acesso ao Id e interesses do usuário via autenticação de token.
Antes de desenvolvimento dessa task, uma modificação no banco de dados precisa ser feita na entidade de User, onde o nome do atributo profile_picture_url deve ser modificado para profile_picture_path.
A rota de perfil deve retornar: name, description, posts, streaks e profile_picture_url.
Os campos de name, description, posts e streaks podem ser obtidos diretamente do banco de dados, porém para gerar o campo de profile_picture_url temos um fluxo diferente.
Para gerar o campo de profile_picture_url, o backend deve pegar o atributo profile_picture_path que foi retornado pelo banco de dados e gerar uma pre-signed URL do objeto do S3 que está no caminho especificado pelo profile_picture_path. Por exemplo, caso o atributo profile_picture_path seja '/1234567/photo.jpg', a chave, ou o caminho completo do objeto será <url_do_s3>/1234567/photo.jpg, sendo assim, a rota do backend deve gerar uma pre-signed URL com a chave do objeto como <url_do_s3>/1234567/photo.jpg .
Deve ter status code de acordo:
- 401 (Unauthorized) caso o token esteja inválido.
- 500 (Internal server error) pra qualquer erro relacionado ao servidor (como erro ao comunicar ao banco de dados)
- 200 (OK) quando a requisição for realizada com sucesso.