@startuml

actor Client1 as C1

C1 -> Server : canCreateAccount()
activate Server
Server -> Server : canCreateAccount()
activate Server
return true
return true

C1 -> Server : createAccount("user1@gmail.com", "lastName", "firstName", "08/02/2003", "Password1")
activate Server
Server -> Server : isPasswordValid("Password1")
activate Server
return true
Server -> Database : isMailValid("user1@gmail.com")
activate Database
return true
Server -> Server : sendMail("user1@gmail.com")
activate Server
Server -> Server : createHtmlLink()
return true

== Le joueur reçoit l’email et ouvre l’URL ==

Server -> Server : receiveQuery()
activate Server
return true
Server -> Database : insertAccount("user2", "Password1")
activate Database
return true
return true

/'
C1 -> Server : createAccount("user1", "Password1")
activate Server
Server -> Server : isPasswordValid("Password1")
activate Server
return true
Server -> Database : isUsernameValid("user1")
activate Database
return false
return false

C1 -> Server : createAccount("user2", "Password1")
activate Server
Server -> Server : isPasswordValid("Password1")
activate Server
return true
Server -> Database : isUsernameValid("user2")
activate Database
return true
Server -> Database : insertAccount("user2", "Password1")
activate Database
return true
return true
'/

@enduml