Skip to content

Latest commit

 

History

History
36 lines (27 loc) · 1.19 KB

Design.adoc

File metadata and controls

36 lines (27 loc) · 1.19 KB

User Registration

Table of Contents

Account States

@startuml

[*] --> CREATED : ""POST /user""
note left of CREATED : email with activation {token} sent to user

CREATED -> ACTIVE : ""PUT /user/status"" \n""{ "status" : "Active", "token" : "{token}" }""
CREATED --> [*] : ""DELETE /user/{id}""

ACTIVE --> LOCKED : More than a given number of failed authentication in a row
note right of LOCKED : email with unlock {token} sent to user
LOCKED --> ACTIVE : ""PUT /user/status"" \n""{ "status" : "Active", "token" : "{token}" }""
LOCKED --> EXPIRED : Account locked for a given period of time

ACTIVE --> INACTIVE : ""PUT /user/status"" \n""{ "status" : "Inactive" }""
INACTIVE -> ACTIVE : ""PUT /user/status"" \n""{ "status" : "Active" }""
INACTIVE --> EXPIRED : Account inactive for a given period of time

CREATED --> EXPIRED : Account not activated within a given period of time
note right of EXPIRED : email with unlock {token} sent to user
EXPIRED --> CREATED : ""PUT /user/status"" \n""{ "status" : "Active", "token" : "{token}" }""
EXPIRED --> [*] : After a given period of time

@enduml