nquest/api/parts/schemas.yaml

217 lines
4.2 KiB
YAML
Raw Normal View History

2024-05-05 19:42:33 +03:00
components:
schemas:
userShortView:
type: object
properties:
id:
type: string
format: uuid
username:
type: string
experience:
type: integer
level:
type: integer
gamesStarted:
type: integer
gamesFinished:
type: integer
expToCurrentLevel:
type: integer
expToNextLevel:
type: integer
games:
type: array
items:
$ref: "#/components/schemas/gameView"
required:
- id
- username
- experience
- level
- gamesStarted
- gamesFinished
2024-05-05 19:42:33 +03:00
userView:
type: object
properties:
id:
type: string
format: uuid
username:
type: string
email:
type: string
experience:
type: integer
level:
type: integer
expToCurrentLevel:
type: integer
expToNextLevel:
type: integer
games:
type: array
items:
$ref: "#/components/schemas/gameView"
role:
type: string
enum:
- user
- creator
- admin
required:
- id
- username
- email
- experience
- level
- expToCurrentLevel
- expToNextLevel
- games
- role
gameView:
type: object
properties:
id:
type: string
format: uuid
visible:
type: boolean
title:
type: string
description:
type: string
type:
$ref: "#/components/schemas/gameType"
points:
type: integer
taskCount:
type: integer
createdAt:
type: string
authors:
type: array
items:
$ref: "#/components/schemas/userView"
icon:
type: string
format: uuid
required:
- id
- title
- description
- type
- points
- taskCount
- createdAt
- authors
taskView:
type: object
properties:
message:
type: string
enum:
- ok_code
- invalid_code
- old_code
- next_level
- game_complete
title:
type: string
text:
type: string
codes:
type: array
items:
$ref: "#/components/schemas/codeView"
required:
- title
- text
- codes
codeView:
type: object
properties:
description:
type: string
code:
type: string
gameEdit:
type: object
properties:
id:
type: string
format: uuid
visible:
type: boolean
title:
type: string
description:
type: string
type:
$ref: "#/components/schemas/gameType"
tasks:
type: array
items:
$ref: "#/components/schemas/taskEdit"
points:
type: integer
icon:
type: string
format: uuid
required:
- visible
- title
- description
- type
- tasks
- points
taskEdit:
type: object
properties:
id:
type: string
format: uuid
title:
type: string
text:
type: string
codes:
type: array
items:
$ref: "#/components/schemas/codeEdit"
required:
- id
- title
- text
- codes
codeEdit:
type: object
properties:
id:
type: string
format: uuid
description:
type: string
code:
type: string
required:
- code
gameType:
type: string
enum:
- virtual
- city
fileItem:
type: object
properties:
id:
type: string
format: uuid
originalName:
type: string
size:
type: integer
required:
- id
- originalName
- size