@startuml

object Account {
    <u>id
    email
    username
    token
    hash
}

object Team {
    <u>id
    name
    picture
    mainColor
    secondColor
}

object TacticFolder {
    <u>id
    name
}

object Tactic {
    <u>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