Files
AltitudeWeb/open_api/src/main/resources/schemas/bans/bans.yml
T
auto cf758bfe60 Add endpoints and schema for history retrieval by UUID
Introduced a new API endpoint to fetch all punishment history for a specified UUID. Updated existing schemas, controllers, and mappers to support this functionality. Adjusted login endpoints to improve request handling and streamlined frontend form setup for appeals.
2025-05-03 04:37:47 +02:00

348 lines
10 KiB
YAML

getUserNames:
get:
tags:
- history
summary: Get user names
description: Get all user names with punishment history of the specified type
operationId: getUserNames
parameters:
- $ref: '#/components/parameters/UserType'
- $ref: '#/components/parameters/HistoryType'
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: array
items:
type: string
description: A list of users
default:
description: Unexpected error
content:
application/json:
schema:
$ref: '../generic/errors.yml#/components/schemas/ApiError'
getHistoryForUsers:
get:
tags:
- history
summary: Get history for users
description: >
Get all users with punishment history of the specified type,
where the user name starts with the search query, 100 records at a time
operationId: getHistoryForUsers
parameters:
- $ref: '#/components/parameters/UserType'
- $ref: '#/components/parameters/HistoryType'
- $ref: '#/components/parameters/User'
- $ref: '#/components/parameters/Page'
responses:
'200':
description: Successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/PunishmentHistoryList'
default:
description: Unexpected error
content:
application/json:
schema:
$ref: '../generic/errors.yml#/components/schemas/ApiError'
getHistoryForAll:
get:
tags:
- history
summary: Get history for users
description: >
Get all users with punishment history of the specified type,
where the user name starts with the search query, 100 records at a time
operationId: getHistoryForAll
parameters:
- $ref: '#/components/parameters/UserType'
- $ref: '#/components/parameters/HistoryType'
- $ref: '#/components/parameters/Page'
responses:
'200':
description: Successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/PunishmentHistoryList'
default:
description: Unexpected error
content:
application/json:
schema:
$ref: '../generic/errors.yml#/components/schemas/ApiError'
getHistoryForUuid:
get:
tags:
- history
summary: Get user
description: >
Get all users with punishment history of the specified type,
where the user uuid matches, 100 records at a time
operationId: getHistoryForUuid
parameters:
- $ref: '#/components/parameters/UserType'
- $ref: '#/components/parameters/HistoryType'
- $ref: '../generic/parameters.yml#/components/parameters/Uuid'
- $ref: '#/components/parameters/Page'
responses:
'200':
description: Successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/PunishmentHistoryList'
default:
description: Unexpected error
content:
application/json:
schema:
$ref: '../generic/errors.yml#/components/schemas/ApiError'
getTotalPunishments:
get:
tags:
- history
summary: Get total history count per type
description: Retrieves the total count of punishments for each type available (ban, mute, kick, warn, or all).
operationId: getTotalPunishments
responses:
'200':
description: Successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/HistoryCount'
default:
description: Unexpected error
content:
application/json:
schema:
$ref: '../generic/errors.yml#/components/schemas/ApiError'
getTotalResultsForUserSearch:
get:
tags:
- history
summary: Gets total results for search query
description: Retrieves the total count of punishments for the search query
operationId: getTotalResultsForUserSearch
parameters:
- $ref: '#/components/parameters/UserType'
- $ref: '#/components/parameters/HistoryType'
- $ref: '#/components/parameters/User'
responses:
'200':
description: Successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/SearchResults'
default:
description: Unexpected error
content:
application/json:
schema:
$ref: '../generic/errors.yml#/components/schemas/ApiError'
getTotalResultsForUuidSearch:
get:
tags:
- history
summary: Gets total results for search query
description: Retrieves the total count of punishments for the search query
operationId: getTotalResultsForUuidSearch
parameters:
- $ref: '#/components/parameters/UserType'
- $ref: '#/components/parameters/HistoryType'
- $ref: '../generic/parameters.yml#/components/parameters/Uuid'
responses:
'200':
description: Successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/SearchResults'
default:
description: Unexpected error
content:
application/json:
schema:
$ref: '../generic/errors.yml#/components/schemas/ApiError'
getHistoryById:
get:
tags:
- history
summary: Gets history for specified id
description: Retrieves a specific history record
operationId: getHistoryById
parameters:
- $ref: '#/components/parameters/HistoryType'
- $ref: '#/components/parameters/Id'
responses:
'200':
description: Successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/PunishmentHistory'
default:
description: Unexpected error
content:
application/json:
schema:
$ref: '../generic/errors.yml#/components/schemas/ApiError'
getAllHistoryForUUID:
get:
tags:
- history
summary: Gets all history for specified UUID
description: Retrieves all history for specified UUID
operationId: getAllHistoryForUUID
parameters:
- $ref: '../generic/parameters.yml#/components/parameters/Uuid'
responses:
'200':
description: Successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/PunishmentHistoryList'
components:
parameters:
HistoryType:
name: type
in: path
required: true
schema:
type: string
enum: [ all, ban, mute, kick, warn ]
description: The type of history to retrieve
User:
name: user
in: path
required: true
schema:
type: string
description: The (partial) username to search for
UserType:
name: userType
in: path
required: true
schema:
type: string
enum: [ player, staff ]
description: Indicates if this is a staff history or a player history look up
Page:
name: page
in: path
required: true
schema:
type: integer
description: The page that should be retrieved
Id:
name: id
in: path
required: true
schema:
type: integer
description: The id of the punishment that should be retrieved
schemas:
SearchResults:
type: integer
description: A number representing the total count of results for the search query
PunishmentHistoryList:
type: array
items:
$ref: '#/components/schemas/PunishmentHistory'
PunishmentHistory:
type: object
required:
- username
- uuid
- reason
- type
- punishmentTime
- expiryTime
- punishedBy
- punishedByUuid
- id
properties:
username:
type: string
description: The username of the user
uuid:
type: string
description: The UUID of the user
reason:
type: string
description: The reason for the punishment
type:
type: string
description: The type of punishment
enum: [ ban, mute, kick, warn ]
punishmentTime:
type: integer
format: int64
description: The time when the punishment was given
expiryTime:
type: integer
format: int64
description: The time when the punishment expires
punishedBy:
type: string
description: The username of the punishment issuer
punishedByUuid:
type: string
description: The UUID of the punishment issuer
removedBy:
type: string
description: The name of the staff member who removed the punishment
removedReason:
type: string
description: The reason why the punishment was removed
id:
type: integer
description: Id of the punishment
Player:
type: object
properties:
name:
type: string
description: The name of the player
example: a_name
uuid:
type: string
example: 0c35e520-927e-4c6a-87ad-ff0739c22e9d
description: The uuid of the team player
required:
- name
- uuid
HistoryCount:
type: object
required:
- bans
- mutes
- warnings
- kicks
properties:
bans:
type: integer
description: The total amounts of bans
example: 10528
mutes:
type: integer
description: The total amounts of mutes
example: 2350
warnings:
type: integer
description: The total amounts of warnings
example: 3881
kicks:
type: integer
description: The total amounts of kicks
example: 1769