Initial commit
This commit is contained in:
commit
af2f593fb8
66 changed files with 8735 additions and 0 deletions
316
static/swagger.yml
Normal file
316
static/swagger.yml
Normal file
|
@ -0,0 +1,316 @@
|
|||
openapi: 3.0.3
|
||||
info:
|
||||
title: BTClock API
|
||||
version: '3.0'
|
||||
description: BTClock V3 API
|
||||
servers:
|
||||
- url: /api/
|
||||
paths:
|
||||
/status:
|
||||
get:
|
||||
tags:
|
||||
- system
|
||||
summary: Get current status
|
||||
responses:
|
||||
'200':
|
||||
description: successful operation
|
||||
/system_status:
|
||||
get:
|
||||
tags:
|
||||
- system
|
||||
summary: Get system status
|
||||
responses:
|
||||
'200':
|
||||
description: successful operation
|
||||
/settings:
|
||||
get:
|
||||
tags:
|
||||
- system
|
||||
summary: Get current settings
|
||||
responses:
|
||||
'200':
|
||||
description: successful operation
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: '#/components/schemas/ArrayOfLeds'
|
||||
post:
|
||||
tags:
|
||||
- system
|
||||
summary: Save current settings
|
||||
requestBody:
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: '#/components/schemas/Settings'
|
||||
responses:
|
||||
'200':
|
||||
description: successful operation
|
||||
patch:
|
||||
tags:
|
||||
- system
|
||||
summary: Save current settings
|
||||
requestBody:
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: '#/components/schemas/Settings'
|
||||
responses:
|
||||
'200':
|
||||
description: successful operation
|
||||
/action/pause:
|
||||
get:
|
||||
tags:
|
||||
- timer
|
||||
summary: Pause screen rotation
|
||||
responses:
|
||||
'200':
|
||||
description: successful operation
|
||||
/action/timer_restart:
|
||||
get:
|
||||
tags:
|
||||
- timer
|
||||
summary: Restart screen rotation
|
||||
responses:
|
||||
'200':
|
||||
description: successful operation
|
||||
/show/screen/{id}:
|
||||
get:
|
||||
tags:
|
||||
- screens
|
||||
summary: Set screen to show
|
||||
parameters:
|
||||
- in: path
|
||||
name: id
|
||||
schema:
|
||||
type: integer
|
||||
default: 1
|
||||
required: true
|
||||
description: ID of screen to show
|
||||
responses:
|
||||
'200':
|
||||
description: successful operation
|
||||
/show/text/{text}:
|
||||
get:
|
||||
tags:
|
||||
- screens
|
||||
summary: Set text to show
|
||||
parameters:
|
||||
- in: path
|
||||
name: text
|
||||
schema:
|
||||
type: string
|
||||
default: text
|
||||
required: true
|
||||
description: Text to show
|
||||
responses:
|
||||
'200':
|
||||
description: successful operation
|
||||
/show/custom:
|
||||
post:
|
||||
tags:
|
||||
- screens
|
||||
summary: Set text to show (advanced)
|
||||
requestBody:
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: '#/components/schemas/CustomText'
|
||||
responses:
|
||||
'200':
|
||||
description: successful operation
|
||||
/full_refresh:
|
||||
get:
|
||||
tags:
|
||||
- system
|
||||
summary: Force full refresh of all displays
|
||||
responses:
|
||||
'200':
|
||||
description: successful operation
|
||||
/lights:
|
||||
get:
|
||||
tags:
|
||||
- lights
|
||||
summary: Get LEDs status
|
||||
responses:
|
||||
'200':
|
||||
description: successful operation
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: '#/components/schemas/ArrayOfLeds'
|
||||
/lights/set:
|
||||
patch:
|
||||
tags:
|
||||
- lights
|
||||
summary: Set individual LEDs
|
||||
requestBody:
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: '#/components/schemas/ArrayOfLedsInput'
|
||||
responses:
|
||||
'200':
|
||||
description: succesful operation
|
||||
'400':
|
||||
description: invalid colors or wrong amount of LEDs
|
||||
/lights/color/{color}:
|
||||
get:
|
||||
tags:
|
||||
- lights
|
||||
summary: Turn on LEDs with specific color
|
||||
parameters:
|
||||
- in: path
|
||||
name: color
|
||||
schema:
|
||||
type: string
|
||||
default: FFCC00
|
||||
required: true
|
||||
description: Color in RGB hex
|
||||
responses:
|
||||
'200':
|
||||
description: successful operation
|
||||
/lights/off:
|
||||
get:
|
||||
tags:
|
||||
- lights
|
||||
summary: Turn LEDs off
|
||||
responses:
|
||||
'200':
|
||||
description: successful operation
|
||||
/restart:
|
||||
get:
|
||||
tags:
|
||||
- system
|
||||
summary: Restart BTClock
|
||||
responses:
|
||||
'200':
|
||||
description: successful operation
|
||||
components:
|
||||
schemas:
|
||||
RgbColorValues:
|
||||
type: object
|
||||
properties:
|
||||
red:
|
||||
type: integer
|
||||
minimum: 0
|
||||
maximum: 255
|
||||
example: 255
|
||||
green:
|
||||
type: integer
|
||||
minimum: 0
|
||||
maximum: 255
|
||||
example: 204
|
||||
blue:
|
||||
type: integer
|
||||
minimum: 0
|
||||
maximum: 255
|
||||
example: 0
|
||||
RgbColorHex:
|
||||
type: object
|
||||
properties:
|
||||
hex:
|
||||
type: string
|
||||
pattern: ^#(?:[0-9a-fA-F]{3}){1,2}$
|
||||
example: '#FFCC00'
|
||||
RgbColorValueAndHex:
|
||||
allOf:
|
||||
- $ref: '#/components/schemas/RgbColorValues'
|
||||
- $ref: '#/components/schemas/RgbColorHex'
|
||||
RgbColorValueOrHex:
|
||||
oneOf:
|
||||
- $ref: '#/components/schemas/RgbColorValues'
|
||||
- $ref: '#/components/schemas/RgbColorHex'
|
||||
ArrayOfLeds:
|
||||
type: array
|
||||
items:
|
||||
$ref: '#/components/schemas/RgbColorValueAndHex'
|
||||
ArrayOfLedsInput:
|
||||
type: array
|
||||
items:
|
||||
$ref: '#/components/schemas/RgbColorValueOrHex'
|
||||
Settings:
|
||||
type: object
|
||||
properties:
|
||||
fetchEurPrice:
|
||||
type: boolean
|
||||
description: Fetch EUR price instead of USD
|
||||
fgColor:
|
||||
type: string
|
||||
default: 16777215
|
||||
description: ePaper foreground (text) color
|
||||
bgColor:
|
||||
type: string
|
||||
default: 0
|
||||
description: ePaper background color
|
||||
ledTestOnPower:
|
||||
type: boolean
|
||||
default: true
|
||||
description: Do LED test on power-on
|
||||
ledFlashOnUpd:
|
||||
type: boolean
|
||||
default: false
|
||||
description: Flash LEDs on new block
|
||||
mdnsEnabled:
|
||||
type: boolean
|
||||
default: true
|
||||
description: Enable mDNS
|
||||
otaEnabled:
|
||||
type: boolean
|
||||
default: true
|
||||
description: Enable over-the-air updates
|
||||
stealFocus:
|
||||
type: boolean
|
||||
default: false
|
||||
description: Steal focus on new block
|
||||
mcapBigChar:
|
||||
type: boolean
|
||||
default: false
|
||||
description: Use big characters for market cap screen
|
||||
mempoolInstance:
|
||||
type: string
|
||||
default: mempool.space
|
||||
description: Mempool.space instance to connect to
|
||||
ledBrightness:
|
||||
type: integer
|
||||
default: 128
|
||||
description: Brightness of LEDs
|
||||
fullRefreshMin:
|
||||
type: integer
|
||||
default: 60
|
||||
description: Full refresh time of ePaper displays in minutes
|
||||
screen[0]:
|
||||
type: boolean
|
||||
screen[1]:
|
||||
type: boolean
|
||||
screen[2]:
|
||||
type: boolean
|
||||
screen[3]:
|
||||
type: boolean
|
||||
screen[4]:
|
||||
type: boolean
|
||||
screen[5]:
|
||||
type: boolean
|
||||
screen[6]:
|
||||
type: boolean
|
||||
tzOffset:
|
||||
type: integer
|
||||
default: 60
|
||||
description: Timezone offset in minutes
|
||||
minSecPriceUpd:
|
||||
type: integer
|
||||
default: 30
|
||||
description: Minimum time between price updates in seconds
|
||||
timePerScreen:
|
||||
type: integer
|
||||
default: 30
|
||||
description: Time between screens when rotating in minutes
|
||||
txPower:
|
||||
type: integer
|
||||
description: WiFi Tx Power
|
||||
CustomText:
|
||||
type: array
|
||||
items:
|
||||
type: string
|
||||
minItems: 7
|
||||
maxItems: 7
|
Loading…
Add table
Add a link
Reference in a new issue