[FEAT]: Server: block and unblock users

Ouverte
#188 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Les mainteneurs répondent en général sous 1 jour

Personne n'a encore pris cette issue.

Évaluation

Difficulté
4/5
Temps estimé
3-5 jours
Accessibilité débutants
45/100
Type d'issue
Fonctionnalité
Clarté
Plutôt claire
Activité
Active
Stack technique
go, postgresql
Domaine
api, backend, databases

Piste de recherche

Start with server/routes/users.go, server/services/ws.go, server/controllers/messages.go, and the migrations in server/migrations/; read the existing user routes and message and WebSocket handling first. The issue also points to an unresolved group-message decision in #22. Done means implementing the listed block endpoints, storage and enforcement behavior, then documenting the API in docs/API_CONTRACTS.md.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

area: server difficulty: medium enhancement help wanted

Part of #22.

What to do

  • Migration: blocked_users(user_id, blocked_user_id, created_at), primary key on both, cascading on user delete.
  • POST /api/users/{id}/block, DELETE /api/users/{id}/block, GET /api/users/me/blocked.
  • Enforce it: drop chat, typing and read_receipt WebSocket events from a blocked sender (and REST POST /api/messages), and don't send them your online status.
  • Groups: blocking doesn't remove anyone from a group. Decide in #22 whether a blocked person's group messages are hidden.
  • Document it in docs/API_CONTRACTS.md.

Where to look

server/routes/users.go, server/services/ws.go, server/controllers/messages.go, server/migrations/.

Langage dominant
Dart
Étoiles
9
Forks
5
Merge moyen
49 min
PR mergées (30 j)
34

Préparer son environnement

  • Fournit un Dockerfile ou un fichier Docker Compose
  • Aucun modèle de pull request
  • Aucun guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de CommandLineCoding/Elephant

Toutes les issues de CommandLineCoding/Elephant

Issues similaires

Plus d'issues Dart

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.