-
Notifications
You must be signed in to change notification settings - Fork 3
Refactor i uzupełnienie swaggera do metod auth #81
Copy link
Copy link
Labels
documentationImprovements or additions to documentationImprovements or additions to documentationenhancementNew feature or requestNew feature or requestgood first issueGood for newcomersGood for newcomers
Description
Co robimy
Refactor + uzupełnienie Swaggera (drf-spectacular) dla auth (Solvro OAuth, USOS OAuth, OTP, JWT) z przeniesieniem endpointów na DRF views, żeby w
ogóle były generowane w schemacie.
Zakres plików
- users/views.py: login, authorize, login_usos, authorize_usos przenieść na APIView/GenericAPIView; dopracować GenerateOtpView, LoginOtpView,
LoginLinkView. - testownik_core/urls.py: ścieżki /login, /login/usos, /authorize, /authorize/usos, /token, /token/refresh.
- users/serializers.py: opcjonalne schematy tokenów/odpowiedzi.
Konkretne zadania
- Uwidocznienie w Swaggerze
- Zamień funkcje redirectujące na klasy APIView/GenericAPIView, albo opakuj w @api_view + @extend_schema. Preferencja: klasy DRF → lepsza
detekcja przez spectacular. - Dla redirectów ustaw exclude=True albo responses={302: ...} (z paramami query).
- Zamień funkcje redirectujące na klasy APIView/GenericAPIView, albo opakuj w @api_view + @extend_schema. Preferencja: klasy DRF → lepsza
- Solvro OAuth (/login, /authorize)
- Opis parametrów query: jwt, redirect, confirm_user.
- /authorize: 302 z access_token/refresh_token lub error=no_email.
- USOS OAuth (/login/usos, /authorize/usos)
- Parametry: jwt, redirect, confirm_user, retry.
- Opis błędów: invalid_token, authorization_failed, usos_unavailable, not_student.
- OTP (GenerateOtpView, LoginOtpView, LoginLinkView)
- Upewnij się, że request/response i kody 200/400/404 są zgodne z realnymi komunikatami (Invalid OTP code, OTP code expired or retries limit
reached, Invalid or expired login link).
- Upewnij się, że request/response i kody 200/400/404 są zgodne z realnymi komunikatami (Invalid OTP code, OTP code expired or retries limit
- JWT (/token, /token/refresh)
- Dodaj/odnieś się do schematu tokenów (spójne nazwy pól: access/refresh lub access_token/refresh_token).
- Przykłady i parametry
- Dodaj OpenApiParameter dla query w redirectach.
- Dodaj examples dla happy path + error dla każdego endpointu.
DoD
- /swagger pokazuje wszystkie endpointy auth (albo świadomie ukryte redirecty) z poprawnymi request/response/examples.
- Brak zmian w zachowaniu (redirecty działają jak dotąd).
- Błędy opisane, nazwy pól tokenów spójne.
- Przeniesienie na DRF view’y nie wprowadza regresji.
QA
- Sprawdź /swagger/ i /schema – widoczność i poprawność parametrów/odpowiedzi (w tym 302 jeśli opisujesz).
- Ręcznie sprawdź OTP (valid/invalid/expired) vs opis.
- Opcjonalnie zrób szybki dry-run Solvro/USOS z jwt=true, czy dokumentowane paramy faktycznie wracają w redirect URL.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
documentationImprovements or additions to documentationImprovements or additions to documentationenhancementNew feature or requestNew feature or requestgood first issueGood for newcomersGood for newcomers