Board Game Prototype API (1.0.0)

Download OpenAPI specification:Download

概要

このAPIは、ボードゲームプロトタイプの作成と管理を行うためのものです。

認証

  • 基本的にAPIエンドポイントは認証が必要です
  • アプリケーションを起動し、Google OAuth2.0を使用した認証を行なってください(Swagger UIでは認証ができません)
  • 認証後、Cookieにセッション情報が保存されます

Auth

認証関連のAPI

Googleログイン

Googleアカウントを使用してログインします。

Responses

Googleログインコールバック

GoogleログインのコールバックURL。

Responses

ログアウト

現在のセッションを終了し、ユーザーをログアウトします。

Responses

Response samples

Content type
application/json
{
  • "message": "正常に処理が完了しました"
}

ユーザー情報取得

現在ログインしているユーザーの情報を取得します。

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "username": "string"
}

Images

画像管理API

画像アップロード

S3に画像をアップロードし、画像のメタデータを保存します。

Request Body schema: multipart/form-data
required
image
string <binary>

アップロードする画像ファイル

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "displayName": "string",
  • "storagePath": "string",
  • "contentType": "string",
  • "fileSize": 0,
  • "uploaderUserId": "f1aa83f1-b765-4894-96a9-08b2a96994ba",
  • "createdAt": "string",
  • "updatedAt": "string"
}

画像取得

S3から指定された画像を取得し、画像データを直接返します。

path Parameters
imageId
required
string

取得する画像のID

Responses

Response samples

Content type
application/json
{
  • "error": "リクエストが不正です"
}

画像削除

S3から指定された画像を削除します。

path Parameters
imageId
required
string

削除する画像のID

Responses

Response samples

Content type
application/json
{
  • "error": "リクエストが不正です"
}

Prototypes

プロトタイプ管理API

プロトタイプ一覧取得

ユーザーがアクセス可能なプロトタイプの一覧を取得します。

Responses

Response samples

Content type
application/json
[
  • {
    }
]

プロトタイプ作成

新しいプロトタイプを作成します。

Request Body schema: application/json
required
name
string
playerCount
integer

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "playerCount": 0
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "userId": "2c4a230c-5085-4924-a3e1-25fb4fc5965b",
  • "name": "string",
  • "type": "EDIT",
  • "masterPrototypeId": "164ac321-2a7f-4529-a8c9-857f33ed81be",
  • "groupId": "eb54e96e-21b8-4f54-9cd4-80fccbd06f55",
  • "minPlayers": 0,
  • "maxPlayers": 0,
  • "createdAt": "string",
  • "updatedAt": "string"
}

プロトタイプ取得

指定されたIDのプロトタイプを取得します。

path Parameters
prototypeId
required
string

プロトタイプのID

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "userId": "2c4a230c-5085-4924-a3e1-25fb4fc5965b",
  • "name": "string",
  • "type": "EDIT",
  • "masterPrototypeId": "164ac321-2a7f-4529-a8c9-857f33ed81be",
  • "groupId": "eb54e96e-21b8-4f54-9cd4-80fccbd06f55",
  • "minPlayers": 0,
  • "maxPlayers": 0,
  • "createdAt": "string",
  • "updatedAt": "string"
}

プロトタイプ更新

指定されたIDのプロトタイプを更新します。

path Parameters
prototypeId
required
string

プロトタイプのID

Request Body schema: application/json
required
name
string
minPlayers
integer
maxPlayers
integer

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "minPlayers": 0,
  • "maxPlayers": 0
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "userId": "2c4a230c-5085-4924-a3e1-25fb4fc5965b",
  • "name": "string",
  • "type": "EDIT",
  • "masterPrototypeId": "164ac321-2a7f-4529-a8c9-857f33ed81be",
  • "groupId": "eb54e96e-21b8-4f54-9cd4-80fccbd06f55",
  • "minPlayers": 0,
  • "maxPlayers": 0,
  • "createdAt": "string",
  • "updatedAt": "string"
}

プロトタイプ削除

指定されたIDのプロトタイプを削除します。

path Parameters
prototypeId
required
string

プロトタイプのID

Responses

Response samples

Content type
application/json
{
  • "message": "正常に処理が完了しました"
}

プロトタイプバージョン一覧取得

指定されたプロトタイプのバージョン一覧を取得します。

path Parameters
prototypeId
required
string

プロトタイプのID

Responses

Response samples

Content type
application/json
{
  • "prototype": {
    },
  • "versions": [
    ]
}

グループのプロトタイプ一覧取得

指定されたグループに属するプロトタイプの一覧を作成日の古い順で取得します。

path Parameters
groupId
required
string

グループのID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

グループへのアクセス権を取得

指定されたグループにアクセス可能なユーザーを取得します。

path Parameters
groupId
required
string

グループのID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

ユーザーにプロトタイプへのアクセス権を付与

指定されたグループにユーザーを招待します。

path Parameters
groupId
required
string

グループのID

Request Body schema: application/json
required
guestIds
Array of strings

Responses

Request samples

Content type
application/json
{
  • "guestIds": [
    ]
}

Response samples

Content type
application/json
{
  • "message": "正常に処理が完了しました"
}

ユーザーのアクセス権を削除

指定されたグループからユーザーのアクセス権を削除します。

path Parameters
groupId
required
string

グループのID

guestId
required
string

ゲストユーザーのID

Responses

Response samples

Content type
application/json
{
  • "message": "正常に処理が完了しました"
}

プロトタイプの複製

指定されたプロトタイプを複製します。

path Parameters
prototypeId
required
string

プロトタイプのID

Responses

Response samples

Content type
application/json
{
  • "message": "正常に処理が完了しました"
}

プレビュー版作成

指定されたプロトタイプのプレビュー版を作成します。

path Parameters
prototypeId
required
string

プロトタイプのID

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "userId": "2c4a230c-5085-4924-a3e1-25fb4fc5965b",
  • "name": "string",
  • "type": "EDIT",
  • "masterPrototypeId": "164ac321-2a7f-4529-a8c9-857f33ed81be",
  • "groupId": "eb54e96e-21b8-4f54-9cd4-80fccbd06f55",
  • "minPlayers": 0,
  • "maxPlayers": 0,
  • "createdAt": "string",
  • "updatedAt": "string"
}

バージョン作成

指定されたプロトタイプのバージョンを作成します。

path Parameters
prototypeId
required
string

プロトタイプのID

prototypeVersionId
required
string

バージョンのID

Request Body schema: application/json
required
description
string

新しいバージョンの説明

Responses

Request samples

Content type
application/json
{
  • "description": "string"
}

Response samples

Content type
application/json
{
  • "message": "正常に処理が完了しました"
}

バージョン削除

指定されたプロトタイプのバージョンを削除します。マスターバージョン(0.0.0)は削除できません。

path Parameters
prototypeId
required
string

プロトタイプのID

prototypeVersionId
required
string

バージョンのID

Responses

Response samples

Content type
application/json
{
  • "message": "正常に処理が完了しました"
}

Users

ユーザー管理API

ユーザー検索

ユーザー名でユーザーを検索します。

query Parameters
username
required
string

検索するユーザー名

Responses

Response samples

Content type
application/json
[
  • {
    }
]