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

54 lines
1.6 KiB
Plaintext
Raw Normal View History

2023-11-02 06:33:27 +01:00
@startuml
'maybe for sneidc since he did videoshop:cahnge-password'
skinparam linetype ortho
skinparam groupInheritance 2
package Salespoint {
interface UserAccountManagement
interface DataInitalizer
class UserAccount
UserAccount - Role : "0...*"
class Role
2023-11-02 06:33:27 +01:00
}
package catering.users {
class Customer {
2023-11-02 06:33:27 +01:00
- address
- email
+ Customer(userAccount : UserAccount, address : String, email : String)
+ getAddress() : String
+ setAddress() : String
+ getUserAccount() : UserAccount
2023-11-02 06:33:27 +01:00
}
Customer --> UserAccount : "-userAccount"
2023-11-02 06:33:27 +01:00
class UserController {
2023-11-02 06:33:27 +01:00
+ UserController()
+ register(form : Form, model : Model) : String
+ customers(model : Model) : String
}
UserController --> CustomerManagement : "-customerManagement"
2023-11-02 06:33:27 +01:00
class CustomerManagement {
+ CustomerManagement(customers : CustomerRepository, userAccounts : UserAccountsManagement)
+ createCustomer(form : RegistrationForm) : Customer
+ findAll() : Streamable
}
CustomerManagement ---> UserAccountManagement : "-userAccounts"
CustomerManagement ...> Role : "uses"
class CustomerDataInitalizer {
+ CustomerDataInitalizer(userAcccountManager : UserAccountManagement, customerRepository : CustomerRepository)
+ initalize() : void
}
CustomerDataInitalizer --> CustomerManagement : "-customerManagement"
CustomerDataInitalizer --> UserAccountManagement : "-userAcccountManagement"
CustomerDataInitalizer ..|> DataInitalizer
2023-11-02 06:33:27 +01:00
}
2023-11-02 06:33:27 +01:00
'do employees need an account?'
@enduml