Update API docs.

This commit is contained in:
Buster "Silver Eagle" Neece 2021-04-26 06:36:24 -05:00
parent 7d9c48bf37
commit 2c9417dbf2
No known key found for this signature in database
GPG Key ID: 6D9E12FF03411F4E
2 changed files with 162 additions and 79 deletions

View File

@ -2,6 +2,9 @@
namespace App\Entity\Api;
/**
* @OA\Schema(type="object", schema="Api_StationPlaylistQueue")
*/
class StationPlaylistQueue
{
/**

View File

@ -2103,11 +2103,11 @@ components:
connected_on:
description: 'UNIX timestamp that the user first connected.'
type: integer
example: 1618403998
example: 1619495379
connected_until:
description: 'UNIX timestamp that the user disconnected (or the latest timestamp if they are still connected).'
type: integer
example: 1618403998
example: 1619495379
connected_time:
description: 'Number of seconds that the user has been connected.'
type: integer
@ -2181,16 +2181,16 @@ components:
type: object
Api_NowPlayingListeners:
properties:
current:
description: 'Current listeners, either unique (if supplied) or total (non-unique)'
total:
description: 'Total non-unique current listeners'
type: integer
example: 15
example: 20
unique:
description: 'Total unique current listeners'
type: integer
example: 15
total:
description: 'Total non-unique current listeners'
current:
description: 'Total non-unique current listeners (Legacy field, may be retired in the future.)'
type: integer
example: 20
type: object
@ -2257,7 +2257,7 @@ components:
played_at:
description: 'UNIX timestamp when playback started.'
type: integer
example: 1618403998
example: 1619495379
duration:
description: 'Duration of the song in seconds'
type: integer
@ -2364,12 +2364,36 @@ components:
playlist:
type: string
type: object
Api_StationPlaylistQueue:
properties:
spm_id:
description: 'ID of the StationPlaylistMedia record associating this track with the playlist'
type: integer
example: 1
nullable: true
media_id:
description: 'ID of the StationPlaylistMedia record associating this track with the playlist'
type: integer
example: 1
song_id:
description: 'The song''s 32-character unique identifier hash'
type: string
example: 9f33bbc912c19603e51be8e0987d076b
artist:
description: 'The song artist.'
type: string
example: 'Chet Porter'
title:
description: 'The song title.'
type: string
example: 'Aluko River'
type: object
Api_StationQueue:
properties:
cued_at:
description: 'UNIX timestamp when playback is expected to start.'
type: integer
example: 1618403998
example: 1619495379
duration:
description: 'Duration of the song in seconds'
type: integer
@ -2458,7 +2482,7 @@ components:
start_timestamp:
description: 'The start time of the schedule entry, in UNIX format.'
type: integer
example: 1618403998
example: 1619495379
start:
description: 'The start time of the schedule entry, in ISO 8601 format.'
type: string
@ -2466,7 +2490,7 @@ components:
end_timestamp:
description: 'The end time of the schedule entry, in UNIX format.'
type: integer
example: 1618403998
example: 1619495379
end:
description: 'The start time of the schedule entry, in ISO 8601 format.'
type: string
@ -2506,7 +2530,7 @@ components:
timestamp:
description: 'The current UNIX timestamp'
type: integer
example: 1618403998
example: 1619495379
type: object
Api_Time:
properties:
@ -2578,10 +2602,10 @@ components:
example: true
created_at:
type: integer
example: 1618403998
example: 1619495379
updated_at:
type: integer
example: 1618403998
example: 1619495379
type: object
Role:
properties:
@ -2597,174 +2621,230 @@ components:
type: object
Settings:
properties:
baseUrl:
app_unique_identifier:
description: 'The unique identifier for this installation (for update checks).'
example: ''
base_url:
description: 'Site Base URL'
type: string
example: 'https://your.azuracast.site'
instanceName:
nullable: true
instance_name:
description: 'AzuraCast Instance Name'
type: string
example: 'My AzuraCast Instance'
nullable: true
preferBrowserUrl:
prefer_browser_url:
description: 'Prefer Browser URL (If Available)'
type: boolean
example: 'false'
useRadioProxy:
use_radio_proxy:
description: 'Use Web Proxy for Radio'
type: boolean
example: 'false'
historyKeepDays:
history_keep_days:
description: 'Days of Playback History to Keep'
type: integer
alwaysUseSsl:
always_use_ssl:
description: 'Always Use HTTPS'
type: boolean
example: 'false'
apiAccessControl:
api_access_control:
description: 'API "Access-Control-Allow-Origin" header'
type: string
example: '*'
enableWebsockets:
nullable: true
enable_websockets:
description: 'Whether to use Websockets for Now Playing data updates.'
type: boolean
example: 'false'
analytics:
description: 'Listener Analytics Collection'
type: string
checkForUpdates:
nullable: true
check_for_updates:
description: 'Check for Updates and Announcements'
type: boolean
example: 'true'
appUniqueIdentifier:
type: string
example: ''
nullable: true
updateResults:
update_results:
description: 'Results of the latest update check.'
example: ''
updateLastRun:
update_last_run:
description: 'The UNIX timestamp when updates were last checked.'
type: integer
example: 1618403998
publicTheme:
example: 1619495379
public_theme:
description: 'Base Theme for Public Pages'
type: string
example: light
hideAlbumArt:
nullable: true
hide_album_art:
description: 'Hide Album Art on Public Pages'
type: boolean
example: 'false'
homepageRedirectUrl:
homepage_redirect_url:
description: 'Homepage Redirect URL'
type: string
example: 'https://example.com/'
nullable: true
defaultAlbumArtUrl:
default_album_art_url:
description: 'Default Album Art URL'
type: string
example: 'https://example.com/image.jpg'
nullable: true
useExternalAlbumArtWhenProcessingMedia:
use_external_album_art_when_processing_media:
description: 'Attempt to fetch album art from external sources when processing media.'
type: boolean
example: 'false'
useExternalAlbumArtInApis:
use_external_album_art_in_apis:
description: 'Attempt to fetch album art from external sources in API requests.'
type: boolean
example: 'false'
lastFmApiKey:
last_fm_api_key:
description: 'An API key to connect to Last.fm services, if provided.'
type: string
example: SAMPLE-API-KEY
nullable: true
hideProductName:
hide_product_name:
description: 'Hide AzuraCast Branding on Public Pages'
type: boolean
example: 'false'
publicCustomCss:
public_custom_css:
description: 'Custom CSS for Public Pages'
type: string
example: ''
nullable: true
publicCustomJs:
public_custom_js:
description: 'Custom JS for Public Pages'
type: string
example: ''
nullable: true
internalCustomCss:
internal_custom_css:
description: 'Custom CSS for Internal Pages'
type: string
example: ''
nullable: true
backupEnabled:
backup_enabled:
description: 'Whether backup is enabled.'
type: boolean
example: 'false'
backupTimeCode:
backup_time_code:
description: 'The timecode (i.e. 400 for 4:00AM) when automated backups should run.'
type: string
example: 400
nullable: true
backupExcludeMedia:
backup_exclude_media:
description: 'Whether to exclude media in automated backups.'
type: boolean
example: 'false'
backupKeepCopies:
backup_keep_copies:
description: 'Number of backups to keep, or infinite if zero/null.'
type: integer
example: 2
backupStorageLocation:
backup_storage_location:
description: 'The storage location ID for automated backups.'
type: integer
example: 1
nullable: true
backupLastRun:
backup_last_run:
description: 'The UNIX timestamp when automated backup was last run.'
type: integer
example: 1618403998
backupLastResult:
example: 1619495379
backup_last_result:
description: 'The result of the latest automated backup task.'
type: string
example: ''
nullable: true
backupLastOutput:
backup_last_output:
description: 'The output of the latest automated backup task.'
type: string
example: ''
nullable: true
setupCompleteTime:
setup_complete_time:
description: 'The UNIX timestamp when setup was last completed.'
type: integer
example: 1618403998
example: 1619495379
nowplaying:
description: 'The current cached now playing data.'
example: ''
syncNowplayingLastRun:
sync_nowplaying_last_run:
description: 'The UNIX timestamp when the now playing sync task was last run.'
type: integer
example: 1618403998
syncShortLastRun:
example: 1619495379
sync_short_last_run:
description: 'The UNIX timestamp when the 60-second "short" sync task was last run.'
type: integer
example: 1618403998
syncMediumLastRun:
example: 1619495379
sync_medium_last_run:
description: 'The UNIX timestamp when the 5-minute "medium" sync task was last run.'
type: integer
example: 1618403998
syncLongLastRun:
example: 1619495379
sync_long_last_run:
description: 'The UNIX timestamp when the 1-hour "long" sync task was last run.'
type: integer
example: 1618403998
externalIp:
example: 1619495379
external_ip:
description: 'This installation''s external IP.'
type: string
example: 192.168.1.1
nullable: true
geoliteLicenseKey:
geolite_license_key:
description: 'The license key for the Maxmind Geolite download.'
type: string
example: ''
nullable: true
geoliteLastRun:
geolite_last_run:
description: 'The UNIX timestamp when the Maxmind Geolite was last downloaded.'
type: integer
example: 1618403998
example: 1619495379
enableAdvancedFeatures:
description: 'Whether to enable "advanced" functionality in the system that is intended for power users.'
type: boolean
example: false
mailEnabled:
mail_enabled:
description: 'Enable e-mail delivery across the application.'
type: boolean
example: 'true'
mailSenderName:
mail_sender_name:
description: 'The name of the sender of system e-mails.'
type: string
example: AzuraCast
mailSenderEmail:
nullable: true
mail_sender_email:
description: 'The e-mail address of the sender of system e-mails.'
type: string
example: example@example.com
mailSmtpHost:
nullable: true
mail_smtp_host:
description: 'The host to send outbound SMTP mail.'
type: string
example: smtp.example.com
mailSmtpPort:
nullable: true
mail_smtp_port:
description: 'The port for sending outbound SMTP mail.'
type: integer
example: 465
mailSmtpUsername:
mail_smtp_username:
description: 'The username when connecting to SMTP mail.'
type: string
example: username
mailSmtpPassword:
nullable: true
mail_smtp_password:
description: 'The password when connecting to SMTP mail.'
type: string
example: password
mailSmtpSecure:
nullable: true
mail_smtp_secure:
description: 'Whether to use a secure (TLS) connection when sending SMTP mail.'
type: boolean
example: 'true'
avatarService:
avatar_service:
description: 'The external avatar service to use when fetching avatars.'
type: string
example: libravatar
nullable: true
avatarDefaultUrl:
avatar_default_url:
description: 'The default avatar URL.'
type: string
example: ''
nullable: true
@ -2928,7 +3008,7 @@ components:
mtime:
description: 'The UNIX timestamp when the database was last modified.'
type: integer
example: 1618403998
example: 1619495379
nullable: true
amplify:
description: 'The amount of amplification (in dB) to be applied to the radio source;'
@ -2969,7 +3049,7 @@ components:
art_updated_at:
description: 'The latest time (UNIX timestamp) when album art was updated.'
type: integer
example: 1618403998
example: 1619495379
playlists:
items: { }
StationMount:
@ -3218,7 +3298,7 @@ components:
example: false
reactivate_at:
type: integer
example: 1618403998
example: 1619495379
nullable: true
schedule_items:
items: { }
@ -3300,10 +3380,10 @@ components:
nullable: true
created_at:
type: integer
example: 1618403998
example: 1619495379
updated_at:
type: integer
example: 1618403998
example: 1619495379
roles:
items: { }
type: object