togethere.cloud/mds/USER_SUSPENSION_FEATURES.md

2.0 KiB

Funkcje zawieszenia konta użytkownika

Aktualnie zaimplementowane

  • Administrator może zawiesić konto użytkownika na określony czas lub bezterminowo
  • Administrator podaje powód zawieszenia
  • Użytkownik otrzymuje email z informacją o zawieszeniu (z powodem i czasem)
  • Użytkownik może się nadal logować do serwisu
  • Zawieszony użytkownik NIE MOŻE:
    • Zmieniać nazwy użytkownika
    • Zmieniać adresu email
    • Modyfikować ustawień konta ogólnie
  • Administrator może odwiesić konto
  • Użytkownik po odwieszeniu otrzymuje email
  • Historia zawieszeń/odwieszeń jest zapisywana w tabeli user_account_history
  • Panel admin > Użytkownicy > Ustawienia pokazuje listę aktualnie zawieszonych graczy z opcją odwieszenia
  • Panel admin > Wszyscy użytkownicy > "Zarządzaj użytkownikiem" umożliwia zawieszenie/odwieszenie
  • Panel admin > Wszyscy użytkownicy > "Historia użytkownika" pokazuje pełną historię konta

Planowane w przyszłości

Zawieszony użytkownik NIE MOŻE (do implementacji):

  • Brać udziału w meczach (dołączać do istniejących stołów/meczów)
  • Tworzyć nowych stołów do gry
  • Tworzyć turniejów
  • Dołączać do lig
  • Dokonywać transakcji/wpłat

Zawieszony użytkownik MOŻE (zawsze dozwolone):

  • Logować się do serwisu
  • Przeglądać mecze innych graczy (tryb widza)
  • Przeglądać tabele ligowe
  • Przeglądać wyniki turniejów
  • Przeglądać swój profil

Techniczne TODO:

  • Middleware sprawdzający zawieszenie przy każdym żądaniu dotyczącym meczów/stołów
  • Integracja z systemem meczów: sprawdzenie account_suspended przed dołączeniem do meczu
  • Integracja z systemem turniejów: sprawdzenie account_suspended przed zapisem do turnieju
  • Integracja z systemem lig: sprawdzenie account_suspended przed dołączeniem do ligi
  • Automatyczne wygasanie zawieszeń (cron job) dla zawieszeń z datą końcową
  • Frontend: wyświetlanie banera informującego zawieszonych użytkowników o statusie ich konta