swt23w23/src/main/asciidoc/models/design/seq_users.puml

143 lines
4.5 KiB
Plaintext
Raw Normal View History

' SPDX-License-Identifier: AGPL-3.0-or-later
' SPDX-FileCopyrightText: 2023 swt23w23
2023-11-10 12:30:24 +01:00
@startuml
participant User
participant "User:customer" as User_customer
participant "User:admin" as User_admin
participant "UserAccount:userAccount" as userAccount
2023-11-10 12:30:24 +01:00
participant UserController
participant UserManagement
participant UserRepository
participant UserDataInitializier
participant Spring
participant RegistrationForm
2023-11-10 12:30:24 +01:00
== Create Admin ==
UserDataInitializier -> UserManagement : createAdmin()
activate UserDataInitializier
activate UserManagement
UserManagement -> UserRepository : "save(User:admin)"
activate User_admin
activate UserRepository
UserManagement <-- UserRepository : User_admin
deactivate UserRepository
UserDataInitializier <-- UserManagement : User
deactivate UserManagement
deactivate UserDataInitializier
deactivate User_admin
== Register Customer ==
2023-11-10 12:30:24 +01:00
Spring -> UserController : register
activate UserController
activate RegistrationForm
activate Spring
UserController -> RegistrationForm : getUsername()
UserController <-- RegistrationForm : String
UserController -> RegistrationForm : getPassword()
UserController <-- RegistrationForm : String
UserController -> RegistrationForm : getAddress()
UserController <-- RegistrationForm : String
UserController -> RegistrationForm : getFullName()
UserController <-- RegistrationForm : String
UserController -> UserManagement : createCustomer(String,String,String,String)
2023-11-10 12:30:24 +01:00
activate UserManagement
UserManagement -> UserRepository : "save(User:customer)"
activate User_customer
activate UserRepository
UserManagement <-- UserRepository : User
deactivate UserRepository
UserController <-- UserManagement : User
2023-11-10 12:30:24 +01:00
deactivate UserManagement
Spring <-- UserController : "redirect:/login"
deactivate UserController
2023-11-10 12:30:24 +01:00
deactivate User_customer
deactivate RegistrationForm
deactivate Spring
2023-11-10 12:30:24 +01:00
== Disable Customer by Customer ==
2023-11-10 12:30:24 +01:00
Spring -> UserController : disableUser(UserAccount:userAccount)
2023-11-10 12:30:24 +01:00
activate User_customer
activate Spring
activate UserController
UserController -> UserManagement : disableUserAccount(UserAccount:userAccount)
2023-11-10 12:30:24 +01:00
activate UserManagement
UserManagement -> userAccount : getId()
activate userAccount
UserManagement -> userAccount : UserIdentifier
deactivate userAccount
UserManagement -> UserRepository : disable(UserIdentifier)
2023-11-10 12:30:24 +01:00
activate UserRepository
UserManagement <-- UserRepository
deactivate UserRepository
UserController <-- UserManagement
deactivate UserManagement
UserController <-- Spring: "redirect:/"
deactivate UserController
deactivate Spring
deactivate User_customer
2023-11-10 12:30:24 +01:00
== View Profile ==
Spring -> UserController : viewProfile(Model:model,UserAccount:userAccount)
2023-11-10 12:30:24 +01:00
activate User
activate Spring
activate UserController
UserController -> UserManagement : getUserByAccount(UserAccount:userAccount)
activate UserManagement
UserManagement -> UserRepository : findAll()
activate UserRepository
UserManagement <-- UserRepository : Streamble
deactivate UserRepository
UserController <-- UserManagement : Optional<User>
UserController -> User : getUsername()
UserController <-- User : String
UserController -> User : getFullName()
UserController <-- User : String
UserController -> User : getAddress()
UserController <-- User : String
deactivate UserManagement
UserController -> Spring : model.addAttribute("profileForm",ProfileForm)
2023-11-10 12:30:24 +01:00
UserController <-- Spring : Model
Spring <-- UserController : "profile"
deactivate Spring
deactivate UserController
deactivate User
== Edit Profile ==
Spring -> UserController : editProfile(UserAccount:LoggedIn,ProfileForm:form,Erros:result,Model:model)
2023-11-10 12:30:24 +01:00
activate User
activate Spring
activate UserController
UserController -> UserManagement : getUserByAccount(UserAccount:LoggedIn)
activate UserManagement
UserManagement -> UserRepository : findAll()
activate UserRepository
UserManagement <-- UserRepository : Streamble
deactivate UserRepository
UserController <-- UserManagement : Optional<User:user>
deactivate UserManagement
UserController -> User : setUsername(String:username)
2023-11-10 12:30:24 +01:00
UserController <-- User : boolean
UserController -> User : setAddress(String:address)
2023-11-10 12:30:24 +01:00
UserController <-- User : boolean
UserController -> User : [!form.getUsername().equals(user.getUsername())] setPassword(String:password)
2023-11-10 12:30:24 +01:00
UserController <-- User : boolean
UserController -> UserManagement : save(User:LoggedIn)
activate UserManagement
UserManagement -> UserRepository : save(User:LoggedIn)
activate UserRepository
UserManagement <-- UserRepository : User
deactivate UserRepository
UserController <-- UserManagement : User
deactivate UserManagement
2023-11-10 12:30:24 +01:00
deactivate Spring
deactivate UserController
deactivate User
@enduml