Spaces:
Sleeping
Sleeping
@startuml userlogout | |
actor Client | |
participant "APIRouter" as router | |
participant "OAuth2Scheme" as oauth2 | |
participant "TinyDBHelper" as db | |
Client -> router : user_logout(token) | |
activate router | |
router -> oauth2 : get token from request | |
activate oauth2 | |
oauth2 --> router : token | |
deactivate oauth2 | |
router -> db : query_token(user_id, token) | |
activate db | |
alt if token exists | |
db --> router : true | |
router -> db : remove_token_by_value(token) | |
db -> router : token removed | |
else | |
db --> router : false | |
router --> Client : {"detail": "Token not found."} | |
end | |
deactivate db | |
router --> Client : {"message": "User logged out successfully"} | |
deactivate router | |
@enduml | |