
@startuml
'https://plantuml.com/sequence-diagram

title User Story 5 Sequence Diagram: inactivate user account

rectangle ": Administrator" as Administrator
rectangle ": InactivateAccountController" as InactivateAccountController
rectangle “: InactivateAccountUI” as InactivateAccountUI
rectangle ": Organization" as Organization
rectangle "accountDTO: DTO" as DTO
rectangle ": UserAccount" as UserAccount
rectangle “: UserAccountList” as UserAccountList

Administrator -right->> InactivateAccountUI: 1: Starts inactivation process
Administrator -right->> InactivateAccountUI: 2: Inputs requested data
InactivateAccountUI -right->> InactivateAccountController: 2.1: getAccount(e-mail)
InactivateAccountController -right->> Organization: 2.1.1: getAccount(e-mail)
Organization -right->> UserAccountList: 2.1.1.1: getAccount(e-mail)
UserAccountList -right->> UserAccount: 2.1.1.1.1: result=hasEmail(e-mail)
Organization -down->> DTO: 2.1.3: create(account)
Administrator -right->> InactivateAccountUI: 3: Confirms selected account inactivation
InactivateAccountUI -right->> InactivateAccountController: 3.1: inactivateAccount()
InactivateAccountController -right->> Organization: 3.1.1: inactivateAccount(account)
Organization -right->> UserAccountList: 3.1.1.1: inactivateAccount(account)
UserAccountList -right->> UserAccount: 3.1.1.1.1: inactivate(account)


@enduml
