You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
93 lines
1.6 KiB
93 lines
1.6 KiB
@startuml
|
|
|
|
class Account {
|
|
- email: String
|
|
- phoneNumber: String
|
|
- id: int
|
|
|
|
+ setMailAddress(String)
|
|
+ getMailAddress(): String
|
|
+ getPhoneNumber(): String
|
|
+ setPhoneNumber(String)
|
|
+ getUser(): AccountUser
|
|
+ getId(): int
|
|
}
|
|
|
|
Account --> "- user" AccountUser
|
|
Account --> "- teams *" Team
|
|
|
|
interface User {
|
|
+ getName(): String
|
|
+ getProfilePicture(): Url
|
|
+ getAge(): int
|
|
}
|
|
|
|
class AccountUser {
|
|
- name: String
|
|
- profilePicture: Url
|
|
- age: int
|
|
|
|
+ setName(String)
|
|
+ setProfilePicture(URI)
|
|
+ setAge(int)
|
|
}
|
|
AccountUser ..|> User
|
|
|
|
class Member {
|
|
- userId: int
|
|
|
|
+ getUserId(): int
|
|
+ getRole(): MemberRole
|
|
}
|
|
|
|
Member --> "- role" MemberRole
|
|
|
|
enum MemberRole {
|
|
PLAYER
|
|
COACH
|
|
}
|
|
|
|
class Team {
|
|
- name: String
|
|
- picture: Url
|
|
- members: array<int, MemberRole>
|
|
|
|
+ getName(): String
|
|
+ getPicture(): Url
|
|
+ getMainColor(): Color
|
|
+ getSecondColor(): Color
|
|
+ listMembers(): array<Member>
|
|
}
|
|
|
|
Team --> "- mainColor" Color
|
|
Team --> "- secondaryColor" Color
|
|
|
|
class Color {
|
|
- value: int
|
|
|
|
+ getValue(): int
|
|
}
|
|
|
|
class AuthController{
|
|
-twig: Environment
|
|
|
|
+ login (request) : int
|
|
+ register (request) : int
|
|
}
|
|
AuthController --> "- modelAuth" AuthModel
|
|
|
|
class AuthModel{
|
|
+ validationRegister(username : string, email : string, password : string)
|
|
+ validationLogin (username : string, email : string, password : string)
|
|
}
|
|
AuthModel --> "- gateway" AuthGateway
|
|
|
|
class AuthGateway{
|
|
-con : Connection
|
|
|
|
+ insert(mail : string, password : string)
|
|
+ isAccountEqual(mail : string, password : string)
|
|
}
|
|
|
|
|
|
@enduml |