@startuml object Account { id email username token hash } object Team { id name picture mainColor secondColor } object TacticFolder { id name } object Tactic { id_json name creation_date } usecase have_team [ to have -- role ] usecase contains_tactic_folder [ to contain ] usecase shared_folder_account [ to share ] usecase shared_tactic_account [ to share ] usecase shared_tactic_team [ to share ] usecase shared_folder_team [ to share ] usecase folder_contains_tactic [ to contain ] usecase contains_other_folder [ to contain ] usecase owns [ owns ] Account "0,n" -- have_team have_team -- "1,n" Team Account "0,n" -- shared_tactic_account shared_tactic_account -- "0,n" Tactic Tactic "0,n" -- shared_tactic_team shared_tactic_team -- "0,n" Team Tactic "1,1" -- owns owns -- Account Team "0,n" -- shared_folder_team shared_folder_team -- "0,n"TacticFolder TacticFolder "0,n" -- contains_other_folder contains_other_folder -- "0,1" TacticFolder TacticFolder "0,n" -- folder_contains_tactic folder_contains_tactic -- "1,n" Tactic Account "0,n" -- shared_folder_account shared_folder_account -- "0,n" TacticFolder Account "1,n" -- contains_tactic_folder contains_tactic_folder -- "1,1" TacticFolder @enduml