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
class CrudRepository
2023-11-02 06:33:27 +01:00
}
package catering.users {
class User {
- address : String
+ User(userAccount : UserAccount, address : String)
+ User()
+ getAddress() : String
+ setAddress() : String
+ getUsername() : String
+ setUsername() : boolean
+ getUserAccount() : UserAccount
+ getId() : UserIdentifier
2023-11-02 06:33:27 +01:00
}
User --> UserAccount : "-userAccount"
2023-11-02 06:33:27 +01:00
class UserController {
+ UserController(userManagement: UserManagement)
+ index(): String
+ editProfile(name: String, password: String, address: String): String
+ deleteUser(): String
2023-11-02 06:33:27 +01:00
}
UserController --> UserManagement : "-userManagement"
2023-11-02 06:33:27 +01:00
class UserManagement {
+ UserManagement(users : UserRepository, userAccounts : UserAccountManagement)
+ createUser(name: String, password: String, address: String) : user
+ findAll() : Streamable
}
UserManagement ---> UserAccountManagement : "-userAccounts"
UserManagement ---> UserRepository : "-users"
class UserDataInitalizer {
- userManagement : UserManagement
+ UserDataInitalizer(userManagement : UserManagement)
+ initalize() : void
}
UserDataInitalizer --> UserManagement : "-userManagement"
UserDataInitalizer ..|> DataInitalizer
class UserRepository {
}
UserRepository --|> CrudRepository
2023-11-02 06:33:27 +01:00
}
@enduml