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.
87 lines
2.9 KiB
87 lines
2.9 KiB
@startuml
|
|
|
|
|
|
|
|
class TeamGateway{
|
|
|
|
+ __construct(con : Connexion)
|
|
+ insert(name : string ,picture : string, mainColor : Color, secondColor : Color)
|
|
+ listByName(name : string): array
|
|
+ getTeamById(id:int): ?TeamInfo
|
|
+ getTeamIdByName(name:string): ?int
|
|
+ deleteTeam(idTeam:int): void
|
|
+ editTeam(idTeam:int, newName:string, newPicture:string, newMainColor:string, newSecondColor:string)
|
|
+ getAll(user:int): array
|
|
}
|
|
|
|
TeamGateway *--"- con" Connexion
|
|
|
|
|
|
class MemberGateway{
|
|
|
|
+ __construct(con : Connexion)
|
|
+ insert(idTeam:int, userId:int, role:string): void
|
|
+ getMembersOfTeam(teamId:int): array
|
|
+ remove(idTeam:int, idMember:int): void
|
|
+ isCoach(email:string, idTeam:int): bool
|
|
+ isMemberOfTeam(idTeam:int, idCurrentUser:int): bool
|
|
}
|
|
|
|
MemberGateway *--"- con" Connexion
|
|
|
|
class AccountGateway{
|
|
+ __construct(con : Connexion)
|
|
+ insertAccount(name:string, email:string, token:string, hash:string, profilePicture:string): int
|
|
+ getRowsFromMail(email:string): ?array
|
|
+ getHash(email:string): ?string
|
|
+ exists(email:string): bool
|
|
+ getAccountFromMail(email:string): ?Account
|
|
+ getAccountFromToken(token:string): ?Account
|
|
}
|
|
|
|
AccountGateway *--"- con" Connexion
|
|
|
|
class TeamModel{
|
|
|
|
+ __construct(gateway : TeamGateway)
|
|
+ createTeam(name : string,picture : string, mainColorValue : int, secondColorValue : int, errors : array)
|
|
+ addMember(mail:string, teamId:int, role:string): int
|
|
+ listByName(name : string ,errors : array) : ?array
|
|
+ getTeam(idTeam:int, idCurrentUser:int): ?Team
|
|
+ deleteMember(idMember:int, teamId:int): int
|
|
+ deleteTeam(email:string, idTeam:int): int
|
|
+ isCoach(idTeam:int, email:string): bool
|
|
+ editTeam(idTeam:int, newName:string, newPicture:string, newMainColor:string, newSecondColor:string)
|
|
+ getAll(user:int): array
|
|
}
|
|
|
|
TeamModel *--"- members" MemberGateway
|
|
TeamModel *--"- teams" TeamGateway
|
|
TeamModel *--"- teams" AccountGateway
|
|
|
|
|
|
class TeamController{
|
|
+ __construct( model : TeamModel)
|
|
+ displayCreateTeam(session:SessionHandle): ViewHttpResponse
|
|
+ displayDeleteMember(session:SessionHandle): ViewHttpResponse
|
|
+ submitTeam(request:array, session:SessionHandle): HttpResponse
|
|
+ displayListTeamByName(session:SessionHandle): ViewHttpResponse
|
|
+ listTeamByName(request:array, session:SessionHandle): HttpResponse
|
|
+ deleteTeamById(id:int, session:SessionHandle): HttpResponse
|
|
+ displayTeam(id:int, session:SessionHandle): ViewHttpResponse
|
|
+ displayAddMember(idTeam:int, session:SessionHandle): ViewHttpResponse
|
|
+ addMember(idTeam:int, request:array, session:SessionHandle): HttpResponse
|
|
+ deleteMember(idTeam:int, idMember:int, session:SessionHandle): HttpResponse
|
|
+ displayEditTeam(idTeam:int, session:SessionHandle): ViewHttpResponse
|
|
+ editTeam(idTeam:int, request:array, session:SessionHandle): HttpResponse
|
|
}
|
|
|
|
TeamController *--"- model" TeamModel
|
|
|
|
|
|
|
|
|
|
|
|
class Connexion { }
|
|
|
|
@enduml |