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.
63 lines
1.5 KiB
63 lines
1.5 KiB
@startuml
|
|
class Team {
|
|
- name: string
|
|
- picture: Url
|
|
- members: array<int, MemberRole>
|
|
|
|
+ __construct(name : string, picture : string, mainColor : Colo, secondColor : Color)
|
|
+ getName(): string
|
|
+ getPicture(): Url
|
|
+ getMainColor(): Color
|
|
+ getSecondColor(): Color
|
|
+ listMembers(): array<Member>
|
|
}
|
|
|
|
Team --> "- mainColor" Color
|
|
Team --> "- secondColor" Color
|
|
|
|
class Color {
|
|
- value: string
|
|
- __construct(value : string)
|
|
+ getValue(): string
|
|
+ from(value: string): Color
|
|
+ tryFrom(value : string) : ?Color
|
|
}
|
|
|
|
class TeamGateway{
|
|
--
|
|
+ __construct(con : Connexion)
|
|
+ insert(name : string ,picture : string, mainColor : Color, secondColor : Color)
|
|
+ listByName(name : string): array
|
|
}
|
|
|
|
TeamGateway *--"- con" Connexion
|
|
TeamGateway ..> Color
|
|
|
|
class TeamModel{
|
|
---
|
|
+ __construct(gateway : TeamGateway)
|
|
+ createTeam(name : string,picture : string, mainColorValue : int, secondColorValue : int, errors : array)
|
|
+ listByName(name : string ,errors : array) : ?array
|
|
+ displayTeam(id : int): Team
|
|
}
|
|
|
|
TeamModel *--"- gateway" TeamGateway
|
|
TeamModel ..> Team
|
|
TeamModel ..> Color
|
|
|
|
class TeamController{
|
|
- twig : Environement
|
|
--
|
|
+ __construct( model : TeamModel, twig : Environement)
|
|
+ displaySubmitTeam() : HttpResponse
|
|
+ submitTeam(request : array) : HttpResponse
|
|
+ displayListTeamByName(): HttpResponse
|
|
+ listTeamByName(request : array) : HttpResponse
|
|
+ displayTeam(id : int): HttpResponse
|
|
}
|
|
|
|
TeamController *--"- model" TeamModel
|
|
|
|
class Connexion { }
|
|
|
|
@enduml |