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.
44 lines
1.4 KiB
44 lines
1.4 KiB
@startuml
|
|
class EditorController {
|
|
+__construct (model : TacticModel)
|
|
+ openEditorFor(tactic:TacticInfo): ViewHttpResponse
|
|
+ createNew(): ViewHttpResponse
|
|
+ openTestEditor(courtType:CourtType): ViewHttpResponse
|
|
+ createNewOfKind(type:CourtType, session:SessionHandle): ViewHttpResponse
|
|
+ openEditor(id:int, session:SessionHandle): ViewHttpResponse
|
|
}
|
|
EditorController *-- "- model" TacticModel
|
|
|
|
class TacticModel {
|
|
+ TACTIC_DEFAULT_NAME:int {static}{frozen}
|
|
+ __construct(tactics : TacticInfoGateway)
|
|
+ makeNew(name:string, ownerId:int, type:CourtType): TacticInfo
|
|
+ makeNewDefault(ownerId:int, type:CourtType): ?TacticInfo
|
|
+ get(id:int): ?TacticInfo
|
|
+ getLast(nb:int, ownerId:int): array
|
|
+ getAll(ownerId:int): ?array
|
|
+ updateName(id:int, name:string, authId:int): array
|
|
+ updateContent(id:int, json:string): ?ValidationFail
|
|
}
|
|
|
|
TacticModel *-- "- tactics" TacticInfoGateway
|
|
|
|
class TacticInfoGateway{
|
|
+ __construct(con : Connexion)
|
|
+ get(id:int): ?TacticInfo
|
|
+ getLast(nb:int, ownerId:int): ?array
|
|
+ getAll(ownerId:int): ?array
|
|
+ insert(name:string, owner:int, type:CourtType): int
|
|
+ updateName(id:int, name:string): bool
|
|
+ updateContent(id:int, json:string): bool
|
|
}
|
|
|
|
TacticInfoGateway *--"- con" Connexion
|
|
|
|
class TacticValidator{
|
|
+ validateAccess(tacticId:int, tactic:?TacticInfo, ownerId:int): ?ValidationFail {static}
|
|
}
|
|
|
|
EditorController ..> TacticValidator
|
|
|
|
@enduml |