pet-dex-backend icon indicating copy to clipboard operation
pet-dex-backend copied to clipboard

Fazer opção de on/off no push notification

Open GabrielTrindadeC opened this issue 1 year ago • 3 comments

Descreva a funcionalidade Implementação de um endpoint para permitir que os usuários controlem a opção de receber ou não push notifications no sistema, fornecendo uma funcionalidade de ativar/desativar esse recurso.

Descrição Essa funcionalidade permite que os usuários controlem suas preferências em relação às push notifications no sistema. Ao acessar o endpoint correspondente, os usuários podem ativar ou desativar o recebimento dessas notificações.

Cenário de Uso Os usuários podem utilizar essa funcionalidade para personalizar suas experiências no sistema, decidindo se desejam ou não receber push notifications. Isso é particularmente útil para aqueles que desejam gerenciar o volume de notificações que recebem.

Detalhes de Implementação

  1. Endpoint:

    • Crie um endpoint que aceite requisições do tipo PATCH ou PUT para atualizar as preferências de push notifications do usuário.
    • O endpoint deve ser protegido, exigindo autenticação para garantir que apenas usuários autenticados possam modificar suas configurações.
    // Exemplo de rota em um framework web em Go (como Chi ou Gorilla Mux)
    router.Patch("/api/configuracoes/push-notifications", UpdatePushNotificationSettings)
    
  2. Lógica do Endpoint:

    • Implemente a lógica do endpoint para receber a preferência de push notification do usuário e atualizar o estado no banco de dados.
    // Exemplo de função de manipulação do endpoint
    func UpdatePushNotificationSettings(w http.ResponseWriter, r *http.Request) {
      // Recuperar o usuário autenticado
      user := GetAuthenticatedUser(r)
    
      // Analisar a requisição para obter a preferência do usuário (ativo ou inativo)
      var requestPayload struct {
        PushNotificationsEnabled bool `json:"pushNotificationsEnabled"`
      }
    
      if err := json.NewDecoder(r.Body).Decode(&requestPayload); err != nil {
        // Tratar erro na decodificação da requisição
        http.Error(w, "Erro na decodificação da requisição", http.StatusBadRequest)
        return
      }
    
      // Atualizar a preferência de push notification no banco de dados para o usuário
      user.PushNotificationsEnabled = requestPayload.PushNotificationsEnabled
      // Salvar as alterações no banco de dados
    
      // Responder com sucesso
      w.WriteHeader(http.StatusOK)
    }
    

Conceitos Visuais [Incluir qualquer esboço ou representação visual, se aplicável.]

Informações Adicionais A documentação do endpoint deve ser elaborada e disponibilizada aos desenvolvedores e usuários finais. Certifique-se de fornecer instruções claras sobre como usar esse endpoint para controlar as configurações de push notification.

GabrielTrindadeC avatar Dec 14 '23 23:12 GabrielTrindadeC

13

devlefel avatar Dec 19 '23 21:12 devlefel

Eu quero!!!

sonliacharo avatar May 08 '24 23:05 sonliacharo

eu quero!!!

thiagoCalazans-dev avatar May 20 '24 21:05 thiagoCalazans-dev