Skip to content

Instantly share code, notes, and snippets.

@Absolucy
Created May 13, 2024 08:36
Show Gist options
  • Save Absolucy/a1dba1d2a120fa778bee308335d931d0 to your computer and use it in GitHub Desktop.
Save Absolucy/a1dba1d2a120fa778bee308335d931d0 to your computer and use it in GitHub Desktop.
monkestation cassette storage JSON schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The title of the cassette tape."
},
"desc": {
"type": "string",
"description": "A description of the cassette tape's design."
},
"side1_icon": {
"type": "string",
"description": "Icon identifier for side 1."
},
"side2_icon": {
"type": "string",
"description": "Icon identifier for side 2."
},
"author_ckey": {
"type": "string",
"description": "Unique key for the author."
},
"author_name": {
"type": "string",
"description": "The name of the author."
},
"approved": {
"type": "integer",
"enum": [
0,
1
],
"description": "Flag indicating approval status (0 for not approved, 1 for approved)."
},
"songs": {
"type": "object",
"properties": {
"side1": {
"type": "array",
"items": {
"type": "string",
"format": "uri",
"description": "URL to the song on YouTube."
},
"description": "List of song URLs for side 1."
},
"side2": {
"type": "array",
"items": {
"type": "string",
"format": "uri",
"description": "URL to the song on YouTube."
},
"description": "List of song URLs for side 2."
}
},
"description": "Object holding arrays of song URLs for each side of the cassette."
},
"song_names": {
"type": "object",
"properties": {
"side1": {
"type": "array",
"items": {
"type": "string",
"description": "Name of the song on side 1."
},
"description": "List of song names for side 1."
},
"side2": {
"type": "array",
"items": {
"type": "string",
"description": "Name of the song on side 2."
},
"description": "List of song names for side 2."
}
},
"description": "Object holding arrays of song names for each side of the cassette."
}
},
"required": [
"name",
"desc",
"side1_icon",
"side2_icon",
"author_ckey",
"author_name",
"approved",
"songs",
"song_names"
],
"additionalProperties": false
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment