[FEAT]: Server: block and unblock users

Offen
#188 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Maintainer antworten meist innerhalb von 1 Tag

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Anfängerfreundlichkeit
45/100
Issue-Typ
Feature
Klarheit
Größtenteils klar
Aktivitätsstatus
Aktiv
Tech-Stack
go, postgresql
Bereich
api, backend, databases

Rechercherichtung

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.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

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/.

Vorherrschende Sprache
Dart
Sterne
9
Forks
5
Ø Merge
49 Min.
Gemergte PRs (30 T.)
34

Entwicklungsumgebung

  • Enthält ein Dockerfile oder eine Docker-Compose-Datei
  • Keine Pull-Request-Vorlage
  • Kein Beitragsleitfaden

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus CommandLineCoding/Elephant

Alle Issues in CommandLineCoding/Elephant

Ähnliche Issues

Weitere Issues zu Dart

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.