---
# System prepended metadata

title: Kakomimasu Server クラス図

---

# Kakomimasu Server クラス図

```plantuml
class User {
  + id : string
  + name : string
  + screenName : string
  + bearerToken : string
  + gameIds : string[]
    
  + toJSON() : object
  + toUnsafeJSON() : object
  + addGame(game : Game) : Game
}

class Users{
  - users : User[]
  
  + add(user : User) : void
  + delete(bearerToken : string) : User
  + get() : User[]
  + get(userId : string) : User
  + getByAuth(bearerToken : string) : User
  + update(user : User) : void
}

class Games{
  - games : Game[]
  
  + add(game : Game) : void
  + get() : Game[]
  + get(gameId : string) : Game
  + getFree() : Game[]
}

class Tournament {
  + id : string
  + name : string
  + organizer : string
  + type : "round-robin" | "knockout"
  + remarks : string
  + userIds : string[];
  + gameIds : string[];
  
  + dataCheck(games : game[])
  + addUser(userId : string) : void
  + deleteUser(userId : string) : User
  + addGame(gameId : string) : void
  + deleteGame(gameId : string) : Game
}
  
  ```