Skip to content

feat(user): ajouter current() et become() — gestion du token de session #21

@Ulrich75

Description

@Ulrich75

Contexte

Cette issue ajoute current() et become() à ParseUser.

⚠️ Dépend de #6 (ParseUser auth).

💚 Idéale pour un premier contributeur — quelques méthodes à ajouter dans un fichier existant.

Endpoint REST Parse

GET /users/me    → valide le session token et retourne l'utilisateur courant

API Python à ajouter

user = await ParseUser.log_in("alice", "password")

current = ParseUser.current()          # ParseUser | None
print(current.username)                # "alice"

user = await ParseUser.become("r:abc123...")

await ParseUser.log_out()
assert ParseUser.current() is None

Fichiers à modifier

  • Modifier src/parse_sdk/user.py → ajouter current() et become()
  • Créer tests/unit/test_user_session.py

Points techniques

  • _current_user : variable de classe ParseUser | None
  • current() : @classmethod retournant _current_user
  • log_in() assigne cls._current_user = user après connexion
  • log_out() fait cls._current_user = None
  • become(token)GET /users/me avec X-Parse-Session-Token
  • become() lève ParseSessionExpiredError si token invalide

Critères d'acceptation

  • current()ParseUser | None
  • Après log_in(), current() retourne l'utilisateur
  • Après log_out(), current() retourne None
  • become(token) valide via GET /users/me
  • ParseSessionExpiredError levée si token invalide
  • Tests mockés avec respx
  • mypy, black, ruff passent

Ressources

Metadata

Metadata

Assignees

No one assigned

    Labels

    P1 · hauteSprint en cours — haute prioritéfeatureNouvelle fonctionnalité à développergood first issueIdéal pour commencer — bien documenté et bornémodule · userParseUser — authentification et sessions

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions