A decentralized music tracking and discovery platform built on AT Protocol 馃幍
at feat/feed-generator 162 lines 4.7 kB view raw
1{ 2 "lexicon": 1, 3 "id": "app.rocksky.scrobble", 4 "defs": { 5 "main": { 6 "type": "record", 7 "description": "A declaration of a scrobble.", 8 "key": "tid", 9 "record": { 10 "type": "object", 11 "required": [ 12 "title", 13 "artist", 14 "album", 15 "albumArtist", 16 "duration", 17 "createdAt" 18 ], 19 "properties": { 20 "title": { 21 "type": "string", 22 "description": "The title of the song.", 23 "minLength": 1, 24 "maxLength": 512 25 }, 26 "artist": { 27 "type": "string", 28 "description": "The artist of the song.", 29 "minLength": 1, 30 "maxLength": 256 31 }, 32 "artists": { 33 "type": "array", 34 "description": "The artists of the song with MusicBrainz IDs.", 35 "items": { 36 "type": "ref", 37 "ref": "app.rocksky.artist.defs#artistMbid" 38 } 39 }, 40 "albumArtist": { 41 "type": "string", 42 "description": "The album artist of the song.", 43 "minLength": 1, 44 "maxLength": 256 45 }, 46 "album": { 47 "type": "string", 48 "description": "The album of the song.", 49 "minLength": 1, 50 "maxLength": 256 51 }, 52 "duration": { 53 "type": "integer", 54 "description": "The duration of the song in seconds.", 55 "minimum": 1 56 }, 57 "trackNumber": { 58 "type": "integer", 59 "description": "The track number of the song in the album.", 60 "minimum": 1 61 }, 62 "discNumber": { 63 "type": "integer", 64 "description": "The disc number of the song in the album.", 65 "minimum": 1 66 }, 67 "releaseDate": { 68 "type": "string", 69 "description": "The release date of the song.", 70 "format": "datetime" 71 }, 72 "year": { 73 "type": "integer", 74 "description": "The year the song was released." 75 }, 76 "genre": { 77 "type": "string", 78 "description": "The genre of the song.", 79 "maxLength": 256 80 }, 81 "tags": { 82 "type": "array", 83 "description": "The tags of the song.", 84 "items": { 85 "type": "string", 86 "minLength": 1, 87 "maxLength": 256 88 } 89 }, 90 "composer": { 91 "type": "string", 92 "description": "The composer of the song.", 93 "maxLength": 256 94 }, 95 "lyrics": { 96 "type": "string", 97 "description": "The lyrics of the song.", 98 "maxLength": 10000 99 }, 100 "copyrightMessage": { 101 "type": "string", 102 "description": "The copyright message of the song.", 103 "maxLength": 256 104 }, 105 "wiki": { 106 "type": "string", 107 "description": "Informations about the song", 108 "maxLength": 10000 109 }, 110 "albumArt": { 111 "type": "blob", 112 "description": "The album art of the song.", 113 "accept": [ 114 "image/png", 115 "image/jpeg" 116 ], 117 "maxSize": 2000000 118 }, 119 "albumArtUrl": { 120 "type": "string", 121 "description": "The URL of the album art of the song.", 122 "format": "uri" 123 }, 124 "youtubeLink": { 125 "type": "string", 126 "description": "The YouTube link of the song.", 127 "format": "uri" 128 }, 129 "spotifyLink": { 130 "type": "string", 131 "description": "The Spotify link of the song.", 132 "format": "uri" 133 }, 134 "tidalLink": { 135 "type": "string", 136 "description": "The Tidal link of the song.", 137 "format": "uri" 138 }, 139 "appleMusicLink": { 140 "type": "string", 141 "description": "The Apple Music link of the song.", 142 "format": "uri" 143 }, 144 "createdAt": { 145 "type": "string", 146 "description": "The date when the song was created.", 147 "format": "datetime" 148 }, 149 "mbid": { 150 "type": "string", 151 "description": "The MusicBrainz ID of the song." 152 }, 153 "label": { 154 "type": "string", 155 "description": "The label of the song.", 156 "maxLength": 256 157 } 158 } 159 } 160 } 161 } 162}