Moved schemas into objects/ definitions

This commit is contained in:
Nicholas Wallace 2024-02-25 18:32:04 +00:00
parent cc37c3d41f
commit cc53f16185
30 changed files with 3380 additions and 3241 deletions

View file

@ -3,6 +3,97 @@ const uuidv4 = require("uuid").v4
const date = require('../libs/dateAndTime')
const { secondsToTimestamp } = require('../utils/index')
/**
* @openapi
* components:
* schemas:
* rssFeedEpisode:
* type: object
* properties:
* id:
* description: The ID of the RSS feed episode.
* type: string
* example: ep_lh6ko39pumnrma3dhv
* title:
* description: The title of the RSS feed episode.
* type: string
* example: Pilot
* description:
* description: An HTML encoded description of the RSS feed episode.
* type: string
* example: >-
* <div><br>Pilot Episode. A new dog park opens in Night Vale. Carlos, a
* scientist, visits and discovers some interesting things. Seismic things.
* Plus, a helpful guide to surveillance
* helicopter-spotting.<br><br></div><div><br>Weather: "These and More Than
* These" by Joseph Fink<br><br></div><div><br>Music: Disparition,
* disparition.info<br><br></div><div><br>Logo: Rob Wilson,
* silastom.com<br><br></div><div><br>Produced by Night Vale Presents.
* Written by Joseph Fink and Jeffrey Cranor. Narrated by Cecil Baldwin.
* More Info: welcometonightvale.com, and follow @NightValeRadio on Twitter
* or Facebook.<br><br></div>
* enclosure:
* description: Download information for the RSS feed episode. (Similar to Podcast Episode Enclosure)
* type: object
* properties:
* url:
* type: string
* example: >-
* https://abs.example.com/feed/li_bufnnmp4y5o2gbbxfm/item/ep_lh6ko39pumnrma3dhv/1
* - Pilot.mp3
* type:
* type: string
* example: audio/mpeg
* size:
* type: integer
* example: 23653735
* pubDate:
* description: The RSS feed episode's publication date.
* type: string
* example: Fri, 15 Jun 2012 12:00:00 -0000
* link:
* description: A URL to display to the RSS feed user.
* type: string
* example: https://abs.example.com/item/li_bufnnmp4y5o2gbbxfm
* format: url
* author:
* description: The author of the RSS feed episode.
* type: string
* example: Night Vale Presents
* explicit:
* description: Whether the RSS feed episode is explicit.
* type: boolean
* example: false
* duration:
* description: The duration (in seconds) of the RSS feed episode.
* type: number
* example: 1454.18449
* season:
* description: The season of the RSS feed episode.
* type: [string, 'null']
* episode:
* description: The episode number of the RSS feed episode.
* type: [string, 'null']
* episodeType:
* description: The type of the RSS feed episode.
* type: [string, 'null']
* libraryItemId:
* description: The ID of the library item the RSS feed is for.
* type: string
* example: li_bufnnmp4y5o2gbbxfm
* episodeId:
* description: The ID of the podcast episode the RSS feed episode is for. Will be null if the RSS feed is for a book.
* type: [string, 'null']
* example: ep_lh6ko39pumnrma3dhv
* trackIndex:
* description: The RSS feed episode's track index.
* type: integer
* example: 0
* fullPath:
* description: The path on the server of the audio file the RSS feed episode is for.
* type: string
* example: /podcasts/Welcome to Night Vale/1 - Pilot.mp3
*/
class FeedEpisode {
constructor(episode) {
this.id = null