classDiagram
class Organization
class Team
Team: +int organizationId
Team: +array LabelsText
class User
User: +int teamId
class Repo
Repo: +int organizationId
class PullRequest
PullRequest: +int organizationId
PullRequest: +int repoId
PullRequest: +int userId
PullRequest: +int teamId
class Issue
Issue: +int organizationId
Issue: +int repoId
Issue: +int userId
Issue: +int teamId
Issue: +int pullRequestId
class Label
Label: +int organizationId
Label: +int repoId
Organization --|> Team: organizationId
Organization --|> Repo: organizationId
Team --|> User: teamId
Repo --|> Label: repoId
Repo --|> PullRequest: repoId
User --|> PullRequest: userId
Team --|> PullRequest: teamId
Repo --|> Issue: repoId
User --|> Issue: userId
Team --|> Issue: teamID
PullRequest --|> Issue: pullRequestId
Label --|> PullRequest: labelIds
Label --|> Issue: labelIds
orgs: question repos :question
teams users (many) labels
pullRequests issues
Foreign Key: user.team_id
Link/Junction Table: team_member_users: { team_id: user_id }