Skip to content

Usuários Online #8

@dsalexan

Description

@dsalexan

História de Usuário

Implementar na API uma estrutura para registrar os usuários que estão online no momento.

Resumo

Criar uma tabela especifica para registrar o estado atual dos usuários:

online
- id_usuario INTEGER PRIMARY KEY
- last_access TIMESTAMP WITHOUT TIME ZONE NOT NULL DEFAULT CURRENT_TIMESTAMP
- last_endpoint TEXT NOT NULL

Onde "last_access" (ou algo do genero) indica o timestamp da última requisição que o usuário fez, enquanto "last_endpoint" (ou algo do gênero) indica o endpoint/url dessa ultima requisição.

Implementar algum tipo de middleware para, em qualquer requisição recebida pela API, registrar o usuário que fez a requisição e atualizar (ou inserir) a entrada em online.

Implementar chamadas para retornar informações sobre o estado atual do usuário

  • GET /users/{id do usuario}/online -> Retorna a entrada em online para o usuario
  • GET /users/online -> Retorna a tabela online com um join em usuarios para mostrar mais informacoes dos usuarios além do id

Critérios de Aceite

  • Criar a tabela online
  • Middleware para atualizar a tabela online com a ultima requisicao do usuario
  • GET /users/{id do usuario}/online
  • GET /users/online
    • Essa rota só pode ser chamada por usuários moderadores/administradores
  • As novas rotas só podem ser chamadas por usuários logados
  • Os models utilizados para padronizar o corpo dos requests/responses devem seguir o estilo já estabelecido (especialmente para as informações do usuario)

Protótipo

Informações Adicionais

PlaSMeDIS, Usuários Online, 2023-03-01 19-07-45.mkv

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

Status

🏗 In progress

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions