POST
https://api.myidvirtual.com
/
user
/
favorite
Gerenciar Favoritos
curl --request POST \
  --url https://api.myidvirtual.com/user/favorite \
  --header 'Authorization: <authorization>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "serverId": "<string>"
}
'
{
  "message": "Servidor adicionado aos favoritos com sucesso",
  "server": {
    "id": "srv_123e4567-e89b-12d3-a456-426614174000",
    "name": "São Paulo Premium",
    "country": "Brasil",
    "city": "São Paulo",
    "flag": "🇧🇷",
    "ip": "192.168.1.100",
    "port": "1194",
    "status": true
  }
}

Gerenciar Servidores Favoritos

Endpoints para gerenciar a lista de servidores favoritos do usuário, permitindo adicionar, remover e listar servidores preferidos.

Autenticação

Authorization
string
required
Bearer token JWT do usuário autenticado

Parâmetros

serverId
string
required
ID único do servidor a ser adicionado aos favoritos

Responses

{
  "message": "Servidor adicionado aos favoritos com sucesso",
  "server": {
    "id": "srv_123e4567-e89b-12d3-a456-426614174000",
    "name": "São Paulo Premium",
    "country": "Brasil",
    "city": "São Paulo",
    "flag": "🇧🇷",
    "ip": "192.168.1.100",
    "port": "1194",
    "status": true
  }
}

Remover Servidor Favorito

Parâmetros

serverId
string
required
ID do servidor a ser removido dos favoritos

Responses

{
  "message": "Servidor removido dos favoritos com sucesso"
}

Listar Servidores Favoritos

Responses

{
  "favorites": [
    {
      "id": "srv_123e4567-e89b-12d3-a456-426614174000",
      "name": "São Paulo Premium",
      "country": "Brasil",
      "city": "São Paulo",
      "flag": "🇧🇷",
      "ip": "192.168.1.100",
      "port": "1194",
      "status": true,
      "ping": 25,
      "load": 45,
      "addedAt": "2024-01-15T10:30:00.000Z"
    },
    {
      "id": "srv_987e6543-e21b-43d2-b654-321987654000",
      "name": "Rio de Janeiro Turbo",
      "country": "Brasil",
      "city": "Rio de Janeiro",
      "flag": "🇧🇷",
      "ip": "192.168.2.100",
      "port": "1194",
      "status": true,
      "ping": 30,
      "load": 32,
      "addedAt": "2024-01-10T15:20:00.000Z"
    }
  ],
  "total": 2
}

Exemplo de Requisição

curl --location --request POST 'http://localhost:3333/user/favorite' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...' \
--header 'Content-Type: application/json' \
--data-raw '{
  "serverId": "srv_123e4567-e89b-12d3-a456-426614174000"
}'

Funcionalidades

Adicionar Favoritos

  • Validação se servidor existe
  • Verificação de duplicatas

Remover Favoritos

  • Validação se está favoritado
  • Remoção imediata da lista

Listar Favoritos

  • Ordenação por data de adição
  • Informações de status em tempo real

Interface de Usuário

Botão de Favorito

// Estado não favoritado
<button class="favorite-btn"></button>

// Estado favoritado
<button class="favorite-btn favorited"></button>

Lista de Favoritos

  • Cards visuais com informações
  • Status online/offline em tempo real
  • Ações rápidas (conectar, remover)

Casos de Uso

1. Acesso Rápido

Usuários podem marcar servidores preferidos para acesso rápido sem buscar na lista completa.

2. Conexão Automática

Sistemas podem usar favoritos para conectar automaticamente ao melhor servidor disponível.

3. Monitoramento

Acompanhar status de servidores específicos importantes para o usuário.

Limitações

Persistência

  • Favoritos são mantidos mesmo se servidor ficar offline
  • Limpeza automática de servidores removidos
Servidores removidos do sistema são automaticamente removidos dos favoritos de todos os usuários.
Use favoritos para implementar conexão inteligente, sempre tentando conectar ao melhor servidor favorito disponível.

Próximos Passos

  1. Implemente notificações quando favoritos ficam online/offline
  2. Adicione sincronização entre dispositivos
  3. Crie categorias de favoritos (casa, trabalho, etc.)
  4. Implemente backup automático de favoritos
Favoritos são específicos por usuário e não são compartilhados com outros usuários do sistema.