Skip to content

Instantly share code, notes, and snippets.

@acrylic-style
Last active September 7, 2020 09:21
Show Gist options
  • Save acrylic-style/cebf79cf616890065bb755f95246bf74 to your computer and use it in GitHub Desktop.
Save acrylic-style/cebf79cf616890065bb755f95246bf74 to your computer and use it in GitHub Desktop.
docs.mp4
paths:
'/gban':
post:
parameters:
- in: 'body'
name: 'body'
description: 'Global BANをするために必要なオブジェクト'
required: true
schema:
type: 'object'
properties:
token:
type: string
description: 'APIトークン'
reason:
type: string
description: 'Global BANの理由'
target:
type: string
description: 'BAN対象のプレイヤーのUUID'
punisher:
type: string
description: 'BANを実行したプレイヤーのUUID'
tags:
- punishment_update
description: 'プレイヤーをGlobal BANします。'
responses:
'200':
description: 'Banオブジェクト'
schema:
type: 'object'
properties:
STATUS:
type: 'string'
MESSAGE:
type: 'string'
DATA:
$ref: '#/definitions/Ban'
'/verifytoken':
post:
parameters:
- in: 'body'
name: 'body'
description: 'トークン'
required: true
schema:
type: 'object'
properties:
token:
type: string
description: 'APIトークン'
tags:
- misc
description: 'APIトークンを検証します。'
responses:
'401':
description: '401 Unauthorized (トークンが無効な場合)'
'200':
description: 'サーバーオブジェクト'
schema:
type: 'object'
properties:
STATUS:
type: 'string'
MESSAGE:
type: 'string'
DATA:
$ref: '#/definitions/Server'
'/isadmin':
post:
parameters:
- in: 'body'
name: 'body'
description: 'オブジェクト'
required: true
schema:
type: 'object'
properties:
token:
type: string
description: 'APIトークン'
uuid:
type: string
description: 'プレイヤーのUUID'
tags:
- user_query
description: 'プレイヤーがサーバーのAdminかどうかをチェックします。'
responses:
'200':
description: ''
schema:
type: 'object'
properties:
STATUS:
type: 'string'
MESSAGE:
type: 'string'
ISADMIN:
type: 'boolean'
default: false
description: 'プレイヤーがAdminかどうか'
'/join':
post:
parameters:
- in: 'body'
name: 'body'
description: '処理を実行するために必要なオブジェクト'
required: true
schema:
type: 'object'
properties:
ip:
type: string
description: 'プレイヤーのIPアドレス'
uuid:
type: string
description: 'プレイヤーのUUID'
token:
type: string
description: 'APIトークン'
tags:
- user_update
description: 'プレイヤーの参加処理を実行します。'
responses:
'200':
description: ''
schema:
type: 'object'
properties:
STATUS:
type: 'string'
MESSAGE:
type: 'string'
DATA:
type: 'object'
properties:
ISBANNED:
type: 'boolean'
BANDATA:
$ref: '#/definitions/Ban'
'/unban':
post:
parameters:
- in: 'body'
name: 'body'
description: 'BAN解除処理を実行するために必要なオブジェクト'
required: true
schema:
type: 'object'
properties:
unbanner:
type: string
description: 'BANを解除したプレイヤーのUUID'
uuid:
type: string
description: 'BANされているプレイヤーのUUID(解除されるプレイヤー)'
token:
type: string
description: 'APIトークン'
tags:
- punishment_update
description: 'プレイヤーのBANを解除します。'
responses:
'200':
description: ''
schema:
type: 'object'
properties:
STATUS:
type: 'string'
MESSAGE:
type: 'string'
'/tban':
post:
parameters:
- in: 'body'
name: 'body'
description: 'Temp BANをするために必要なオブジェクト'
required: true
schema:
type: 'object'
properties:
token:
type: string
description: 'APIトークン'
reason:
type: string
description: 'Global BANの理由'
target:
type: string
description: 'BAN対象のプレイヤーのUUID'
punisher:
type: string
description: 'BANを実行したプレイヤーのUUID'
expires:
type: integer
format: int64
description: '期限切れになる時間(タイムスタンプ)'
tags:
- punishment_update
description: 'プレイヤーをTemp(期限) BANします。'
responses:
'200':
description: 'Banオブジェクト'
schema:
type: 'object'
properties:
STATUS:
type: 'string'
MESSAGE:
type: 'string'
DATA:
$ref: '#/definitions/Ban'
'/ban':
post:
parameters:
- in: 'body'
name: 'body'
description: 'Local BANをするために必要なオブジェクト'
required: true
schema:
type: 'object'
properties:
token:
type: string
description: 'APIトークン'
reason:
type: string
description: 'Global BANの理由'
target:
type: string
description: 'BAN対象のプレイヤーのUUID'
punisher:
type: string
description: 'BANを実行したプレイヤーのUUID'
tags:
- punishment_update
description: 'プレイヤーをLocal BANします。'
responses:
'200':
description: 'Banオブジェクト'
schema:
type: 'object'
properties:
STATUS:
type: 'string'
MESSAGE:
type: 'string'
DATA:
$ref: '#/definitions/Ban'
'/free/user':
post:
parameters:
- in: 'body'
name: 'body'
description: 'ユーザーを取得するために必要なオブジェクト'
required: true
schema:
type: 'object'
properties:
player:
type: string
description: 'プレイヤーのUUID'
example: '1865ab8c700b478b9b52a8c58739df1a'
tags:
- user_query
description: 'プレイヤーの情報を取得します。'
responses:
'200':
description: 'Userオブジェクト'
schema:
type: 'object'
properties:
STATUS:
type: 'string'
MESSAGE:
type: 'string'
DATA:
$ref: '#/definitions/User'
'/banlist/player':
post:
parameters:
- in: 'body'
name: 'body'
description: 'BAN一覧を取得するために必要なオブジェクト'
required: true
schema:
type: 'object'
description: ''
properties:
uuid:
type: string
description: 'プレイヤーのUUID'
token:
type: string
description: 'APIトークン'
limit:
type: integer
description: '最大取得数'
offset:
type: integer
description: '取得するBANのオフセット'
tags:
- punishment_query
description: 'プレイヤーのBAN情報を取得します'
responses:
'200':
description: 'Banオブジェクトの配列'
schema:
type: 'object'
properties:
STATUS:
type: 'string'
MESSAGE:
type: 'string'
DATA:
type: 'array'
items:
$ref: '#/definitions/Ban'
'/mutelist':
post:
parameters:
- in: 'body'
name: 'body'
description: 'ミュートリストを取得するために必要なオブジェクト'
required: true
schema:
type: 'object'
properties:
token:
type: string
description: 'APIトークン'
tags:
- punishment_query
description: 'ミュートされているプレイヤー一覧を取得します。'
responses:
'200':
description: ''
schema:
type: 'object'
properties:
STATUS:
type: 'string'
MESSAGE:
type: 'string'
DATA:
type: 'array'
items:
type: 'string'
description: 'プレイヤーのUUID'
example: '1865ab8c700b478b9b52a8c58739df1a'
'/warn':
post:
parameters:
- in: 'body'
name: 'body'
description: ''
required: true
schema:
type: 'object'
properties:
token:
type: string
description: 'APIトークン'
reason:
type: string
description: '処罰理由'
target:
type: string
description: '処罰されるプレイヤーのUUID'
punisher:
type: string
description: '処罰を実行するプレイヤーのUUID'
tags:
- punishment_update
description: 'ミュートされているプレイヤー一覧を取得します。'
responses:
'200':
description: ''
schema:
type: 'object'
properties:
STATUS:
type: 'string'
MESSAGE:
type: 'string'
DATA:
type: 'array'
items:
type: 'string'
description: 'プレイヤーのUUID'
example: '1865ab8c700b478b9b52a8c58739df1a'
schemes:
- "https"
basePath: "/v1"
tags:
- name: punishment_update
description: "処罰情報の更新"
- name: punishment_query
description: "処罰情報のクエリ"
- name: user_query
description: "ユーザーのクエリ"
- name: user_update
description: "ユーザーの更新"
- name: server_query
description: "サーバーのクエリ"
- name: misc
description: "その他"
info:
version: 1.0.0
title: BanMaster API
swagger: "2.0"
host: "api.banmaster.dev"
definitions:
User:
type: 'object'
description: 'ユーザー(プレイヤー)'
properties:
UUID:
type: 'string'
description: 'プレイヤーのUUID'
NAME:
type: 'string'
description: 'プレイヤー名'
default: null
ID:
type: 'integer'
description: 'ユーザーID'
STRIKEEXPIRE:
type: 'integer'
format: 'int64'
description: 'ストライクが解除されるタイムスタンプ(-1=なし, 0=無期限)'
default: -1
ADMIN:
type: 'boolean'
description: 'ユーザーがAdminかどうか'
default: false
Server:
type: 'object'
description: 'サーバー'
properties:
ID:
type: 'integer'
description: 'サーバーID'
IP:
type: 'string'
description: 'サーバーアドレス'
OWNER:
$ref: '#/definitions/User'
PREMIUM:
type: 'boolean'
description: '公認サーバーかどうか'
default: false
VERIFIED:
type: 'boolean'
description: 'APIトークンが付与されている(承認されている)かどうか'
default: false
Warn:
type: 'object'
description: '警告オブジェクト'
properties:
ID:
type: 'integer'
description: '警告ID'
TARGET:
$ref: '#/definitions/User'
PUNISHER:
$ref: '#/definitions/User'
SERVER:
$ref: '#/definitions/Server'
REASON:
type: string
description: '処罰理由'
TIMESTAMP:
type: integer
format: int64
description: 'タイムスタンプ'
BanCategory:
type: 'object'
properties:
GRIEFING:
type: 'boolean'
description: 'Griefing (破壊行為等)'
default: false
XRAY:
type: 'boolean'
description: 'X-Ray (透視)'
default: false
COMBATHACK:
type: 'boolean'
description: '戦闘系Hack (KillAura, Reach等)'
default: false
MOVEMENTHACK:
type: 'boolean'
description: '移動系Hack (Speed, Fly等)'
default: false
OTHERHACK:
type: 'boolean'
description: 'その他のHack'
default: false
SPAMBOT:
type: 'boolean'
description: 'スパムボット'
default: false
OTHER:
type: 'boolean'
description: 'その他'
default: false
Ban:
type: 'object'
properties:
ID:
type: 'integer'
description: 'BAN ID'
TARGET:
$ref: '#/definitions/User'
PUNISHER:
$ref: '#/definitions/User'
SERVER:
$ref: '#/definitions/Server'
REASON:
type: 'string'
description: '処罰する理由'
EXPIRESAT:
type: 'integer'
format: 'int64'
description: '処罰が期限切れになる時間(-1 = 無期限)'
default: -1
TIMESTAMP:
type: 'integer'
format: 'int64'
description: '処罰が実行された時間(タイムスタンプ)'
UNBANNED:
type: 'boolean'
description: '処罰が解除されたかどうか'
default: false
UNBANNER:
$ref: '#/definitions/User'
GLOBAL:
type: 'boolean'
description: 'グローバルBANかどうか'
default: false
VERIFIED:
type: 'boolean'
description: 'Adminによってチェックされた処罰かどうか'
default: false
CATEGORY:
$ref: '#/definitions/BanCategory'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment