mirror of
https://github.com/st-tu-dresden-praktikum/swt23w23
synced 2024-06-23 20:33:42 +02:00
This finally makes the licensing under AGPL-3.0-or-later explicit after I got the okay from the kickstart source owners. This also checks the REUSE compliance in a pre commit hook, and therefore also in CI.
143 lines
4.5 KiB
Plaintext
143 lines
4.5 KiB
Plaintext
' SPDX-License-Identifier: AGPL-3.0-or-later
|
|
' SPDX-FileCopyrightText: 2023 swt23w23
|
|
@startuml
|
|
|
|
participant User
|
|
participant "User:customer" as User_customer
|
|
participant "User:admin" as User_admin
|
|
participant "UserAccount:userAccount" as userAccount
|
|
participant UserController
|
|
participant UserManagement
|
|
participant UserRepository
|
|
participant UserDataInitializier
|
|
participant Spring
|
|
participant RegistrationForm
|
|
|
|
== 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 ==
|
|
|
|
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)
|
|
activate UserManagement
|
|
UserManagement -> UserRepository : "save(User:customer)"
|
|
activate User_customer
|
|
activate UserRepository
|
|
UserManagement <-- UserRepository : User
|
|
deactivate UserRepository
|
|
UserController <-- UserManagement : User
|
|
deactivate UserManagement
|
|
Spring <-- UserController : "redirect:/login"
|
|
deactivate UserController
|
|
deactivate User_customer
|
|
deactivate RegistrationForm
|
|
deactivate Spring
|
|
|
|
== Disable Customer by Customer ==
|
|
|
|
Spring -> UserController : disableUser(UserAccount:userAccount)
|
|
activate User_customer
|
|
activate Spring
|
|
activate UserController
|
|
UserController -> UserManagement : disableUserAccount(UserAccount:userAccount)
|
|
activate UserManagement
|
|
UserManagement -> userAccount : getId()
|
|
activate userAccount
|
|
UserManagement -> userAccount : UserIdentifier
|
|
deactivate userAccount
|
|
UserManagement -> UserRepository : disable(UserIdentifier)
|
|
activate UserRepository
|
|
UserManagement <-- UserRepository
|
|
deactivate UserRepository
|
|
UserController <-- UserManagement
|
|
deactivate UserManagement
|
|
UserController <-- Spring: "redirect:/"
|
|
deactivate UserController
|
|
deactivate Spring
|
|
deactivate User_customer
|
|
|
|
== View Profile ==
|
|
|
|
Spring -> UserController : viewProfile(Model:model,UserAccount:userAccount)
|
|
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)
|
|
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)
|
|
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)
|
|
UserController <-- User : boolean
|
|
UserController -> User : setAddress(String:address)
|
|
UserController <-- User : boolean
|
|
UserController -> User : [!form.getUsername().equals(user.getUsername())] setPassword(String:password)
|
|
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
|
|
deactivate Spring
|
|
deactivate UserController
|
|
deactivate User
|
|
|
|
@enduml
|