Spaces:
Runtime error
Runtime error
| @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 | |