EduConnect / docs /dependencies_seq.puml
dtyago's picture
Plant UML docs
a30f2aa
@startuml dependencies
actor Client
participant "OAuth2PasswordBearer" as oauth2
participant "Dependencies" as dependencies
participant "JWTError" as jwtError
participant "HTTPException" as httpException
database "TinyDBHelper" as db
Client -> dependencies : get_current_user(token)
activate dependencies
dependencies -> oauth2 : token
oauth2 --> dependencies : token
dependencies -> dependencies : decode_jwt(token)
activate dependencies
alt success
dependencies --> dependencies : payload
else JWTError
dependencies -> jwtError : raise credentials_exception
jwtError --> dependencies : HTTP_401_UNAUTHORIZED
end
deactivate dependencies
dependencies -> db : query_token(user_id, token)
activate db
alt token valid
db --> dependencies : true
else token invalid
db --> dependencies : false
dependencies -> httpException : raise expiry_exception
httpException --> dependencies : HTTP_401_UNAUTHORIZED
end
deactivate db
dependencies --> Client : user_details
deactivate dependencies
@enduml