@startuml UserAdminSequence

skinparam responseMessageBelowArrow true
skinparam SequenceMessageAlignment center

actor Admin as Admin #OliveDrab

entity Post as Post #LightYellow
entity Comment as Comment #LightYellow
entity Tag as Tag #LightYellow

database 2dbubbles as 2dbubbles #YellowGreen

Admin -> 2dbubbles: créer un compte
alt cas réussi
2dbubbles -> Admin: valider création du compte
else email déjà existant 
2dbubbles -> Admin: échec de l'inscription

Admin  -> 2dbubbles: demander authentification 
2dbubbles -> Admin: valider authentification 
else identification invalides
2dbubbles -> Admin: échec de l'authentification

Admin  -> Post: ajouter post
Post -> Admin: valider ajout
else le titre ne peut être nul
Post -> Admin: échec de l'ajout

Admin  -> Post: éditer post
Post -> Admin: valider édition
else ce post n'existe pas
Post -> Admin: le post recherché n'existe pas

Admin  -> Post: supprimer post
else erreur 403
Post -> Admin: vous n'avez pas accès à cette ressource

Admin  -> Comment: modérer commentaitre
Comment -> Admin: accepter commentaitre
Admin  -> Comment: refuser commentaitre
Comment -> Admin: supprimer commentaitre

Admin  -> Tag: ajouter tag
Tag -> Admin: valider ajout

end
@enduml