diff --git a/apps/api/lexicons/album/album.json b/apps/api/lexicons/album/album.json index 5ca1b55a..37887d2b 100644 --- a/apps/api/lexicons/album/album.json +++ b/apps/api/lexicons/album/album.json @@ -53,6 +53,11 @@ ], "maxSize": 2000000 }, + "albumArtUrl": { + "type": "string", + "description": "The URL of the album art of the album.", + "format": "uri" + }, "tags": { "type": "array", "description": "The tags of the album.", diff --git a/apps/api/lexicons/artist/artist.json b/apps/api/lexicons/artist/artist.json index 16304ccc..5df2e461 100644 --- a/apps/api/lexicons/artist/artist.json +++ b/apps/api/lexicons/artist/artist.json @@ -33,6 +33,11 @@ ], "maxSize": 2000000 }, + "pictureUrl": { + "type": "string", + "description": "The URL of the picture of the artist.", + "format": "uri" + }, "tags": { "type": "array", "description": "The tags of the artist.", diff --git a/apps/api/lexicons/scrobble/scrobble.json b/apps/api/lexicons/scrobble/scrobble.json index e158f616..69fcd1b7 100644 --- a/apps/api/lexicons/scrobble/scrobble.json +++ b/apps/api/lexicons/scrobble/scrobble.json @@ -108,6 +108,11 @@ ], "maxSize": 2000000 }, + "albumArtUrl": { + "type": "string", + "description": "The URL of the album art of the song.", + "format": "uri" + }, "youtubeLink": { "type": "string", "description": "The YouTube link of the song.", diff --git a/apps/api/lexicons/song/song.json b/apps/api/lexicons/song/song.json index 4f59f5d9..1ee5f195 100644 --- a/apps/api/lexicons/song/song.json +++ b/apps/api/lexicons/song/song.json @@ -109,6 +109,11 @@ ], "maxSize": 2000000 }, + "albumArtUrl": { + "type": "string", + "description": "The URL of the album art of the song.", + "format": "uri" + }, "youtubeLink": { "type": "string", "description": "The YouTube link of the song.", diff --git a/apps/api/pkl/defs/album/album.pkl b/apps/api/pkl/defs/album/album.pkl index d44fc592..ad79026d 100644 --- a/apps/api/pkl/defs/album/album.pkl +++ b/apps/api/pkl/defs/album/album.pkl @@ -54,6 +54,12 @@ defs = new Mapping { maxSize = 2000000 } + ["albumArtUrl"] = new StringType { + type = "string" + description = "The URL of the album art of the album." + format = "uri" + } + ["tags"] = new Array { type = "array" description = "The tags of the album." diff --git a/apps/api/pkl/defs/artist/artist.pkl b/apps/api/pkl/defs/artist/artist.pkl index f4597478..63cee7fc 100644 --- a/apps/api/pkl/defs/artist/artist.pkl +++ b/apps/api/pkl/defs/artist/artist.pkl @@ -31,6 +31,12 @@ defs = new Mapping { maxSize = 2000000 } + ["pictureUrl"] = new StringType { + type = "string" + description = "The URL of the picture of the artist." + format = "uri" + } + ["tags"] = new Array { type = "array" description = "The tags of the artist." diff --git a/apps/api/pkl/defs/scrobble/scrobble.pkl b/apps/api/pkl/defs/scrobble/scrobble.pkl index 03c3b079..d43e138c 100644 --- a/apps/api/pkl/defs/scrobble/scrobble.pkl +++ b/apps/api/pkl/defs/scrobble/scrobble.pkl @@ -115,6 +115,12 @@ defs = new Mapping { maxSize = 2000000 } + ["albumArtUrl"] = new StringType { + type = "string" + description = "The URL of the album art of the song." + format = "uri" + } + ["youtubeLink"] = new StringType { type = "string" description = "The YouTube link of the song." diff --git a/apps/api/pkl/defs/song/song.pkl b/apps/api/pkl/defs/song/song.pkl index af54be4c..1f274b9e 100644 --- a/apps/api/pkl/defs/song/song.pkl +++ b/apps/api/pkl/defs/song/song.pkl @@ -116,6 +116,12 @@ defs = new Mapping { maxSize = 2000000 } + ["albumArtUrl"] = new StringType { + type = "string" + description = "The URL of the album art of the song." + format = "uri" + } + ["youtubeLink"] = new StringType { type = "string" description = "The YouTube link of the song." diff --git a/apps/api/src/bsky/app.ts b/apps/api/src/bsky/app.ts index 6f5a9cc7..b73426e4 100644 --- a/apps/api/src/bsky/app.ts +++ b/apps/api/src/bsky/app.ts @@ -77,7 +77,7 @@ app.get("/oauth/callback", async (c) => { ? Math.floor(Date.now() / 1000) + 60 * 60 * 24 * 365 * 1000 : Math.floor(Date.now() / 1000) + 60 * 60 * 24 * 7, }, - env.JWT_SECRET + env.JWT_SECRET, ); ctx.kv.set(did, token); } catch (err) { diff --git a/apps/api/src/lexicon/index.ts b/apps/api/src/lexicon/index.ts index 614c9251..7661fb2f 100644 --- a/apps/api/src/lexicon/index.ts +++ b/apps/api/src/lexicon/index.ts @@ -3,160 +3,160 @@ */ import { createServer as createXrpcServer, - type Server as XrpcServer, - type Options as XrpcOptions, - type AuthVerifier, - type StreamAuthVerifier, -} from '@atproto/xrpc-server' -import { schemas } from './lexicons' -import type * as AppRockskyActorGetActorAlbums from './types/app/rocksky/actor/getActorAlbums' -import type * as AppRockskyActorGetActorArtists from './types/app/rocksky/actor/getActorArtists' -import type * as AppRockskyActorGetActorLovedSongs from './types/app/rocksky/actor/getActorLovedSongs' -import type * as AppRockskyActorGetActorPlaylists from './types/app/rocksky/actor/getActorPlaylists' -import type * as AppRockskyActorGetActorScrobbles from './types/app/rocksky/actor/getActorScrobbles' -import type * as AppRockskyActorGetActorSongs from './types/app/rocksky/actor/getActorSongs' -import type * as AppRockskyActorGetProfile from './types/app/rocksky/actor/getProfile' -import type * as AppRockskyAlbumGetAlbum from './types/app/rocksky/album/getAlbum' -import type * as AppRockskyAlbumGetAlbums from './types/app/rocksky/album/getAlbums' -import type * as AppRockskyAlbumGetAlbumTracks from './types/app/rocksky/album/getAlbumTracks' -import type * as AppRockskyApikeyCreateApikey from './types/app/rocksky/apikey/createApikey' -import type * as AppRockskyApikeyGetApikeys from './types/app/rocksky/apikey/getApikeys' -import type * as AppRockskyApikeyRemoveApikey from './types/app/rocksky/apikey/removeApikey' -import type * as AppRockskyApikeyUpdateApikey from './types/app/rocksky/apikey/updateApikey' -import type * as AppRockskyArtistGetArtistAlbums from './types/app/rocksky/artist/getArtistAlbums' -import type * as AppRockskyArtistGetArtist from './types/app/rocksky/artist/getArtist' -import type * as AppRockskyArtistGetArtistListeners from './types/app/rocksky/artist/getArtistListeners' -import type * as AppRockskyArtistGetArtists from './types/app/rocksky/artist/getArtists' -import type * as AppRockskyArtistGetArtistTracks from './types/app/rocksky/artist/getArtistTracks' -import type * as AppRockskyChartsGetScrobblesChart from './types/app/rocksky/charts/getScrobblesChart' -import type * as AppRockskyDropboxDownloadFile from './types/app/rocksky/dropbox/downloadFile' -import type * as AppRockskyDropboxGetFiles from './types/app/rocksky/dropbox/getFiles' -import type * as AppRockskyDropboxGetMetadata from './types/app/rocksky/dropbox/getMetadata' -import type * as AppRockskyDropboxGetTemporaryLink from './types/app/rocksky/dropbox/getTemporaryLink' -import type * as AppRockskyFeedGetNowPlayings from './types/app/rocksky/feed/getNowPlayings' -import type * as AppRockskyFeedSearch from './types/app/rocksky/feed/search' -import type * as AppRockskyGoogledriveDownloadFile from './types/app/rocksky/googledrive/downloadFile' -import type * as AppRockskyGoogledriveGetFile from './types/app/rocksky/googledrive/getFile' -import type * as AppRockskyGoogledriveGetFiles from './types/app/rocksky/googledrive/getFiles' -import type * as AppRockskyLikeDislikeShout from './types/app/rocksky/like/dislikeShout' -import type * as AppRockskyLikeDislikeSong from './types/app/rocksky/like/dislikeSong' -import type * as AppRockskyLikeLikeShout from './types/app/rocksky/like/likeShout' -import type * as AppRockskyLikeLikeSong from './types/app/rocksky/like/likeSong' -import type * as AppRockskyPlayerAddDirectoryToQueue from './types/app/rocksky/player/addDirectoryToQueue' -import type * as AppRockskyPlayerAddItemsToQueue from './types/app/rocksky/player/addItemsToQueue' -import type * as AppRockskyPlayerGetCurrentlyPlaying from './types/app/rocksky/player/getCurrentlyPlaying' -import type * as AppRockskyPlayerGetPlaybackQueue from './types/app/rocksky/player/getPlaybackQueue' -import type * as AppRockskyPlayerNext from './types/app/rocksky/player/next' -import type * as AppRockskyPlayerPause from './types/app/rocksky/player/pause' -import type * as AppRockskyPlayerPlayDirectory from './types/app/rocksky/player/playDirectory' -import type * as AppRockskyPlayerPlayFile from './types/app/rocksky/player/playFile' -import type * as AppRockskyPlayerPlay from './types/app/rocksky/player/play' -import type * as AppRockskyPlayerPrevious from './types/app/rocksky/player/previous' -import type * as AppRockskyPlayerSeek from './types/app/rocksky/player/seek' -import type * as AppRockskyPlaylistCreatePlaylist from './types/app/rocksky/playlist/createPlaylist' -import type * as AppRockskyPlaylistGetPlaylist from './types/app/rocksky/playlist/getPlaylist' -import type * as AppRockskyPlaylistGetPlaylists from './types/app/rocksky/playlist/getPlaylists' -import type * as AppRockskyPlaylistInsertDirectory from './types/app/rocksky/playlist/insertDirectory' -import type * as AppRockskyPlaylistInsertFiles from './types/app/rocksky/playlist/insertFiles' -import type * as AppRockskyPlaylistRemovePlaylist from './types/app/rocksky/playlist/removePlaylist' -import type * as AppRockskyPlaylistRemoveTrack from './types/app/rocksky/playlist/removeTrack' -import type * as AppRockskyPlaylistStartPlaylist from './types/app/rocksky/playlist/startPlaylist' -import type * as AppRockskyScrobbleCreateScrobble from './types/app/rocksky/scrobble/createScrobble' -import type * as AppRockskyScrobbleGetScrobble from './types/app/rocksky/scrobble/getScrobble' -import type * as AppRockskyScrobbleGetScrobbles from './types/app/rocksky/scrobble/getScrobbles' -import type * as AppRockskyShoutCreateShout from './types/app/rocksky/shout/createShout' -import type * as AppRockskyShoutGetAlbumShouts from './types/app/rocksky/shout/getAlbumShouts' -import type * as AppRockskyShoutGetArtistShouts from './types/app/rocksky/shout/getArtistShouts' -import type * as AppRockskyShoutGetProfileShouts from './types/app/rocksky/shout/getProfileShouts' -import type * as AppRockskyShoutGetShoutReplies from './types/app/rocksky/shout/getShoutReplies' -import type * as AppRockskyShoutGetTrackShouts from './types/app/rocksky/shout/getTrackShouts' -import type * as AppRockskyShoutRemoveShout from './types/app/rocksky/shout/removeShout' -import type * as AppRockskyShoutReplyShout from './types/app/rocksky/shout/replyShout' -import type * as AppRockskyShoutReportShout from './types/app/rocksky/shout/reportShout' -import type * as AppRockskySongCreateSong from './types/app/rocksky/song/createSong' -import type * as AppRockskySongGetSong from './types/app/rocksky/song/getSong' -import type * as AppRockskySongGetSongs from './types/app/rocksky/song/getSongs' -import type * as AppRockskySpotifyGetCurrentlyPlaying from './types/app/rocksky/spotify/getCurrentlyPlaying' -import type * as AppRockskySpotifyNext from './types/app/rocksky/spotify/next' -import type * as AppRockskySpotifyPause from './types/app/rocksky/spotify/pause' -import type * as AppRockskySpotifyPlay from './types/app/rocksky/spotify/play' -import type * as AppRockskySpotifyPrevious from './types/app/rocksky/spotify/previous' -import type * as AppRockskySpotifySeek from './types/app/rocksky/spotify/seek' -import type * as AppRockskyStatsGetStats from './types/app/rocksky/stats/getStats' + Server as XrpcServer, + Options as XrpcOptions, + AuthVerifier, + StreamAuthVerifier, +} from "@atproto/xrpc-server"; +import { schemas } from "./lexicons"; +import * as AppRockskyActorGetActorAlbums from "./types/app/rocksky/actor/getActorAlbums"; +import * as AppRockskyActorGetActorArtists from "./types/app/rocksky/actor/getActorArtists"; +import * as AppRockskyActorGetActorLovedSongs from "./types/app/rocksky/actor/getActorLovedSongs"; +import * as AppRockskyActorGetActorPlaylists from "./types/app/rocksky/actor/getActorPlaylists"; +import * as AppRockskyActorGetActorScrobbles from "./types/app/rocksky/actor/getActorScrobbles"; +import * as AppRockskyActorGetActorSongs from "./types/app/rocksky/actor/getActorSongs"; +import * as AppRockskyActorGetProfile from "./types/app/rocksky/actor/getProfile"; +import * as AppRockskyAlbumGetAlbum from "./types/app/rocksky/album/getAlbum"; +import * as AppRockskyAlbumGetAlbums from "./types/app/rocksky/album/getAlbums"; +import * as AppRockskyAlbumGetAlbumTracks from "./types/app/rocksky/album/getAlbumTracks"; +import * as AppRockskyApikeyCreateApikey from "./types/app/rocksky/apikey/createApikey"; +import * as AppRockskyApikeyGetApikeys from "./types/app/rocksky/apikey/getApikeys"; +import * as AppRockskyApikeyRemoveApikey from "./types/app/rocksky/apikey/removeApikey"; +import * as AppRockskyApikeyUpdateApikey from "./types/app/rocksky/apikey/updateApikey"; +import * as AppRockskyArtistGetArtistAlbums from "./types/app/rocksky/artist/getArtistAlbums"; +import * as AppRockskyArtistGetArtist from "./types/app/rocksky/artist/getArtist"; +import * as AppRockskyArtistGetArtistListeners from "./types/app/rocksky/artist/getArtistListeners"; +import * as AppRockskyArtistGetArtists from "./types/app/rocksky/artist/getArtists"; +import * as AppRockskyArtistGetArtistTracks from "./types/app/rocksky/artist/getArtistTracks"; +import * as AppRockskyChartsGetScrobblesChart from "./types/app/rocksky/charts/getScrobblesChart"; +import * as AppRockskyDropboxDownloadFile from "./types/app/rocksky/dropbox/downloadFile"; +import * as AppRockskyDropboxGetFiles from "./types/app/rocksky/dropbox/getFiles"; +import * as AppRockskyDropboxGetMetadata from "./types/app/rocksky/dropbox/getMetadata"; +import * as AppRockskyDropboxGetTemporaryLink from "./types/app/rocksky/dropbox/getTemporaryLink"; +import * as AppRockskyFeedGetNowPlayings from "./types/app/rocksky/feed/getNowPlayings"; +import * as AppRockskyFeedSearch from "./types/app/rocksky/feed/search"; +import * as AppRockskyGoogledriveDownloadFile from "./types/app/rocksky/googledrive/downloadFile"; +import * as AppRockskyGoogledriveGetFile from "./types/app/rocksky/googledrive/getFile"; +import * as AppRockskyGoogledriveGetFiles from "./types/app/rocksky/googledrive/getFiles"; +import * as AppRockskyLikeDislikeShout from "./types/app/rocksky/like/dislikeShout"; +import * as AppRockskyLikeDislikeSong from "./types/app/rocksky/like/dislikeSong"; +import * as AppRockskyLikeLikeShout from "./types/app/rocksky/like/likeShout"; +import * as AppRockskyLikeLikeSong from "./types/app/rocksky/like/likeSong"; +import * as AppRockskyPlayerAddDirectoryToQueue from "./types/app/rocksky/player/addDirectoryToQueue"; +import * as AppRockskyPlayerAddItemsToQueue from "./types/app/rocksky/player/addItemsToQueue"; +import * as AppRockskyPlayerGetCurrentlyPlaying from "./types/app/rocksky/player/getCurrentlyPlaying"; +import * as AppRockskyPlayerGetPlaybackQueue from "./types/app/rocksky/player/getPlaybackQueue"; +import * as AppRockskyPlayerNext from "./types/app/rocksky/player/next"; +import * as AppRockskyPlayerPause from "./types/app/rocksky/player/pause"; +import * as AppRockskyPlayerPlayDirectory from "./types/app/rocksky/player/playDirectory"; +import * as AppRockskyPlayerPlayFile from "./types/app/rocksky/player/playFile"; +import * as AppRockskyPlayerPlay from "./types/app/rocksky/player/play"; +import * as AppRockskyPlayerPrevious from "./types/app/rocksky/player/previous"; +import * as AppRockskyPlayerSeek from "./types/app/rocksky/player/seek"; +import * as AppRockskyPlaylistCreatePlaylist from "./types/app/rocksky/playlist/createPlaylist"; +import * as AppRockskyPlaylistGetPlaylist from "./types/app/rocksky/playlist/getPlaylist"; +import * as AppRockskyPlaylistGetPlaylists from "./types/app/rocksky/playlist/getPlaylists"; +import * as AppRockskyPlaylistInsertDirectory from "./types/app/rocksky/playlist/insertDirectory"; +import * as AppRockskyPlaylistInsertFiles from "./types/app/rocksky/playlist/insertFiles"; +import * as AppRockskyPlaylistRemovePlaylist from "./types/app/rocksky/playlist/removePlaylist"; +import * as AppRockskyPlaylistRemoveTrack from "./types/app/rocksky/playlist/removeTrack"; +import * as AppRockskyPlaylistStartPlaylist from "./types/app/rocksky/playlist/startPlaylist"; +import * as AppRockskyScrobbleCreateScrobble from "./types/app/rocksky/scrobble/createScrobble"; +import * as AppRockskyScrobbleGetScrobble from "./types/app/rocksky/scrobble/getScrobble"; +import * as AppRockskyScrobbleGetScrobbles from "./types/app/rocksky/scrobble/getScrobbles"; +import * as AppRockskyShoutCreateShout from "./types/app/rocksky/shout/createShout"; +import * as AppRockskyShoutGetAlbumShouts from "./types/app/rocksky/shout/getAlbumShouts"; +import * as AppRockskyShoutGetArtistShouts from "./types/app/rocksky/shout/getArtistShouts"; +import * as AppRockskyShoutGetProfileShouts from "./types/app/rocksky/shout/getProfileShouts"; +import * as AppRockskyShoutGetShoutReplies from "./types/app/rocksky/shout/getShoutReplies"; +import * as AppRockskyShoutGetTrackShouts from "./types/app/rocksky/shout/getTrackShouts"; +import * as AppRockskyShoutRemoveShout from "./types/app/rocksky/shout/removeShout"; +import * as AppRockskyShoutReplyShout from "./types/app/rocksky/shout/replyShout"; +import * as AppRockskyShoutReportShout from "./types/app/rocksky/shout/reportShout"; +import * as AppRockskySongCreateSong from "./types/app/rocksky/song/createSong"; +import * as AppRockskySongGetSong from "./types/app/rocksky/song/getSong"; +import * as AppRockskySongGetSongs from "./types/app/rocksky/song/getSongs"; +import * as AppRockskySpotifyGetCurrentlyPlaying from "./types/app/rocksky/spotify/getCurrentlyPlaying"; +import * as AppRockskySpotifyNext from "./types/app/rocksky/spotify/next"; +import * as AppRockskySpotifyPause from "./types/app/rocksky/spotify/pause"; +import * as AppRockskySpotifyPlay from "./types/app/rocksky/spotify/play"; +import * as AppRockskySpotifyPrevious from "./types/app/rocksky/spotify/previous"; +import * as AppRockskySpotifySeek from "./types/app/rocksky/spotify/seek"; +import * as AppRockskyStatsGetStats from "./types/app/rocksky/stats/getStats"; export function createServer(options?: XrpcOptions): Server { - return new Server(options) + return new Server(options); } export class Server { - xrpc: XrpcServer - app: AppNS - com: ComNS + xrpc: XrpcServer; + app: AppNS; + com: ComNS; constructor(options?: XrpcOptions) { - this.xrpc = createXrpcServer(schemas, options) - this.app = new AppNS(this) - this.com = new ComNS(this) + this.xrpc = createXrpcServer(schemas, options); + this.app = new AppNS(this); + this.com = new ComNS(this); } } export class AppNS { - _server: Server - rocksky: AppRockskyNS - bsky: AppBskyNS + _server: Server; + rocksky: AppRockskyNS; + bsky: AppBskyNS; constructor(server: Server) { - this._server = server - this.rocksky = new AppRockskyNS(server) - this.bsky = new AppBskyNS(server) + this._server = server; + this.rocksky = new AppRockskyNS(server); + this.bsky = new AppBskyNS(server); } } export class AppRockskyNS { - _server: Server - actor: AppRockskyActorNS - album: AppRockskyAlbumNS - apikey: AppRockskyApikeyNS - artist: AppRockskyArtistNS - charts: AppRockskyChartsNS - dropbox: AppRockskyDropboxNS - feed: AppRockskyFeedNS - googledrive: AppRockskyGoogledriveNS - like: AppRockskyLikeNS - player: AppRockskyPlayerNS - playlist: AppRockskyPlaylistNS - scrobble: AppRockskyScrobbleNS - shout: AppRockskyShoutNS - song: AppRockskySongNS - spotify: AppRockskySpotifyNS - stats: AppRockskyStatsNS + _server: Server; + actor: AppRockskyActorNS; + album: AppRockskyAlbumNS; + apikey: AppRockskyApikeyNS; + artist: AppRockskyArtistNS; + charts: AppRockskyChartsNS; + dropbox: AppRockskyDropboxNS; + feed: AppRockskyFeedNS; + googledrive: AppRockskyGoogledriveNS; + like: AppRockskyLikeNS; + player: AppRockskyPlayerNS; + playlist: AppRockskyPlaylistNS; + scrobble: AppRockskyScrobbleNS; + shout: AppRockskyShoutNS; + song: AppRockskySongNS; + spotify: AppRockskySpotifyNS; + stats: AppRockskyStatsNS; constructor(server: Server) { - this._server = server - this.actor = new AppRockskyActorNS(server) - this.album = new AppRockskyAlbumNS(server) - this.apikey = new AppRockskyApikeyNS(server) - this.artist = new AppRockskyArtistNS(server) - this.charts = new AppRockskyChartsNS(server) - this.dropbox = new AppRockskyDropboxNS(server) - this.feed = new AppRockskyFeedNS(server) - this.googledrive = new AppRockskyGoogledriveNS(server) - this.like = new AppRockskyLikeNS(server) - this.player = new AppRockskyPlayerNS(server) - this.playlist = new AppRockskyPlaylistNS(server) - this.scrobble = new AppRockskyScrobbleNS(server) - this.shout = new AppRockskyShoutNS(server) - this.song = new AppRockskySongNS(server) - this.spotify = new AppRockskySpotifyNS(server) - this.stats = new AppRockskyStatsNS(server) + this._server = server; + this.actor = new AppRockskyActorNS(server); + this.album = new AppRockskyAlbumNS(server); + this.apikey = new AppRockskyApikeyNS(server); + this.artist = new AppRockskyArtistNS(server); + this.charts = new AppRockskyChartsNS(server); + this.dropbox = new AppRockskyDropboxNS(server); + this.feed = new AppRockskyFeedNS(server); + this.googledrive = new AppRockskyGoogledriveNS(server); + this.like = new AppRockskyLikeNS(server); + this.player = new AppRockskyPlayerNS(server); + this.playlist = new AppRockskyPlaylistNS(server); + this.scrobble = new AppRockskyScrobbleNS(server); + this.shout = new AppRockskyShoutNS(server); + this.song = new AppRockskySongNS(server); + this.spotify = new AppRockskySpotifyNS(server); + this.stats = new AppRockskyStatsNS(server); } } export class AppRockskyActorNS { - _server: Server + _server: Server; constructor(server: Server) { - this._server = server + this._server = server; } getActorAlbums( @@ -166,8 +166,8 @@ export class AppRockskyActorNS { AppRockskyActorGetActorAlbums.HandlerReqCtx> >, ) { - const nsid = 'app.rocksky.actor.getActorAlbums' // @ts-ignore - return this._server.xrpc.method(nsid, cfg) + const nsid = "app.rocksky.actor.getActorAlbums"; // @ts-ignore + return this._server.xrpc.method(nsid, cfg); } getActorArtists( @@ -177,8 +177,8 @@ export class AppRockskyActorNS { AppRockskyActorGetActorArtists.HandlerReqCtx> >, ) { - const nsid = 'app.rocksky.actor.getActorArtists' // @ts-ignore - return this._server.xrpc.method(nsid, cfg) + const nsid = "app.rocksky.actor.getActorArtists"; // @ts-ignore + return this._server.xrpc.method(nsid, cfg); } getActorLovedSongs( @@ -188,8 +188,8 @@ export class AppRockskyActorNS { AppRockskyActorGetActorLovedSongs.HandlerReqCtx> >, ) { - const nsid = 'app.rocksky.actor.getActorLovedSongs' // @ts-ignore - return this._server.xrpc.method(nsid, cfg) + const nsid = "app.rocksky.actor.getActorLovedSongs"; // @ts-ignore + return this._server.xrpc.method(nsid, cfg); } getActorPlaylists( @@ -199,8 +199,8 @@ export class AppRockskyActorNS { AppRockskyActorGetActorPlaylists.HandlerReqCtx> >, ) { - const nsid = 'app.rocksky.actor.getActorPlaylists' // @ts-ignore - return this._server.xrpc.method(nsid, cfg) + const nsid = "app.rocksky.actor.getActorPlaylists"; // @ts-ignore + return this._server.xrpc.method(nsid, cfg); } getActorScrobbles( @@ -210,8 +210,8 @@ export class AppRockskyActorNS { AppRockskyActorGetActorScrobbles.HandlerReqCtx> >, ) { - const nsid = 'app.rocksky.actor.getActorScrobbles' // @ts-ignore - return this._server.xrpc.method(nsid, cfg) + const nsid = "app.rocksky.actor.getActorScrobbles"; // @ts-ignore + return this._server.xrpc.method(nsid, cfg); } getActorSongs( @@ -221,8 +221,8 @@ export class AppRockskyActorNS { AppRockskyActorGetActorSongs.HandlerReqCtx> >, ) { - const nsid = 'app.rocksky.actor.getActorSongs' // @ts-ignore - return this._server.xrpc.method(nsid, cfg) + const nsid = "app.rocksky.actor.getActorSongs"; // @ts-ignore + return this._server.xrpc.method(nsid, cfg); } getProfile( @@ -232,16 +232,16 @@ export class AppRockskyActorNS { AppRockskyActorGetProfile.HandlerReqCtx> >, ) { - const nsid = 'app.rocksky.actor.getProfile' // @ts-ignore - return this._server.xrpc.method(nsid, cfg) + const nsid = "app.rocksky.actor.getProfile"; // @ts-ignore + return this._server.xrpc.method(nsid, cfg); } } export class AppRockskyAlbumNS { - _server: Server + _server: Server; constructor(server: Server) { - this._server = server + this._server = server; } getAlbum( @@ -251,8 +251,8 @@ export class AppRockskyAlbumNS { AppRockskyAlbumGetAlbum.HandlerReqCtx> >, ) { - const nsid = 'app.rocksky.album.getAlbum' // @ts-ignore - return this._server.xrpc.method(nsid, cfg) + const nsid = "app.rocksky.album.getAlbum"; // @ts-ignore + return this._server.xrpc.method(nsid, cfg); } getAlbums( @@ -262,8 +262,8 @@ export class AppRockskyAlbumNS { AppRockskyAlbumGetAlbums.HandlerReqCtx> >, ) { - const nsid = 'app.rocksky.album.getAlbums' // @ts-ignore - return this._server.xrpc.method(nsid, cfg) + const nsid = "app.rocksky.album.getAlbums"; // @ts-ignore + return this._server.xrpc.method(nsid, cfg); } getAlbumTracks( @@ -273,16 +273,16 @@ export class AppRockskyAlbumNS { AppRockskyAlbumGetAlbumTracks.HandlerReqCtx> >, ) { - const nsid = 'app.rocksky.album.getAlbumTracks' // @ts-ignore - return this._server.xrpc.method(nsid, cfg) + const nsid = "app.rocksky.album.getAlbumTracks"; // @ts-ignore + return this._server.xrpc.method(nsid, cfg); } } export class AppRockskyApikeyNS { - _server: Server + _server: Server; constructor(server: Server) { - this._server = server + this._server = server; } createApikey( @@ -292,8 +292,8 @@ export class AppRockskyApikeyNS { AppRockskyApikeyCreateApikey.HandlerReqCtx> >, ) { - const nsid = 'app.rocksky.apikey.createApikey' // @ts-ignore - return this._server.xrpc.method(nsid, cfg) + const nsid = "app.rocksky.apikey.createApikey"; // @ts-ignore + return this._server.xrpc.method(nsid, cfg); } getApikeys( @@ -303,8 +303,8 @@ export class AppRockskyApikeyNS { AppRockskyApikeyGetApikeys.HandlerReqCtx> >, ) { - const nsid = 'app.rocksky.apikey.getApikeys' // @ts-ignore - return this._server.xrpc.method(nsid, cfg) + const nsid = "app.rocksky.apikey.getApikeys"; // @ts-ignore + return this._server.xrpc.method(nsid, cfg); } removeApikey( @@ -314,8 +314,8 @@ export class AppRockskyApikeyNS { AppRockskyApikeyRemoveApikey.HandlerReqCtx> >, ) { - const nsid = 'app.rocksky.apikey.removeApikey' // @ts-ignore - return this._server.xrpc.method(nsid, cfg) + const nsid = "app.rocksky.apikey.removeApikey"; // @ts-ignore + return this._server.xrpc.method(nsid, cfg); } updateApikey( @@ -325,16 +325,16 @@ export class AppRockskyApikeyNS { AppRockskyApikeyUpdateApikey.HandlerReqCtx> >, ) { - const nsid = 'app.rocksky.apikey.updateApikey' // @ts-ignore - return this._server.xrpc.method(nsid, cfg) + const nsid = "app.rocksky.apikey.updateApikey"; // @ts-ignore + return this._server.xrpc.method(nsid, cfg); } } export class AppRockskyArtistNS { - _server: Server + _server: Server; constructor(server: Server) { - this._server = server + this._server = server; } getArtistAlbums( @@ -344,8 +344,8 @@ export class AppRockskyArtistNS { AppRockskyArtistGetArtistAlbums.HandlerReqCtx> >, ) { - const nsid = 'app.rocksky.artist.getArtistAlbums' // @ts-ignore - return this._server.xrpc.method(nsid, cfg) + const nsid = "app.rocksky.artist.getArtistAlbums"; // @ts-ignore + return this._server.xrpc.method(nsid, cfg); } getArtist( @@ -355,8 +355,8 @@ export class AppRockskyArtistNS { AppRockskyArtistGetArtist.HandlerReqCtx> >, ) { - const nsid = 'app.rocksky.artist.getArtist' // @ts-ignore - return this._server.xrpc.method(nsid, cfg) + const nsid = "app.rocksky.artist.getArtist"; // @ts-ignore + return this._server.xrpc.method(nsid, cfg); } getArtistListeners( @@ -366,8 +366,8 @@ export class AppRockskyArtistNS { AppRockskyArtistGetArtistListeners.HandlerReqCtx> >, ) { - const nsid = 'app.rocksky.artist.getArtistListeners' // @ts-ignore - return this._server.xrpc.method(nsid, cfg) + const nsid = "app.rocksky.artist.getArtistListeners"; // @ts-ignore + return this._server.xrpc.method(nsid, cfg); } getArtists( @@ -377,8 +377,8 @@ export class AppRockskyArtistNS { AppRockskyArtistGetArtists.HandlerReqCtx> >, ) { - const nsid = 'app.rocksky.artist.getArtists' // @ts-ignore - return this._server.xrpc.method(nsid, cfg) + const nsid = "app.rocksky.artist.getArtists"; // @ts-ignore + return this._server.xrpc.method(nsid, cfg); } getArtistTracks( @@ -388,16 +388,16 @@ export class AppRockskyArtistNS { AppRockskyArtistGetArtistTracks.HandlerReqCtx> >, ) { - const nsid = 'app.rocksky.artist.getArtistTracks' // @ts-ignore - return this._server.xrpc.method(nsid, cfg) + const nsid = "app.rocksky.artist.getArtistTracks"; // @ts-ignore + return this._server.xrpc.method(nsid, cfg); } } export class AppRockskyChartsNS { - _server: Server + _server: Server; constructor(server: Server) { - this._server = server + this._server = server; } getScrobblesChart( @@ -407,16 +407,16 @@ export class AppRockskyChartsNS { AppRockskyChartsGetScrobblesChart.HandlerReqCtx> >, ) { - const nsid = 'app.rocksky.charts.getScrobblesChart' // @ts-ignore - return this._server.xrpc.method(nsid, cfg) + const nsid = "app.rocksky.charts.getScrobblesChart"; // @ts-ignore + return this._server.xrpc.method(nsid, cfg); } } export class AppRockskyDropboxNS { - _server: Server + _server: Server; constructor(server: Server) { - this._server = server + this._server = server; } downloadFile( @@ -426,8 +426,8 @@ export class AppRockskyDropboxNS { AppRockskyDropboxDownloadFile.HandlerReqCtx> >, ) { - const nsid = 'app.rocksky.dropbox.downloadFile' // @ts-ignore - return this._server.xrpc.method(nsid, cfg) + const nsid = "app.rocksky.dropbox.downloadFile"; // @ts-ignore + return this._server.xrpc.method(nsid, cfg); } getFiles( @@ -437,8 +437,8 @@ export class AppRockskyDropboxNS { AppRockskyDropboxGetFiles.HandlerReqCtx> >, ) { - const nsid = 'app.rocksky.dropbox.getFiles' // @ts-ignore - return this._server.xrpc.method(nsid, cfg) + const nsid = "app.rocksky.dropbox.getFiles"; // @ts-ignore + return this._server.xrpc.method(nsid, cfg); } getMetadata( @@ -448,8 +448,8 @@ export class AppRockskyDropboxNS { AppRockskyDropboxGetMetadata.HandlerReqCtx> >, ) { - const nsid = 'app.rocksky.dropbox.getMetadata' // @ts-ignore - return this._server.xrpc.method(nsid, cfg) + const nsid = "app.rocksky.dropbox.getMetadata"; // @ts-ignore + return this._server.xrpc.method(nsid, cfg); } getTemporaryLink( @@ -459,16 +459,16 @@ export class AppRockskyDropboxNS { AppRockskyDropboxGetTemporaryLink.HandlerReqCtx> >, ) { - const nsid = 'app.rocksky.dropbox.getTemporaryLink' // @ts-ignore - return this._server.xrpc.method(nsid, cfg) + const nsid = "app.rocksky.dropbox.getTemporaryLink"; // @ts-ignore + return this._server.xrpc.method(nsid, cfg); } } export class AppRockskyFeedNS { - _server: Server + _server: Server; constructor(server: Server) { - this._server = server + this._server = server; } getNowPlayings( @@ -478,8 +478,8 @@ export class AppRockskyFeedNS { AppRockskyFeedGetNowPlayings.HandlerReqCtx> >, ) { - const nsid = 'app.rocksky.feed.getNowPlayings' // @ts-ignore - return this._server.xrpc.method(nsid, cfg) + const nsid = "app.rocksky.feed.getNowPlayings"; // @ts-ignore + return this._server.xrpc.method(nsid, cfg); } search( @@ -489,16 +489,16 @@ export class AppRockskyFeedNS { AppRockskyFeedSearch.HandlerReqCtx> >, ) { - const nsid = 'app.rocksky.feed.search' // @ts-ignore - return this._server.xrpc.method(nsid, cfg) + const nsid = "app.rocksky.feed.search"; // @ts-ignore + return this._server.xrpc.method(nsid, cfg); } } export class AppRockskyGoogledriveNS { - _server: Server + _server: Server; constructor(server: Server) { - this._server = server + this._server = server; } downloadFile( @@ -508,8 +508,8 @@ export class AppRockskyGoogledriveNS { AppRockskyGoogledriveDownloadFile.HandlerReqCtx> >, ) { - const nsid = 'app.rocksky.googledrive.downloadFile' // @ts-ignore - return this._server.xrpc.method(nsid, cfg) + const nsid = "app.rocksky.googledrive.downloadFile"; // @ts-ignore + return this._server.xrpc.method(nsid, cfg); } getFile( @@ -519,8 +519,8 @@ export class AppRockskyGoogledriveNS { AppRockskyGoogledriveGetFile.HandlerReqCtx> >, ) { - const nsid = 'app.rocksky.googledrive.getFile' // @ts-ignore - return this._server.xrpc.method(nsid, cfg) + const nsid = "app.rocksky.googledrive.getFile"; // @ts-ignore + return this._server.xrpc.method(nsid, cfg); } getFiles( @@ -530,16 +530,16 @@ export class AppRockskyGoogledriveNS { AppRockskyGoogledriveGetFiles.HandlerReqCtx> >, ) { - const nsid = 'app.rocksky.googledrive.getFiles' // @ts-ignore - return this._server.xrpc.method(nsid, cfg) + const nsid = "app.rocksky.googledrive.getFiles"; // @ts-ignore + return this._server.xrpc.method(nsid, cfg); } } export class AppRockskyLikeNS { - _server: Server + _server: Server; constructor(server: Server) { - this._server = server + this._server = server; } dislikeShout( @@ -549,8 +549,8 @@ export class AppRockskyLikeNS { AppRockskyLikeDislikeShout.HandlerReqCtx> >, ) { - const nsid = 'app.rocksky.like.dislikeShout' // @ts-ignore - return this._server.xrpc.method(nsid, cfg) + const nsid = "app.rocksky.like.dislikeShout"; // @ts-ignore + return this._server.xrpc.method(nsid, cfg); } dislikeSong( @@ -560,8 +560,8 @@ export class AppRockskyLikeNS { AppRockskyLikeDislikeSong.HandlerReqCtx> >, ) { - const nsid = 'app.rocksky.like.dislikeSong' // @ts-ignore - return this._server.xrpc.method(nsid, cfg) + const nsid = "app.rocksky.like.dislikeSong"; // @ts-ignore + return this._server.xrpc.method(nsid, cfg); } likeShout( @@ -571,8 +571,8 @@ export class AppRockskyLikeNS { AppRockskyLikeLikeShout.HandlerReqCtx> >, ) { - const nsid = 'app.rocksky.like.likeShout' // @ts-ignore - return this._server.xrpc.method(nsid, cfg) + const nsid = "app.rocksky.like.likeShout"; // @ts-ignore + return this._server.xrpc.method(nsid, cfg); } likeSong( @@ -582,16 +582,16 @@ export class AppRockskyLikeNS { AppRockskyLikeLikeSong.HandlerReqCtx> >, ) { - const nsid = 'app.rocksky.like.likeSong' // @ts-ignore - return this._server.xrpc.method(nsid, cfg) + const nsid = "app.rocksky.like.likeSong"; // @ts-ignore + return this._server.xrpc.method(nsid, cfg); } } export class AppRockskyPlayerNS { - _server: Server + _server: Server; constructor(server: Server) { - this._server = server + this._server = server; } addDirectoryToQueue( @@ -601,8 +601,8 @@ export class AppRockskyPlayerNS { AppRockskyPlayerAddDirectoryToQueue.HandlerReqCtx> >, ) { - const nsid = 'app.rocksky.player.addDirectoryToQueue' // @ts-ignore - return this._server.xrpc.method(nsid, cfg) + const nsid = "app.rocksky.player.addDirectoryToQueue"; // @ts-ignore + return this._server.xrpc.method(nsid, cfg); } addItemsToQueue( @@ -612,8 +612,8 @@ export class AppRockskyPlayerNS { AppRockskyPlayerAddItemsToQueue.HandlerReqCtx> >, ) { - const nsid = 'app.rocksky.player.addItemsToQueue' // @ts-ignore - return this._server.xrpc.method(nsid, cfg) + const nsid = "app.rocksky.player.addItemsToQueue"; // @ts-ignore + return this._server.xrpc.method(nsid, cfg); } getCurrentlyPlaying( @@ -623,8 +623,8 @@ export class AppRockskyPlayerNS { AppRockskyPlayerGetCurrentlyPlaying.HandlerReqCtx> >, ) { - const nsid = 'app.rocksky.player.getCurrentlyPlaying' // @ts-ignore - return this._server.xrpc.method(nsid, cfg) + const nsid = "app.rocksky.player.getCurrentlyPlaying"; // @ts-ignore + return this._server.xrpc.method(nsid, cfg); } getPlaybackQueue( @@ -634,8 +634,8 @@ export class AppRockskyPlayerNS { AppRockskyPlayerGetPlaybackQueue.HandlerReqCtx> >, ) { - const nsid = 'app.rocksky.player.getPlaybackQueue' // @ts-ignore - return this._server.xrpc.method(nsid, cfg) + const nsid = "app.rocksky.player.getPlaybackQueue"; // @ts-ignore + return this._server.xrpc.method(nsid, cfg); } next( @@ -645,8 +645,8 @@ export class AppRockskyPlayerNS { AppRockskyPlayerNext.HandlerReqCtx> >, ) { - const nsid = 'app.rocksky.player.next' // @ts-ignore - return this._server.xrpc.method(nsid, cfg) + const nsid = "app.rocksky.player.next"; // @ts-ignore + return this._server.xrpc.method(nsid, cfg); } pause( @@ -656,8 +656,8 @@ export class AppRockskyPlayerNS { AppRockskyPlayerPause.HandlerReqCtx> >, ) { - const nsid = 'app.rocksky.player.pause' // @ts-ignore - return this._server.xrpc.method(nsid, cfg) + const nsid = "app.rocksky.player.pause"; // @ts-ignore + return this._server.xrpc.method(nsid, cfg); } playDirectory( @@ -667,8 +667,8 @@ export class AppRockskyPlayerNS { AppRockskyPlayerPlayDirectory.HandlerReqCtx> >, ) { - const nsid = 'app.rocksky.player.playDirectory' // @ts-ignore - return this._server.xrpc.method(nsid, cfg) + const nsid = "app.rocksky.player.playDirectory"; // @ts-ignore + return this._server.xrpc.method(nsid, cfg); } playFile( @@ -678,8 +678,8 @@ export class AppRockskyPlayerNS { AppRockskyPlayerPlayFile.HandlerReqCtx> >, ) { - const nsid = 'app.rocksky.player.playFile' // @ts-ignore - return this._server.xrpc.method(nsid, cfg) + const nsid = "app.rocksky.player.playFile"; // @ts-ignore + return this._server.xrpc.method(nsid, cfg); } play( @@ -689,8 +689,8 @@ export class AppRockskyPlayerNS { AppRockskyPlayerPlay.HandlerReqCtx> >, ) { - const nsid = 'app.rocksky.player.play' // @ts-ignore - return this._server.xrpc.method(nsid, cfg) + const nsid = "app.rocksky.player.play"; // @ts-ignore + return this._server.xrpc.method(nsid, cfg); } previous( @@ -700,8 +700,8 @@ export class AppRockskyPlayerNS { AppRockskyPlayerPrevious.HandlerReqCtx> >, ) { - const nsid = 'app.rocksky.player.previous' // @ts-ignore - return this._server.xrpc.method(nsid, cfg) + const nsid = "app.rocksky.player.previous"; // @ts-ignore + return this._server.xrpc.method(nsid, cfg); } seek( @@ -711,16 +711,16 @@ export class AppRockskyPlayerNS { AppRockskyPlayerSeek.HandlerReqCtx> >, ) { - const nsid = 'app.rocksky.player.seek' // @ts-ignore - return this._server.xrpc.method(nsid, cfg) + const nsid = "app.rocksky.player.seek"; // @ts-ignore + return this._server.xrpc.method(nsid, cfg); } } export class AppRockskyPlaylistNS { - _server: Server + _server: Server; constructor(server: Server) { - this._server = server + this._server = server; } createPlaylist( @@ -730,8 +730,8 @@ export class AppRockskyPlaylistNS { AppRockskyPlaylistCreatePlaylist.HandlerReqCtx> >, ) { - const nsid = 'app.rocksky.playlist.createPlaylist' // @ts-ignore - return this._server.xrpc.method(nsid, cfg) + const nsid = "app.rocksky.playlist.createPlaylist"; // @ts-ignore + return this._server.xrpc.method(nsid, cfg); } getPlaylist( @@ -741,8 +741,8 @@ export class AppRockskyPlaylistNS { AppRockskyPlaylistGetPlaylist.HandlerReqCtx> >, ) { - const nsid = 'app.rocksky.playlist.getPlaylist' // @ts-ignore - return this._server.xrpc.method(nsid, cfg) + const nsid = "app.rocksky.playlist.getPlaylist"; // @ts-ignore + return this._server.xrpc.method(nsid, cfg); } getPlaylists( @@ -752,8 +752,8 @@ export class AppRockskyPlaylistNS { AppRockskyPlaylistGetPlaylists.HandlerReqCtx> >, ) { - const nsid = 'app.rocksky.playlist.getPlaylists' // @ts-ignore - return this._server.xrpc.method(nsid, cfg) + const nsid = "app.rocksky.playlist.getPlaylists"; // @ts-ignore + return this._server.xrpc.method(nsid, cfg); } insertDirectory( @@ -763,8 +763,8 @@ export class AppRockskyPlaylistNS { AppRockskyPlaylistInsertDirectory.HandlerReqCtx> >, ) { - const nsid = 'app.rocksky.playlist.insertDirectory' // @ts-ignore - return this._server.xrpc.method(nsid, cfg) + const nsid = "app.rocksky.playlist.insertDirectory"; // @ts-ignore + return this._server.xrpc.method(nsid, cfg); } insertFiles( @@ -774,8 +774,8 @@ export class AppRockskyPlaylistNS { AppRockskyPlaylistInsertFiles.HandlerReqCtx> >, ) { - const nsid = 'app.rocksky.playlist.insertFiles' // @ts-ignore - return this._server.xrpc.method(nsid, cfg) + const nsid = "app.rocksky.playlist.insertFiles"; // @ts-ignore + return this._server.xrpc.method(nsid, cfg); } removePlaylist( @@ -785,8 +785,8 @@ export class AppRockskyPlaylistNS { AppRockskyPlaylistRemovePlaylist.HandlerReqCtx> >, ) { - const nsid = 'app.rocksky.playlist.removePlaylist' // @ts-ignore - return this._server.xrpc.method(nsid, cfg) + const nsid = "app.rocksky.playlist.removePlaylist"; // @ts-ignore + return this._server.xrpc.method(nsid, cfg); } removeTrack( @@ -796,8 +796,8 @@ export class AppRockskyPlaylistNS { AppRockskyPlaylistRemoveTrack.HandlerReqCtx> >, ) { - const nsid = 'app.rocksky.playlist.removeTrack' // @ts-ignore - return this._server.xrpc.method(nsid, cfg) + const nsid = "app.rocksky.playlist.removeTrack"; // @ts-ignore + return this._server.xrpc.method(nsid, cfg); } startPlaylist( @@ -807,16 +807,16 @@ export class AppRockskyPlaylistNS { AppRockskyPlaylistStartPlaylist.HandlerReqCtx> >, ) { - const nsid = 'app.rocksky.playlist.startPlaylist' // @ts-ignore - return this._server.xrpc.method(nsid, cfg) + const nsid = "app.rocksky.playlist.startPlaylist"; // @ts-ignore + return this._server.xrpc.method(nsid, cfg); } } export class AppRockskyScrobbleNS { - _server: Server + _server: Server; constructor(server: Server) { - this._server = server + this._server = server; } createScrobble( @@ -826,8 +826,8 @@ export class AppRockskyScrobbleNS { AppRockskyScrobbleCreateScrobble.HandlerReqCtx> >, ) { - const nsid = 'app.rocksky.scrobble.createScrobble' // @ts-ignore - return this._server.xrpc.method(nsid, cfg) + const nsid = "app.rocksky.scrobble.createScrobble"; // @ts-ignore + return this._server.xrpc.method(nsid, cfg); } getScrobble( @@ -837,8 +837,8 @@ export class AppRockskyScrobbleNS { AppRockskyScrobbleGetScrobble.HandlerReqCtx> >, ) { - const nsid = 'app.rocksky.scrobble.getScrobble' // @ts-ignore - return this._server.xrpc.method(nsid, cfg) + const nsid = "app.rocksky.scrobble.getScrobble"; // @ts-ignore + return this._server.xrpc.method(nsid, cfg); } getScrobbles( @@ -848,16 +848,16 @@ export class AppRockskyScrobbleNS { AppRockskyScrobbleGetScrobbles.HandlerReqCtx> >, ) { - const nsid = 'app.rocksky.scrobble.getScrobbles' // @ts-ignore - return this._server.xrpc.method(nsid, cfg) + const nsid = "app.rocksky.scrobble.getScrobbles"; // @ts-ignore + return this._server.xrpc.method(nsid, cfg); } } export class AppRockskyShoutNS { - _server: Server + _server: Server; constructor(server: Server) { - this._server = server + this._server = server; } createShout( @@ -867,8 +867,8 @@ export class AppRockskyShoutNS { AppRockskyShoutCreateShout.HandlerReqCtx> >, ) { - const nsid = 'app.rocksky.shout.createShout' // @ts-ignore - return this._server.xrpc.method(nsid, cfg) + const nsid = "app.rocksky.shout.createShout"; // @ts-ignore + return this._server.xrpc.method(nsid, cfg); } getAlbumShouts( @@ -878,8 +878,8 @@ export class AppRockskyShoutNS { AppRockskyShoutGetAlbumShouts.HandlerReqCtx> >, ) { - const nsid = 'app.rocksky.shout.getAlbumShouts' // @ts-ignore - return this._server.xrpc.method(nsid, cfg) + const nsid = "app.rocksky.shout.getAlbumShouts"; // @ts-ignore + return this._server.xrpc.method(nsid, cfg); } getArtistShouts( @@ -889,8 +889,8 @@ export class AppRockskyShoutNS { AppRockskyShoutGetArtistShouts.HandlerReqCtx> >, ) { - const nsid = 'app.rocksky.shout.getArtistShouts' // @ts-ignore - return this._server.xrpc.method(nsid, cfg) + const nsid = "app.rocksky.shout.getArtistShouts"; // @ts-ignore + return this._server.xrpc.method(nsid, cfg); } getProfileShouts( @@ -900,8 +900,8 @@ export class AppRockskyShoutNS { AppRockskyShoutGetProfileShouts.HandlerReqCtx> >, ) { - const nsid = 'app.rocksky.shout.getProfileShouts' // @ts-ignore - return this._server.xrpc.method(nsid, cfg) + const nsid = "app.rocksky.shout.getProfileShouts"; // @ts-ignore + return this._server.xrpc.method(nsid, cfg); } getShoutReplies( @@ -911,8 +911,8 @@ export class AppRockskyShoutNS { AppRockskyShoutGetShoutReplies.HandlerReqCtx> >, ) { - const nsid = 'app.rocksky.shout.getShoutReplies' // @ts-ignore - return this._server.xrpc.method(nsid, cfg) + const nsid = "app.rocksky.shout.getShoutReplies"; // @ts-ignore + return this._server.xrpc.method(nsid, cfg); } getTrackShouts( @@ -922,8 +922,8 @@ export class AppRockskyShoutNS { AppRockskyShoutGetTrackShouts.HandlerReqCtx> >, ) { - const nsid = 'app.rocksky.shout.getTrackShouts' // @ts-ignore - return this._server.xrpc.method(nsid, cfg) + const nsid = "app.rocksky.shout.getTrackShouts"; // @ts-ignore + return this._server.xrpc.method(nsid, cfg); } removeShout( @@ -933,8 +933,8 @@ export class AppRockskyShoutNS { AppRockskyShoutRemoveShout.HandlerReqCtx> >, ) { - const nsid = 'app.rocksky.shout.removeShout' // @ts-ignore - return this._server.xrpc.method(nsid, cfg) + const nsid = "app.rocksky.shout.removeShout"; // @ts-ignore + return this._server.xrpc.method(nsid, cfg); } replyShout( @@ -944,8 +944,8 @@ export class AppRockskyShoutNS { AppRockskyShoutReplyShout.HandlerReqCtx> >, ) { - const nsid = 'app.rocksky.shout.replyShout' // @ts-ignore - return this._server.xrpc.method(nsid, cfg) + const nsid = "app.rocksky.shout.replyShout"; // @ts-ignore + return this._server.xrpc.method(nsid, cfg); } reportShout( @@ -955,16 +955,16 @@ export class AppRockskyShoutNS { AppRockskyShoutReportShout.HandlerReqCtx> >, ) { - const nsid = 'app.rocksky.shout.reportShout' // @ts-ignore - return this._server.xrpc.method(nsid, cfg) + const nsid = "app.rocksky.shout.reportShout"; // @ts-ignore + return this._server.xrpc.method(nsid, cfg); } } export class AppRockskySongNS { - _server: Server + _server: Server; constructor(server: Server) { - this._server = server + this._server = server; } createSong( @@ -974,8 +974,8 @@ export class AppRockskySongNS { AppRockskySongCreateSong.HandlerReqCtx> >, ) { - const nsid = 'app.rocksky.song.createSong' // @ts-ignore - return this._server.xrpc.method(nsid, cfg) + const nsid = "app.rocksky.song.createSong"; // @ts-ignore + return this._server.xrpc.method(nsid, cfg); } getSong( @@ -985,8 +985,8 @@ export class AppRockskySongNS { AppRockskySongGetSong.HandlerReqCtx> >, ) { - const nsid = 'app.rocksky.song.getSong' // @ts-ignore - return this._server.xrpc.method(nsid, cfg) + const nsid = "app.rocksky.song.getSong"; // @ts-ignore + return this._server.xrpc.method(nsid, cfg); } getSongs( @@ -996,16 +996,16 @@ export class AppRockskySongNS { AppRockskySongGetSongs.HandlerReqCtx> >, ) { - const nsid = 'app.rocksky.song.getSongs' // @ts-ignore - return this._server.xrpc.method(nsid, cfg) + const nsid = "app.rocksky.song.getSongs"; // @ts-ignore + return this._server.xrpc.method(nsid, cfg); } } export class AppRockskySpotifyNS { - _server: Server + _server: Server; constructor(server: Server) { - this._server = server + this._server = server; } getCurrentlyPlaying( @@ -1015,8 +1015,8 @@ export class AppRockskySpotifyNS { AppRockskySpotifyGetCurrentlyPlaying.HandlerReqCtx> >, ) { - const nsid = 'app.rocksky.spotify.getCurrentlyPlaying' // @ts-ignore - return this._server.xrpc.method(nsid, cfg) + const nsid = "app.rocksky.spotify.getCurrentlyPlaying"; // @ts-ignore + return this._server.xrpc.method(nsid, cfg); } next( @@ -1026,8 +1026,8 @@ export class AppRockskySpotifyNS { AppRockskySpotifyNext.HandlerReqCtx> >, ) { - const nsid = 'app.rocksky.spotify.next' // @ts-ignore - return this._server.xrpc.method(nsid, cfg) + const nsid = "app.rocksky.spotify.next"; // @ts-ignore + return this._server.xrpc.method(nsid, cfg); } pause( @@ -1037,8 +1037,8 @@ export class AppRockskySpotifyNS { AppRockskySpotifyPause.HandlerReqCtx> >, ) { - const nsid = 'app.rocksky.spotify.pause' // @ts-ignore - return this._server.xrpc.method(nsid, cfg) + const nsid = "app.rocksky.spotify.pause"; // @ts-ignore + return this._server.xrpc.method(nsid, cfg); } play( @@ -1048,8 +1048,8 @@ export class AppRockskySpotifyNS { AppRockskySpotifyPlay.HandlerReqCtx> >, ) { - const nsid = 'app.rocksky.spotify.play' // @ts-ignore - return this._server.xrpc.method(nsid, cfg) + const nsid = "app.rocksky.spotify.play"; // @ts-ignore + return this._server.xrpc.method(nsid, cfg); } previous( @@ -1059,8 +1059,8 @@ export class AppRockskySpotifyNS { AppRockskySpotifyPrevious.HandlerReqCtx> >, ) { - const nsid = 'app.rocksky.spotify.previous' // @ts-ignore - return this._server.xrpc.method(nsid, cfg) + const nsid = "app.rocksky.spotify.previous"; // @ts-ignore + return this._server.xrpc.method(nsid, cfg); } seek( @@ -1070,16 +1070,16 @@ export class AppRockskySpotifyNS { AppRockskySpotifySeek.HandlerReqCtx> >, ) { - const nsid = 'app.rocksky.spotify.seek' // @ts-ignore - return this._server.xrpc.method(nsid, cfg) + const nsid = "app.rocksky.spotify.seek"; // @ts-ignore + return this._server.xrpc.method(nsid, cfg); } } export class AppRockskyStatsNS { - _server: Server + _server: Server; constructor(server: Server) { - this._server = server + this._server = server; } getStats( @@ -1089,79 +1089,79 @@ export class AppRockskyStatsNS { AppRockskyStatsGetStats.HandlerReqCtx> >, ) { - const nsid = 'app.rocksky.stats.getStats' // @ts-ignore - return this._server.xrpc.method(nsid, cfg) + const nsid = "app.rocksky.stats.getStats"; // @ts-ignore + return this._server.xrpc.method(nsid, cfg); } } export class AppBskyNS { - _server: Server - actor: AppBskyActorNS + _server: Server; + actor: AppBskyActorNS; constructor(server: Server) { - this._server = server - this.actor = new AppBskyActorNS(server) + this._server = server; + this.actor = new AppBskyActorNS(server); } } export class AppBskyActorNS { - _server: Server + _server: Server; constructor(server: Server) { - this._server = server + this._server = server; } } export class ComNS { - _server: Server - atproto: ComAtprotoNS + _server: Server; + atproto: ComAtprotoNS; constructor(server: Server) { - this._server = server - this.atproto = new ComAtprotoNS(server) + this._server = server; + this.atproto = new ComAtprotoNS(server); } } export class ComAtprotoNS { - _server: Server - repo: ComAtprotoRepoNS + _server: Server; + repo: ComAtprotoRepoNS; constructor(server: Server) { - this._server = server - this.repo = new ComAtprotoRepoNS(server) + this._server = server; + this.repo = new ComAtprotoRepoNS(server); } } export class ComAtprotoRepoNS { - _server: Server + _server: Server; constructor(server: Server) { - this._server = server + this._server = server; } } type SharedRateLimitOpts = { - name: string - calcKey?: (ctx: T) => string | null - calcPoints?: (ctx: T) => number -} + name: string; + calcKey?: (ctx: T) => string | null; + calcPoints?: (ctx: T) => number; +}; type RouteRateLimitOpts = { - durationMs: number - points: number - calcKey?: (ctx: T) => string | null - calcPoints?: (ctx: T) => number -} -type HandlerOpts = { blobLimit?: number } -type HandlerRateLimitOpts = SharedRateLimitOpts | RouteRateLimitOpts + durationMs: number; + points: number; + calcKey?: (ctx: T) => string | null; + calcPoints?: (ctx: T) => number; +}; +type HandlerOpts = { blobLimit?: number }; +type HandlerRateLimitOpts = SharedRateLimitOpts | RouteRateLimitOpts; type ConfigOf = | Handler | { - auth?: Auth - opts?: HandlerOpts - rateLimit?: HandlerRateLimitOpts | HandlerRateLimitOpts[] - handler: Handler - } + auth?: Auth; + opts?: HandlerOpts; + rateLimit?: HandlerRateLimitOpts | HandlerRateLimitOpts[]; + handler: Handler; + }; type ExtractAuth = Extract< Awaited>, { credentials: unknown } -> +>; diff --git a/apps/api/src/lexicon/lexicons.ts b/apps/api/src/lexicon/lexicons.ts index 27bca259..cc368911 100644 --- a/apps/api/src/lexicon/lexicons.ts +++ b/apps/api/src/lexicon/lexicons.ts @@ -1,82 +1,82 @@ /** * GENERATED CODE - DO NOT MODIFY */ -import { type LexiconDoc, Lexicons } from '@atproto/lexicon' +import { LexiconDoc, Lexicons } from "@atproto/lexicon"; export const schemaDict = { AppRockskyActorDefs: { lexicon: 1, - id: 'app.rocksky.actor.defs', + id: "app.rocksky.actor.defs", defs: { profileViewDetailed: { - type: 'object', + type: "object", properties: { id: { - type: 'string', - description: 'The unique identifier of the actor.', + type: "string", + description: "The unique identifier of the actor.", }, did: { - type: 'string', - description: 'The DID of the actor.', + type: "string", + description: "The DID of the actor.", }, handle: { - type: 'string', - description: 'The handle of the actor.', + type: "string", + description: "The handle of the actor.", }, displayName: { - type: 'string', - description: 'The display name of the actor.', + type: "string", + description: "The display name of the actor.", }, avatar: { - type: 'string', + type: "string", description: "The URL of the actor's avatar image.", - format: 'uri', + format: "uri", }, createdAt: { - type: 'string', - description: 'The date and time when the actor was created.', - format: 'datetime', + type: "string", + description: "The date and time when the actor was created.", + format: "datetime", }, updatedAt: { - type: 'string', - description: 'The date and time when the actor was last updated.', - format: 'datetime', + type: "string", + description: "The date and time when the actor was last updated.", + format: "datetime", }, }, }, profileViewBasic: { - type: 'object', + type: "object", properties: { id: { - type: 'string', - description: 'The unique identifier of the actor.', + type: "string", + description: "The unique identifier of the actor.", }, did: { - type: 'string', - description: 'The DID of the actor.', + type: "string", + description: "The DID of the actor.", }, handle: { - type: 'string', - description: 'The handle of the actor.', + type: "string", + description: "The handle of the actor.", }, displayName: { - type: 'string', - description: 'The display name of the actor.', + type: "string", + description: "The display name of the actor.", }, avatar: { - type: 'string', + type: "string", description: "The URL of the actor's avatar image.", - format: 'uri', + format: "uri", }, createdAt: { - type: 'string', - description: 'The date and time when the actor was created.', - format: 'datetime', + type: "string", + description: "The date and time when the actor was created.", + format: "datetime", }, updatedAt: { - type: 'string', - description: 'The date and time when the actor was last updated.', - format: 'datetime', + type: "string", + description: "The date and time when the actor was last updated.", + format: "datetime", }, }, }, @@ -84,42 +84,42 @@ export const schemaDict = { }, AppRockskyActorGetActorAlbums: { lexicon: 1, - id: 'app.rocksky.actor.getActorAlbums', + id: "app.rocksky.actor.getActorAlbums", defs: { main: { - type: 'query', - description: 'Get albums for an actor', + type: "query", + description: "Get albums for an actor", parameters: { - type: 'params', - required: ['did'], + type: "params", + required: ["did"], properties: { did: { - type: 'string', - description: 'The DID or handle of the actor', - format: 'at-identifier', + type: "string", + description: "The DID or handle of the actor", + format: "at-identifier", }, limit: { - type: 'integer', - description: 'The maximum number of albums to return', + type: "integer", + description: "The maximum number of albums to return", minimum: 1, }, offset: { - type: 'integer', - description: 'The offset for pagination', + type: "integer", + description: "The offset for pagination", minimum: 0, }, }, }, output: { - encoding: 'application/json', + encoding: "application/json", schema: { - type: 'object', + type: "object", properties: { albums: { - type: 'array', + type: "array", items: { - type: 'ref', - ref: 'lex:app.rocksky.album.defs#albumViewBasic', + type: "ref", + ref: "lex:app.rocksky.album.defs#albumViewBasic", }, }, }, @@ -130,42 +130,42 @@ export const schemaDict = { }, AppRockskyActorGetActorArtists: { lexicon: 1, - id: 'app.rocksky.actor.getActorArtists', + id: "app.rocksky.actor.getActorArtists", defs: { main: { - type: 'query', - description: 'Get artists for an actor', + type: "query", + description: "Get artists for an actor", parameters: { - type: 'params', - required: ['did'], + type: "params", + required: ["did"], properties: { did: { - type: 'string', - description: 'The DID or handle of the actor', - format: 'at-identifier', + type: "string", + description: "The DID or handle of the actor", + format: "at-identifier", }, limit: { - type: 'integer', - description: 'The maximum number of albums to return', + type: "integer", + description: "The maximum number of albums to return", minimum: 1, }, offset: { - type: 'integer', - description: 'The offset for pagination', + type: "integer", + description: "The offset for pagination", minimum: 0, }, }, }, output: { - encoding: 'application/json', + encoding: "application/json", schema: { - type: 'object', + type: "object", properties: { artists: { - type: 'array', + type: "array", items: { - type: 'ref', - ref: 'lex:app.rocksky.artist.defs#artistViewBasic', + type: "ref", + ref: "lex:app.rocksky.artist.defs#artistViewBasic", }, }, }, @@ -176,42 +176,42 @@ export const schemaDict = { }, AppRockskyActorGetActorLovedSongs: { lexicon: 1, - id: 'app.rocksky.actor.getActorLovedSongs', + id: "app.rocksky.actor.getActorLovedSongs", defs: { main: { - type: 'query', - description: 'Get loved songs for an actor', + type: "query", + description: "Get loved songs for an actor", parameters: { - type: 'params', - required: ['did'], + type: "params", + required: ["did"], properties: { did: { - type: 'string', - description: 'The DID or handle of the actor', - format: 'at-identifier', + type: "string", + description: "The DID or handle of the actor", + format: "at-identifier", }, limit: { - type: 'integer', - description: 'The maximum number of albums to return', + type: "integer", + description: "The maximum number of albums to return", minimum: 1, }, offset: { - type: 'integer', - description: 'The offset for pagination', + type: "integer", + description: "The offset for pagination", minimum: 0, }, }, }, output: { - encoding: 'application/json', + encoding: "application/json", schema: { - type: 'object', + type: "object", properties: { tracks: { - type: 'array', + type: "array", items: { - type: 'ref', - ref: 'lex:app.rocksky.song.defs#songViewBasic', + type: "ref", + ref: "lex:app.rocksky.song.defs#songViewBasic", }, }, }, @@ -222,42 +222,42 @@ export const schemaDict = { }, AppRockskyActorGetActorPlaylists: { lexicon: 1, - id: 'app.rocksky.actor.getActorPlaylists', + id: "app.rocksky.actor.getActorPlaylists", defs: { main: { - type: 'query', - description: 'Get playlists for an actor', + type: "query", + description: "Get playlists for an actor", parameters: { - type: 'params', - required: ['did'], + type: "params", + required: ["did"], properties: { did: { - type: 'string', - description: 'The DID or handle of the actor', - format: 'at-identifier', + type: "string", + description: "The DID or handle of the actor", + format: "at-identifier", }, limit: { - type: 'integer', - description: 'The maximum number of albums to return', + type: "integer", + description: "The maximum number of albums to return", minimum: 1, }, offset: { - type: 'integer', - description: 'The offset for pagination', + type: "integer", + description: "The offset for pagination", minimum: 0, }, }, }, output: { - encoding: 'application/json', + encoding: "application/json", schema: { - type: 'object', + type: "object", properties: { playlists: { - type: 'array', + type: "array", items: { - type: 'ref', - ref: 'lex:app.rocksky.playlist.defs#playlistViewBasic', + type: "ref", + ref: "lex:app.rocksky.playlist.defs#playlistViewBasic", }, }, }, @@ -268,42 +268,42 @@ export const schemaDict = { }, AppRockskyActorGetActorScrobbles: { lexicon: 1, - id: 'app.rocksky.actor.getActorScrobbles', + id: "app.rocksky.actor.getActorScrobbles", defs: { main: { - type: 'query', - description: 'Get scrobbles for an actor', + type: "query", + description: "Get scrobbles for an actor", parameters: { - type: 'params', - required: ['did'], + type: "params", + required: ["did"], properties: { did: { - type: 'string', - description: 'The DID or handle of the actor', - format: 'at-identifier', + type: "string", + description: "The DID or handle of the actor", + format: "at-identifier", }, limit: { - type: 'integer', - description: 'The maximum number of albums to return', + type: "integer", + description: "The maximum number of albums to return", minimum: 1, }, offset: { - type: 'integer', - description: 'The offset for pagination', + type: "integer", + description: "The offset for pagination", minimum: 0, }, }, }, output: { - encoding: 'application/json', + encoding: "application/json", schema: { - type: 'object', + type: "object", properties: { scrobbles: { - type: 'array', + type: "array", items: { - type: 'ref', - ref: 'lex:app.rocksky.scrobble.defs#scrobbleViewBasic', + type: "ref", + ref: "lex:app.rocksky.scrobble.defs#scrobbleViewBasic", }, }, }, @@ -314,42 +314,42 @@ export const schemaDict = { }, AppRockskyActorGetActorSongs: { lexicon: 1, - id: 'app.rocksky.actor.getActorSongs', + id: "app.rocksky.actor.getActorSongs", defs: { main: { - type: 'query', - description: 'Get songs for an actor', + type: "query", + description: "Get songs for an actor", parameters: { - type: 'params', - required: ['did'], + type: "params", + required: ["did"], properties: { did: { - type: 'string', - description: 'The DID or handle of the actor', - format: 'at-identifier', + type: "string", + description: "The DID or handle of the actor", + format: "at-identifier", }, limit: { - type: 'integer', - description: 'The maximum number of albums to return', + type: "integer", + description: "The maximum number of albums to return", minimum: 1, }, offset: { - type: 'integer', - description: 'The offset for pagination', + type: "integer", + description: "The offset for pagination", minimum: 0, }, }, }, output: { - encoding: 'application/json', + encoding: "application/json", schema: { - type: 'object', + type: "object", properties: { songs: { - type: 'array', + type: "array", items: { - type: 'ref', - ref: 'lex:app.rocksky.song.defs#songViewBasic', + type: "ref", + ref: "lex:app.rocksky.song.defs#songViewBasic", }, }, }, @@ -360,26 +360,26 @@ export const schemaDict = { }, AppRockskyActorGetProfile: { lexicon: 1, - id: 'app.rocksky.actor.getProfile', + id: "app.rocksky.actor.getProfile", defs: { main: { - type: 'query', - description: 'Get the profile of an actor', + type: "query", + description: "Get the profile of an actor", parameters: { - type: 'params', + type: "params", properties: { did: { - type: 'string', - description: 'The DID or handle of the actor', - format: 'at-identifier', + type: "string", + description: "The DID or handle of the actor", + format: "at-identifier", }, }, }, output: { - encoding: 'application/json', + encoding: "application/json", schema: { - type: 'ref', - ref: 'lex:app.rocksky.actor.defs#profileViewDetailed', + type: "ref", + ref: "lex:app.rocksky.actor.defs#profileViewDetailed", }, }, }, @@ -387,53 +387,53 @@ export const schemaDict = { }, AppBskyActorProfile: { lexicon: 1, - id: 'app.bsky.actor.profile', + id: "app.bsky.actor.profile", defs: { main: { - type: 'record', - description: 'A declaration of a Bluesky account profile.', - key: 'literal:self', + type: "record", + description: "A declaration of a Bluesky account profile.", + key: "literal:self", record: { - type: 'object', + type: "object", properties: { displayName: { - type: 'string', + type: "string", maxGraphemes: 64, maxLength: 640, }, description: { - type: 'string', - description: 'Free-form profile description text.', + type: "string", + description: "Free-form profile description text.", maxGraphemes: 256, maxLength: 2560, }, avatar: { - type: 'blob', + type: "blob", description: "Small image to be displayed next to posts from account. AKA, 'profile picture'", - accept: ['image/png', 'image/jpeg'], + accept: ["image/png", "image/jpeg"], maxSize: 1000000, }, banner: { - type: 'blob', + type: "blob", description: - 'Larger horizontal image to display behind profile view.', - accept: ['image/png', 'image/jpeg'], + "Larger horizontal image to display behind profile view.", + accept: ["image/png", "image/jpeg"], maxSize: 10000000, }, labels: { - type: 'union', + type: "union", description: - 'Self-label values, specific to the Bluesky application, on the overall account.', - refs: ['lex:com.atproto.label.defs#selfLabels'], + "Self-label values, specific to the Bluesky application, on the overall account.", + refs: ["lex:com.atproto.label.defs#selfLabels"], }, joinedViaStarterPack: { - type: 'ref', - ref: 'lex:com.atproto.repo.strongRef', + type: "ref", + ref: "lex:com.atproto.repo.strongRef", }, createdAt: { - type: 'string', - format: 'datetime', + type: "string", + format: "datetime", }, }, }, @@ -442,85 +442,90 @@ export const schemaDict = { }, AppRockskyAlbum: { lexicon: 1, - id: 'app.rocksky.album', + id: "app.rocksky.album", defs: { main: { - type: 'record', - description: 'A declaration of an album.', - key: 'tid', + type: "record", + description: "A declaration of an album.", + key: "tid", record: { - type: 'object', - required: ['title', 'artist', 'createdAt'], + type: "object", + required: ["title", "artist", "createdAt"], properties: { title: { - type: 'string', - description: 'The title of the album.', + type: "string", + description: "The title of the album.", minLength: 1, maxLength: 512, }, artist: { - type: 'string', - description: 'The artist of the album.', + type: "string", + description: "The artist of the album.", minLength: 1, maxLength: 256, }, duration: { - type: 'integer', - description: 'The duration of the album in seconds.', + type: "integer", + description: "The duration of the album in seconds.", }, releaseDate: { - type: 'string', - description: 'The release date of the album.', - format: 'datetime', + type: "string", + description: "The release date of the album.", + format: "datetime", }, year: { - type: 'integer', - description: 'The year the album was released.', + type: "integer", + description: "The year the album was released.", }, genre: { - type: 'string', - description: 'The genre of the album.', + type: "string", + description: "The genre of the album.", maxLength: 256, }, albumArt: { - type: 'blob', - description: 'The album art of the album.', - accept: ['image/png', 'image/jpeg'], + type: "blob", + description: "The album art of the album.", + accept: ["image/png", "image/jpeg"], maxSize: 2000000, }, + albumArtUrl: { + type: "string", + description: "The URL of the album art of the album.", + format: "uri", + }, tags: { - type: 'array', - description: 'The tags of the album.', + type: "array", + description: "The tags of the album.", items: { - type: 'string', + type: "string", minLength: 1, maxLength: 256, }, }, youtubeLink: { - type: 'string', - description: 'The YouTube link of the album.', - format: 'uri', + type: "string", + description: "The YouTube link of the album.", + format: "uri", }, spotifyLink: { - type: 'string', - description: 'The Spotify link of the album.', - format: 'uri', + type: "string", + description: "The Spotify link of the album.", + format: "uri", }, tidalLink: { - type: 'string', - description: 'The tidal link of the album.', - format: 'uri', + type: "string", + description: "The tidal link of the album.", + format: "uri", }, appleMusicLink: { - type: 'string', - description: 'The Apple Music link of the album.', - format: 'uri', + type: "string", + description: "The Apple Music link of the album.", + format: "uri", }, createdAt: { - type: 'string', - description: 'The date and time when the album was created.', - format: 'datetime', + type: "string", + description: "The date and time when the album was created.", + format: "datetime", }, }, }, @@ -529,121 +534,121 @@ export const schemaDict = { }, AppRockskyAlbumDefs: { lexicon: 1, - id: 'app.rocksky.album.defs', + id: "app.rocksky.album.defs", defs: { albumViewBasic: { - type: 'object', + type: "object", properties: { id: { - type: 'string', - description: 'The unique identifier of the album.', + type: "string", + description: "The unique identifier of the album.", }, uri: { - type: 'string', - description: 'The URI of the album.', - format: 'at-uri', + type: "string", + description: "The URI of the album.", + format: "at-uri", }, title: { - type: 'string', - description: 'The title of the album.', + type: "string", + description: "The title of the album.", }, artist: { - type: 'string', - description: 'The artist of the album.', + type: "string", + description: "The artist of the album.", }, artistUri: { - type: 'string', + type: "string", description: "The URI of the album's artist.", - format: 'at-uri', + format: "at-uri", }, year: { - type: 'integer', - description: 'The year the album was released.', + type: "integer", + description: "The year the album was released.", }, albumArt: { - type: 'string', - description: 'The URL of the album art image.', - format: 'uri', + type: "string", + description: "The URL of the album art image.", + format: "uri", }, releaseDate: { - type: 'string', - description: 'The release date of the album.', + type: "string", + description: "The release date of the album.", }, sha256: { - type: 'string', - description: 'The SHA256 hash of the album.', + type: "string", + description: "The SHA256 hash of the album.", }, playCount: { - type: 'integer', - description: 'The number of times the album has been played.', + type: "integer", + description: "The number of times the album has been played.", minimum: 0, }, uniqueListeners: { - type: 'integer', + type: "integer", description: - 'The number of unique listeners who have played the album.', + "The number of unique listeners who have played the album.", minimum: 0, }, }, }, albumViewDetailed: { - type: 'object', + type: "object", properties: { id: { - type: 'string', - description: 'The unique identifier of the album.', + type: "string", + description: "The unique identifier of the album.", }, uri: { - type: 'string', - description: 'The URI of the album.', - format: 'at-uri', + type: "string", + description: "The URI of the album.", + format: "at-uri", }, title: { - type: 'string', - description: 'The title of the album.', + type: "string", + description: "The title of the album.", }, artist: { - type: 'string', - description: 'The artist of the album.', + type: "string", + description: "The artist of the album.", }, artistUri: { - type: 'string', + type: "string", description: "The URI of the album's artist.", - format: 'at-uri', + format: "at-uri", }, year: { - type: 'integer', - description: 'The year the album was released.', + type: "integer", + description: "The year the album was released.", }, albumArt: { - type: 'string', - description: 'The URL of the album art image.', - format: 'uri', + type: "string", + description: "The URL of the album art image.", + format: "uri", }, releaseDate: { - type: 'string', - description: 'The release date of the album.', + type: "string", + description: "The release date of the album.", }, sha256: { - type: 'string', - description: 'The SHA256 hash of the album.', + type: "string", + description: "The SHA256 hash of the album.", }, playCount: { - type: 'integer', - description: 'The number of times the album has been played.', + type: "integer", + description: "The number of times the album has been played.", minimum: 0, }, uniqueListeners: { - type: 'integer', + type: "integer", description: - 'The number of unique listeners who have played the album.', + "The number of unique listeners who have played the album.", minimum: 0, }, tracks: { - type: 'array', + type: "array", items: { - type: 'ref', - ref: 'lex:app.rocksky.song.defs.songViewBasic', + type: "ref", + ref: "lex:app.rocksky.song.defs.songViewBasic", }, }, }, @@ -652,27 +657,27 @@ export const schemaDict = { }, AppRockskyAlbumGetAlbum: { lexicon: 1, - id: 'app.rocksky.album.getAlbum', + id: "app.rocksky.album.getAlbum", defs: { main: { - type: 'query', - description: 'Get detailed album view', + type: "query", + description: "Get detailed album view", parameters: { - type: 'params', - required: ['uri'], + type: "params", + required: ["uri"], properties: { uri: { - type: 'string', - description: 'The URI of the album to retrieve.', - format: 'at-uri', + type: "string", + description: "The URI of the album to retrieve.", + format: "at-uri", }, }, }, output: { - encoding: 'application/json', + encoding: "application/json", schema: { - type: 'ref', - ref: 'lex:app.rocksky.album.defs#albumViewDetailed', + type: "ref", + ref: "lex:app.rocksky.album.defs#albumViewDetailed", }, }, }, @@ -680,36 +685,36 @@ export const schemaDict = { }, AppRockskyAlbumGetAlbums: { lexicon: 1, - id: 'app.rocksky.album.getAlbums', + id: "app.rocksky.album.getAlbums", defs: { main: { - type: 'query', - description: 'Get albums', + type: "query", + description: "Get albums", parameters: { - type: 'params', + type: "params", properties: { limit: { - type: 'integer', - description: 'The maximum number of albums to return', + type: "integer", + description: "The maximum number of albums to return", minimum: 1, }, offset: { - type: 'integer', - description: 'The offset for pagination', + type: "integer", + description: "The offset for pagination", minimum: 0, }, }, }, output: { - encoding: 'application/json', + encoding: "application/json", schema: { - type: 'object', + type: "object", properties: { albums: { - type: 'array', + type: "array", items: { - type: 'ref', - ref: 'lex:app.rocksky.album.defs#albumViewBasic', + type: "ref", + ref: "lex:app.rocksky.album.defs#albumViewBasic", }, }, }, @@ -720,32 +725,32 @@ export const schemaDict = { }, AppRockskyAlbumGetAlbumTracks: { lexicon: 1, - id: 'app.rocksky.album.getAlbumTracks', + id: "app.rocksky.album.getAlbumTracks", defs: { main: { - type: 'query', - description: 'Get tracks for an album', + type: "query", + description: "Get tracks for an album", parameters: { - type: 'params', - required: ['uri'], + type: "params", + required: ["uri"], properties: { uri: { - type: 'string', - description: 'The URI of the album to retrieve tracks from', - format: 'at-uri', + type: "string", + description: "The URI of the album to retrieve tracks from", + format: "at-uri", }, }, }, output: { - encoding: 'application/json', + encoding: "application/json", schema: { - type: 'object', + type: "object", properties: { tracks: { - type: 'array', + type: "array", items: { - type: 'ref', - ref: 'lex:app.rocksky.song.defs#songViewBasic', + type: "ref", + ref: "lex:app.rocksky.song.defs#songViewBasic", }, }, }, @@ -756,33 +761,33 @@ export const schemaDict = { }, AppRockskyApikeyCreateApikey: { lexicon: 1, - id: 'app.rocksky.apikey.createApikey', + id: "app.rocksky.apikey.createApikey", defs: { main: { - type: 'procedure', - description: 'Create a new API key for the authenticated user', + type: "procedure", + description: "Create a new API key for the authenticated user", input: { - encoding: 'application/json', + encoding: "application/json", schema: { - type: 'object', - required: ['name'], + type: "object", + required: ["name"], properties: { name: { - type: 'string', - description: 'The name of the API key.', + type: "string", + description: "The name of the API key.", }, description: { - type: 'string', - description: 'A description for the API key.', + type: "string", + description: "A description for the API key.", }, }, }, }, output: { - encoding: 'application/json', + encoding: "application/json", schema: { - type: 'ref', - ref: 'lex:app.rocksky.apikey.defs#apiKey', + type: "ref", + ref: "lex:app.rocksky.apikey.defs#apiKey", }, }, }, @@ -790,27 +795,27 @@ export const schemaDict = { }, AppRockskyApikeyDefs: { lexicon: 1, - id: 'app.rocksky.apikey.defs', + id: "app.rocksky.apikey.defs", defs: { apiKeyView: { - type: 'object', + type: "object", properties: { id: { - type: 'string', - description: 'The unique identifier of the API key.', + type: "string", + description: "The unique identifier of the API key.", }, name: { - type: 'string', - description: 'The name of the API key.', + type: "string", + description: "The name of the API key.", }, description: { - type: 'string', - description: 'A description for the API key.', + type: "string", + description: "A description for the API key.", }, createdAt: { - type: 'string', - description: 'The date and time when the API key was created.', - format: 'datetime', + type: "string", + description: "The date and time when the API key was created.", + format: "datetime", }, }, }, @@ -818,40 +823,40 @@ export const schemaDict = { }, AppRockskyApikeysDefs: { lexicon: 1, - id: 'app.rocksky.apikeys.defs', + id: "app.rocksky.apikeys.defs", defs: {}, }, AppRockskyApikeyGetApikeys: { lexicon: 1, - id: 'app.rocksky.apikey.getApikeys', + id: "app.rocksky.apikey.getApikeys", defs: { main: { - type: 'query', - description: 'Get a list of API keys for the authenticated user', + type: "query", + description: "Get a list of API keys for the authenticated user", parameters: { - type: 'params', + type: "params", properties: { offset: { - type: 'integer', + type: "integer", description: - 'The number of API keys to skip before starting to collect the result set.', + "The number of API keys to skip before starting to collect the result set.", }, limit: { - type: 'integer', - description: 'The number of API keys to return per page.', + type: "integer", + description: "The number of API keys to return per page.", }, }, }, output: { - encoding: 'application/json', + encoding: "application/json", schema: { - type: 'object', + type: "object", properties: { apiKeys: { - type: 'array', + type: "array", items: { - type: 'ref', - ref: 'lex:app.rocksky.apikey.defs#apikeyView', + type: "ref", + ref: "lex:app.rocksky.apikey.defs#apikeyView", }, }, }, @@ -862,26 +867,26 @@ export const schemaDict = { }, AppRockskyApikeyRemoveApikey: { lexicon: 1, - id: 'app.rocksky.apikey.removeApikey', + id: "app.rocksky.apikey.removeApikey", defs: { main: { - type: 'procedure', - description: 'Remove an API key for the authenticated user', + type: "procedure", + description: "Remove an API key for the authenticated user", parameters: { - type: 'params', - required: ['id'], + type: "params", + required: ["id"], properties: { id: { - type: 'string', - description: 'The ID of the API key to remove.', + type: "string", + description: "The ID of the API key to remove.", }, }, }, output: { - encoding: 'application/json', + encoding: "application/json", schema: { - type: 'ref', - ref: 'lex:app.rocksky.apikey.defs#apiKey', + type: "ref", + ref: "lex:app.rocksky.apikey.defs#apiKey", }, }, }, @@ -889,37 +894,37 @@ export const schemaDict = { }, AppRockskyApikeyUpdateApikey: { lexicon: 1, - id: 'app.rocksky.apikey.updateApikey', + id: "app.rocksky.apikey.updateApikey", defs: { main: { - type: 'procedure', - description: 'Update an existing API key for the authenticated user', + type: "procedure", + description: "Update an existing API key for the authenticated user", input: { - encoding: 'application/json', + encoding: "application/json", schema: { - type: 'object', - required: ['id', 'name'], + type: "object", + required: ["id", "name"], properties: { id: { - type: 'string', - description: 'The ID of the API key to update.', + type: "string", + description: "The ID of the API key to update.", }, name: { - type: 'string', - description: 'The new name of the API key.', + type: "string", + description: "The new name of the API key.", }, description: { - type: 'string', - description: 'A new description for the API key.', + type: "string", + description: "A new description for the API key.", }, }, }, }, output: { - encoding: 'application/json', + encoding: "application/json", schema: { - type: 'ref', - ref: 'lex:app.rocksky.apikey.defs#apiKey', + type: "ref", + ref: "lex:app.rocksky.apikey.defs#apiKey", }, }, }, @@ -927,61 +932,66 @@ export const schemaDict = { }, AppRockskyArtist: { lexicon: 1, - id: 'app.rocksky.artist', + id: "app.rocksky.artist", defs: { main: { - type: 'record', - description: 'A declaration of an artist.', - key: 'tid', + type: "record", + description: "A declaration of an artist.", + key: "tid", record: { - type: 'object', - required: ['name', 'createdAt'], + type: "object", + required: ["name", "createdAt"], properties: { name: { - type: 'string', - description: 'The name of the artist.', + type: "string", + description: "The name of the artist.", minLength: 1, maxLength: 512, }, bio: { - type: 'string', - description: 'The biography of the artist.', + type: "string", + description: "The biography of the artist.", maxLength: 1000, }, picture: { - type: 'blob', - description: 'The picture of the artist.', - accept: ['image/png', 'image/jpeg'], + type: "blob", + description: "The picture of the artist.", + accept: ["image/png", "image/jpeg"], maxSize: 2000000, }, + pictureUrl: { + type: "string", + description: "The URL of the picture of the artist.", + format: "uri", + }, tags: { - type: 'array', - description: 'The tags of the artist.', + type: "array", + description: "The tags of the artist.", items: { - type: 'string', + type: "string", minLength: 1, maxLength: 256, }, }, born: { - type: 'string', - description: 'The birth date of the artist.', - format: 'datetime', + type: "string", + description: "The birth date of the artist.", + format: "datetime", }, died: { - type: 'string', - description: 'The death date of the artist.', - format: 'datetime', + type: "string", + description: "The death date of the artist.", + format: "datetime", }, bornIn: { - type: 'string', - description: 'The birth place of the artist.', + type: "string", + description: "The birth place of the artist.", maxLength: 256, }, createdAt: { - type: 'string', - description: 'The date when the artist was created.', - format: 'datetime', + type: "string", + description: "The date when the artist was created.", + format: "datetime", }, }, }, @@ -990,138 +1000,138 @@ export const schemaDict = { }, AppRockskyArtistDefs: { lexicon: 1, - id: 'app.rocksky.artist.defs', + id: "app.rocksky.artist.defs", defs: { artistViewBasic: { - type: 'object', + type: "object", properties: { id: { - type: 'string', - description: 'The unique identifier of the artist.', + type: "string", + description: "The unique identifier of the artist.", }, uri: { - type: 'string', - description: 'The URI of the artist.', - format: 'at-uri', + type: "string", + description: "The URI of the artist.", + format: "at-uri", }, name: { - type: 'string', - description: 'The name of the artist.', + type: "string", + description: "The name of the artist.", }, picture: { - type: 'string', - description: 'The picture of the artist.', + type: "string", + description: "The picture of the artist.", }, sha256: { - type: 'string', - description: 'The SHA256 hash of the artist.', + type: "string", + description: "The SHA256 hash of the artist.", }, playCount: { - type: 'integer', - description: 'The number of times the artist has been played.', + type: "integer", + description: "The number of times the artist has been played.", minimum: 0, }, uniqueListeners: { - type: 'integer', + type: "integer", description: - 'The number of unique listeners who have played the artist.', + "The number of unique listeners who have played the artist.", minimum: 0, }, }, }, artistViewDetailed: { - type: 'object', + type: "object", properties: { id: { - type: 'string', - description: 'The unique identifier of the artist.', + type: "string", + description: "The unique identifier of the artist.", }, uri: { - type: 'string', - description: 'The URI of the artist.', - format: 'at-uri', + type: "string", + description: "The URI of the artist.", + format: "at-uri", }, name: { - type: 'string', - description: 'The name of the artist.', + type: "string", + description: "The name of the artist.", }, picture: { - type: 'string', - description: 'The picture of the artist.', + type: "string", + description: "The picture of the artist.", }, sha256: { - type: 'string', - description: 'The SHA256 hash of the artist.', + type: "string", + description: "The SHA256 hash of the artist.", }, playCount: { - type: 'integer', - description: 'The number of times the artist has been played.', + type: "integer", + description: "The number of times the artist has been played.", minimum: 0, }, uniqueListeners: { - type: 'integer', + type: "integer", description: - 'The number of unique listeners who have played the artist.', + "The number of unique listeners who have played the artist.", minimum: 0, }, }, }, songViewBasic: { - type: 'object', + type: "object", properties: { uri: { - type: 'string', - description: 'The URI of the song.', - format: 'at-uri', + type: "string", + description: "The URI of the song.", + format: "at-uri", }, title: { - type: 'string', - description: 'The title of the song.', + type: "string", + description: "The title of the song.", }, playCount: { - type: 'integer', - description: 'The number of times the song has been played.', + type: "integer", + description: "The number of times the song has been played.", minimum: 0, }, }, }, listenerViewBasic: { - type: 'object', + type: "object", properties: { id: { - type: 'string', - description: 'The unique identifier of the actor.', + type: "string", + description: "The unique identifier of the actor.", }, did: { - type: 'string', - description: 'The DID of the listener.', + type: "string", + description: "The DID of the listener.", }, handle: { - type: 'string', - description: 'The handle of the listener.', + type: "string", + description: "The handle of the listener.", }, displayName: { - type: 'string', - description: 'The display name of the listener.', + type: "string", + description: "The display name of the listener.", }, avatar: { - type: 'string', + type: "string", description: "The URL of the listener's avatar image.", - format: 'uri', + format: "uri", }, mostListenedSong: { - type: 'ref', - ref: 'lex:app.rocksky.artist.defs#songViewBasic', + type: "ref", + ref: "lex:app.rocksky.artist.defs#songViewBasic", }, totalPlays: { - type: 'integer', - description: 'The total number of plays by the listener.', + type: "integer", + description: "The total number of plays by the listener.", minimum: 0, }, rank: { - type: 'integer', + type: "integer", description: - 'The rank of the listener among all listeners of the artist.', + "The rank of the listener among all listeners of the artist.", minimum: 1, }, }, @@ -1130,32 +1140,32 @@ export const schemaDict = { }, AppRockskyArtistGetArtistAlbums: { lexicon: 1, - id: 'app.rocksky.artist.getArtistAlbums', + id: "app.rocksky.artist.getArtistAlbums", defs: { main: { - type: 'query', + type: "query", description: "Get artist's albums", parameters: { - type: 'params', - required: ['uri'], + type: "params", + required: ["uri"], properties: { uri: { - type: 'string', - description: 'The URI of the artist to retrieve albums from', - format: 'at-uri', + type: "string", + description: "The URI of the artist to retrieve albums from", + format: "at-uri", }, }, }, output: { - encoding: 'application/json', + encoding: "application/json", schema: { - type: 'object', + type: "object", properties: { albums: { - type: 'array', + type: "array", items: { - type: 'ref', - ref: 'lex:app.rocksky.album.defs#albumViewBasic', + type: "ref", + ref: "lex:app.rocksky.album.defs#albumViewBasic", }, }, }, @@ -1166,27 +1176,27 @@ export const schemaDict = { }, AppRockskyArtistGetArtist: { lexicon: 1, - id: 'app.rocksky.artist.getArtist', + id: "app.rocksky.artist.getArtist", defs: { main: { - type: 'query', - description: 'Get artist details', + type: "query", + description: "Get artist details", parameters: { - type: 'params', - required: ['uri'], + type: "params", + required: ["uri"], properties: { uri: { - type: 'string', - description: 'The URI of the artist to retrieve details from', - format: 'at-uri', + type: "string", + description: "The URI of the artist to retrieve details from", + format: "at-uri", }, }, }, output: { - encoding: 'application/json', + encoding: "application/json", schema: { - type: 'ref', - ref: 'lex:app.rocksky.artist.defs#artistViewDetailed', + type: "ref", + ref: "lex:app.rocksky.artist.defs#artistViewDetailed", }, }, }, @@ -1194,40 +1204,40 @@ export const schemaDict = { }, AppRockskyArtistGetArtistListeners: { lexicon: 1, - id: 'app.rocksky.artist.getArtistListeners', + id: "app.rocksky.artist.getArtistListeners", defs: { main: { - type: 'query', - description: 'Get artist listeners', + type: "query", + description: "Get artist listeners", parameters: { - type: 'params', - required: ['uri'], + type: "params", + required: ["uri"], properties: { uri: { - type: 'string', - description: 'The URI of the artist to retrieve listeners from', - format: 'at-uri', + type: "string", + description: "The URI of the artist to retrieve listeners from", + format: "at-uri", }, offset: { - type: 'integer', - description: 'Number of items to skip before returning results', + type: "integer", + description: "Number of items to skip before returning results", }, limit: { - type: 'integer', - description: 'Maximum number of results to return', + type: "integer", + description: "Maximum number of results to return", }, }, }, output: { - encoding: 'application/json', + encoding: "application/json", schema: { - type: 'object', + type: "object", properties: { listeners: { - type: 'array', + type: "array", items: { - type: 'ref', - ref: 'lex:app.rocksky.artist.defs#listenerViewBasic', + type: "ref", + ref: "lex:app.rocksky.artist.defs#listenerViewBasic", }, }, }, @@ -1238,36 +1248,36 @@ export const schemaDict = { }, AppRockskyArtistGetArtists: { lexicon: 1, - id: 'app.rocksky.artist.getArtists', + id: "app.rocksky.artist.getArtists", defs: { main: { - type: 'query', - description: 'Get artists', + type: "query", + description: "Get artists", parameters: { - type: 'params', + type: "params", properties: { limit: { - type: 'integer', - description: 'The maximum number of artists to return', + type: "integer", + description: "The maximum number of artists to return", minimum: 1, }, offset: { - type: 'integer', - description: 'The offset for pagination', + type: "integer", + description: "The offset for pagination", minimum: 0, }, }, }, output: { - encoding: 'application/json', + encoding: "application/json", schema: { - type: 'object', + type: "object", properties: { artists: { - type: 'array', + type: "array", items: { - type: 'ref', - ref: 'lex:app.rocksky.artist.defs#artistViewBasic', + type: "ref", + ref: "lex:app.rocksky.artist.defs#artistViewBasic", }, }, }, @@ -1278,41 +1288,41 @@ export const schemaDict = { }, AppRockskyArtistGetArtistTracks: { lexicon: 1, - id: 'app.rocksky.artist.getArtistTracks', + id: "app.rocksky.artist.getArtistTracks", defs: { main: { - type: 'query', + type: "query", description: "Get artist's tracks", parameters: { - type: 'params', + type: "params", properties: { uri: { - type: 'string', - description: 'The URI of the artist to retrieve albums from', - format: 'at-uri', + type: "string", + description: "The URI of the artist to retrieve albums from", + format: "at-uri", }, limit: { - type: 'integer', - description: 'The maximum number of tracks to return', + type: "integer", + description: "The maximum number of tracks to return", minimum: 1, }, offset: { - type: 'integer', - description: 'The offset for pagination', + type: "integer", + description: "The offset for pagination", minimum: 0, }, }, }, output: { - encoding: 'application/json', + encoding: "application/json", schema: { - type: 'object', + type: "object", properties: { tracks: { - type: 'array', + type: "array", items: { - type: 'ref', - ref: 'lex:app.rocksky.song.defs#songViewBasic', + type: "ref", + ref: "lex:app.rocksky.song.defs#songViewBasic", }, }, }, @@ -1323,31 +1333,31 @@ export const schemaDict = { }, AppRockskyChartsDefs: { lexicon: 1, - id: 'app.rocksky.charts.defs', + id: "app.rocksky.charts.defs", defs: { chartsView: { - type: 'object', + type: "object", properties: { scrobbles: { - type: 'array', + type: "array", items: { - type: 'ref', - ref: 'lex:app.rocksky.charts.defs#scrobbleViewBasic', + type: "ref", + ref: "lex:app.rocksky.charts.defs#scrobbleViewBasic", }, }, }, }, scrobbleViewBasic: { - type: 'object', + type: "object", properties: { date: { - type: 'string', - description: 'The date of the scrobble.', - format: 'datetime', + type: "string", + description: "The date of the scrobble.", + format: "datetime", }, count: { - type: 'integer', - description: 'The number of scrobbles on this date.', + type: "integer", + description: "The number of scrobbles on this date.", }, }, }, @@ -1355,41 +1365,41 @@ export const schemaDict = { }, AppRockskyChartsGetScrobblesChart: { lexicon: 1, - id: 'app.rocksky.charts.getScrobblesChart', + id: "app.rocksky.charts.getScrobblesChart", defs: { main: { - type: 'query', - description: 'Get the scrobbles chart', + type: "query", + description: "Get the scrobbles chart", parameters: { - type: 'params', + type: "params", properties: { did: { - type: 'string', - description: 'The DID or handle of the actor', - format: 'at-identifier', + type: "string", + description: "The DID or handle of the actor", + format: "at-identifier", }, artisturi: { - type: 'string', - description: 'The URI of the artist to filter by', - format: 'at-uri', + type: "string", + description: "The URI of the artist to filter by", + format: "at-uri", }, albumuri: { - type: 'string', - description: 'The URI of the album to filter by', - format: 'at-uri', + type: "string", + description: "The URI of the album to filter by", + format: "at-uri", }, songuri: { - type: 'string', - description: 'The URI of the track to filter by', - format: 'at-uri', + type: "string", + description: "The URI of the track to filter by", + format: "at-uri", }, }, }, output: { - encoding: 'application/json', + encoding: "application/json", schema: { - type: 'ref', - ref: 'lex:app.rocksky.charts.defs#chartsView', + type: "ref", + ref: "lex:app.rocksky.charts.defs#chartsView", }, }, }, @@ -1397,61 +1407,61 @@ export const schemaDict = { }, AppRockskyDropboxDefs: { lexicon: 1, - id: 'app.rocksky.dropbox.defs', + id: "app.rocksky.dropbox.defs", defs: { fileView: { - type: 'object', + type: "object", properties: { id: { - type: 'string', - description: 'The unique identifier of the file.', + type: "string", + description: "The unique identifier of the file.", }, name: { - type: 'string', - description: 'The name of the file.', + type: "string", + description: "The name of the file.", }, pathLower: { - type: 'string', - description: 'The lowercased path of the file.', + type: "string", + description: "The lowercased path of the file.", }, pathDisplay: { - type: 'string', - description: 'The display path of the file.', + type: "string", + description: "The display path of the file.", }, clientModified: { - type: 'string', + type: "string", description: - 'The last modified date and time of the file on the client.', - format: 'datetime', + "The last modified date and time of the file on the client.", + format: "datetime", }, serverModified: { - type: 'string', + type: "string", description: - 'The last modified date and time of the file on the server.', - format: 'datetime', + "The last modified date and time of the file on the server.", + format: "datetime", }, }, }, fileListView: { - type: 'object', + type: "object", properties: { files: { - type: 'array', - description: 'A list of files in the Dropbox.', + type: "array", + description: "A list of files in the Dropbox.", items: { - type: 'ref', - ref: 'lex:app.rocksky.dropbox.defs#fileView', + type: "ref", + ref: "lex:app.rocksky.dropbox.defs#fileView", }, }, }, }, temporaryLinkView: { - type: 'object', + type: "object", properties: { link: { - type: 'string', - description: 'The temporary link to access the file.', - format: 'uri', + type: "string", + description: "The temporary link to access the file.", + format: "uri", }, }, }, @@ -1459,48 +1469,48 @@ export const schemaDict = { }, AppRockskyDropboxDownloadFile: { lexicon: 1, - id: 'app.rocksky.dropbox.downloadFile', + id: "app.rocksky.dropbox.downloadFile", defs: { main: { - type: 'query', - description: 'Download a file from Dropbox by its unique identifier', + type: "query", + description: "Download a file from Dropbox by its unique identifier", parameters: { - type: 'params', - required: ['fileId'], + type: "params", + required: ["fileId"], properties: { fileId: { - type: 'string', - description: 'The unique identifier of the file to download', + type: "string", + description: "The unique identifier of the file to download", }, }, }, output: { - encoding: 'application/octet-stream', + encoding: "application/octet-stream", }, }, }, }, AppRockskyDropboxGetFiles: { lexicon: 1, - id: 'app.rocksky.dropbox.getFiles', + id: "app.rocksky.dropbox.getFiles", defs: { main: { - type: 'query', - description: 'Retrieve a list of files from Dropbox', + type: "query", + description: "Retrieve a list of files from Dropbox", parameters: { - type: 'params', + type: "params", properties: { at: { - type: 'string', - description: 'Path to the Dropbox folder or root directory', + type: "string", + description: "Path to the Dropbox folder or root directory", }, }, }, output: { - encoding: 'application/json', + encoding: "application/json", schema: { - type: 'ref', - ref: 'lex:app.rocksky.dropbox.defs#fileListView', + type: "ref", + ref: "lex:app.rocksky.dropbox.defs#fileListView", }, }, }, @@ -1508,26 +1518,26 @@ export const schemaDict = { }, AppRockskyDropboxGetMetadata: { lexicon: 1, - id: 'app.rocksky.dropbox.getMetadata', + id: "app.rocksky.dropbox.getMetadata", defs: { main: { - type: 'query', - description: 'Retrieve metadata of a file or folder in Dropbox', + type: "query", + description: "Retrieve metadata of a file or folder in Dropbox", parameters: { - type: 'params', - required: ['path'], + type: "params", + required: ["path"], properties: { path: { - type: 'string', - description: 'Path to the file or folder in Dropbox', + type: "string", + description: "Path to the file or folder in Dropbox", }, }, }, output: { - encoding: 'application/json', + encoding: "application/json", schema: { - type: 'ref', - ref: 'lex:app.rocksky.dropbox.defs#fileView', + type: "ref", + ref: "lex:app.rocksky.dropbox.defs#fileView", }, }, }, @@ -1535,26 +1545,26 @@ export const schemaDict = { }, AppRockskyDropboxGetTemporaryLink: { lexicon: 1, - id: 'app.rocksky.dropbox.getTemporaryLink', + id: "app.rocksky.dropbox.getTemporaryLink", defs: { main: { - type: 'query', - description: 'Retrieve a temporary link to access a file in Dropbox', + type: "query", + description: "Retrieve a temporary link to access a file in Dropbox", parameters: { - type: 'params', - required: ['path'], + type: "params", + required: ["path"], properties: { path: { - type: 'string', - description: 'Path to the file in Dropbox', + type: "string", + description: "Path to the file in Dropbox", }, }, }, output: { - encoding: 'application/json', + encoding: "application/json", schema: { - type: 'ref', - ref: 'lex:app.rocksky.dropbox.defs#temporaryLinkView', + type: "ref", + ref: "lex:app.rocksky.dropbox.defs#temporaryLinkView", }, }, }, @@ -1562,103 +1572,103 @@ export const schemaDict = { }, AppRockskyFeedDefs: { lexicon: 1, - id: 'app.rocksky.feed.defs', + id: "app.rocksky.feed.defs", defs: { searchResultsView: { - type: 'object', + type: "object", properties: { hits: { - type: 'array', + type: "array", items: { - type: 'union', + type: "union", refs: [ - 'lex:app.rocksky.song.defs#songViewBasic', - 'lex:app.rocksky.album.defs#albumViewBasic', - 'lex:app.rocksky.artist.defs#artistViewBasic', - 'lex:app.rocksky.playlist.defs#playlistViewBasic', - 'lex:app.rocksky.actor.defs#profileViewBasic', + "lex:app.rocksky.song.defs#songViewBasic", + "lex:app.rocksky.album.defs#albumViewBasic", + "lex:app.rocksky.artist.defs#artistViewBasic", + "lex:app.rocksky.playlist.defs#playlistViewBasic", + "lex:app.rocksky.actor.defs#profileViewBasic", ], }, }, processingTimeMs: { - type: 'integer', + type: "integer", }, limit: { - type: 'integer', + type: "integer", }, offset: { - type: 'integer', + type: "integer", }, estimatedTotalHits: { - type: 'integer', + type: "integer", }, }, }, nowPlayingView: { - type: 'object', + type: "object", properties: { album: { - type: 'string', + type: "string", }, albumArt: { - type: 'string', - format: 'uri', + type: "string", + format: "uri", }, albumArtist: { - type: 'string', + type: "string", }, albumUri: { - type: 'string', - format: 'at-uri', + type: "string", + format: "at-uri", }, artist: { - type: 'string', + type: "string", }, artistUri: { - type: 'string', - format: 'at-uri', + type: "string", + format: "at-uri", }, avatar: { - type: 'string', - format: 'uri', + type: "string", + format: "uri", }, createdAt: { - type: 'string', + type: "string", }, did: { - type: 'string', - format: 'at-identifier', + type: "string", + format: "at-identifier", }, handle: { - type: 'string', + type: "string", }, id: { - type: 'string', + type: "string", }, title: { - type: 'string', + type: "string", }, trackId: { - type: 'string', + type: "string", }, trackUri: { - type: 'string', - format: 'at-uri', + type: "string", + format: "at-uri", }, uri: { - type: 'string', - format: 'at-uri', + type: "string", + format: "at-uri", }, }, }, nowPlayingsView: { - type: 'object', + type: "object", properties: { nowPlayings: { - type: 'array', + type: "array", items: { - type: 'ref', - ref: 'lex:app.rocksky.feed.defs#nowPlayingView', + type: "ref", + ref: "lex:app.rocksky.feed.defs#nowPlayingView", }, }, }, @@ -1667,27 +1677,27 @@ export const schemaDict = { }, AppRockskyFeedGetNowPlayings: { lexicon: 1, - id: 'app.rocksky.feed.getNowPlayings', + id: "app.rocksky.feed.getNowPlayings", defs: { main: { - type: 'query', - description: 'Get all currently playing tracks by users', + type: "query", + description: "Get all currently playing tracks by users", parameters: { - type: 'params', + type: "params", properties: { size: { - type: 'integer', + type: "integer", description: - 'The maximum number of now playing tracks to return.', + "The maximum number of now playing tracks to return.", minimum: 1, }, }, }, output: { - encoding: 'application/json', + encoding: "application/json", schema: { - type: 'ref', - ref: 'lex:app.rocksky.feed.defs#nowPlayingsView', + type: "ref", + ref: "lex:app.rocksky.feed.defs#nowPlayingsView", }, }, }, @@ -1695,26 +1705,26 @@ export const schemaDict = { }, AppRockskyFeedSearch: { lexicon: 1, - id: 'app.rocksky.feed.search', + id: "app.rocksky.feed.search", defs: { main: { - type: 'query', - description: 'Search for content in the feed', + type: "query", + description: "Search for content in the feed", parameters: { - type: 'params', - required: ['query'], + type: "params", + required: ["query"], properties: { query: { - type: 'string', - description: 'The search query string', + type: "string", + description: "The search query string", }, }, }, output: { - encoding: 'application/json', + encoding: "application/json", schema: { - type: 'ref', - ref: 'lex:app.rocksky.feed.defs#searchResultsView', + type: "ref", + ref: "lex:app.rocksky.feed.defs#searchResultsView", }, }, }, @@ -1722,25 +1732,25 @@ export const schemaDict = { }, AppRockskyGoogledriveDefs: { lexicon: 1, - id: 'app.rocksky.googledrive.defs', + id: "app.rocksky.googledrive.defs", defs: { fileView: { - type: 'object', + type: "object", properties: { id: { - type: 'string', - description: 'The unique identifier of the file.', + type: "string", + description: "The unique identifier of the file.", }, }, }, fileListView: { - type: 'object', + type: "object", properties: { files: { - type: 'array', + type: "array", items: { - type: 'ref', - ref: 'lex:app.rocksky.googledrive.defs#fileView', + type: "ref", + ref: "lex:app.rocksky.googledrive.defs#fileView", }, }, }, @@ -1749,50 +1759,50 @@ export const schemaDict = { }, AppRockskyGoogledriveDownloadFile: { lexicon: 1, - id: 'app.rocksky.googledrive.downloadFile', + id: "app.rocksky.googledrive.downloadFile", defs: { main: { - type: 'query', + type: "query", description: - 'Download a file from Google Drive by its unique identifier', + "Download a file from Google Drive by its unique identifier", parameters: { - type: 'params', - required: ['fileId'], + type: "params", + required: ["fileId"], properties: { fileId: { - type: 'string', - description: 'The unique identifier of the file to download', + type: "string", + description: "The unique identifier of the file to download", }, }, }, output: { - encoding: 'application/octet-stream', + encoding: "application/octet-stream", }, }, }, }, AppRockskyGoogledriveGetFile: { lexicon: 1, - id: 'app.rocksky.googledrive.getFile', + id: "app.rocksky.googledrive.getFile", defs: { main: { - type: 'query', - description: 'Get a file from Google Drive by its unique identifier', + type: "query", + description: "Get a file from Google Drive by its unique identifier", parameters: { - type: 'params', - required: ['fileId'], + type: "params", + required: ["fileId"], properties: { fileId: { - type: 'string', - description: 'The unique identifier of the file to retrieve', + type: "string", + description: "The unique identifier of the file to retrieve", }, }, }, output: { - encoding: 'application/json', + encoding: "application/json", schema: { - type: 'ref', - ref: 'lex:app.rocksky.googledrive.defs#fileView', + type: "ref", + ref: "lex:app.rocksky.googledrive.defs#fileView", }, }, }, @@ -1800,25 +1810,25 @@ export const schemaDict = { }, AppRockskyGoogledriveGetFiles: { lexicon: 1, - id: 'app.rocksky.googledrive.getFiles', + id: "app.rocksky.googledrive.getFiles", defs: { main: { - type: 'query', - description: 'Get a list of files from Google Drive', + type: "query", + description: "Get a list of files from Google Drive", parameters: { - type: 'params', + type: "params", properties: { at: { - type: 'string', - description: 'Path to the Google Drive folder or root directory', + type: "string", + description: "Path to the Google Drive folder or root directory", }, }, }, output: { - encoding: 'application/json', + encoding: "application/json", schema: { - type: 'ref', - ref: 'lex:app.rocksky.googledrive.defs#fileListView', + type: "ref", + ref: "lex:app.rocksky.googledrive.defs#fileListView", }, }, }, @@ -1826,29 +1836,29 @@ export const schemaDict = { }, AppRockskyLikeDislikeShout: { lexicon: 1, - id: 'app.rocksky.like.dislikeShout', + id: "app.rocksky.like.dislikeShout", defs: { main: { - type: 'procedure', - description: 'Dislike a shout', + type: "procedure", + description: "Dislike a shout", input: { - encoding: 'application/json', + encoding: "application/json", schema: { - type: 'object', + type: "object", properties: { uri: { - type: 'string', - description: 'The unique identifier of the shout to dislike', - format: 'at-uri', + type: "string", + description: "The unique identifier of the shout to dislike", + format: "at-uri", }, }, }, }, output: { - encoding: 'application/json', + encoding: "application/json", schema: { - type: 'ref', - ref: 'lex:app.rocksky.shout.defs#shoutView', + type: "ref", + ref: "lex:app.rocksky.shout.defs#shoutView", }, }, }, @@ -1856,29 +1866,29 @@ export const schemaDict = { }, AppRockskyLikeDislikeSong: { lexicon: 1, - id: 'app.rocksky.like.dislikeSong', + id: "app.rocksky.like.dislikeSong", defs: { main: { - type: 'procedure', - description: 'Dislike a song', + type: "procedure", + description: "Dislike a song", input: { - encoding: 'application/json', + encoding: "application/json", schema: { - type: 'object', + type: "object", properties: { uri: { - type: 'string', - description: 'The unique identifier of the song to dislike', - format: 'at-uri', + type: "string", + description: "The unique identifier of the song to dislike", + format: "at-uri", }, }, }, }, output: { - encoding: 'application/json', + encoding: "application/json", schema: { - type: 'ref', - ref: 'lex:app.rocksky.song.defs#songViewDetailed', + type: "ref", + ref: "lex:app.rocksky.song.defs#songViewDetailed", }, }, }, @@ -1886,24 +1896,24 @@ export const schemaDict = { }, AppRockskyLike: { lexicon: 1, - id: 'app.rocksky.like', + id: "app.rocksky.like", defs: { main: { - type: 'record', - description: 'A declaration of a like.', - key: 'tid', + type: "record", + description: "A declaration of a like.", + key: "tid", record: { - type: 'object', - required: ['createdAt', 'subject'], + type: "object", + required: ["createdAt", "subject"], properties: { createdAt: { - type: 'string', - description: 'The date when the like was created.', - format: 'datetime', + type: "string", + description: "The date when the like was created.", + format: "datetime", }, subject: { - type: 'ref', - ref: 'lex:com.atproto.repo.strongRef', + type: "ref", + ref: "lex:com.atproto.repo.strongRef", }, }, }, @@ -1912,29 +1922,29 @@ export const schemaDict = { }, AppRockskyLikeLikeShout: { lexicon: 1, - id: 'app.rocksky.like.likeShout', + id: "app.rocksky.like.likeShout", defs: { main: { - type: 'procedure', - description: 'Like a shout', + type: "procedure", + description: "Like a shout", input: { - encoding: 'application/json', + encoding: "application/json", schema: { - type: 'object', + type: "object", properties: { uri: { - type: 'string', - description: 'The unique identifier of the shout to like', - format: 'at-uri', + type: "string", + description: "The unique identifier of the shout to like", + format: "at-uri", }, }, }, }, output: { - encoding: 'application/json', + encoding: "application/json", schema: { - type: 'ref', - ref: 'lex:app.rocksky.shout.defs#shoutView', + type: "ref", + ref: "lex:app.rocksky.shout.defs#shoutView", }, }, }, @@ -1942,29 +1952,29 @@ export const schemaDict = { }, AppRockskyLikeLikeSong: { lexicon: 1, - id: 'app.rocksky.like.likeSong', + id: "app.rocksky.like.likeSong", defs: { main: { - type: 'procedure', - description: 'Like a song', + type: "procedure", + description: "Like a song", input: { - encoding: 'application/json', + encoding: "application/json", schema: { - type: 'object', + type: "object", properties: { uri: { - type: 'string', - description: 'The unique identifier of the song to like', - format: 'at-uri', + type: "string", + description: "The unique identifier of the song to like", + format: "at-uri", }, }, }, }, output: { - encoding: 'application/json', + encoding: "application/json", schema: { - type: 'ref', - ref: 'lex:app.rocksky.song.defs#songViewDetailed', + type: "ref", + ref: "lex:app.rocksky.song.defs#songViewDetailed", }, }, }, @@ -1972,31 +1982,31 @@ export const schemaDict = { }, AppRockskyPlayerAddDirectoryToQueue: { lexicon: 1, - id: 'app.rocksky.player.addDirectoryToQueue', + id: "app.rocksky.player.addDirectoryToQueue", defs: { main: { - type: 'procedure', + type: "procedure", description: "Add directory to the player's queue", parameters: { - type: 'params', - required: ['directory'], + type: "params", + required: ["directory"], properties: { playerId: { - type: 'string', + type: "string", }, directory: { - type: 'string', - description: 'The directory to add to the queue', + type: "string", + description: "The directory to add to the queue", }, position: { - type: 'integer', + type: "integer", description: - 'Position in the queue to insert the directory at, defaults to the end if not specified', + "Position in the queue to insert the directory at, defaults to the end if not specified", }, shuffle: { - type: 'boolean', + type: "boolean", description: - 'Whether to shuffle the added directory in the queue', + "Whether to shuffle the added directory in the queue", }, }, }, @@ -2005,33 +2015,33 @@ export const schemaDict = { }, AppRockskyPlayerAddItemsToQueue: { lexicon: 1, - id: 'app.rocksky.player.addItemsToQueue', + id: "app.rocksky.player.addItemsToQueue", defs: { main: { - type: 'procedure', + type: "procedure", description: "Add items to the player's queue", parameters: { - type: 'params', - required: ['items'], + type: "params", + required: ["items"], properties: { playerId: { - type: 'string', + type: "string", }, items: { - type: 'array', + type: "array", items: { - type: 'string', - description: 'List of file identifiers to add to the queue', + type: "string", + description: "List of file identifiers to add to the queue", }, }, position: { - type: 'integer', + type: "integer", description: - 'Position in the queue to insert the items at, defaults to the end if not specified', + "Position in the queue to insert the items at, defaults to the end if not specified", }, shuffle: { - type: 'boolean', - description: 'Whether to shuffle the added items in the queue', + type: "boolean", + description: "Whether to shuffle the added items in the queue", }, }, }, @@ -2040,25 +2050,25 @@ export const schemaDict = { }, AppRockskyPlayerDefs: { lexicon: 1, - id: 'app.rocksky.player.defs', + id: "app.rocksky.player.defs", defs: { currentlyPlayingViewDetailed: { - type: 'object', + type: "object", properties: { title: { - type: 'string', - description: 'The title of the currently playing track', + type: "string", + description: "The title of the currently playing track", }, }, }, playbackQueueViewDetailed: { - type: 'object', + type: "object", properties: { tracks: { - type: 'array', + type: "array", items: { - type: 'ref', - ref: 'lex:app.rocksky.song.defs.songViewBasic', + type: "ref", + ref: "lex:app.rocksky.song.defs.songViewBasic", }, }, }, @@ -2067,30 +2077,30 @@ export const schemaDict = { }, AppRockskyPlayerGetCurrentlyPlaying: { lexicon: 1, - id: 'app.rocksky.player.getCurrentlyPlaying', + id: "app.rocksky.player.getCurrentlyPlaying", defs: { main: { - type: 'query', - description: 'Get the currently playing track', + type: "query", + description: "Get the currently playing track", parameters: { - type: 'params', + type: "params", properties: { playerId: { - type: 'string', + type: "string", }, actor: { - type: 'string', + type: "string", description: - 'Handle or DID of the actor to retrieve the currently playing track for. If not provided, defaults to the current user.', - format: 'at-identifier', + "Handle or DID of the actor to retrieve the currently playing track for. If not provided, defaults to the current user.", + format: "at-identifier", }, }, }, output: { - encoding: 'application/json', + encoding: "application/json", schema: { - type: 'ref', - ref: 'lex:app.rocksky.player.defs#currentlyPlayingViewDetailed', + type: "ref", + ref: "lex:app.rocksky.player.defs#currentlyPlayingViewDetailed", }, }, }, @@ -2098,24 +2108,24 @@ export const schemaDict = { }, AppRockskyPlayerGetPlaybackQueue: { lexicon: 1, - id: 'app.rocksky.player.getPlaybackQueue', + id: "app.rocksky.player.getPlaybackQueue", defs: { main: { - type: 'query', - description: 'Retrieve the current playback queue', + type: "query", + description: "Retrieve the current playback queue", parameters: { - type: 'params', + type: "params", properties: { playerId: { - type: 'string', + type: "string", }, }, }, output: { - encoding: 'application/json', + encoding: "application/json", schema: { - type: 'ref', - ref: 'lex:app.rocksky.player.defs#playbackQueueViewDetailed', + type: "ref", + ref: "lex:app.rocksky.player.defs#playbackQueueViewDetailed", }, }, }, @@ -2123,16 +2133,16 @@ export const schemaDict = { }, AppRockskyPlayerNext: { lexicon: 1, - id: 'app.rocksky.player.next', + id: "app.rocksky.player.next", defs: { main: { - type: 'procedure', - description: 'Play the next track in the queue', + type: "procedure", + description: "Play the next track in the queue", parameters: { - type: 'params', + type: "params", properties: { playerId: { - type: 'string', + type: "string", }, }, }, @@ -2141,16 +2151,16 @@ export const schemaDict = { }, AppRockskyPlayerPause: { lexicon: 1, - id: 'app.rocksky.player.pause', + id: "app.rocksky.player.pause", defs: { main: { - type: 'procedure', - description: 'Pause the currently playing track', + type: "procedure", + description: "Pause the currently playing track", parameters: { - type: 'params', + type: "params", properties: { playerId: { - type: 'string', + type: "string", }, }, }, @@ -2159,29 +2169,29 @@ export const schemaDict = { }, AppRockskyPlayerPlayDirectory: { lexicon: 1, - id: 'app.rocksky.player.playDirectory', + id: "app.rocksky.player.playDirectory", defs: { main: { - type: 'procedure', - description: 'Play all tracks in a directory', + type: "procedure", + description: "Play all tracks in a directory", parameters: { - type: 'params', - required: ['directoryId'], + type: "params", + required: ["directoryId"], properties: { playerId: { - type: 'string', + type: "string", }, directoryId: { - type: 'string', + type: "string", }, shuffle: { - type: 'boolean', + type: "boolean", }, recurse: { - type: 'boolean', + type: "boolean", }, position: { - type: 'integer', + type: "integer", }, }, }, @@ -2190,20 +2200,20 @@ export const schemaDict = { }, AppRockskyPlayerPlayFile: { lexicon: 1, - id: 'app.rocksky.player.playFile', + id: "app.rocksky.player.playFile", defs: { main: { - type: 'procedure', - description: 'Play a specific audio file', + type: "procedure", + description: "Play a specific audio file", parameters: { - type: 'params', - required: ['fileId'], + type: "params", + required: ["fileId"], properties: { playerId: { - type: 'string', + type: "string", }, fileId: { - type: 'string', + type: "string", }, }, }, @@ -2212,16 +2222,16 @@ export const schemaDict = { }, AppRockskyPlayerPlay: { lexicon: 1, - id: 'app.rocksky.player.play', + id: "app.rocksky.player.play", defs: { main: { - type: 'procedure', - description: 'Resume playback of the currently paused track', + type: "procedure", + description: "Resume playback of the currently paused track", parameters: { - type: 'params', + type: "params", properties: { playerId: { - type: 'string', + type: "string", }, }, }, @@ -2230,16 +2240,16 @@ export const schemaDict = { }, AppRockskyPlayerPrevious: { lexicon: 1, - id: 'app.rocksky.player.previous', + id: "app.rocksky.player.previous", defs: { main: { - type: 'procedure', - description: 'Play the previous track in the queue', + type: "procedure", + description: "Play the previous track in the queue", parameters: { - type: 'params', + type: "params", properties: { playerId: { - type: 'string', + type: "string", }, }, }, @@ -2248,22 +2258,22 @@ export const schemaDict = { }, AppRockskyPlayerSeek: { lexicon: 1, - id: 'app.rocksky.player.seek', + id: "app.rocksky.player.seek", defs: { main: { - type: 'procedure', + type: "procedure", description: - 'Seek to a specific position in the currently playing track', + "Seek to a specific position in the currently playing track", parameters: { - type: 'params', - required: ['position'], + type: "params", + required: ["position"], properties: { playerId: { - type: 'string', + type: "string", }, position: { - type: 'integer', - description: 'The position in seconds to seek to', + type: "integer", + description: "The position in seconds to seek to", }, }, }, @@ -2272,22 +2282,22 @@ export const schemaDict = { }, AppRockskyPlaylistCreatePlaylist: { lexicon: 1, - id: 'app.rocksky.playlist.createPlaylist', + id: "app.rocksky.playlist.createPlaylist", defs: { main: { - type: 'procedure', - description: 'Create a new playlist', + type: "procedure", + description: "Create a new playlist", parameters: { - type: 'params', - required: ['name'], + type: "params", + required: ["name"], properties: { name: { - type: 'string', - description: 'The name of the playlist', + type: "string", + description: "The name of the playlist", }, description: { - type: 'string', - description: 'A brief description of the playlist', + type: "string", + description: "A brief description of the playlist", }, }, }, @@ -2296,122 +2306,122 @@ export const schemaDict = { }, AppRockskyPlaylistDefs: { lexicon: 1, - id: 'app.rocksky.playlist.defs', + id: "app.rocksky.playlist.defs", defs: { playlistViewDetailed: { - type: 'object', + type: "object", description: - 'Detailed view of a playlist, including its tracks and metadata', + "Detailed view of a playlist, including its tracks and metadata", properties: { id: { - type: 'string', - description: 'The unique identifier of the playlist.', + type: "string", + description: "The unique identifier of the playlist.", }, title: { - type: 'string', - description: 'The title of the playlist.', + type: "string", + description: "The title of the playlist.", }, uri: { - type: 'string', - description: 'The URI of the playlist.', - format: 'at-uri', + type: "string", + description: "The URI of the playlist.", + format: "at-uri", }, curatorDid: { - type: 'string', - description: 'The DID of the curator of the playlist.', - format: 'at-identifier', + type: "string", + description: "The DID of the curator of the playlist.", + format: "at-identifier", }, curatorHandle: { - type: 'string', - description: 'The handle of the curator of the playlist.', - format: 'at-identifier', + type: "string", + description: "The handle of the curator of the playlist.", + format: "at-identifier", }, curatorName: { - type: 'string', - description: 'The name of the curator of the playlist.', + type: "string", + description: "The name of the curator of the playlist.", }, curatorAvatarUrl: { - type: 'string', - description: 'The URL of the avatar image of the curator.', - format: 'uri', + type: "string", + description: "The URL of the avatar image of the curator.", + format: "uri", }, description: { - type: 'string', - description: 'A description of the playlist.', + type: "string", + description: "A description of the playlist.", }, coverImageUrl: { - type: 'string', - description: 'The URL of the cover image for the playlist.', - format: 'uri', + type: "string", + description: "The URL of the cover image for the playlist.", + format: "uri", }, createdAt: { - type: 'string', - description: 'The date and time when the playlist was created.', - format: 'datetime', + type: "string", + description: "The date and time when the playlist was created.", + format: "datetime", }, tracks: { - type: 'array', - description: 'A list of tracks in the playlist.', + type: "array", + description: "A list of tracks in the playlist.", items: { - type: 'ref', - ref: 'lex:app.rocksky.song.defs#songViewBasic', + type: "ref", + ref: "lex:app.rocksky.song.defs#songViewBasic", }, }, }, }, playlistViewBasic: { - type: 'object', - description: 'Basic view of a playlist, including its metadata', + type: "object", + description: "Basic view of a playlist, including its metadata", properties: { id: { - type: 'string', - description: 'The unique identifier of the playlist.', + type: "string", + description: "The unique identifier of the playlist.", }, title: { - type: 'string', - description: 'The title of the playlist.', + type: "string", + description: "The title of the playlist.", }, uri: { - type: 'string', - description: 'The URI of the playlist.', - format: 'at-uri', + type: "string", + description: "The URI of the playlist.", + format: "at-uri", }, curatorDid: { - type: 'string', - description: 'The DID of the curator of the playlist.', - format: 'at-identifier', + type: "string", + description: "The DID of the curator of the playlist.", + format: "at-identifier", }, curatorHandle: { - type: 'string', - description: 'The handle of the curator of the playlist.', - format: 'at-identifier', + type: "string", + description: "The handle of the curator of the playlist.", + format: "at-identifier", }, curatorName: { - type: 'string', - description: 'The name of the curator of the playlist.', + type: "string", + description: "The name of the curator of the playlist.", }, curatorAvatarUrl: { - type: 'string', - description: 'The URL of the avatar image of the curator.', - format: 'uri', + type: "string", + description: "The URL of the avatar image of the curator.", + format: "uri", }, description: { - type: 'string', - description: 'A description of the playlist.', + type: "string", + description: "A description of the playlist.", }, coverImageUrl: { - type: 'string', - description: 'The URL of the cover image for the playlist.', - format: 'uri', + type: "string", + description: "The URL of the cover image for the playlist.", + format: "uri", }, createdAt: { - type: 'string', - description: 'The date and time when the playlist was created.', - format: 'datetime', + type: "string", + description: "The date and time when the playlist was created.", + format: "datetime", }, trackCount: { - type: 'integer', - description: 'The number of tracks in the playlist.', + type: "integer", + description: "The number of tracks in the playlist.", minimum: 0, }, }, @@ -2420,27 +2430,27 @@ export const schemaDict = { }, AppRockskyPlaylistGetPlaylist: { lexicon: 1, - id: 'app.rocksky.playlist.getPlaylist', + id: "app.rocksky.playlist.getPlaylist", defs: { main: { - type: 'query', - description: 'Retrieve a playlist by its ID', + type: "query", + description: "Retrieve a playlist by its ID", parameters: { - type: 'params', - required: ['uri'], + type: "params", + required: ["uri"], properties: { uri: { - type: 'string', - description: 'The URI of the playlist to retrieve.', - format: 'at-uri', + type: "string", + description: "The URI of the playlist to retrieve.", + format: "at-uri", }, }, }, output: { - encoding: 'application/json', + encoding: "application/json", schema: { - type: 'ref', - ref: 'lex:app.rocksky.playlist.defs#playlistViewDetailed', + type: "ref", + ref: "lex:app.rocksky.playlist.defs#playlistViewDetailed", }, }, }, @@ -2448,35 +2458,35 @@ export const schemaDict = { }, AppRockskyPlaylistGetPlaylists: { lexicon: 1, - id: 'app.rocksky.playlist.getPlaylists', + id: "app.rocksky.playlist.getPlaylists", defs: { main: { - type: 'query', - description: 'Retrieve a list of playlists', + type: "query", + description: "Retrieve a list of playlists", parameters: { - type: 'params', + type: "params", properties: { limit: { - type: 'integer', - description: 'The maximum number of playlists to return.', + type: "integer", + description: "The maximum number of playlists to return.", }, offset: { - type: 'integer', + type: "integer", description: - 'The offset for pagination, used to skip a number of playlists.', + "The offset for pagination, used to skip a number of playlists.", }, }, }, output: { - encoding: 'application/json', + encoding: "application/json", schema: { - type: 'object', + type: "object", properties: { playlists: { - type: 'array', + type: "array", items: { - type: 'ref', - ref: 'lex:app.rocksky.playlist.defs#playlistViewBasic', + type: "ref", + ref: "lex:app.rocksky.playlist.defs#playlistViewBasic", }, }, }, @@ -2487,28 +2497,28 @@ export const schemaDict = { }, AppRockskyPlaylistInsertDirectory: { lexicon: 1, - id: 'app.rocksky.playlist.insertDirectory', + id: "app.rocksky.playlist.insertDirectory", defs: { main: { - type: 'procedure', - description: 'Insert a directory into a playlist', + type: "procedure", + description: "Insert a directory into a playlist", parameters: { - type: 'params', - required: ['uri', 'directory'], + type: "params", + required: ["uri", "directory"], properties: { uri: { - type: 'string', - description: 'The URI of the playlist to start', - format: 'at-uri', + type: "string", + description: "The URI of the playlist to start", + format: "at-uri", }, directory: { - type: 'string', - description: 'The directory (id) to insert into the playlist', + type: "string", + description: "The directory (id) to insert into the playlist", }, position: { - type: 'integer', + type: "integer", description: - 'The position in the playlist to insert the directory at, if not specified, the directory will be appended', + "The position in the playlist to insert the directory at, if not specified, the directory will be appended", }, }, }, @@ -2517,31 +2527,31 @@ export const schemaDict = { }, AppRockskyPlaylistInsertFiles: { lexicon: 1, - id: 'app.rocksky.playlist.insertFiles', + id: "app.rocksky.playlist.insertFiles", defs: { main: { - type: 'procedure', - description: 'Insert files into a playlist', + type: "procedure", + description: "Insert files into a playlist", parameters: { - type: 'params', - required: ['uri', 'files'], + type: "params", + required: ["uri", "files"], properties: { uri: { - type: 'string', - description: 'The URI of the playlist to start', - format: 'at-uri', + type: "string", + description: "The URI of the playlist to start", + format: "at-uri", }, files: { - type: 'array', + type: "array", items: { - type: 'string', - description: 'List of file (id) to insert into the playlist', + type: "string", + description: "List of file (id) to insert into the playlist", }, }, position: { - type: 'integer', + type: "integer", description: - 'The position in the playlist to insert the files at, if not specified, files will be appended', + "The position in the playlist to insert the files at, if not specified, files will be appended", }, }, }, @@ -2550,62 +2560,62 @@ export const schemaDict = { }, AppRockskyPlaylist: { lexicon: 1, - id: 'app.rocksky.playlist', + id: "app.rocksky.playlist", defs: { main: { - type: 'record', - description: 'A declaration of a playlist.', - key: 'tid', + type: "record", + description: "A declaration of a playlist.", + key: "tid", record: { - type: 'object', - required: ['name', 'createdAt'], + type: "object", + required: ["name", "createdAt"], properties: { name: { - type: 'string', - description: 'The name of the playlist.', + type: "string", + description: "The name of the playlist.", minLength: 1, maxLength: 512, }, description: { - type: 'string', - description: 'The playlist description.', + type: "string", + description: "The playlist description.", minLength: 1, maxLength: 256, }, picture: { - type: 'blob', - description: 'The picture of the playlist.', - accept: ['image/png', 'image/jpeg'], + type: "blob", + description: "The picture of the playlist.", + accept: ["image/png", "image/jpeg"], maxSize: 2000000, }, tracks: { - type: 'array', - description: 'The tracks in the playlist.', + type: "array", + description: "The tracks in the playlist.", items: { - type: 'ref', - ref: 'lex:app.rocksky.song#record', + type: "ref", + ref: "lex:app.rocksky.song#record", }, }, createdAt: { - type: 'string', - description: 'The date the playlist was created.', - format: 'datetime', + type: "string", + description: "The date the playlist was created.", + format: "datetime", }, spotifyLink: { - type: 'string', - description: 'The Spotify link of the playlist.', + type: "string", + description: "The Spotify link of the playlist.", }, tidalLink: { - type: 'string', - description: 'The Tidal link of the playlist.', + type: "string", + description: "The Tidal link of the playlist.", }, youtubeLink: { - type: 'string', - description: 'The YouTube link of the playlist.', + type: "string", + description: "The YouTube link of the playlist.", }, appleMusicLink: { - type: 'string', - description: 'The Apple Music link of the playlist.', + type: "string", + description: "The Apple Music link of the playlist.", }, }, }, @@ -2614,19 +2624,19 @@ export const schemaDict = { }, AppRockskyPlaylistRemovePlaylist: { lexicon: 1, - id: 'app.rocksky.playlist.removePlaylist', + id: "app.rocksky.playlist.removePlaylist", defs: { main: { - type: 'procedure', - description: 'Remove a playlist', + type: "procedure", + description: "Remove a playlist", parameters: { - type: 'params', - required: ['uri'], + type: "params", + required: ["uri"], properties: { uri: { - type: 'string', - description: 'The URI of the playlist to remove', - format: 'at-uri', + type: "string", + description: "The URI of the playlist to remove", + format: "at-uri", }, }, }, @@ -2635,24 +2645,24 @@ export const schemaDict = { }, AppRockskyPlaylistRemoveTrack: { lexicon: 1, - id: 'app.rocksky.playlist.removeTrack', + id: "app.rocksky.playlist.removeTrack", defs: { main: { - type: 'procedure', - description: 'Remove a track from a playlist', + type: "procedure", + description: "Remove a track from a playlist", parameters: { - type: 'params', - required: ['uri', 'position'], + type: "params", + required: ["uri", "position"], properties: { uri: { - type: 'string', - description: 'The URI of the playlist to remove the track from', - format: 'at-uri', + type: "string", + description: "The URI of the playlist to remove the track from", + format: "at-uri", }, position: { - type: 'integer', + type: "integer", description: - 'The position of the track to remove in the playlist', + "The position of the track to remove in the playlist", }, }, }, @@ -2661,28 +2671,28 @@ export const schemaDict = { }, AppRockskyPlaylistStartPlaylist: { lexicon: 1, - id: 'app.rocksky.playlist.startPlaylist', + id: "app.rocksky.playlist.startPlaylist", defs: { main: { - type: 'procedure', - description: 'Start a playlist', + type: "procedure", + description: "Start a playlist", parameters: { - type: 'params', - required: ['uri'], + type: "params", + required: ["uri"], properties: { uri: { - type: 'string', - description: 'The URI of the playlist to start', - format: 'at-uri', + type: "string", + description: "The URI of the playlist to start", + format: "at-uri", }, shuffle: { - type: 'boolean', - description: 'Whether to shuffle the playlist when starting it', + type: "boolean", + description: "Whether to shuffle the playlist when starting it", }, position: { - type: 'integer', + type: "integer", description: - 'The position in the playlist to start from, if not specified, starts from the beginning', + "The position in the playlist to start from, if not specified, starts from the beginning", }, }, }, @@ -2691,67 +2701,67 @@ export const schemaDict = { }, AppRockskyRadioDefs: { lexicon: 1, - id: 'app.rocksky.radio.defs', + id: "app.rocksky.radio.defs", defs: { radioViewBasic: { - type: 'object', + type: "object", properties: { id: { - type: 'string', - description: 'The unique identifier of the radio.', + type: "string", + description: "The unique identifier of the radio.", }, name: { - type: 'string', - description: 'The name of the radio.', + type: "string", + description: "The name of the radio.", }, description: { - type: 'string', - description: 'A brief description of the radio.', + type: "string", + description: "A brief description of the radio.", }, createdAt: { - type: 'string', - description: 'The date and time when the radio was created.', - format: 'datetime', + type: "string", + description: "The date and time when the radio was created.", + format: "datetime", }, }, }, radioViewDetailed: { - type: 'object', + type: "object", properties: { id: { - type: 'string', - description: 'The unique identifier of the radio.', + type: "string", + description: "The unique identifier of the radio.", }, name: { - type: 'string', - description: 'The name of the radio.', + type: "string", + description: "The name of the radio.", }, description: { - type: 'string', - description: 'A brief description of the radio.', + type: "string", + description: "A brief description of the radio.", }, website: { - type: 'string', - description: 'The website of the radio.', - format: 'uri', + type: "string", + description: "The website of the radio.", + format: "uri", }, url: { - type: 'string', - description: 'The streaming URL of the radio.', - format: 'uri', + type: "string", + description: "The streaming URL of the radio.", + format: "uri", }, genre: { - type: 'string', - description: 'The genre of the radio.', + type: "string", + description: "The genre of the radio.", }, logo: { - type: 'string', - description: 'The logo of the radio station.', + type: "string", + description: "The logo of the radio station.", }, createdAt: { - type: 'string', - description: 'The date and time when the radio was created.', - format: 'datetime', + type: "string", + description: "The date and time when the radio was created.", + format: "datetime", }, }, }, @@ -2759,54 +2769,54 @@ export const schemaDict = { }, AppRockskyRadio: { lexicon: 1, - id: 'app.rocksky.radio', + id: "app.rocksky.radio", defs: { main: { - type: 'record', - description: 'A declaration of a radio station.', - key: 'tid', + type: "record", + description: "A declaration of a radio station.", + key: "tid", record: { - type: 'object', - required: ['name', 'url', 'createdAt'], + type: "object", + required: ["name", "url", "createdAt"], properties: { name: { - type: 'string', - description: 'The name of the radio station.', + type: "string", + description: "The name of the radio station.", minLength: 1, maxLength: 512, }, url: { - type: 'string', - description: 'The URL of the radio station.', - format: 'uri', + type: "string", + description: "The URL of the radio station.", + format: "uri", }, description: { - type: 'string', - description: 'A description of the radio station.', + type: "string", + description: "A description of the radio station.", minLength: 1, maxLength: 1000, }, genre: { - type: 'string', - description: 'The genre of the radio station.', + type: "string", + description: "The genre of the radio station.", minLength: 1, maxLength: 256, }, logo: { - type: 'blob', - description: 'The logo of the radio station.', - accept: ['image/png', 'image/jpeg'], + type: "blob", + description: "The logo of the radio station.", + accept: ["image/png", "image/jpeg"], maxSize: 2000000, }, website: { - type: 'string', - description: 'The website of the radio station.', - format: 'uri', + type: "string", + description: "The website of the radio station.", + format: "uri", }, createdAt: { - type: 'string', - description: 'The date when the radio station was created.', - format: 'datetime', + type: "string", + description: "The date when the radio station was created.", + format: "datetime", }, }, }, @@ -2815,125 +2825,125 @@ export const schemaDict = { }, AppRockskyScrobbleCreateScrobble: { lexicon: 1, - id: 'app.rocksky.scrobble.createScrobble', + id: "app.rocksky.scrobble.createScrobble", defs: { main: { - type: 'procedure', - description: 'Create a new scrobble', + type: "procedure", + description: "Create a new scrobble", input: { - encoding: 'application/json', + encoding: "application/json", schema: { - type: 'object', - required: ['title', 'artist'], + type: "object", + required: ["title", "artist"], properties: { title: { - type: 'string', - description: 'The title of the track being scrobbled', + type: "string", + description: "The title of the track being scrobbled", }, artist: { - type: 'string', - description: 'The artist of the track being scrobbled', + type: "string", + description: "The artist of the track being scrobbled", }, album: { - type: 'string', - description: 'The album of the track being scrobbled', + type: "string", + description: "The album of the track being scrobbled", }, duration: { - type: 'integer', - description: 'The duration of the track in seconds', + type: "integer", + description: "The duration of the track in seconds", }, mbId: { - type: 'string', - description: 'The MusicBrainz ID of the track, if available', + type: "string", + description: "The MusicBrainz ID of the track, if available", }, albumArt: { - type: 'string', - description: 'The URL of the album art for the track', - format: 'uri', + type: "string", + description: "The URL of the album art for the track", + format: "uri", }, trackNumber: { - type: 'integer', - description: 'The track number of the track in the album', + type: "integer", + description: "The track number of the track in the album", }, releaseDate: { - type: 'string', + type: "string", description: - 'The release date of the track, formatted as YYYY-MM-DD', + "The release date of the track, formatted as YYYY-MM-DD", }, year: { - type: 'integer', - description: 'The year the track was released', + type: "integer", + description: "The year the track was released", }, discNumber: { - type: 'integer', + type: "integer", description: - 'The disc number of the track in the album, if applicable', + "The disc number of the track in the album, if applicable", }, lyrics: { - type: 'string', - description: 'The lyrics of the track, if available', + type: "string", + description: "The lyrics of the track, if available", }, composer: { - type: 'string', - description: 'The composer of the track, if available', + type: "string", + description: "The composer of the track, if available", }, copyrightMessage: { - type: 'string', + type: "string", description: - 'The copyright message for the track, if available', + "The copyright message for the track, if available", }, label: { - type: 'string', - description: 'The record label of the track, if available', + type: "string", + description: "The record label of the track, if available", }, artistPicture: { - type: 'string', + type: "string", description: "The URL of the artist's picture, if available", - format: 'uri', + format: "uri", }, spotifyLink: { - type: 'string', - description: 'The Spotify link for the track, if available', - format: 'uri', + type: "string", + description: "The Spotify link for the track, if available", + format: "uri", }, lastfmLink: { - type: 'string', - description: 'The Last.fm link for the track, if available', - format: 'uri', + type: "string", + description: "The Last.fm link for the track, if available", + format: "uri", }, tidalLink: { - type: 'string', - description: 'The Tidal link for the track, if available', - format: 'uri', + type: "string", + description: "The Tidal link for the track, if available", + format: "uri", }, appleMusicLink: { - type: 'string', - description: 'The Apple Music link for the track, if available', - format: 'uri', + type: "string", + description: "The Apple Music link for the track, if available", + format: "uri", }, youtubeLink: { - type: 'string', - description: 'The Youtube link for the track, if available', - format: 'uri', + type: "string", + description: "The Youtube link for the track, if available", + format: "uri", }, deezerLink: { - type: 'string', - description: 'The Deezer link for the track, if available', - format: 'uri', + type: "string", + description: "The Deezer link for the track, if available", + format: "uri", }, timestamp: { - type: 'integer', + type: "integer", description: - 'The timestamp of the scrobble in milliseconds since epoch', + "The timestamp of the scrobble in milliseconds since epoch", }, }, }, }, output: { - encoding: 'application/json', + encoding: "application/json", schema: { - type: 'ref', - ref: 'lex:app.rocksky.scrobble.defs#scrobbleViewBasic', + type: "ref", + ref: "lex:app.rocksky.scrobble.defs#scrobbleViewBasic", }, }, }, @@ -2941,131 +2951,131 @@ export const schemaDict = { }, AppRockskyScrobbleDefs: { lexicon: 1, - id: 'app.rocksky.scrobble.defs', + id: "app.rocksky.scrobble.defs", defs: { scrobbleViewBasic: { - type: 'object', + type: "object", properties: { id: { - type: 'string', - description: 'The unique identifier of the scrobble.', + type: "string", + description: "The unique identifier of the scrobble.", }, user: { - type: 'string', - description: 'The handle of the user who created the scrobble.', + type: "string", + description: "The handle of the user who created the scrobble.", }, userDisplayName: { - type: 'string', + type: "string", description: - 'The display name of the user who created the scrobble.', + "The display name of the user who created the scrobble.", }, userAvatar: { - type: 'string', - description: 'The avatar URL of the user who created the scrobble.', - format: 'uri', + type: "string", + description: "The avatar URL of the user who created the scrobble.", + format: "uri", }, title: { - type: 'string', - description: 'The title of the scrobble.', + type: "string", + description: "The title of the scrobble.", }, artist: { - type: 'string', - description: 'The artist of the song.', + type: "string", + description: "The artist of the song.", }, artistUri: { - type: 'string', - description: 'The URI of the artist.', - format: 'at-uri', + type: "string", + description: "The URI of the artist.", + format: "at-uri", }, album: { - type: 'string', - description: 'The album of the song.', + type: "string", + description: "The album of the song.", }, albumUri: { - type: 'string', - description: 'The URI of the album.', - format: 'at-uri', + type: "string", + description: "The URI of the album.", + format: "at-uri", }, cover: { - type: 'string', - description: 'The album art URL of the song.', - format: 'uri', + type: "string", + description: "The album art URL of the song.", + format: "uri", }, date: { - type: 'string', - description: 'The timestamp when the scrobble was created.', - format: 'datetime', + type: "string", + description: "The timestamp when the scrobble was created.", + format: "datetime", }, uri: { - type: 'string', - description: 'The URI of the scrobble.', - format: 'uri', + type: "string", + description: "The URI of the scrobble.", + format: "uri", }, sha256: { - type: 'string', - description: 'The SHA256 hash of the scrobble data.', + type: "string", + description: "The SHA256 hash of the scrobble data.", }, }, }, scrobbleViewDetailed: { - type: 'object', + type: "object", properties: { id: { - type: 'string', - description: 'The unique identifier of the scrobble.', + type: "string", + description: "The unique identifier of the scrobble.", }, user: { - type: 'string', - description: 'The handle of the user who created the scrobble.', + type: "string", + description: "The handle of the user who created the scrobble.", }, title: { - type: 'string', - description: 'The title of the scrobble.', + type: "string", + description: "The title of the scrobble.", }, artist: { - type: 'string', - description: 'The artist of the song.', + type: "string", + description: "The artist of the song.", }, artistUri: { - type: 'string', - description: 'The URI of the artist.', - format: 'at-uri', + type: "string", + description: "The URI of the artist.", + format: "at-uri", }, album: { - type: 'string', - description: 'The album of the song.', + type: "string", + description: "The album of the song.", }, albumUri: { - type: 'string', - description: 'The URI of the album.', - format: 'at-uri', + type: "string", + description: "The URI of the album.", + format: "at-uri", }, cover: { - type: 'string', - description: 'The album art URL of the song.', - format: 'uri', + type: "string", + description: "The album art URL of the song.", + format: "uri", }, date: { - type: 'string', - description: 'The timestamp when the scrobble was created.', - format: 'datetime', + type: "string", + description: "The timestamp when the scrobble was created.", + format: "datetime", }, uri: { - type: 'string', - description: 'The URI of the scrobble.', - format: 'uri', + type: "string", + description: "The URI of the scrobble.", + format: "uri", }, sha256: { - type: 'string', - description: 'The SHA256 hash of the scrobble data.', + type: "string", + description: "The SHA256 hash of the scrobble data.", }, listeners: { - type: 'integer', - description: 'The number of listeners', + type: "integer", + description: "The number of listeners", }, scrobbles: { - type: 'integer', - description: 'The number of scrobbles for this song', + type: "integer", + description: "The number of scrobbles for this song", }, }, }, @@ -3073,27 +3083,27 @@ export const schemaDict = { }, AppRockskyScrobbleGetScrobble: { lexicon: 1, - id: 'app.rocksky.scrobble.getScrobble', + id: "app.rocksky.scrobble.getScrobble", defs: { main: { - type: 'query', - description: 'Get a scrobble by its unique identifier', + type: "query", + description: "Get a scrobble by its unique identifier", parameters: { - type: 'params', - required: ['uri'], + type: "params", + required: ["uri"], properties: { uri: { - type: 'string', - description: 'The unique identifier of the scrobble', - format: 'at-uri', + type: "string", + description: "The unique identifier of the scrobble", + format: "at-uri", }, }, }, output: { - encoding: 'application/json', + encoding: "application/json", schema: { - type: 'ref', - ref: 'lex:app.rocksky.scrobble.defs#scrobbleViewDetailed', + type: "ref", + ref: "lex:app.rocksky.scrobble.defs#scrobbleViewDetailed", }, }, }, @@ -3101,41 +3111,41 @@ export const schemaDict = { }, AppRockskyScrobbleGetScrobbles: { lexicon: 1, - id: 'app.rocksky.scrobble.getScrobbles', + id: "app.rocksky.scrobble.getScrobbles", defs: { main: { - type: 'query', - description: 'Get scrobbles all scrobbles', + type: "query", + description: "Get scrobbles all scrobbles", parameters: { - type: 'params', + type: "params", properties: { did: { - type: 'string', - description: 'The DID or handle of the actor', - format: 'at-identifier', + type: "string", + description: "The DID or handle of the actor", + format: "at-identifier", }, limit: { - type: 'integer', - description: 'The maximum number of scrobbles to return', + type: "integer", + description: "The maximum number of scrobbles to return", minimum: 1, }, offset: { - type: 'integer', - description: 'The offset for pagination', + type: "integer", + description: "The offset for pagination", minimum: 0, }, }, }, output: { - encoding: 'application/json', + encoding: "application/json", schema: { - type: 'object', + type: "object", properties: { scrobbles: { - type: 'array', + type: "array", items: { - type: 'ref', - ref: 'lex:app.rocksky.scrobble.defs#scrobbleViewBasic', + type: "ref", + ref: "lex:app.rocksky.scrobble.defs#scrobbleViewBasic", }, }, }, @@ -3146,143 +3156,148 @@ export const schemaDict = { }, AppRockskyScrobble: { lexicon: 1, - id: 'app.rocksky.scrobble', + id: "app.rocksky.scrobble", defs: { main: { - type: 'record', - description: 'A declaration of a scrobble.', - key: 'tid', + type: "record", + description: "A declaration of a scrobble.", + key: "tid", record: { - type: 'object', + type: "object", required: [ - 'title', - 'artist', - 'album', - 'albumArtist', - 'duration', - 'createdAt', + "title", + "artist", + "album", + "albumArtist", + "duration", + "createdAt", ], properties: { title: { - type: 'string', - description: 'The title of the song.', + type: "string", + description: "The title of the song.", minLength: 1, maxLength: 512, }, artist: { - type: 'string', - description: 'The artist of the song.', + type: "string", + description: "The artist of the song.", minLength: 1, maxLength: 256, }, albumArtist: { - type: 'string', - description: 'The album artist of the song.', + type: "string", + description: "The album artist of the song.", minLength: 1, maxLength: 256, }, album: { - type: 'string', - description: 'The album of the song.', + type: "string", + description: "The album of the song.", minLength: 1, maxLength: 256, }, duration: { - type: 'integer', - description: 'The duration of the song in seconds.', + type: "integer", + description: "The duration of the song in seconds.", minimum: 1, }, trackNumber: { - type: 'integer', - description: 'The track number of the song in the album.', + type: "integer", + description: "The track number of the song in the album.", minimum: 1, }, discNumber: { - type: 'integer', - description: 'The disc number of the song in the album.', + type: "integer", + description: "The disc number of the song in the album.", minimum: 1, }, releaseDate: { - type: 'string', - description: 'The release date of the song.', - format: 'datetime', + type: "string", + description: "The release date of the song.", + format: "datetime", }, year: { - type: 'integer', - description: 'The year the song was released.', + type: "integer", + description: "The year the song was released.", }, genre: { - type: 'string', - description: 'The genre of the song.', + type: "string", + description: "The genre of the song.", maxLength: 256, }, tags: { - type: 'array', - description: 'The tags of the song.', + type: "array", + description: "The tags of the song.", items: { - type: 'string', + type: "string", minLength: 1, maxLength: 256, }, }, composer: { - type: 'string', - description: 'The composer of the song.', + type: "string", + description: "The composer of the song.", maxLength: 256, }, lyrics: { - type: 'string', - description: 'The lyrics of the song.', + type: "string", + description: "The lyrics of the song.", maxLength: 10000, }, copyrightMessage: { - type: 'string', - description: 'The copyright message of the song.', + type: "string", + description: "The copyright message of the song.", maxLength: 256, }, wiki: { - type: 'string', - description: 'Informations about the song', + type: "string", + description: "Informations about the song", maxLength: 10000, }, albumArt: { - type: 'blob', - description: 'The album art of the song.', - accept: ['image/png', 'image/jpeg'], + type: "blob", + description: "The album art of the song.", + accept: ["image/png", "image/jpeg"], maxSize: 2000000, }, + albumArtUrl: { + type: "string", + description: "The URL of the album art of the song.", + format: "uri", + }, youtubeLink: { - type: 'string', - description: 'The YouTube link of the song.', - format: 'uri', + type: "string", + description: "The YouTube link of the song.", + format: "uri", }, spotifyLink: { - type: 'string', - description: 'The Spotify link of the song.', - format: 'uri', + type: "string", + description: "The Spotify link of the song.", + format: "uri", }, tidalLink: { - type: 'string', - description: 'The Tidal link of the song.', - format: 'uri', + type: "string", + description: "The Tidal link of the song.", + format: "uri", }, appleMusicLink: { - type: 'string', - description: 'The Apple Music link of the song.', - format: 'uri', + type: "string", + description: "The Apple Music link of the song.", + format: "uri", }, createdAt: { - type: 'string', - description: 'The date when the song was created.', - format: 'datetime', + type: "string", + description: "The date when the song was created.", + format: "datetime", }, mbid: { - type: 'string', - description: 'The MusicBrainz ID of the song.', + type: "string", + description: "The MusicBrainz ID of the song.", }, label: { - type: 'string', - description: 'The label of the song.', + type: "string", + description: "The label of the song.", maxLength: 256, }, }, @@ -3292,29 +3307,29 @@ export const schemaDict = { }, AppRockskyShoutCreateShout: { lexicon: 1, - id: 'app.rocksky.shout.createShout', + id: "app.rocksky.shout.createShout", defs: { main: { - type: 'procedure', - description: 'Create a new shout', + type: "procedure", + description: "Create a new shout", input: { - encoding: 'application/json', + encoding: "application/json", schema: { - type: 'object', + type: "object", properties: { message: { - type: 'string', - description: 'The content of the shout', + type: "string", + description: "The content of the shout", minLength: 1, }, }, }, }, output: { - encoding: 'application/json', + encoding: "application/json", schema: { - type: 'ref', - ref: 'lex:app.rocksky.shout.defs#shoutView', + type: "ref", + ref: "lex:app.rocksky.shout.defs#shoutView", }, }, }, @@ -3322,61 +3337,61 @@ export const schemaDict = { }, AppRockskyShoutDefs: { lexicon: 1, - id: 'app.rocksky.shout.defs', + id: "app.rocksky.shout.defs", defs: { author: { - type: 'object', + type: "object", properties: { id: { - type: 'string', - description: 'The unique identifier of the author.', + type: "string", + description: "The unique identifier of the author.", }, did: { - type: 'string', - description: 'The decentralized identifier (DID) of the author.', - format: 'at-identifier', + type: "string", + description: "The decentralized identifier (DID) of the author.", + format: "at-identifier", }, handle: { - type: 'string', - description: 'The handle of the author.', - format: 'at-identifier', + type: "string", + description: "The handle of the author.", + format: "at-identifier", }, displayName: { - type: 'string', - description: 'The display name of the author.', + type: "string", + description: "The display name of the author.", }, avatar: { - type: 'string', + type: "string", description: "The URL of the author's avatar image.", - format: 'uri', + format: "uri", }, }, }, shoutView: { - type: 'object', + type: "object", properties: { id: { - type: 'string', - description: 'The unique identifier of the shout.', + type: "string", + description: "The unique identifier of the shout.", }, message: { - type: 'string', - description: 'The content of the shout.', + type: "string", + description: "The content of the shout.", }, parent: { - type: 'string', + type: "string", description: - 'The ID of the parent shout if this is a reply, otherwise null.', + "The ID of the parent shout if this is a reply, otherwise null.", }, createdAt: { - type: 'string', - description: 'The date and time when the shout was created.', - format: 'datetime', + type: "string", + description: "The date and time when the shout was created.", + format: "datetime", }, author: { - type: 'ref', - description: 'The author of the shout.', - ref: 'lex:app.rocksky.shout.defs#author', + type: "ref", + description: "The author of the shout.", + ref: "lex:app.rocksky.shout.defs#author", }, }, }, @@ -3384,44 +3399,44 @@ export const schemaDict = { }, AppRockskyShoutGetAlbumShouts: { lexicon: 1, - id: 'app.rocksky.shout.getAlbumShouts', + id: "app.rocksky.shout.getAlbumShouts", defs: { main: { - type: 'query', - description: 'Get shouts for an album', + type: "query", + description: "Get shouts for an album", parameters: { - type: 'params', - required: ['uri'], + type: "params", + required: ["uri"], properties: { uri: { - type: 'string', + type: "string", description: - 'The unique identifier of the album to retrieve shouts for', - format: 'at-uri', + "The unique identifier of the album to retrieve shouts for", + format: "at-uri", }, limit: { - type: 'integer', - description: 'The maximum number of shouts to return', + type: "integer", + description: "The maximum number of shouts to return", minimum: 1, }, offset: { - type: 'integer', + type: "integer", description: - 'The number of shouts to skip before starting to collect the result set', + "The number of shouts to skip before starting to collect the result set", minimum: 0, }, }, }, output: { - encoding: 'application/json', + encoding: "application/json", schema: { - type: 'object', + type: "object", properties: { shouts: { - type: 'array', + type: "array", items: { - type: 'ref', - ref: 'lex:app.rocksky.shout.defs#shoutViewBasic', + type: "ref", + ref: "lex:app.rocksky.shout.defs#shoutViewBasic", }, }, }, @@ -3432,43 +3447,43 @@ export const schemaDict = { }, AppRockskyShoutGetArtistShouts: { lexicon: 1, - id: 'app.rocksky.shout.getArtistShouts', + id: "app.rocksky.shout.getArtistShouts", defs: { main: { - type: 'query', - description: 'Get shouts for an artist', + type: "query", + description: "Get shouts for an artist", parameters: { - type: 'params', - required: ['uri'], + type: "params", + required: ["uri"], properties: { uri: { - type: 'string', - description: 'The URI of the artist to retrieve shouts for', - format: 'at-uri', + type: "string", + description: "The URI of the artist to retrieve shouts for", + format: "at-uri", }, limit: { - type: 'integer', - description: 'The maximum number of shouts to return', + type: "integer", + description: "The maximum number of shouts to return", minimum: 1, }, offset: { - type: 'integer', + type: "integer", description: - 'The number of shouts to skip before starting to collect the result set', + "The number of shouts to skip before starting to collect the result set", minimum: 0, }, }, }, output: { - encoding: 'application/json', + encoding: "application/json", schema: { - type: 'object', + type: "object", properties: { shouts: { - type: 'array', + type: "array", items: { - type: 'ref', - ref: 'lex:app.rocksky.shout.defs#shoutViewBasic', + type: "ref", + ref: "lex:app.rocksky.shout.defs#shoutViewBasic", }, }, }, @@ -3479,42 +3494,42 @@ export const schemaDict = { }, AppRockskyShoutGetProfileShouts: { lexicon: 1, - id: 'app.rocksky.shout.getProfileShouts', + id: "app.rocksky.shout.getProfileShouts", defs: { main: { - type: 'query', + type: "query", description: "Get the shouts of an actor's profile", parameters: { - type: 'params', - required: ['did'], + type: "params", + required: ["did"], properties: { did: { - type: 'string', - description: 'The DID or handle of the actor', - format: 'at-identifier', + type: "string", + description: "The DID or handle of the actor", + format: "at-identifier", }, offset: { - type: 'integer', - description: 'The offset for pagination', + type: "integer", + description: "The offset for pagination", minimum: 0, }, limit: { - type: 'integer', - description: 'The maximum number of shouts to return', + type: "integer", + description: "The maximum number of shouts to return", minimum: 1, }, }, }, output: { - encoding: 'application/json', + encoding: "application/json", schema: { - type: 'object', + type: "object", properties: { shouts: { - type: 'array', + type: "array", items: { - type: 'ref', - ref: 'lex:app.rocksky.shout.defs#shoutViewBasic', + type: "ref", + ref: "lex:app.rocksky.shout.defs#shoutViewBasic", }, }, }, @@ -3525,43 +3540,43 @@ export const schemaDict = { }, AppRockskyShoutGetShoutReplies: { lexicon: 1, - id: 'app.rocksky.shout.getShoutReplies', + id: "app.rocksky.shout.getShoutReplies", defs: { main: { - type: 'query', - description: 'Get replies to a shout', + type: "query", + description: "Get replies to a shout", parameters: { - type: 'params', - required: ['uri'], + type: "params", + required: ["uri"], properties: { uri: { - type: 'string', - description: 'The URI of the shout to retrieve replies for', - format: 'at-uri', + type: "string", + description: "The URI of the shout to retrieve replies for", + format: "at-uri", }, limit: { - type: 'integer', - description: 'The maximum number of shouts to return', + type: "integer", + description: "The maximum number of shouts to return", minimum: 1, }, offset: { - type: 'integer', + type: "integer", description: - 'The number of shouts to skip before starting to collect the result set', + "The number of shouts to skip before starting to collect the result set", minimum: 0, }, }, }, output: { - encoding: 'application/json', + encoding: "application/json", schema: { - type: 'object', + type: "object", properties: { shouts: { - type: 'array', + type: "array", items: { - type: 'ref', - ref: 'lex:app.rocksky.shout.defs#shoutViewBasic', + type: "ref", + ref: "lex:app.rocksky.shout.defs#shoutViewBasic", }, }, }, @@ -3572,32 +3587,32 @@ export const schemaDict = { }, AppRockskyShoutGetTrackShouts: { lexicon: 1, - id: 'app.rocksky.shout.getTrackShouts', + id: "app.rocksky.shout.getTrackShouts", defs: { main: { - type: 'query', - description: 'Get all shouts for a specific track', + type: "query", + description: "Get all shouts for a specific track", parameters: { - type: 'params', - required: ['uri'], + type: "params", + required: ["uri"], properties: { uri: { - type: 'string', - description: 'The URI of the track to retrieve shouts for', - format: 'at-uri', + type: "string", + description: "The URI of the track to retrieve shouts for", + format: "at-uri", }, }, }, output: { - encoding: 'application/json', + encoding: "application/json", schema: { - type: 'object', + type: "object", properties: { shouts: { - type: 'array', + type: "array", items: { - type: 'ref', - ref: 'lex:app.rocksky.shout.defs#shoutViewBasic', + type: "ref", + ref: "lex:app.rocksky.shout.defs#shoutViewBasic", }, }, }, @@ -3608,26 +3623,26 @@ export const schemaDict = { }, AppRockskyShoutRemoveShout: { lexicon: 1, - id: 'app.rocksky.shout.removeShout', + id: "app.rocksky.shout.removeShout", defs: { main: { - type: 'procedure', - description: 'Remove a shout by its ID', + type: "procedure", + description: "Remove a shout by its ID", parameters: { - type: 'params', - required: ['id'], + type: "params", + required: ["id"], properties: { id: { - type: 'string', - description: 'The ID of the shout to be removed', + type: "string", + description: "The ID of the shout to be removed", }, }, }, output: { - encoding: 'application/json', + encoding: "application/json", schema: { - type: 'ref', - ref: 'lex:app.rocksky.shout.defs#shoutView', + type: "ref", + ref: "lex:app.rocksky.shout.defs#shoutView", }, }, }, @@ -3635,34 +3650,34 @@ export const schemaDict = { }, AppRockskyShoutReplyShout: { lexicon: 1, - id: 'app.rocksky.shout.replyShout', + id: "app.rocksky.shout.replyShout", defs: { main: { - type: 'procedure', - description: 'Reply to a shout', + type: "procedure", + description: "Reply to a shout", input: { - encoding: 'application/json', + encoding: "application/json", schema: { - type: 'object', - required: ['shoutId', 'message'], + type: "object", + required: ["shoutId", "message"], properties: { shoutId: { - type: 'string', - description: 'The unique identifier of the shout to reply to', + type: "string", + description: "The unique identifier of the shout to reply to", }, message: { - type: 'string', - description: 'The content of the reply', + type: "string", + description: "The content of the reply", minLength: 1, }, }, }, }, output: { - encoding: 'application/json', + encoding: "application/json", schema: { - type: 'ref', - ref: 'lex:app.rocksky.shout.defs#shoutView', + type: "ref", + ref: "lex:app.rocksky.shout.defs#shoutView", }, }, }, @@ -3670,34 +3685,34 @@ export const schemaDict = { }, AppRockskyShoutReportShout: { lexicon: 1, - id: 'app.rocksky.shout.reportShout', + id: "app.rocksky.shout.reportShout", defs: { main: { - type: 'procedure', - description: 'Report a shout for moderation', + type: "procedure", + description: "Report a shout for moderation", input: { - encoding: 'application/json', + encoding: "application/json", schema: { - type: 'object', - required: ['shoutId'], + type: "object", + required: ["shoutId"], properties: { shoutId: { - type: 'string', - description: 'The unique identifier of the shout to report', + type: "string", + description: "The unique identifier of the shout to report", }, reason: { - type: 'string', - description: 'The reason for reporting the shout', + type: "string", + description: "The reason for reporting the shout", minLength: 1, }, }, }, }, output: { - encoding: 'application/json', + encoding: "application/json", schema: { - type: 'ref', - ref: 'lex:app.rocksky.shout.defs#shoutView', + type: "ref", + ref: "lex:app.rocksky.shout.defs#shoutView", }, }, }, @@ -3705,34 +3720,34 @@ export const schemaDict = { }, AppRockskyShout: { lexicon: 1, - id: 'app.rocksky.shout', + id: "app.rocksky.shout", defs: { main: { - type: 'record', - description: 'A declaration of a shout.', - key: 'tid', + type: "record", + description: "A declaration of a shout.", + key: "tid", record: { - type: 'object', - required: ['message', 'createdAt', 'subject'], + type: "object", + required: ["message", "createdAt", "subject"], properties: { message: { - type: 'string', - description: 'The message of the shout.', + type: "string", + description: "The message of the shout.", minLength: 1, maxLength: 1000, }, createdAt: { - type: 'string', - description: 'The date when the shout was created.', - format: 'datetime', + type: "string", + description: "The date when the shout was created.", + format: "datetime", }, parent: { - type: 'ref', - ref: 'lex:com.atproto.repo.strongRef', + type: "ref", + ref: "lex:com.atproto.repo.strongRef", }, subject: { - type: 'ref', - ref: 'lex:com.atproto.repo.strongRef', + type: "ref", + ref: "lex:com.atproto.repo.strongRef", }, }, }, @@ -3741,78 +3756,78 @@ export const schemaDict = { }, AppRockskySongCreateSong: { lexicon: 1, - id: 'app.rocksky.song.createSong', + id: "app.rocksky.song.createSong", defs: { main: { - type: 'procedure', - description: 'Create a new song', + type: "procedure", + description: "Create a new song", input: { - encoding: 'application/json', + encoding: "application/json", schema: { - type: 'object', - required: ['title', 'artist', 'album', 'albumArtist'], + type: "object", + required: ["title", "artist", "album", "albumArtist"], properties: { title: { - type: 'string', - description: 'The title of the song', + type: "string", + description: "The title of the song", }, artist: { - type: 'string', - description: 'The artist of the song', + type: "string", + description: "The artist of the song", }, albumArtist: { - type: 'string', + type: "string", description: - 'The album artist of the song, if different from the main artist', + "The album artist of the song, if different from the main artist", }, album: { - type: 'string', - description: 'The album of the song, if applicable', + type: "string", + description: "The album of the song, if applicable", }, duration: { - type: 'integer', - description: 'The duration of the song in seconds', + type: "integer", + description: "The duration of the song in seconds", }, mbId: { - type: 'string', - description: 'The MusicBrainz ID of the song, if available', + type: "string", + description: "The MusicBrainz ID of the song, if available", }, albumArt: { - type: 'string', - description: 'The URL of the album art for the song', - format: 'uri', + type: "string", + description: "The URL of the album art for the song", + format: "uri", }, trackNumber: { - type: 'integer', + type: "integer", description: - 'The track number of the song in the album, if applicable', + "The track number of the song in the album, if applicable", }, releaseDate: { - type: 'string', + type: "string", description: - 'The release date of the song, formatted as YYYY-MM-DD', + "The release date of the song, formatted as YYYY-MM-DD", }, year: { - type: 'integer', - description: 'The year the song was released', + type: "integer", + description: "The year the song was released", }, discNumber: { - type: 'integer', + type: "integer", description: - 'The disc number of the song in the album, if applicable', + "The disc number of the song in the album, if applicable", }, lyrics: { - type: 'string', - description: 'The lyrics of the song, if available', + type: "string", + description: "The lyrics of the song, if available", }, }, }, }, output: { - encoding: 'application/json', + encoding: "application/json", schema: { - type: 'ref', - ref: 'lex:app.rocksky.song.defs#songViewDetailed', + type: "ref", + ref: "lex:app.rocksky.song.defs#songViewDetailed", }, }, }, @@ -3820,159 +3835,159 @@ export const schemaDict = { }, AppRockskySongDefs: { lexicon: 1, - id: 'app.rocksky.song.defs', + id: "app.rocksky.song.defs", defs: { songViewBasic: { - type: 'object', + type: "object", properties: { id: { - type: 'string', - description: 'The unique identifier of the song.', + type: "string", + description: "The unique identifier of the song.", }, title: { - type: 'string', - description: 'The title of the song.', + type: "string", + description: "The title of the song.", }, artist: { - type: 'string', - description: 'The artist of the song.', + type: "string", + description: "The artist of the song.", }, albumArtist: { - type: 'string', - description: 'The artist of the album the song belongs to.', + type: "string", + description: "The artist of the album the song belongs to.", }, albumArt: { - type: 'string', - description: 'The URL of the album art image.', - format: 'uri', + type: "string", + description: "The URL of the album art image.", + format: "uri", }, uri: { - type: 'string', - description: 'The URI of the song.', - format: 'at-uri', + type: "string", + description: "The URI of the song.", + format: "at-uri", }, album: { - type: 'string', - description: 'The album of the song.', + type: "string", + description: "The album of the song.", }, duration: { - type: 'integer', - description: 'The duration of the song in milliseconds.', + type: "integer", + description: "The duration of the song in milliseconds.", }, trackNumber: { - type: 'integer', - description: 'The track number of the song in the album.', + type: "integer", + description: "The track number of the song in the album.", }, discNumber: { - type: 'integer', - description: 'The disc number of the song in the album.', + type: "integer", + description: "The disc number of the song in the album.", }, playCount: { - type: 'integer', - description: 'The number of times the song has been played.', + type: "integer", + description: "The number of times the song has been played.", minimum: 0, }, uniqueListeners: { - type: 'integer', + type: "integer", description: - 'The number of unique listeners who have played the song.', + "The number of unique listeners who have played the song.", minimum: 0, }, albumUri: { - type: 'string', - description: 'The URI of the album the song belongs to.', - format: 'at-uri', + type: "string", + description: "The URI of the album the song belongs to.", + format: "at-uri", }, artistUri: { - type: 'string', - description: 'The URI of the artist of the song.', - format: 'at-uri', + type: "string", + description: "The URI of the artist of the song.", + format: "at-uri", }, sha256: { - type: 'string', - description: 'The SHA256 hash of the song.', + type: "string", + description: "The SHA256 hash of the song.", }, createdAt: { - type: 'string', - description: 'The timestamp when the song was created.', - format: 'datetime', + type: "string", + description: "The timestamp when the song was created.", + format: "datetime", }, }, }, songViewDetailed: { - type: 'object', + type: "object", properties: { id: { - type: 'string', - description: 'The unique identifier of the song.', + type: "string", + description: "The unique identifier of the song.", }, title: { - type: 'string', - description: 'The title of the song.', + type: "string", + description: "The title of the song.", }, artist: { - type: 'string', - description: 'The artist of the song.', + type: "string", + description: "The artist of the song.", }, albumArtist: { - type: 'string', - description: 'The artist of the album the song belongs to.', + type: "string", + description: "The artist of the album the song belongs to.", }, albumArt: { - type: 'string', - description: 'The URL of the album art image.', - format: 'uri', + type: "string", + description: "The URL of the album art image.", + format: "uri", }, uri: { - type: 'string', - description: 'The URI of the song.', - format: 'at-uri', + type: "string", + description: "The URI of the song.", + format: "at-uri", }, album: { - type: 'string', - description: 'The album of the song.', + type: "string", + description: "The album of the song.", }, duration: { - type: 'integer', - description: 'The duration of the song in milliseconds.', + type: "integer", + description: "The duration of the song in milliseconds.", }, trackNumber: { - type: 'integer', - description: 'The track number of the song in the album.', + type: "integer", + description: "The track number of the song in the album.", }, discNumber: { - type: 'integer', - description: 'The disc number of the song in the album.', + type: "integer", + description: "The disc number of the song in the album.", }, playCount: { - type: 'integer', - description: 'The number of times the song has been played.', + type: "integer", + description: "The number of times the song has been played.", minimum: 0, }, uniqueListeners: { - type: 'integer', + type: "integer", description: - 'The number of unique listeners who have played the song.', + "The number of unique listeners who have played the song.", minimum: 0, }, albumUri: { - type: 'string', - description: 'The URI of the album the song belongs to.', - format: 'at-uri', + type: "string", + description: "The URI of the album the song belongs to.", + format: "at-uri", }, artistUri: { - type: 'string', - description: 'The URI of the artist of the song.', - format: 'at-uri', + type: "string", + description: "The URI of the artist of the song.", + format: "at-uri", }, sha256: { - type: 'string', - description: 'The SHA256 hash of the song.', + type: "string", + description: "The SHA256 hash of the song.", }, createdAt: { - type: 'string', - description: 'The timestamp when the song was created.', - format: 'datetime', + type: "string", + description: "The timestamp when the song was created.", + format: "datetime", }, }, }, @@ -3980,27 +3995,27 @@ export const schemaDict = { }, AppRockskySongGetSong: { lexicon: 1, - id: 'app.rocksky.song.getSong', + id: "app.rocksky.song.getSong", defs: { main: { - type: 'query', - description: 'Get a song by its uri', + type: "query", + description: "Get a song by its uri", parameters: { - type: 'params', - required: ['uri'], + type: "params", + required: ["uri"], properties: { uri: { - type: 'string', - description: 'The unique identifier of the song to retrieve', - format: 'at-uri', + type: "string", + description: "The unique identifier of the song to retrieve", + format: "at-uri", }, }, }, output: { - encoding: 'application/json', + encoding: "application/json", schema: { - type: 'ref', - ref: 'lex:app.rocksky.song.defs#songViewDetailed', + type: "ref", + ref: "lex:app.rocksky.song.defs#songViewDetailed", }, }, }, @@ -4008,36 +4023,36 @@ export const schemaDict = { }, AppRockskySongGetSongs: { lexicon: 1, - id: 'app.rocksky.song.getSongs', + id: "app.rocksky.song.getSongs", defs: { main: { - type: 'query', - description: 'Get songs', + type: "query", + description: "Get songs", parameters: { - type: 'params', + type: "params", properties: { limit: { - type: 'integer', - description: 'The maximum number of songs to return', + type: "integer", + description: "The maximum number of songs to return", minimum: 1, }, offset: { - type: 'integer', - description: 'The offset for pagination', + type: "integer", + description: "The offset for pagination", minimum: 0, }, }, }, output: { - encoding: 'application/json', + encoding: "application/json", schema: { - type: 'object', + type: "object", properties: { songs: { - type: 'array', + type: "array", items: { - type: 'ref', - ref: 'lex:app.rocksky.song.defs#songViewBasic', + type: "ref", + ref: "lex:app.rocksky.song.defs#songViewBasic", }, }, }, @@ -4048,144 +4063,149 @@ export const schemaDict = { }, AppRockskySong: { lexicon: 1, - id: 'app.rocksky.song', + id: "app.rocksky.song", defs: { main: { - type: 'record', - description: 'A declaration of a song.', - key: 'tid', + type: "record", + description: "A declaration of a song.", + key: "tid", record: { - type: 'object', + type: "object", required: [ - 'title', - 'artist', - 'album', - 'albumArtist', - 'duration', - 'createdAt', + "title", + "artist", + "album", + "albumArtist", + "duration", + "createdAt", ], properties: { title: { - type: 'string', - description: 'The title of the song.', + type: "string", + description: "The title of the song.", minLength: 1, maxLength: 512, }, artist: { - type: 'string', - description: 'The artist of the song.', + type: "string", + description: "The artist of the song.", minLength: 1, maxLength: 256, }, albumArtist: { - type: 'string', - description: 'The album artist of the song.', + type: "string", + description: "The album artist of the song.", minLength: 1, maxLength: 256, }, album: { - type: 'string', - description: 'The album of the song.', + type: "string", + description: "The album of the song.", minLength: 1, maxLength: 256, }, duration: { - type: 'integer', - description: 'The duration of the song in seconds.', + type: "integer", + description: "The duration of the song in seconds.", minimum: 1, }, trackNumber: { - type: 'integer', - description: 'The track number of the song in the album.', + type: "integer", + description: "The track number of the song in the album.", minimum: 1, }, discNumber: { - type: 'integer', - description: 'The disc number of the song in the album.', + type: "integer", + description: "The disc number of the song in the album.", minimum: 1, }, releaseDate: { - type: 'string', - description: 'The release date of the song.', - format: 'datetime', + type: "string", + description: "The release date of the song.", + format: "datetime", }, year: { - type: 'integer', - description: 'The year the song was released.', + type: "integer", + description: "The year the song was released.", }, genre: { - type: 'string', - description: 'The genre of the song.', + type: "string", + description: "The genre of the song.", minLength: 1, maxLength: 256, }, tags: { - type: 'array', - description: 'The tags of the song.', + type: "array", + description: "The tags of the song.", items: { - type: 'string', + type: "string", minLength: 1, maxLength: 256, }, }, composer: { - type: 'string', - description: 'The composer of the song.', + type: "string", + description: "The composer of the song.", maxLength: 256, }, lyrics: { - type: 'string', - description: 'The lyrics of the song.', + type: "string", + description: "The lyrics of the song.", maxLength: 10000, }, copyrightMessage: { - type: 'string', - description: 'The copyright message of the song.', + type: "string", + description: "The copyright message of the song.", maxLength: 256, }, wiki: { - type: 'string', - description: 'Informations about the song', + type: "string", + description: "Informations about the song", maxLength: 10000, }, albumArt: { - type: 'blob', - description: 'The album art of the song.', - accept: ['image/png', 'image/jpeg'], + type: "blob", + description: "The album art of the song.", + accept: ["image/png", "image/jpeg"], maxSize: 2000000, }, + albumArtUrl: { + type: "string", + description: "The URL of the album art of the song.", + format: "uri", + }, youtubeLink: { - type: 'string', - description: 'The YouTube link of the song.', - format: 'uri', + type: "string", + description: "The YouTube link of the song.", + format: "uri", }, spotifyLink: { - type: 'string', - description: 'The Spotify link of the song.', - format: 'uri', + type: "string", + description: "The Spotify link of the song.", + format: "uri", }, tidalLink: { - type: 'string', - description: 'The Tidal link of the song.', - format: 'uri', + type: "string", + description: "The Tidal link of the song.", + format: "uri", }, appleMusicLink: { - type: 'string', - description: 'The Apple Music link of the song.', - format: 'uri', + type: "string", + description: "The Apple Music link of the song.", + format: "uri", }, createdAt: { - type: 'string', - description: 'The date when the song was created.', - format: 'datetime', + type: "string", + description: "The date when the song was created.", + format: "datetime", }, mbid: { - type: 'string', - description: 'The MusicBrainz ID of the song.', + type: "string", + description: "The MusicBrainz ID of the song.", }, label: { - type: 'string', - description: 'The label of the song.', + type: "string", + description: "The label of the song.", maxLength: 256, }, }, @@ -4195,34 +4215,34 @@ export const schemaDict = { }, AppRockskySpotifyDefs: { lexicon: 1, - id: 'app.rocksky.spotify.defs', + id: "app.rocksky.spotify.defs", defs: { spotifyTrackView: { - type: 'object', + type: "object", properties: { id: { - type: 'string', - description: 'The unique identifier of the Spotify track.', + type: "string", + description: "The unique identifier of the Spotify track.", }, name: { - type: 'string', - description: 'The name of the track.', + type: "string", + description: "The name of the track.", }, artist: { - type: 'string', - description: 'The name of the artist.', + type: "string", + description: "The name of the artist.", }, album: { - type: 'string', - description: 'The name of the album.', + type: "string", + description: "The name of the album.", }, duration: { - type: 'integer', - description: 'The duration of the track in milliseconds.', + type: "integer", + description: "The duration of the track in milliseconds.", }, previewUrl: { - type: 'string', - description: 'A URL to a preview of the track.', + type: "string", + description: "A URL to a preview of the track.", }, }, }, @@ -4230,27 +4250,27 @@ export const schemaDict = { }, AppRockskySpotifyGetCurrentlyPlaying: { lexicon: 1, - id: 'app.rocksky.spotify.getCurrentlyPlaying', + id: "app.rocksky.spotify.getCurrentlyPlaying", defs: { main: { - type: 'query', - description: 'Get the currently playing track', + type: "query", + description: "Get the currently playing track", parameters: { - type: 'params', + type: "params", properties: { actor: { - type: 'string', + type: "string", description: - 'Handle or DID of the actor to retrieve the currently playing track for. If not provided, defaults to the current user.', - format: 'at-identifier', + "Handle or DID of the actor to retrieve the currently playing track for. If not provided, defaults to the current user.", + format: "at-identifier", }, }, }, output: { - encoding: 'application/json', + encoding: "application/json", schema: { - type: 'ref', - ref: 'lex:app.rocksky.player.defs#currentlyPlayingViewDetailed', + type: "ref", + ref: "lex:app.rocksky.player.defs#currentlyPlayingViewDetailed", }, }, }, @@ -4258,59 +4278,59 @@ export const schemaDict = { }, AppRockskySpotifyNext: { lexicon: 1, - id: 'app.rocksky.spotify.next', + id: "app.rocksky.spotify.next", defs: { main: { - type: 'procedure', - description: 'Play the next track in the queue', + type: "procedure", + description: "Play the next track in the queue", }, }, }, AppRockskySpotifyPause: { lexicon: 1, - id: 'app.rocksky.spotify.pause', + id: "app.rocksky.spotify.pause", defs: { main: { - type: 'procedure', - description: 'Pause the currently playing track', + type: "procedure", + description: "Pause the currently playing track", }, }, }, AppRockskySpotifyPlay: { lexicon: 1, - id: 'app.rocksky.spotify.play', + id: "app.rocksky.spotify.play", defs: { main: { - type: 'procedure', - description: 'Resume playback of the currently paused track', + type: "procedure", + description: "Resume playback of the currently paused track", }, }, }, AppRockskySpotifyPrevious: { lexicon: 1, - id: 'app.rocksky.spotify.previous', + id: "app.rocksky.spotify.previous", defs: { main: { - type: 'procedure', - description: 'Play the previous track in the queue', + type: "procedure", + description: "Play the previous track in the queue", }, }, }, AppRockskySpotifySeek: { lexicon: 1, - id: 'app.rocksky.spotify.seek', + id: "app.rocksky.spotify.seek", defs: { main: { - type: 'procedure', + type: "procedure", description: - 'Seek to a specific position in the currently playing track', + "Seek to a specific position in the currently playing track", parameters: { - type: 'params', - required: ['position'], + type: "params", + required: ["position"], properties: { position: { - type: 'integer', - description: 'The position in seconds to seek to', + type: "integer", + description: "The position in seconds to seek to", }, }, }, @@ -4319,30 +4339,30 @@ export const schemaDict = { }, AppRockskyStatsDefs: { lexicon: 1, - id: 'app.rocksky.stats.defs', + id: "app.rocksky.stats.defs", defs: { statsView: { - type: 'object', + type: "object", properties: { scrobbles: { - type: 'integer', - description: 'The total number of scrobbles.', + type: "integer", + description: "The total number of scrobbles.", }, artists: { - type: 'integer', - description: 'The total number of unique artists scrobbled.', + type: "integer", + description: "The total number of unique artists scrobbled.", }, lovedTracks: { - type: 'integer', - description: 'The total number of tracks marked as loved.', + type: "integer", + description: "The total number of tracks marked as loved.", }, albums: { - type: 'integer', - description: 'The total number of unique albums scrobbled.', + type: "integer", + description: "The total number of unique albums scrobbled.", }, tracks: { - type: 'integer', - description: 'The total number of unique tracks scrobbled.', + type: "integer", + description: "The total number of unique tracks scrobbled.", }, }, }, @@ -4350,26 +4370,26 @@ export const schemaDict = { }, AppRockskyStatsGetStats: { lexicon: 1, - id: 'app.rocksky.stats.getStats', + id: "app.rocksky.stats.getStats", defs: { main: { - type: 'query', + type: "query", parameters: { - type: 'params', - required: ['did'], + type: "params", + required: ["did"], properties: { did: { - type: 'string', - description: 'The DID or handle of the user to get stats for.', - format: 'at-identifier', + type: "string", + description: "The DID or handle of the user to get stats for.", + format: "at-identifier", }, }, }, output: { - encoding: 'application/json', + encoding: "application/json", schema: { - type: 'ref', - ref: 'lex:app.rocksky.stats.defs#statsView', + type: "ref", + ref: "lex:app.rocksky.stats.defs#statsView", }, }, }, @@ -4377,130 +4397,130 @@ export const schemaDict = { }, ComAtprotoRepoStrongRef: { lexicon: 1, - id: 'com.atproto.repo.strongRef', - description: 'A URI with a content-hash fingerprint.', + id: "com.atproto.repo.strongRef", + description: "A URI with a content-hash fingerprint.", defs: { main: { - type: 'object', - required: ['uri', 'cid'], + type: "object", + required: ["uri", "cid"], properties: { uri: { - type: 'string', - format: 'at-uri', + type: "string", + format: "at-uri", }, cid: { - type: 'string', - format: 'cid', + type: "string", + format: "cid", }, }, }, }, }, -} as const satisfies Record +} as const satisfies Record; -export const schemas = Object.values(schemaDict) -export const lexicons: Lexicons = new Lexicons(schemas) +export const schemas = Object.values(schemaDict); +export const lexicons: Lexicons = new Lexicons(schemas); export const ids = { - AppRockskyActorDefs: 'app.rocksky.actor.defs', - AppRockskyActorGetActorAlbums: 'app.rocksky.actor.getActorAlbums', - AppRockskyActorGetActorArtists: 'app.rocksky.actor.getActorArtists', - AppRockskyActorGetActorLovedSongs: 'app.rocksky.actor.getActorLovedSongs', - AppRockskyActorGetActorPlaylists: 'app.rocksky.actor.getActorPlaylists', - AppRockskyActorGetActorScrobbles: 'app.rocksky.actor.getActorScrobbles', - AppRockskyActorGetActorSongs: 'app.rocksky.actor.getActorSongs', - AppRockskyActorGetProfile: 'app.rocksky.actor.getProfile', - AppBskyActorProfile: 'app.bsky.actor.profile', - AppRockskyAlbum: 'app.rocksky.album', - AppRockskyAlbumDefs: 'app.rocksky.album.defs', - AppRockskyAlbumGetAlbum: 'app.rocksky.album.getAlbum', - AppRockskyAlbumGetAlbums: 'app.rocksky.album.getAlbums', - AppRockskyAlbumGetAlbumTracks: 'app.rocksky.album.getAlbumTracks', - AppRockskyApikeyCreateApikey: 'app.rocksky.apikey.createApikey', - AppRockskyApikeyDefs: 'app.rocksky.apikey.defs', - AppRockskyApikeysDefs: 'app.rocksky.apikeys.defs', - AppRockskyApikeyGetApikeys: 'app.rocksky.apikey.getApikeys', - AppRockskyApikeyRemoveApikey: 'app.rocksky.apikey.removeApikey', - AppRockskyApikeyUpdateApikey: 'app.rocksky.apikey.updateApikey', - AppRockskyArtist: 'app.rocksky.artist', - AppRockskyArtistDefs: 'app.rocksky.artist.defs', - AppRockskyArtistGetArtistAlbums: 'app.rocksky.artist.getArtistAlbums', - AppRockskyArtistGetArtist: 'app.rocksky.artist.getArtist', - AppRockskyArtistGetArtistListeners: 'app.rocksky.artist.getArtistListeners', - AppRockskyArtistGetArtists: 'app.rocksky.artist.getArtists', - AppRockskyArtistGetArtistTracks: 'app.rocksky.artist.getArtistTracks', - AppRockskyChartsDefs: 'app.rocksky.charts.defs', - AppRockskyChartsGetScrobblesChart: 'app.rocksky.charts.getScrobblesChart', - AppRockskyDropboxDefs: 'app.rocksky.dropbox.defs', - AppRockskyDropboxDownloadFile: 'app.rocksky.dropbox.downloadFile', - AppRockskyDropboxGetFiles: 'app.rocksky.dropbox.getFiles', - AppRockskyDropboxGetMetadata: 'app.rocksky.dropbox.getMetadata', - AppRockskyDropboxGetTemporaryLink: 'app.rocksky.dropbox.getTemporaryLink', - AppRockskyFeedDefs: 'app.rocksky.feed.defs', - AppRockskyFeedGetNowPlayings: 'app.rocksky.feed.getNowPlayings', - AppRockskyFeedSearch: 'app.rocksky.feed.search', - AppRockskyGoogledriveDefs: 'app.rocksky.googledrive.defs', - AppRockskyGoogledriveDownloadFile: 'app.rocksky.googledrive.downloadFile', - AppRockskyGoogledriveGetFile: 'app.rocksky.googledrive.getFile', - AppRockskyGoogledriveGetFiles: 'app.rocksky.googledrive.getFiles', - AppRockskyLikeDislikeShout: 'app.rocksky.like.dislikeShout', - AppRockskyLikeDislikeSong: 'app.rocksky.like.dislikeSong', - AppRockskyLike: 'app.rocksky.like', - AppRockskyLikeLikeShout: 'app.rocksky.like.likeShout', - AppRockskyLikeLikeSong: 'app.rocksky.like.likeSong', - AppRockskyPlayerAddDirectoryToQueue: 'app.rocksky.player.addDirectoryToQueue', - AppRockskyPlayerAddItemsToQueue: 'app.rocksky.player.addItemsToQueue', - AppRockskyPlayerDefs: 'app.rocksky.player.defs', - AppRockskyPlayerGetCurrentlyPlaying: 'app.rocksky.player.getCurrentlyPlaying', - AppRockskyPlayerGetPlaybackQueue: 'app.rocksky.player.getPlaybackQueue', - AppRockskyPlayerNext: 'app.rocksky.player.next', - AppRockskyPlayerPause: 'app.rocksky.player.pause', - AppRockskyPlayerPlayDirectory: 'app.rocksky.player.playDirectory', - AppRockskyPlayerPlayFile: 'app.rocksky.player.playFile', - AppRockskyPlayerPlay: 'app.rocksky.player.play', - AppRockskyPlayerPrevious: 'app.rocksky.player.previous', - AppRockskyPlayerSeek: 'app.rocksky.player.seek', - AppRockskyPlaylistCreatePlaylist: 'app.rocksky.playlist.createPlaylist', - AppRockskyPlaylistDefs: 'app.rocksky.playlist.defs', - AppRockskyPlaylistGetPlaylist: 'app.rocksky.playlist.getPlaylist', - AppRockskyPlaylistGetPlaylists: 'app.rocksky.playlist.getPlaylists', - AppRockskyPlaylistInsertDirectory: 'app.rocksky.playlist.insertDirectory', - AppRockskyPlaylistInsertFiles: 'app.rocksky.playlist.insertFiles', - AppRockskyPlaylist: 'app.rocksky.playlist', - AppRockskyPlaylistRemovePlaylist: 'app.rocksky.playlist.removePlaylist', - AppRockskyPlaylistRemoveTrack: 'app.rocksky.playlist.removeTrack', - AppRockskyPlaylistStartPlaylist: 'app.rocksky.playlist.startPlaylist', - AppRockskyRadioDefs: 'app.rocksky.radio.defs', - AppRockskyRadio: 'app.rocksky.radio', - AppRockskyScrobbleCreateScrobble: 'app.rocksky.scrobble.createScrobble', - AppRockskyScrobbleDefs: 'app.rocksky.scrobble.defs', - AppRockskyScrobbleGetScrobble: 'app.rocksky.scrobble.getScrobble', - AppRockskyScrobbleGetScrobbles: 'app.rocksky.scrobble.getScrobbles', - AppRockskyScrobble: 'app.rocksky.scrobble', - AppRockskyShoutCreateShout: 'app.rocksky.shout.createShout', - AppRockskyShoutDefs: 'app.rocksky.shout.defs', - AppRockskyShoutGetAlbumShouts: 'app.rocksky.shout.getAlbumShouts', - AppRockskyShoutGetArtistShouts: 'app.rocksky.shout.getArtistShouts', - AppRockskyShoutGetProfileShouts: 'app.rocksky.shout.getProfileShouts', - AppRockskyShoutGetShoutReplies: 'app.rocksky.shout.getShoutReplies', - AppRockskyShoutGetTrackShouts: 'app.rocksky.shout.getTrackShouts', - AppRockskyShoutRemoveShout: 'app.rocksky.shout.removeShout', - AppRockskyShoutReplyShout: 'app.rocksky.shout.replyShout', - AppRockskyShoutReportShout: 'app.rocksky.shout.reportShout', - AppRockskyShout: 'app.rocksky.shout', - AppRockskySongCreateSong: 'app.rocksky.song.createSong', - AppRockskySongDefs: 'app.rocksky.song.defs', - AppRockskySongGetSong: 'app.rocksky.song.getSong', - AppRockskySongGetSongs: 'app.rocksky.song.getSongs', - AppRockskySong: 'app.rocksky.song', - AppRockskySpotifyDefs: 'app.rocksky.spotify.defs', + AppRockskyActorDefs: "app.rocksky.actor.defs", + AppRockskyActorGetActorAlbums: "app.rocksky.actor.getActorAlbums", + AppRockskyActorGetActorArtists: "app.rocksky.actor.getActorArtists", + AppRockskyActorGetActorLovedSongs: "app.rocksky.actor.getActorLovedSongs", + AppRockskyActorGetActorPlaylists: "app.rocksky.actor.getActorPlaylists", + AppRockskyActorGetActorScrobbles: "app.rocksky.actor.getActorScrobbles", + AppRockskyActorGetActorSongs: "app.rocksky.actor.getActorSongs", + AppRockskyActorGetProfile: "app.rocksky.actor.getProfile", + AppBskyActorProfile: "app.bsky.actor.profile", + AppRockskyAlbum: "app.rocksky.album", + AppRockskyAlbumDefs: "app.rocksky.album.defs", + AppRockskyAlbumGetAlbum: "app.rocksky.album.getAlbum", + AppRockskyAlbumGetAlbums: "app.rocksky.album.getAlbums", + AppRockskyAlbumGetAlbumTracks: "app.rocksky.album.getAlbumTracks", + AppRockskyApikeyCreateApikey: "app.rocksky.apikey.createApikey", + AppRockskyApikeyDefs: "app.rocksky.apikey.defs", + AppRockskyApikeysDefs: "app.rocksky.apikeys.defs", + AppRockskyApikeyGetApikeys: "app.rocksky.apikey.getApikeys", + AppRockskyApikeyRemoveApikey: "app.rocksky.apikey.removeApikey", + AppRockskyApikeyUpdateApikey: "app.rocksky.apikey.updateApikey", + AppRockskyArtist: "app.rocksky.artist", + AppRockskyArtistDefs: "app.rocksky.artist.defs", + AppRockskyArtistGetArtistAlbums: "app.rocksky.artist.getArtistAlbums", + AppRockskyArtistGetArtist: "app.rocksky.artist.getArtist", + AppRockskyArtistGetArtistListeners: "app.rocksky.artist.getArtistListeners", + AppRockskyArtistGetArtists: "app.rocksky.artist.getArtists", + AppRockskyArtistGetArtistTracks: "app.rocksky.artist.getArtistTracks", + AppRockskyChartsDefs: "app.rocksky.charts.defs", + AppRockskyChartsGetScrobblesChart: "app.rocksky.charts.getScrobblesChart", + AppRockskyDropboxDefs: "app.rocksky.dropbox.defs", + AppRockskyDropboxDownloadFile: "app.rocksky.dropbox.downloadFile", + AppRockskyDropboxGetFiles: "app.rocksky.dropbox.getFiles", + AppRockskyDropboxGetMetadata: "app.rocksky.dropbox.getMetadata", + AppRockskyDropboxGetTemporaryLink: "app.rocksky.dropbox.getTemporaryLink", + AppRockskyFeedDefs: "app.rocksky.feed.defs", + AppRockskyFeedGetNowPlayings: "app.rocksky.feed.getNowPlayings", + AppRockskyFeedSearch: "app.rocksky.feed.search", + AppRockskyGoogledriveDefs: "app.rocksky.googledrive.defs", + AppRockskyGoogledriveDownloadFile: "app.rocksky.googledrive.downloadFile", + AppRockskyGoogledriveGetFile: "app.rocksky.googledrive.getFile", + AppRockskyGoogledriveGetFiles: "app.rocksky.googledrive.getFiles", + AppRockskyLikeDislikeShout: "app.rocksky.like.dislikeShout", + AppRockskyLikeDislikeSong: "app.rocksky.like.dislikeSong", + AppRockskyLike: "app.rocksky.like", + AppRockskyLikeLikeShout: "app.rocksky.like.likeShout", + AppRockskyLikeLikeSong: "app.rocksky.like.likeSong", + AppRockskyPlayerAddDirectoryToQueue: "app.rocksky.player.addDirectoryToQueue", + AppRockskyPlayerAddItemsToQueue: "app.rocksky.player.addItemsToQueue", + AppRockskyPlayerDefs: "app.rocksky.player.defs", + AppRockskyPlayerGetCurrentlyPlaying: "app.rocksky.player.getCurrentlyPlaying", + AppRockskyPlayerGetPlaybackQueue: "app.rocksky.player.getPlaybackQueue", + AppRockskyPlayerNext: "app.rocksky.player.next", + AppRockskyPlayerPause: "app.rocksky.player.pause", + AppRockskyPlayerPlayDirectory: "app.rocksky.player.playDirectory", + AppRockskyPlayerPlayFile: "app.rocksky.player.playFile", + AppRockskyPlayerPlay: "app.rocksky.player.play", + AppRockskyPlayerPrevious: "app.rocksky.player.previous", + AppRockskyPlayerSeek: "app.rocksky.player.seek", + AppRockskyPlaylistCreatePlaylist: "app.rocksky.playlist.createPlaylist", + AppRockskyPlaylistDefs: "app.rocksky.playlist.defs", + AppRockskyPlaylistGetPlaylist: "app.rocksky.playlist.getPlaylist", + AppRockskyPlaylistGetPlaylists: "app.rocksky.playlist.getPlaylists", + AppRockskyPlaylistInsertDirectory: "app.rocksky.playlist.insertDirectory", + AppRockskyPlaylistInsertFiles: "app.rocksky.playlist.insertFiles", + AppRockskyPlaylist: "app.rocksky.playlist", + AppRockskyPlaylistRemovePlaylist: "app.rocksky.playlist.removePlaylist", + AppRockskyPlaylistRemoveTrack: "app.rocksky.playlist.removeTrack", + AppRockskyPlaylistStartPlaylist: "app.rocksky.playlist.startPlaylist", + AppRockskyRadioDefs: "app.rocksky.radio.defs", + AppRockskyRadio: "app.rocksky.radio", + AppRockskyScrobbleCreateScrobble: "app.rocksky.scrobble.createScrobble", + AppRockskyScrobbleDefs: "app.rocksky.scrobble.defs", + AppRockskyScrobbleGetScrobble: "app.rocksky.scrobble.getScrobble", + AppRockskyScrobbleGetScrobbles: "app.rocksky.scrobble.getScrobbles", + AppRockskyScrobble: "app.rocksky.scrobble", + AppRockskyShoutCreateShout: "app.rocksky.shout.createShout", + AppRockskyShoutDefs: "app.rocksky.shout.defs", + AppRockskyShoutGetAlbumShouts: "app.rocksky.shout.getAlbumShouts", + AppRockskyShoutGetArtistShouts: "app.rocksky.shout.getArtistShouts", + AppRockskyShoutGetProfileShouts: "app.rocksky.shout.getProfileShouts", + AppRockskyShoutGetShoutReplies: "app.rocksky.shout.getShoutReplies", + AppRockskyShoutGetTrackShouts: "app.rocksky.shout.getTrackShouts", + AppRockskyShoutRemoveShout: "app.rocksky.shout.removeShout", + AppRockskyShoutReplyShout: "app.rocksky.shout.replyShout", + AppRockskyShoutReportShout: "app.rocksky.shout.reportShout", + AppRockskyShout: "app.rocksky.shout", + AppRockskySongCreateSong: "app.rocksky.song.createSong", + AppRockskySongDefs: "app.rocksky.song.defs", + AppRockskySongGetSong: "app.rocksky.song.getSong", + AppRockskySongGetSongs: "app.rocksky.song.getSongs", + AppRockskySong: "app.rocksky.song", + AppRockskySpotifyDefs: "app.rocksky.spotify.defs", AppRockskySpotifyGetCurrentlyPlaying: - 'app.rocksky.spotify.getCurrentlyPlaying', - AppRockskySpotifyNext: 'app.rocksky.spotify.next', - AppRockskySpotifyPause: 'app.rocksky.spotify.pause', - AppRockskySpotifyPlay: 'app.rocksky.spotify.play', - AppRockskySpotifyPrevious: 'app.rocksky.spotify.previous', - AppRockskySpotifySeek: 'app.rocksky.spotify.seek', - AppRockskyStatsDefs: 'app.rocksky.stats.defs', - AppRockskyStatsGetStats: 'app.rocksky.stats.getStats', - ComAtprotoRepoStrongRef: 'com.atproto.repo.strongRef', -} + "app.rocksky.spotify.getCurrentlyPlaying", + AppRockskySpotifyNext: "app.rocksky.spotify.next", + AppRockskySpotifyPause: "app.rocksky.spotify.pause", + AppRockskySpotifyPlay: "app.rocksky.spotify.play", + AppRockskySpotifyPrevious: "app.rocksky.spotify.previous", + AppRockskySpotifySeek: "app.rocksky.spotify.seek", + AppRockskyStatsDefs: "app.rocksky.stats.defs", + AppRockskyStatsGetStats: "app.rocksky.stats.getStats", + ComAtprotoRepoStrongRef: "com.atproto.repo.strongRef", +}; diff --git a/apps/api/src/lexicon/types/app/bsky/actor/profile.ts b/apps/api/src/lexicon/types/app/bsky/actor/profile.ts index 17882944..9eac0d48 100644 --- a/apps/api/src/lexicon/types/app/bsky/actor/profile.ts +++ b/apps/api/src/lexicon/types/app/bsky/actor/profile.ts @@ -1,38 +1,38 @@ /** * GENERATED CODE - DO NOT MODIFY */ -import type { ValidationResult, BlobRef } from '@atproto/lexicon' -import { lexicons } from '../../../../lexicons' -import { isObj, hasProp } from '../../../../util' -import { CID } from 'multiformats/cid' -import type * as ComAtprotoLabelDefs from '../../../com/atproto/label/defs' -import type * as ComAtprotoRepoStrongRef from '../../../com/atproto/repo/strongRef' +import { ValidationResult, BlobRef } from "@atproto/lexicon"; +import { lexicons } from "../../../../lexicons"; +import { isObj, hasProp } from "../../../../util"; +import { CID } from "multiformats/cid"; +import * as ComAtprotoLabelDefs from "../../../com/atproto/label/defs"; +import * as ComAtprotoRepoStrongRef from "../../../com/atproto/repo/strongRef"; export interface Record { - displayName?: string + displayName?: string; /** Free-form profile description text. */ - description?: string + description?: string; /** Small image to be displayed next to posts from account. AKA, 'profile picture' */ - avatar?: BlobRef + avatar?: BlobRef; /** Larger horizontal image to display behind profile view. */ - banner?: BlobRef + banner?: BlobRef; labels?: | ComAtprotoLabelDefs.SelfLabels - | { $type: string; [k: string]: unknown } - joinedViaStarterPack?: ComAtprotoRepoStrongRef.Main - createdAt?: string - [k: string]: unknown + | { $type: string; [k: string]: unknown }; + joinedViaStarterPack?: ComAtprotoRepoStrongRef.Main; + createdAt?: string; + [k: string]: unknown; } export function isRecord(v: unknown): v is Record { return ( isObj(v) && - hasProp(v, '$type') && - (v.$type === 'app.bsky.actor.profile#main' || - v.$type === 'app.bsky.actor.profile') - ) + hasProp(v, "$type") && + (v.$type === "app.bsky.actor.profile#main" || + v.$type === "app.bsky.actor.profile") + ); } export function validateRecord(v: unknown): ValidationResult { - return lexicons.validate('app.bsky.actor.profile#main', v) + return lexicons.validate("app.bsky.actor.profile#main", v); } diff --git a/apps/api/src/lexicon/types/app/rocksky/actor/defs.ts b/apps/api/src/lexicon/types/app/rocksky/actor/defs.ts index 243ad079..8dba8d20 100644 --- a/apps/api/src/lexicon/types/app/rocksky/actor/defs.ts +++ b/apps/api/src/lexicon/types/app/rocksky/actor/defs.ts @@ -1,67 +1,67 @@ /** * GENERATED CODE - DO NOT MODIFY */ -import { type ValidationResult, BlobRef } from '@atproto/lexicon' -import { lexicons } from '../../../../lexicons' -import { isObj, hasProp } from '../../../../util' -import { CID } from 'multiformats/cid' +import { ValidationResult, BlobRef } from "@atproto/lexicon"; +import { lexicons } from "../../../../lexicons"; +import { isObj, hasProp } from "../../../../util"; +import { CID } from "multiformats/cid"; export interface ProfileViewDetailed { /** The unique identifier of the actor. */ - id?: string + id?: string; /** The DID of the actor. */ - did?: string + did?: string; /** The handle of the actor. */ - handle?: string + handle?: string; /** The display name of the actor. */ - displayName?: string + displayName?: string; /** The URL of the actor's avatar image. */ - avatar?: string + avatar?: string; /** The date and time when the actor was created. */ - createdAt?: string + createdAt?: string; /** The date and time when the actor was last updated. */ - updatedAt?: string - [k: string]: unknown + updatedAt?: string; + [k: string]: unknown; } export function isProfileViewDetailed(v: unknown): v is ProfileViewDetailed { return ( isObj(v) && - hasProp(v, '$type') && - v.$type === 'app.rocksky.actor.defs#profileViewDetailed' - ) + hasProp(v, "$type") && + v.$type === "app.rocksky.actor.defs#profileViewDetailed" + ); } export function validateProfileViewDetailed(v: unknown): ValidationResult { - return lexicons.validate('app.rocksky.actor.defs#profileViewDetailed', v) + return lexicons.validate("app.rocksky.actor.defs#profileViewDetailed", v); } export interface ProfileViewBasic { /** The unique identifier of the actor. */ - id?: string + id?: string; /** The DID of the actor. */ - did?: string + did?: string; /** The handle of the actor. */ - handle?: string + handle?: string; /** The display name of the actor. */ - displayName?: string + displayName?: string; /** The URL of the actor's avatar image. */ - avatar?: string + avatar?: string; /** The date and time when the actor was created. */ - createdAt?: string + createdAt?: string; /** The date and time when the actor was last updated. */ - updatedAt?: string - [k: string]: unknown + updatedAt?: string; + [k: string]: unknown; } export function isProfileViewBasic(v: unknown): v is ProfileViewBasic { return ( isObj(v) && - hasProp(v, '$type') && - v.$type === 'app.rocksky.actor.defs#profileViewBasic' - ) + hasProp(v, "$type") && + v.$type === "app.rocksky.actor.defs#profileViewBasic" + ); } export function validateProfileViewBasic(v: unknown): ValidationResult { - return lexicons.validate('app.rocksky.actor.defs#profileViewBasic', v) + return lexicons.validate("app.rocksky.actor.defs#profileViewBasic", v); } diff --git a/apps/api/src/lexicon/types/app/rocksky/actor/getActorAlbums.ts b/apps/api/src/lexicon/types/app/rocksky/actor/getActorAlbums.ts index 43d06bfd..1e87ba8b 100644 --- a/apps/api/src/lexicon/types/app/rocksky/actor/getActorAlbums.ts +++ b/apps/api/src/lexicon/types/app/rocksky/actor/getActorAlbums.ts @@ -1,52 +1,52 @@ /** * GENERATED CODE - DO NOT MODIFY */ -import type express from 'express' -import { ValidationResult, BlobRef } from '@atproto/lexicon' -import { lexicons } from '../../../../lexicons' -import { isObj, hasProp } from '../../../../util' -import { CID } from 'multiformats/cid' -import type { HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server' -import type * as AppRockskyAlbumDefs from '../album/defs' +import express from "express"; +import { ValidationResult, BlobRef } from "@atproto/lexicon"; +import { lexicons } from "../../../../lexicons"; +import { isObj, hasProp } from "../../../../util"; +import { CID } from "multiformats/cid"; +import { HandlerAuth, HandlerPipeThrough } from "@atproto/xrpc-server"; +import * as AppRockskyAlbumDefs from "../album/defs"; export interface QueryParams { /** The DID or handle of the actor */ - did: string + did: string; /** The maximum number of albums to return */ - limit?: number + limit?: number; /** The offset for pagination */ - offset?: number + offset?: number; } -export type InputSchema = undefined +export type InputSchema = undefined; export interface OutputSchema { - albums?: AppRockskyAlbumDefs.AlbumViewBasic[] - [k: string]: unknown + albums?: AppRockskyAlbumDefs.AlbumViewBasic[]; + [k: string]: unknown; } -export type HandlerInput = undefined +export type HandlerInput = undefined; export interface HandlerSuccess { - encoding: 'application/json' - body: OutputSchema - headers?: { [key: string]: string } + encoding: "application/json"; + body: OutputSchema; + headers?: { [key: string]: string }; } export interface HandlerError { - status: number - message?: string + status: number; + message?: string; } -export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough +export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough; export type HandlerReqCtx = { - auth: HA - params: QueryParams - input: HandlerInput - req: express.Request - res: express.Response - resetRouteRateLimits: () => Promise -} + auth: HA; + params: QueryParams; + input: HandlerInput; + req: express.Request; + res: express.Response; + resetRouteRateLimits: () => Promise; +}; export type Handler = ( ctx: HandlerReqCtx, -) => Promise | HandlerOutput +) => Promise | HandlerOutput; diff --git a/apps/api/src/lexicon/types/app/rocksky/actor/getActorArtists.ts b/apps/api/src/lexicon/types/app/rocksky/actor/getActorArtists.ts index 22b4b860..0ea293b1 100644 --- a/apps/api/src/lexicon/types/app/rocksky/actor/getActorArtists.ts +++ b/apps/api/src/lexicon/types/app/rocksky/actor/getActorArtists.ts @@ -1,52 +1,52 @@ /** * GENERATED CODE - DO NOT MODIFY */ -import type express from 'express' -import { ValidationResult, BlobRef } from '@atproto/lexicon' -import { lexicons } from '../../../../lexicons' -import { isObj, hasProp } from '../../../../util' -import { CID } from 'multiformats/cid' -import type { HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server' -import type * as AppRockskyArtistDefs from '../artist/defs' +import express from "express"; +import { ValidationResult, BlobRef } from "@atproto/lexicon"; +import { lexicons } from "../../../../lexicons"; +import { isObj, hasProp } from "../../../../util"; +import { CID } from "multiformats/cid"; +import { HandlerAuth, HandlerPipeThrough } from "@atproto/xrpc-server"; +import * as AppRockskyArtistDefs from "../artist/defs"; export interface QueryParams { /** The DID or handle of the actor */ - did: string + did: string; /** The maximum number of albums to return */ - limit?: number + limit?: number; /** The offset for pagination */ - offset?: number + offset?: number; } -export type InputSchema = undefined +export type InputSchema = undefined; export interface OutputSchema { - artists?: AppRockskyArtistDefs.ArtistViewBasic[] - [k: string]: unknown + artists?: AppRockskyArtistDefs.ArtistViewBasic[]; + [k: string]: unknown; } -export type HandlerInput = undefined +export type HandlerInput = undefined; export interface HandlerSuccess { - encoding: 'application/json' - body: OutputSchema - headers?: { [key: string]: string } + encoding: "application/json"; + body: OutputSchema; + headers?: { [key: string]: string }; } export interface HandlerError { - status: number - message?: string + status: number; + message?: string; } -export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough +export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough; export type HandlerReqCtx = { - auth: HA - params: QueryParams - input: HandlerInput - req: express.Request - res: express.Response - resetRouteRateLimits: () => Promise -} + auth: HA; + params: QueryParams; + input: HandlerInput; + req: express.Request; + res: express.Response; + resetRouteRateLimits: () => Promise; +}; export type Handler = ( ctx: HandlerReqCtx, -) => Promise | HandlerOutput +) => Promise | HandlerOutput; diff --git a/apps/api/src/lexicon/types/app/rocksky/actor/getActorLovedSongs.ts b/apps/api/src/lexicon/types/app/rocksky/actor/getActorLovedSongs.ts index 8a1a75e9..b346de10 100644 --- a/apps/api/src/lexicon/types/app/rocksky/actor/getActorLovedSongs.ts +++ b/apps/api/src/lexicon/types/app/rocksky/actor/getActorLovedSongs.ts @@ -1,52 +1,52 @@ /** * GENERATED CODE - DO NOT MODIFY */ -import type express from 'express' -import { ValidationResult, BlobRef } from '@atproto/lexicon' -import { lexicons } from '../../../../lexicons' -import { isObj, hasProp } from '../../../../util' -import { CID } from 'multiformats/cid' -import type { HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server' -import type * as AppRockskySongDefs from '../song/defs' +import express from "express"; +import { ValidationResult, BlobRef } from "@atproto/lexicon"; +import { lexicons } from "../../../../lexicons"; +import { isObj, hasProp } from "../../../../util"; +import { CID } from "multiformats/cid"; +import { HandlerAuth, HandlerPipeThrough } from "@atproto/xrpc-server"; +import * as AppRockskySongDefs from "../song/defs"; export interface QueryParams { /** The DID or handle of the actor */ - did: string + did: string; /** The maximum number of albums to return */ - limit?: number + limit?: number; /** The offset for pagination */ - offset?: number + offset?: number; } -export type InputSchema = undefined +export type InputSchema = undefined; export interface OutputSchema { - tracks?: AppRockskySongDefs.SongViewBasic[] - [k: string]: unknown + tracks?: AppRockskySongDefs.SongViewBasic[]; + [k: string]: unknown; } -export type HandlerInput = undefined +export type HandlerInput = undefined; export interface HandlerSuccess { - encoding: 'application/json' - body: OutputSchema - headers?: { [key: string]: string } + encoding: "application/json"; + body: OutputSchema; + headers?: { [key: string]: string }; } export interface HandlerError { - status: number - message?: string + status: number; + message?: string; } -export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough +export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough; export type HandlerReqCtx = { - auth: HA - params: QueryParams - input: HandlerInput - req: express.Request - res: express.Response - resetRouteRateLimits: () => Promise -} + auth: HA; + params: QueryParams; + input: HandlerInput; + req: express.Request; + res: express.Response; + resetRouteRateLimits: () => Promise; +}; export type Handler = ( ctx: HandlerReqCtx, -) => Promise | HandlerOutput +) => Promise | HandlerOutput; diff --git a/apps/api/src/lexicon/types/app/rocksky/actor/getActorPlaylists.ts b/apps/api/src/lexicon/types/app/rocksky/actor/getActorPlaylists.ts index ceb752ec..ab56a2d2 100644 --- a/apps/api/src/lexicon/types/app/rocksky/actor/getActorPlaylists.ts +++ b/apps/api/src/lexicon/types/app/rocksky/actor/getActorPlaylists.ts @@ -1,52 +1,52 @@ /** * GENERATED CODE - DO NOT MODIFY */ -import type express from 'express' -import { ValidationResult, BlobRef } from '@atproto/lexicon' -import { lexicons } from '../../../../lexicons' -import { isObj, hasProp } from '../../../../util' -import { CID } from 'multiformats/cid' -import type { HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server' -import type * as AppRockskyPlaylistDefs from '../playlist/defs' +import express from "express"; +import { ValidationResult, BlobRef } from "@atproto/lexicon"; +import { lexicons } from "../../../../lexicons"; +import { isObj, hasProp } from "../../../../util"; +import { CID } from "multiformats/cid"; +import { HandlerAuth, HandlerPipeThrough } from "@atproto/xrpc-server"; +import * as AppRockskyPlaylistDefs from "../playlist/defs"; export interface QueryParams { /** The DID or handle of the actor */ - did: string + did: string; /** The maximum number of albums to return */ - limit?: number + limit?: number; /** The offset for pagination */ - offset?: number + offset?: number; } -export type InputSchema = undefined +export type InputSchema = undefined; export interface OutputSchema { - playlists?: AppRockskyPlaylistDefs.PlaylistViewBasic[] - [k: string]: unknown + playlists?: AppRockskyPlaylistDefs.PlaylistViewBasic[]; + [k: string]: unknown; } -export type HandlerInput = undefined +export type HandlerInput = undefined; export interface HandlerSuccess { - encoding: 'application/json' - body: OutputSchema - headers?: { [key: string]: string } + encoding: "application/json"; + body: OutputSchema; + headers?: { [key: string]: string }; } export interface HandlerError { - status: number - message?: string + status: number; + message?: string; } -export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough +export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough; export type HandlerReqCtx = { - auth: HA - params: QueryParams - input: HandlerInput - req: express.Request - res: express.Response - resetRouteRateLimits: () => Promise -} + auth: HA; + params: QueryParams; + input: HandlerInput; + req: express.Request; + res: express.Response; + resetRouteRateLimits: () => Promise; +}; export type Handler = ( ctx: HandlerReqCtx, -) => Promise | HandlerOutput +) => Promise | HandlerOutput; diff --git a/apps/api/src/lexicon/types/app/rocksky/actor/getActorScrobbles.ts b/apps/api/src/lexicon/types/app/rocksky/actor/getActorScrobbles.ts index 06dc2bba..a8d4ee06 100644 --- a/apps/api/src/lexicon/types/app/rocksky/actor/getActorScrobbles.ts +++ b/apps/api/src/lexicon/types/app/rocksky/actor/getActorScrobbles.ts @@ -1,52 +1,52 @@ /** * GENERATED CODE - DO NOT MODIFY */ -import type express from 'express' -import { ValidationResult, BlobRef } from '@atproto/lexicon' -import { lexicons } from '../../../../lexicons' -import { isObj, hasProp } from '../../../../util' -import { CID } from 'multiformats/cid' -import type { HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server' -import type * as AppRockskyScrobbleDefs from '../scrobble/defs' +import express from "express"; +import { ValidationResult, BlobRef } from "@atproto/lexicon"; +import { lexicons } from "../../../../lexicons"; +import { isObj, hasProp } from "../../../../util"; +import { CID } from "multiformats/cid"; +import { HandlerAuth, HandlerPipeThrough } from "@atproto/xrpc-server"; +import * as AppRockskyScrobbleDefs from "../scrobble/defs"; export interface QueryParams { /** The DID or handle of the actor */ - did: string + did: string; /** The maximum number of albums to return */ - limit?: number + limit?: number; /** The offset for pagination */ - offset?: number + offset?: number; } -export type InputSchema = undefined +export type InputSchema = undefined; export interface OutputSchema { - scrobbles?: AppRockskyScrobbleDefs.ScrobbleViewBasic[] - [k: string]: unknown + scrobbles?: AppRockskyScrobbleDefs.ScrobbleViewBasic[]; + [k: string]: unknown; } -export type HandlerInput = undefined +export type HandlerInput = undefined; export interface HandlerSuccess { - encoding: 'application/json' - body: OutputSchema - headers?: { [key: string]: string } + encoding: "application/json"; + body: OutputSchema; + headers?: { [key: string]: string }; } export interface HandlerError { - status: number - message?: string + status: number; + message?: string; } -export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough +export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough; export type HandlerReqCtx = { - auth: HA - params: QueryParams - input: HandlerInput - req: express.Request - res: express.Response - resetRouteRateLimits: () => Promise -} + auth: HA; + params: QueryParams; + input: HandlerInput; + req: express.Request; + res: express.Response; + resetRouteRateLimits: () => Promise; +}; export type Handler = ( ctx: HandlerReqCtx, -) => Promise | HandlerOutput +) => Promise | HandlerOutput; diff --git a/apps/api/src/lexicon/types/app/rocksky/actor/getActorSongs.ts b/apps/api/src/lexicon/types/app/rocksky/actor/getActorSongs.ts index 73fa06b1..2bb95d48 100644 --- a/apps/api/src/lexicon/types/app/rocksky/actor/getActorSongs.ts +++ b/apps/api/src/lexicon/types/app/rocksky/actor/getActorSongs.ts @@ -1,52 +1,52 @@ /** * GENERATED CODE - DO NOT MODIFY */ -import type express from 'express' -import { ValidationResult, BlobRef } from '@atproto/lexicon' -import { lexicons } from '../../../../lexicons' -import { isObj, hasProp } from '../../../../util' -import { CID } from 'multiformats/cid' -import type { HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server' -import type * as AppRockskySongDefs from '../song/defs' +import express from "express"; +import { ValidationResult, BlobRef } from "@atproto/lexicon"; +import { lexicons } from "../../../../lexicons"; +import { isObj, hasProp } from "../../../../util"; +import { CID } from "multiformats/cid"; +import { HandlerAuth, HandlerPipeThrough } from "@atproto/xrpc-server"; +import * as AppRockskySongDefs from "../song/defs"; export interface QueryParams { /** The DID or handle of the actor */ - did: string + did: string; /** The maximum number of albums to return */ - limit?: number + limit?: number; /** The offset for pagination */ - offset?: number + offset?: number; } -export type InputSchema = undefined +export type InputSchema = undefined; export interface OutputSchema { - songs?: AppRockskySongDefs.SongViewBasic[] - [k: string]: unknown + songs?: AppRockskySongDefs.SongViewBasic[]; + [k: string]: unknown; } -export type HandlerInput = undefined +export type HandlerInput = undefined; export interface HandlerSuccess { - encoding: 'application/json' - body: OutputSchema - headers?: { [key: string]: string } + encoding: "application/json"; + body: OutputSchema; + headers?: { [key: string]: string }; } export interface HandlerError { - status: number - message?: string + status: number; + message?: string; } -export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough +export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough; export type HandlerReqCtx = { - auth: HA - params: QueryParams - input: HandlerInput - req: express.Request - res: express.Response - resetRouteRateLimits: () => Promise -} + auth: HA; + params: QueryParams; + input: HandlerInput; + req: express.Request; + res: express.Response; + resetRouteRateLimits: () => Promise; +}; export type Handler = ( ctx: HandlerReqCtx, -) => Promise | HandlerOutput +) => Promise | HandlerOutput; diff --git a/apps/api/src/lexicon/types/app/rocksky/actor/getProfile.ts b/apps/api/src/lexicon/types/app/rocksky/actor/getProfile.ts index ae11ca31..53277a5d 100644 --- a/apps/api/src/lexicon/types/app/rocksky/actor/getProfile.ts +++ b/apps/api/src/lexicon/types/app/rocksky/actor/getProfile.ts @@ -1,43 +1,43 @@ /** * GENERATED CODE - DO NOT MODIFY */ -import type express from 'express' -import { ValidationResult, BlobRef } from '@atproto/lexicon' -import { lexicons } from '../../../../lexicons' -import { isObj, hasProp } from '../../../../util' -import { CID } from 'multiformats/cid' -import type { HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server' -import type * as AppRockskyActorDefs from './defs' +import express from "express"; +import { ValidationResult, BlobRef } from "@atproto/lexicon"; +import { lexicons } from "../../../../lexicons"; +import { isObj, hasProp } from "../../../../util"; +import { CID } from "multiformats/cid"; +import { HandlerAuth, HandlerPipeThrough } from "@atproto/xrpc-server"; +import * as AppRockskyActorDefs from "./defs"; export interface QueryParams { /** The DID or handle of the actor */ - did?: string + did?: string; } -export type InputSchema = undefined -export type OutputSchema = AppRockskyActorDefs.ProfileViewDetailed -export type HandlerInput = undefined +export type InputSchema = undefined; +export type OutputSchema = AppRockskyActorDefs.ProfileViewDetailed; +export type HandlerInput = undefined; export interface HandlerSuccess { - encoding: 'application/json' - body: OutputSchema - headers?: { [key: string]: string } + encoding: "application/json"; + body: OutputSchema; + headers?: { [key: string]: string }; } export interface HandlerError { - status: number - message?: string + status: number; + message?: string; } -export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough +export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough; export type HandlerReqCtx = { - auth: HA - params: QueryParams - input: HandlerInput - req: express.Request - res: express.Response - resetRouteRateLimits: () => Promise -} + auth: HA; + params: QueryParams; + input: HandlerInput; + req: express.Request; + res: express.Response; + resetRouteRateLimits: () => Promise; +}; export type Handler = ( ctx: HandlerReqCtx, -) => Promise | HandlerOutput +) => Promise | HandlerOutput; diff --git a/apps/api/src/lexicon/types/app/rocksky/album.ts b/apps/api/src/lexicon/types/app/rocksky/album.ts index 76b0c2fe..d6a6c755 100644 --- a/apps/api/src/lexicon/types/app/rocksky/album.ts +++ b/apps/api/src/lexicon/types/app/rocksky/album.ts @@ -1,49 +1,51 @@ /** * GENERATED CODE - DO NOT MODIFY */ -import type { ValidationResult, BlobRef } from '@atproto/lexicon' -import { lexicons } from '../../../lexicons' -import { isObj, hasProp } from '../../../util' -import { CID } from 'multiformats/cid' +import { ValidationResult, BlobRef } from "@atproto/lexicon"; +import { lexicons } from "../../../lexicons"; +import { isObj, hasProp } from "../../../util"; +import { CID } from "multiformats/cid"; export interface Record { /** The title of the album. */ - title: string + title: string; /** The artist of the album. */ - artist: string + artist: string; /** The duration of the album in seconds. */ - duration?: number + duration?: number; /** The release date of the album. */ - releaseDate?: string + releaseDate?: string; /** The year the album was released. */ - year?: number + year?: number; /** The genre of the album. */ - genre?: string + genre?: string; /** The album art of the album. */ - albumArt?: BlobRef + albumArt?: BlobRef; + /** The URL of the album art of the album. */ + albumArtUrl?: string; /** The tags of the album. */ - tags?: string[] + tags?: string[]; /** The YouTube link of the album. */ - youtubeLink?: string + youtubeLink?: string; /** The Spotify link of the album. */ - spotifyLink?: string + spotifyLink?: string; /** The tidal link of the album. */ - tidalLink?: string + tidalLink?: string; /** The Apple Music link of the album. */ - appleMusicLink?: string + appleMusicLink?: string; /** The date and time when the album was created. */ - createdAt: string - [k: string]: unknown + createdAt: string; + [k: string]: unknown; } export function isRecord(v: unknown): v is Record { return ( isObj(v) && - hasProp(v, '$type') && - (v.$type === 'app.rocksky.album#main' || v.$type === 'app.rocksky.album') - ) + hasProp(v, "$type") && + (v.$type === "app.rocksky.album#main" || v.$type === "app.rocksky.album") + ); } export function validateRecord(v: unknown): ValidationResult { - return lexicons.validate('app.rocksky.album#main', v) + return lexicons.validate("app.rocksky.album#main", v); } diff --git a/apps/api/src/lexicon/types/app/rocksky/album/defs.ts b/apps/api/src/lexicon/types/app/rocksky/album/defs.ts index 420c29e5..99fc3458 100644 --- a/apps/api/src/lexicon/types/app/rocksky/album/defs.ts +++ b/apps/api/src/lexicon/types/app/rocksky/album/defs.ts @@ -1,85 +1,85 @@ /** * GENERATED CODE - DO NOT MODIFY */ -import { type ValidationResult, BlobRef } from '@atproto/lexicon' -import { lexicons } from '../../../../lexicons' -import { isObj, hasProp } from '../../../../util' -import { CID } from 'multiformats/cid' -import type * as AppRockskySongDefsSongViewBasic from '../song/defs/songViewBasic' +import { ValidationResult, BlobRef } from "@atproto/lexicon"; +import { lexicons } from "../../../../lexicons"; +import { isObj, hasProp } from "../../../../util"; +import { CID } from "multiformats/cid"; +import * as AppRockskySongDefsSongViewBasic from "../song/defs/songViewBasic"; export interface AlbumViewBasic { /** The unique identifier of the album. */ - id?: string + id?: string; /** The URI of the album. */ - uri?: string + uri?: string; /** The title of the album. */ - title?: string + title?: string; /** The artist of the album. */ - artist?: string + artist?: string; /** The URI of the album's artist. */ - artistUri?: string + artistUri?: string; /** The year the album was released. */ - year?: number + year?: number; /** The URL of the album art image. */ - albumArt?: string + albumArt?: string; /** The release date of the album. */ - releaseDate?: string + releaseDate?: string; /** The SHA256 hash of the album. */ - sha256?: string + sha256?: string; /** The number of times the album has been played. */ - playCount?: number + playCount?: number; /** The number of unique listeners who have played the album. */ - uniqueListeners?: number - [k: string]: unknown + uniqueListeners?: number; + [k: string]: unknown; } export function isAlbumViewBasic(v: unknown): v is AlbumViewBasic { return ( isObj(v) && - hasProp(v, '$type') && - v.$type === 'app.rocksky.album.defs#albumViewBasic' - ) + hasProp(v, "$type") && + v.$type === "app.rocksky.album.defs#albumViewBasic" + ); } export function validateAlbumViewBasic(v: unknown): ValidationResult { - return lexicons.validate('app.rocksky.album.defs#albumViewBasic', v) + return lexicons.validate("app.rocksky.album.defs#albumViewBasic", v); } export interface AlbumViewDetailed { /** The unique identifier of the album. */ - id?: string + id?: string; /** The URI of the album. */ - uri?: string + uri?: string; /** The title of the album. */ - title?: string + title?: string; /** The artist of the album. */ - artist?: string + artist?: string; /** The URI of the album's artist. */ - artistUri?: string + artistUri?: string; /** The year the album was released. */ - year?: number + year?: number; /** The URL of the album art image. */ - albumArt?: string + albumArt?: string; /** The release date of the album. */ - releaseDate?: string + releaseDate?: string; /** The SHA256 hash of the album. */ - sha256?: string + sha256?: string; /** The number of times the album has been played. */ - playCount?: number + playCount?: number; /** The number of unique listeners who have played the album. */ - uniqueListeners?: number - tracks?: AppRockskySongDefsSongViewBasic.Main[] - [k: string]: unknown + uniqueListeners?: number; + tracks?: AppRockskySongDefsSongViewBasic.Main[]; + [k: string]: unknown; } export function isAlbumViewDetailed(v: unknown): v is AlbumViewDetailed { return ( isObj(v) && - hasProp(v, '$type') && - v.$type === 'app.rocksky.album.defs#albumViewDetailed' - ) + hasProp(v, "$type") && + v.$type === "app.rocksky.album.defs#albumViewDetailed" + ); } export function validateAlbumViewDetailed(v: unknown): ValidationResult { - return lexicons.validate('app.rocksky.album.defs#albumViewDetailed', v) + return lexicons.validate("app.rocksky.album.defs#albumViewDetailed", v); } diff --git a/apps/api/src/lexicon/types/app/rocksky/album/getAlbum.ts b/apps/api/src/lexicon/types/app/rocksky/album/getAlbum.ts index 2767a0ca..e0aa6ecd 100644 --- a/apps/api/src/lexicon/types/app/rocksky/album/getAlbum.ts +++ b/apps/api/src/lexicon/types/app/rocksky/album/getAlbum.ts @@ -1,43 +1,43 @@ /** * GENERATED CODE - DO NOT MODIFY */ -import type express from 'express' -import { ValidationResult, BlobRef } from '@atproto/lexicon' -import { lexicons } from '../../../../lexicons' -import { isObj, hasProp } from '../../../../util' -import { CID } from 'multiformats/cid' -import type { HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server' -import type * as AppRockskyAlbumDefs from './defs' +import express from "express"; +import { ValidationResult, BlobRef } from "@atproto/lexicon"; +import { lexicons } from "../../../../lexicons"; +import { isObj, hasProp } from "../../../../util"; +import { CID } from "multiformats/cid"; +import { HandlerAuth, HandlerPipeThrough } from "@atproto/xrpc-server"; +import * as AppRockskyAlbumDefs from "./defs"; export interface QueryParams { /** The URI of the album to retrieve. */ - uri: string + uri: string; } -export type InputSchema = undefined -export type OutputSchema = AppRockskyAlbumDefs.AlbumViewDetailed -export type HandlerInput = undefined +export type InputSchema = undefined; +export type OutputSchema = AppRockskyAlbumDefs.AlbumViewDetailed; +export type HandlerInput = undefined; export interface HandlerSuccess { - encoding: 'application/json' - body: OutputSchema - headers?: { [key: string]: string } + encoding: "application/json"; + body: OutputSchema; + headers?: { [key: string]: string }; } export interface HandlerError { - status: number - message?: string + status: number; + message?: string; } -export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough +export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough; export type HandlerReqCtx = { - auth: HA - params: QueryParams - input: HandlerInput - req: express.Request - res: express.Response - resetRouteRateLimits: () => Promise -} + auth: HA; + params: QueryParams; + input: HandlerInput; + req: express.Request; + res: express.Response; + resetRouteRateLimits: () => Promise; +}; export type Handler = ( ctx: HandlerReqCtx, -) => Promise | HandlerOutput +) => Promise | HandlerOutput; diff --git a/apps/api/src/lexicon/types/app/rocksky/album/getAlbumTracks.ts b/apps/api/src/lexicon/types/app/rocksky/album/getAlbumTracks.ts index 3ca7b5be..46f0a33d 100644 --- a/apps/api/src/lexicon/types/app/rocksky/album/getAlbumTracks.ts +++ b/apps/api/src/lexicon/types/app/rocksky/album/getAlbumTracks.ts @@ -1,48 +1,48 @@ /** * GENERATED CODE - DO NOT MODIFY */ -import type express from 'express' -import { ValidationResult, BlobRef } from '@atproto/lexicon' -import { lexicons } from '../../../../lexicons' -import { isObj, hasProp } from '../../../../util' -import { CID } from 'multiformats/cid' -import type { HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server' -import type * as AppRockskySongDefs from '../song/defs' +import express from "express"; +import { ValidationResult, BlobRef } from "@atproto/lexicon"; +import { lexicons } from "../../../../lexicons"; +import { isObj, hasProp } from "../../../../util"; +import { CID } from "multiformats/cid"; +import { HandlerAuth, HandlerPipeThrough } from "@atproto/xrpc-server"; +import * as AppRockskySongDefs from "../song/defs"; export interface QueryParams { /** The URI of the album to retrieve tracks from */ - uri: string + uri: string; } -export type InputSchema = undefined +export type InputSchema = undefined; export interface OutputSchema { - tracks?: AppRockskySongDefs.SongViewBasic[] - [k: string]: unknown + tracks?: AppRockskySongDefs.SongViewBasic[]; + [k: string]: unknown; } -export type HandlerInput = undefined +export type HandlerInput = undefined; export interface HandlerSuccess { - encoding: 'application/json' - body: OutputSchema - headers?: { [key: string]: string } + encoding: "application/json"; + body: OutputSchema; + headers?: { [key: string]: string }; } export interface HandlerError { - status: number - message?: string + status: number; + message?: string; } -export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough +export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough; export type HandlerReqCtx = { - auth: HA - params: QueryParams - input: HandlerInput - req: express.Request - res: express.Response - resetRouteRateLimits: () => Promise -} + auth: HA; + params: QueryParams; + input: HandlerInput; + req: express.Request; + res: express.Response; + resetRouteRateLimits: () => Promise; +}; export type Handler = ( ctx: HandlerReqCtx, -) => Promise | HandlerOutput +) => Promise | HandlerOutput; diff --git a/apps/api/src/lexicon/types/app/rocksky/album/getAlbums.ts b/apps/api/src/lexicon/types/app/rocksky/album/getAlbums.ts index 09696349..3d09c6a4 100644 --- a/apps/api/src/lexicon/types/app/rocksky/album/getAlbums.ts +++ b/apps/api/src/lexicon/types/app/rocksky/album/getAlbums.ts @@ -1,50 +1,50 @@ /** * GENERATED CODE - DO NOT MODIFY */ -import type express from 'express' -import { ValidationResult, BlobRef } from '@atproto/lexicon' -import { lexicons } from '../../../../lexicons' -import { isObj, hasProp } from '../../../../util' -import { CID } from 'multiformats/cid' -import type { HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server' -import type * as AppRockskyAlbumDefs from './defs' +import express from "express"; +import { ValidationResult, BlobRef } from "@atproto/lexicon"; +import { lexicons } from "../../../../lexicons"; +import { isObj, hasProp } from "../../../../util"; +import { CID } from "multiformats/cid"; +import { HandlerAuth, HandlerPipeThrough } from "@atproto/xrpc-server"; +import * as AppRockskyAlbumDefs from "./defs"; export interface QueryParams { /** The maximum number of albums to return */ - limit?: number + limit?: number; /** The offset for pagination */ - offset?: number + offset?: number; } -export type InputSchema = undefined +export type InputSchema = undefined; export interface OutputSchema { - albums?: AppRockskyAlbumDefs.AlbumViewBasic[] - [k: string]: unknown + albums?: AppRockskyAlbumDefs.AlbumViewBasic[]; + [k: string]: unknown; } -export type HandlerInput = undefined +export type HandlerInput = undefined; export interface HandlerSuccess { - encoding: 'application/json' - body: OutputSchema - headers?: { [key: string]: string } + encoding: "application/json"; + body: OutputSchema; + headers?: { [key: string]: string }; } export interface HandlerError { - status: number - message?: string + status: number; + message?: string; } -export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough +export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough; export type HandlerReqCtx = { - auth: HA - params: QueryParams - input: HandlerInput - req: express.Request - res: express.Response - resetRouteRateLimits: () => Promise -} + auth: HA; + params: QueryParams; + input: HandlerInput; + req: express.Request; + res: express.Response; + resetRouteRateLimits: () => Promise; +}; export type Handler = ( ctx: HandlerReqCtx, -) => Promise | HandlerOutput +) => Promise | HandlerOutput; diff --git a/apps/api/src/lexicon/types/app/rocksky/apikey/createApikey.ts b/apps/api/src/lexicon/types/app/rocksky/apikey/createApikey.ts index 092bd944..6f0cc8fe 100644 --- a/apps/api/src/lexicon/types/app/rocksky/apikey/createApikey.ts +++ b/apps/api/src/lexicon/types/app/rocksky/apikey/createApikey.ts @@ -1,51 +1,51 @@ /** * GENERATED CODE - DO NOT MODIFY */ -import type express from 'express' -import { ValidationResult, BlobRef } from '@atproto/lexicon' -import { lexicons } from '../../../../lexicons' -import { isObj, hasProp } from '../../../../util' -import { CID } from 'multiformats/cid' -import type { HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server' -import type * as AppRockskyApikeyDefs from './defs' +import express from "express"; +import { ValidationResult, BlobRef } from "@atproto/lexicon"; +import { lexicons } from "../../../../lexicons"; +import { isObj, hasProp } from "../../../../util"; +import { CID } from "multiformats/cid"; +import { HandlerAuth, HandlerPipeThrough } from "@atproto/xrpc-server"; +import * as AppRockskyApikeyDefs from "./defs"; -export type QueryParams = {} +export interface QueryParams {} export interface InputSchema { /** The name of the API key. */ - name: string + name: string; /** A description for the API key. */ - description?: string - [k: string]: unknown + description?: string; + [k: string]: unknown; } -export type OutputSchema = AppRockskyApikeyDefs.ApiKey +export type OutputSchema = AppRockskyApikeyDefs.ApiKey; export interface HandlerInput { - encoding: 'application/json' - body: InputSchema + encoding: "application/json"; + body: InputSchema; } export interface HandlerSuccess { - encoding: 'application/json' - body: OutputSchema - headers?: { [key: string]: string } + encoding: "application/json"; + body: OutputSchema; + headers?: { [key: string]: string }; } export interface HandlerError { - status: number - message?: string + status: number; + message?: string; } -export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough +export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough; export type HandlerReqCtx = { - auth: HA - params: QueryParams - input: HandlerInput - req: express.Request - res: express.Response - resetRouteRateLimits: () => Promise -} + auth: HA; + params: QueryParams; + input: HandlerInput; + req: express.Request; + res: express.Response; + resetRouteRateLimits: () => Promise; +}; export type Handler = ( ctx: HandlerReqCtx, -) => Promise | HandlerOutput +) => Promise | HandlerOutput; diff --git a/apps/api/src/lexicon/types/app/rocksky/apikey/defs.ts b/apps/api/src/lexicon/types/app/rocksky/apikey/defs.ts index c936aa24..32fb0b84 100644 --- a/apps/api/src/lexicon/types/app/rocksky/apikey/defs.ts +++ b/apps/api/src/lexicon/types/app/rocksky/apikey/defs.ts @@ -1,31 +1,31 @@ /** * GENERATED CODE - DO NOT MODIFY */ -import { type ValidationResult, BlobRef } from '@atproto/lexicon' -import { lexicons } from '../../../../lexicons' -import { isObj, hasProp } from '../../../../util' -import { CID } from 'multiformats/cid' +import { ValidationResult, BlobRef } from "@atproto/lexicon"; +import { lexicons } from "../../../../lexicons"; +import { isObj, hasProp } from "../../../../util"; +import { CID } from "multiformats/cid"; export interface ApiKeyView { /** The unique identifier of the API key. */ - id?: string + id?: string; /** The name of the API key. */ - name?: string + name?: string; /** A description for the API key. */ - description?: string + description?: string; /** The date and time when the API key was created. */ - createdAt?: string - [k: string]: unknown + createdAt?: string; + [k: string]: unknown; } export function isApiKeyView(v: unknown): v is ApiKeyView { return ( isObj(v) && - hasProp(v, '$type') && - v.$type === 'app.rocksky.apikey.defs#apiKeyView' - ) + hasProp(v, "$type") && + v.$type === "app.rocksky.apikey.defs#apiKeyView" + ); } export function validateApiKeyView(v: unknown): ValidationResult { - return lexicons.validate('app.rocksky.apikey.defs#apiKeyView', v) + return lexicons.validate("app.rocksky.apikey.defs#apiKeyView", v); } diff --git a/apps/api/src/lexicon/types/app/rocksky/apikey/getApikeys.ts b/apps/api/src/lexicon/types/app/rocksky/apikey/getApikeys.ts index b71be12d..dd629a77 100644 --- a/apps/api/src/lexicon/types/app/rocksky/apikey/getApikeys.ts +++ b/apps/api/src/lexicon/types/app/rocksky/apikey/getApikeys.ts @@ -1,50 +1,50 @@ /** * GENERATED CODE - DO NOT MODIFY */ -import type express from 'express' -import { ValidationResult, BlobRef } from '@atproto/lexicon' -import { lexicons } from '../../../../lexicons' -import { isObj, hasProp } from '../../../../util' -import { CID } from 'multiformats/cid' -import type { HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server' -import type * as AppRockskyApikeyDefs from './defs' +import express from "express"; +import { ValidationResult, BlobRef } from "@atproto/lexicon"; +import { lexicons } from "../../../../lexicons"; +import { isObj, hasProp } from "../../../../util"; +import { CID } from "multiformats/cid"; +import { HandlerAuth, HandlerPipeThrough } from "@atproto/xrpc-server"; +import * as AppRockskyApikeyDefs from "./defs"; export interface QueryParams { /** The number of API keys to skip before starting to collect the result set. */ - offset?: number + offset?: number; /** The number of API keys to return per page. */ - limit?: number + limit?: number; } -export type InputSchema = undefined +export type InputSchema = undefined; export interface OutputSchema { - apiKeys?: AppRockskyApikeyDefs.ApikeyView[] - [k: string]: unknown + apiKeys?: AppRockskyApikeyDefs.ApikeyView[]; + [k: string]: unknown; } -export type HandlerInput = undefined +export type HandlerInput = undefined; export interface HandlerSuccess { - encoding: 'application/json' - body: OutputSchema - headers?: { [key: string]: string } + encoding: "application/json"; + body: OutputSchema; + headers?: { [key: string]: string }; } export interface HandlerError { - status: number - message?: string + status: number; + message?: string; } -export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough +export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough; export type HandlerReqCtx = { - auth: HA - params: QueryParams - input: HandlerInput - req: express.Request - res: express.Response - resetRouteRateLimits: () => Promise -} + auth: HA; + params: QueryParams; + input: HandlerInput; + req: express.Request; + res: express.Response; + resetRouteRateLimits: () => Promise; +}; export type Handler = ( ctx: HandlerReqCtx, -) => Promise | HandlerOutput +) => Promise | HandlerOutput; diff --git a/apps/api/src/lexicon/types/app/rocksky/apikey/removeApikey.ts b/apps/api/src/lexicon/types/app/rocksky/apikey/removeApikey.ts index d07978ba..94ba2e7d 100644 --- a/apps/api/src/lexicon/types/app/rocksky/apikey/removeApikey.ts +++ b/apps/api/src/lexicon/types/app/rocksky/apikey/removeApikey.ts @@ -1,43 +1,43 @@ /** * GENERATED CODE - DO NOT MODIFY */ -import type express from 'express' -import { ValidationResult, BlobRef } from '@atproto/lexicon' -import { lexicons } from '../../../../lexicons' -import { isObj, hasProp } from '../../../../util' -import { CID } from 'multiformats/cid' -import type { HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server' -import type * as AppRockskyApikeyDefs from './defs' +import express from "express"; +import { ValidationResult, BlobRef } from "@atproto/lexicon"; +import { lexicons } from "../../../../lexicons"; +import { isObj, hasProp } from "../../../../util"; +import { CID } from "multiformats/cid"; +import { HandlerAuth, HandlerPipeThrough } from "@atproto/xrpc-server"; +import * as AppRockskyApikeyDefs from "./defs"; export interface QueryParams { /** The ID of the API key to remove. */ - id: string + id: string; } -export type InputSchema = undefined -export type OutputSchema = AppRockskyApikeyDefs.ApiKey -export type HandlerInput = undefined +export type InputSchema = undefined; +export type OutputSchema = AppRockskyApikeyDefs.ApiKey; +export type HandlerInput = undefined; export interface HandlerSuccess { - encoding: 'application/json' - body: OutputSchema - headers?: { [key: string]: string } + encoding: "application/json"; + body: OutputSchema; + headers?: { [key: string]: string }; } export interface HandlerError { - status: number - message?: string + status: number; + message?: string; } -export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough +export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough; export type HandlerReqCtx = { - auth: HA - params: QueryParams - input: HandlerInput - req: express.Request - res: express.Response - resetRouteRateLimits: () => Promise -} + auth: HA; + params: QueryParams; + input: HandlerInput; + req: express.Request; + res: express.Response; + resetRouteRateLimits: () => Promise; +}; export type Handler = ( ctx: HandlerReqCtx, -) => Promise | HandlerOutput +) => Promise | HandlerOutput; diff --git a/apps/api/src/lexicon/types/app/rocksky/apikey/updateApikey.ts b/apps/api/src/lexicon/types/app/rocksky/apikey/updateApikey.ts index 711e03fc..2d7fa97a 100644 --- a/apps/api/src/lexicon/types/app/rocksky/apikey/updateApikey.ts +++ b/apps/api/src/lexicon/types/app/rocksky/apikey/updateApikey.ts @@ -1,53 +1,53 @@ /** * GENERATED CODE - DO NOT MODIFY */ -import type express from 'express' -import { ValidationResult, BlobRef } from '@atproto/lexicon' -import { lexicons } from '../../../../lexicons' -import { isObj, hasProp } from '../../../../util' -import { CID } from 'multiformats/cid' -import type { HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server' -import type * as AppRockskyApikeyDefs from './defs' +import express from "express"; +import { ValidationResult, BlobRef } from "@atproto/lexicon"; +import { lexicons } from "../../../../lexicons"; +import { isObj, hasProp } from "../../../../util"; +import { CID } from "multiformats/cid"; +import { HandlerAuth, HandlerPipeThrough } from "@atproto/xrpc-server"; +import * as AppRockskyApikeyDefs from "./defs"; -export type QueryParams = {} +export interface QueryParams {} export interface InputSchema { /** The ID of the API key to update. */ - id: string + id: string; /** The new name of the API key. */ - name: string + name: string; /** A new description for the API key. */ - description?: string - [k: string]: unknown + description?: string; + [k: string]: unknown; } -export type OutputSchema = AppRockskyApikeyDefs.ApiKey +export type OutputSchema = AppRockskyApikeyDefs.ApiKey; export interface HandlerInput { - encoding: 'application/json' - body: InputSchema + encoding: "application/json"; + body: InputSchema; } export interface HandlerSuccess { - encoding: 'application/json' - body: OutputSchema - headers?: { [key: string]: string } + encoding: "application/json"; + body: OutputSchema; + headers?: { [key: string]: string }; } export interface HandlerError { - status: number - message?: string + status: number; + message?: string; } -export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough +export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough; export type HandlerReqCtx = { - auth: HA - params: QueryParams - input: HandlerInput - req: express.Request - res: express.Response - resetRouteRateLimits: () => Promise -} + auth: HA; + params: QueryParams; + input: HandlerInput; + req: express.Request; + res: express.Response; + resetRouteRateLimits: () => Promise; +}; export type Handler = ( ctx: HandlerReqCtx, -) => Promise | HandlerOutput +) => Promise | HandlerOutput; diff --git a/apps/api/src/lexicon/types/app/rocksky/apikeys/defs.ts b/apps/api/src/lexicon/types/app/rocksky/apikeys/defs.ts index 3943ee36..4c2e0c7e 100644 --- a/apps/api/src/lexicon/types/app/rocksky/apikeys/defs.ts +++ b/apps/api/src/lexicon/types/app/rocksky/apikeys/defs.ts @@ -1,7 +1,7 @@ /** * GENERATED CODE - DO NOT MODIFY */ -import { ValidationResult, BlobRef } from '@atproto/lexicon' -import { lexicons } from '../../../../lexicons' -import { isObj, hasProp } from '../../../../util' -import { CID } from 'multiformats/cid' +import { ValidationResult, BlobRef } from "@atproto/lexicon"; +import { lexicons } from "../../../../lexicons"; +import { isObj, hasProp } from "../../../../util"; +import { CID } from "multiformats/cid"; diff --git a/apps/api/src/lexicon/types/app/rocksky/artist.ts b/apps/api/src/lexicon/types/app/rocksky/artist.ts index 9c4ce804..b71826aa 100644 --- a/apps/api/src/lexicon/types/app/rocksky/artist.ts +++ b/apps/api/src/lexicon/types/app/rocksky/artist.ts @@ -1,39 +1,41 @@ /** * GENERATED CODE - DO NOT MODIFY */ -import type { ValidationResult, BlobRef } from '@atproto/lexicon' -import { lexicons } from '../../../lexicons' -import { isObj, hasProp } from '../../../util' -import { CID } from 'multiformats/cid' +import { ValidationResult, BlobRef } from "@atproto/lexicon"; +import { lexicons } from "../../../lexicons"; +import { isObj, hasProp } from "../../../util"; +import { CID } from "multiformats/cid"; export interface Record { /** The name of the artist. */ - name: string + name: string; /** The biography of the artist. */ - bio?: string + bio?: string; /** The picture of the artist. */ - picture?: BlobRef + picture?: BlobRef; + /** The URL of the picture of the artist. */ + pictureUrl?: string; /** The tags of the artist. */ - tags?: string[] + tags?: string[]; /** The birth date of the artist. */ - born?: string + born?: string; /** The death date of the artist. */ - died?: string + died?: string; /** The birth place of the artist. */ - bornIn?: string + bornIn?: string; /** The date when the artist was created. */ - createdAt: string - [k: string]: unknown + createdAt: string; + [k: string]: unknown; } export function isRecord(v: unknown): v is Record { return ( isObj(v) && - hasProp(v, '$type') && - (v.$type === 'app.rocksky.artist#main' || v.$type === 'app.rocksky.artist') - ) + hasProp(v, "$type") && + (v.$type === "app.rocksky.artist#main" || v.$type === "app.rocksky.artist") + ); } export function validateRecord(v: unknown): ValidationResult { - return lexicons.validate('app.rocksky.artist#main', v) + return lexicons.validate("app.rocksky.artist#main", v); } diff --git a/apps/api/src/lexicon/types/app/rocksky/artist/defs.ts b/apps/api/src/lexicon/types/app/rocksky/artist/defs.ts index 2d0c3c54..68413ed9 100644 --- a/apps/api/src/lexicon/types/app/rocksky/artist/defs.ts +++ b/apps/api/src/lexicon/types/app/rocksky/artist/defs.ts @@ -1,120 +1,120 @@ /** * GENERATED CODE - DO NOT MODIFY */ -import { type ValidationResult, BlobRef } from '@atproto/lexicon' -import { lexicons } from '../../../../lexicons' -import { isObj, hasProp } from '../../../../util' -import { CID } from 'multiformats/cid' +import { ValidationResult, BlobRef } from "@atproto/lexicon"; +import { lexicons } from "../../../../lexicons"; +import { isObj, hasProp } from "../../../../util"; +import { CID } from "multiformats/cid"; export interface ArtistViewBasic { /** The unique identifier of the artist. */ - id?: string + id?: string; /** The URI of the artist. */ - uri?: string + uri?: string; /** The name of the artist. */ - name?: string + name?: string; /** The picture of the artist. */ - picture?: string + picture?: string; /** The SHA256 hash of the artist. */ - sha256?: string + sha256?: string; /** The number of times the artist has been played. */ - playCount?: number + playCount?: number; /** The number of unique listeners who have played the artist. */ - uniqueListeners?: number - [k: string]: unknown + uniqueListeners?: number; + [k: string]: unknown; } export function isArtistViewBasic(v: unknown): v is ArtistViewBasic { return ( isObj(v) && - hasProp(v, '$type') && - v.$type === 'app.rocksky.artist.defs#artistViewBasic' - ) + hasProp(v, "$type") && + v.$type === "app.rocksky.artist.defs#artistViewBasic" + ); } export function validateArtistViewBasic(v: unknown): ValidationResult { - return lexicons.validate('app.rocksky.artist.defs#artistViewBasic', v) + return lexicons.validate("app.rocksky.artist.defs#artistViewBasic", v); } export interface ArtistViewDetailed { /** The unique identifier of the artist. */ - id?: string + id?: string; /** The URI of the artist. */ - uri?: string + uri?: string; /** The name of the artist. */ - name?: string + name?: string; /** The picture of the artist. */ - picture?: string + picture?: string; /** The SHA256 hash of the artist. */ - sha256?: string + sha256?: string; /** The number of times the artist has been played. */ - playCount?: number + playCount?: number; /** The number of unique listeners who have played the artist. */ - uniqueListeners?: number - [k: string]: unknown + uniqueListeners?: number; + [k: string]: unknown; } export function isArtistViewDetailed(v: unknown): v is ArtistViewDetailed { return ( isObj(v) && - hasProp(v, '$type') && - v.$type === 'app.rocksky.artist.defs#artistViewDetailed' - ) + hasProp(v, "$type") && + v.$type === "app.rocksky.artist.defs#artistViewDetailed" + ); } export function validateArtistViewDetailed(v: unknown): ValidationResult { - return lexicons.validate('app.rocksky.artist.defs#artistViewDetailed', v) + return lexicons.validate("app.rocksky.artist.defs#artistViewDetailed", v); } export interface SongViewBasic { /** The URI of the song. */ - uri?: string + uri?: string; /** The title of the song. */ - title?: string + title?: string; /** The number of times the song has been played. */ - playCount?: number - [k: string]: unknown + playCount?: number; + [k: string]: unknown; } export function isSongViewBasic(v: unknown): v is SongViewBasic { return ( isObj(v) && - hasProp(v, '$type') && - v.$type === 'app.rocksky.artist.defs#songViewBasic' - ) + hasProp(v, "$type") && + v.$type === "app.rocksky.artist.defs#songViewBasic" + ); } export function validateSongViewBasic(v: unknown): ValidationResult { - return lexicons.validate('app.rocksky.artist.defs#songViewBasic', v) + return lexicons.validate("app.rocksky.artist.defs#songViewBasic", v); } export interface ListenerViewBasic { /** The unique identifier of the actor. */ - id?: string + id?: string; /** The DID of the listener. */ - did?: string + did?: string; /** The handle of the listener. */ - handle?: string + handle?: string; /** The display name of the listener. */ - displayName?: string + displayName?: string; /** The URL of the listener's avatar image. */ - avatar?: string - mostListenedSong?: SongViewBasic + avatar?: string; + mostListenedSong?: SongViewBasic; /** The total number of plays by the listener. */ - totalPlays?: number + totalPlays?: number; /** The rank of the listener among all listeners of the artist. */ - rank?: number - [k: string]: unknown + rank?: number; + [k: string]: unknown; } export function isListenerViewBasic(v: unknown): v is ListenerViewBasic { return ( isObj(v) && - hasProp(v, '$type') && - v.$type === 'app.rocksky.artist.defs#listenerViewBasic' - ) + hasProp(v, "$type") && + v.$type === "app.rocksky.artist.defs#listenerViewBasic" + ); } export function validateListenerViewBasic(v: unknown): ValidationResult { - return lexicons.validate('app.rocksky.artist.defs#listenerViewBasic', v) + return lexicons.validate("app.rocksky.artist.defs#listenerViewBasic", v); } diff --git a/apps/api/src/lexicon/types/app/rocksky/artist/getArtist.ts b/apps/api/src/lexicon/types/app/rocksky/artist/getArtist.ts index 2a91839b..2b49d174 100644 --- a/apps/api/src/lexicon/types/app/rocksky/artist/getArtist.ts +++ b/apps/api/src/lexicon/types/app/rocksky/artist/getArtist.ts @@ -1,43 +1,43 @@ /** * GENERATED CODE - DO NOT MODIFY */ -import type express from 'express' -import { ValidationResult, BlobRef } from '@atproto/lexicon' -import { lexicons } from '../../../../lexicons' -import { isObj, hasProp } from '../../../../util' -import { CID } from 'multiformats/cid' -import type { HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server' -import type * as AppRockskyArtistDefs from './defs' +import express from "express"; +import { ValidationResult, BlobRef } from "@atproto/lexicon"; +import { lexicons } from "../../../../lexicons"; +import { isObj, hasProp } from "../../../../util"; +import { CID } from "multiformats/cid"; +import { HandlerAuth, HandlerPipeThrough } from "@atproto/xrpc-server"; +import * as AppRockskyArtistDefs from "./defs"; export interface QueryParams { /** The URI of the artist to retrieve details from */ - uri: string + uri: string; } -export type InputSchema = undefined -export type OutputSchema = AppRockskyArtistDefs.ArtistViewDetailed -export type HandlerInput = undefined +export type InputSchema = undefined; +export type OutputSchema = AppRockskyArtistDefs.ArtistViewDetailed; +export type HandlerInput = undefined; export interface HandlerSuccess { - encoding: 'application/json' - body: OutputSchema - headers?: { [key: string]: string } + encoding: "application/json"; + body: OutputSchema; + headers?: { [key: string]: string }; } export interface HandlerError { - status: number - message?: string + status: number; + message?: string; } -export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough +export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough; export type HandlerReqCtx = { - auth: HA - params: QueryParams - input: HandlerInput - req: express.Request - res: express.Response - resetRouteRateLimits: () => Promise -} + auth: HA; + params: QueryParams; + input: HandlerInput; + req: express.Request; + res: express.Response; + resetRouteRateLimits: () => Promise; +}; export type Handler = ( ctx: HandlerReqCtx, -) => Promise | HandlerOutput +) => Promise | HandlerOutput; diff --git a/apps/api/src/lexicon/types/app/rocksky/artist/getArtistAlbums.ts b/apps/api/src/lexicon/types/app/rocksky/artist/getArtistAlbums.ts index f22cdeb6..15e100f3 100644 --- a/apps/api/src/lexicon/types/app/rocksky/artist/getArtistAlbums.ts +++ b/apps/api/src/lexicon/types/app/rocksky/artist/getArtistAlbums.ts @@ -1,48 +1,48 @@ /** * GENERATED CODE - DO NOT MODIFY */ -import type express from 'express' -import { ValidationResult, BlobRef } from '@atproto/lexicon' -import { lexicons } from '../../../../lexicons' -import { isObj, hasProp } from '../../../../util' -import { CID } from 'multiformats/cid' -import type { HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server' -import type * as AppRockskyAlbumDefs from '../album/defs' +import express from "express"; +import { ValidationResult, BlobRef } from "@atproto/lexicon"; +import { lexicons } from "../../../../lexicons"; +import { isObj, hasProp } from "../../../../util"; +import { CID } from "multiformats/cid"; +import { HandlerAuth, HandlerPipeThrough } from "@atproto/xrpc-server"; +import * as AppRockskyAlbumDefs from "../album/defs"; export interface QueryParams { /** The URI of the artist to retrieve albums from */ - uri: string + uri: string; } -export type InputSchema = undefined +export type InputSchema = undefined; export interface OutputSchema { - albums?: AppRockskyAlbumDefs.AlbumViewBasic[] - [k: string]: unknown + albums?: AppRockskyAlbumDefs.AlbumViewBasic[]; + [k: string]: unknown; } -export type HandlerInput = undefined +export type HandlerInput = undefined; export interface HandlerSuccess { - encoding: 'application/json' - body: OutputSchema - headers?: { [key: string]: string } + encoding: "application/json"; + body: OutputSchema; + headers?: { [key: string]: string }; } export interface HandlerError { - status: number - message?: string + status: number; + message?: string; } -export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough +export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough; export type HandlerReqCtx = { - auth: HA - params: QueryParams - input: HandlerInput - req: express.Request - res: express.Response - resetRouteRateLimits: () => Promise -} + auth: HA; + params: QueryParams; + input: HandlerInput; + req: express.Request; + res: express.Response; + resetRouteRateLimits: () => Promise; +}; export type Handler = ( ctx: HandlerReqCtx, -) => Promise | HandlerOutput +) => Promise | HandlerOutput; diff --git a/apps/api/src/lexicon/types/app/rocksky/artist/getArtistListeners.ts b/apps/api/src/lexicon/types/app/rocksky/artist/getArtistListeners.ts index d2a3323c..f5fbc819 100644 --- a/apps/api/src/lexicon/types/app/rocksky/artist/getArtistListeners.ts +++ b/apps/api/src/lexicon/types/app/rocksky/artist/getArtistListeners.ts @@ -1,52 +1,52 @@ /** * GENERATED CODE - DO NOT MODIFY */ -import type express from 'express' -import { ValidationResult, BlobRef } from '@atproto/lexicon' -import { lexicons } from '../../../../lexicons' -import { isObj, hasProp } from '../../../../util' -import { CID } from 'multiformats/cid' -import type { HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server' -import type * as AppRockskyArtistDefs from './defs' +import express from "express"; +import { ValidationResult, BlobRef } from "@atproto/lexicon"; +import { lexicons } from "../../../../lexicons"; +import { isObj, hasProp } from "../../../../util"; +import { CID } from "multiformats/cid"; +import { HandlerAuth, HandlerPipeThrough } from "@atproto/xrpc-server"; +import * as AppRockskyArtistDefs from "./defs"; export interface QueryParams { /** The URI of the artist to retrieve listeners from */ - uri: string + uri: string; /** Number of items to skip before returning results */ - offset?: number + offset?: number; /** Maximum number of results to return */ - limit?: number + limit?: number; } -export type InputSchema = undefined +export type InputSchema = undefined; export interface OutputSchema { - listeners?: AppRockskyArtistDefs.ListenerViewBasic[] - [k: string]: unknown + listeners?: AppRockskyArtistDefs.ListenerViewBasic[]; + [k: string]: unknown; } -export type HandlerInput = undefined +export type HandlerInput = undefined; export interface HandlerSuccess { - encoding: 'application/json' - body: OutputSchema - headers?: { [key: string]: string } + encoding: "application/json"; + body: OutputSchema; + headers?: { [key: string]: string }; } export interface HandlerError { - status: number - message?: string + status: number; + message?: string; } -export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough +export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough; export type HandlerReqCtx = { - auth: HA - params: QueryParams - input: HandlerInput - req: express.Request - res: express.Response - resetRouteRateLimits: () => Promise -} + auth: HA; + params: QueryParams; + input: HandlerInput; + req: express.Request; + res: express.Response; + resetRouteRateLimits: () => Promise; +}; export type Handler = ( ctx: HandlerReqCtx, -) => Promise | HandlerOutput +) => Promise | HandlerOutput; diff --git a/apps/api/src/lexicon/types/app/rocksky/artist/getArtistTracks.ts b/apps/api/src/lexicon/types/app/rocksky/artist/getArtistTracks.ts index 72cc5240..df5d0128 100644 --- a/apps/api/src/lexicon/types/app/rocksky/artist/getArtistTracks.ts +++ b/apps/api/src/lexicon/types/app/rocksky/artist/getArtistTracks.ts @@ -1,52 +1,52 @@ /** * GENERATED CODE - DO NOT MODIFY */ -import type express from 'express' -import { ValidationResult, BlobRef } from '@atproto/lexicon' -import { lexicons } from '../../../../lexicons' -import { isObj, hasProp } from '../../../../util' -import { CID } from 'multiformats/cid' -import type { HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server' -import type * as AppRockskySongDefs from '../song/defs' +import express from "express"; +import { ValidationResult, BlobRef } from "@atproto/lexicon"; +import { lexicons } from "../../../../lexicons"; +import { isObj, hasProp } from "../../../../util"; +import { CID } from "multiformats/cid"; +import { HandlerAuth, HandlerPipeThrough } from "@atproto/xrpc-server"; +import * as AppRockskySongDefs from "../song/defs"; export interface QueryParams { /** The URI of the artist to retrieve albums from */ - uri?: string + uri?: string; /** The maximum number of tracks to return */ - limit?: number + limit?: number; /** The offset for pagination */ - offset?: number + offset?: number; } -export type InputSchema = undefined +export type InputSchema = undefined; export interface OutputSchema { - tracks?: AppRockskySongDefs.SongViewBasic[] - [k: string]: unknown + tracks?: AppRockskySongDefs.SongViewBasic[]; + [k: string]: unknown; } -export type HandlerInput = undefined +export type HandlerInput = undefined; export interface HandlerSuccess { - encoding: 'application/json' - body: OutputSchema - headers?: { [key: string]: string } + encoding: "application/json"; + body: OutputSchema; + headers?: { [key: string]: string }; } export interface HandlerError { - status: number - message?: string + status: number; + message?: string; } -export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough +export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough; export type HandlerReqCtx = { - auth: HA - params: QueryParams - input: HandlerInput - req: express.Request - res: express.Response - resetRouteRateLimits: () => Promise -} + auth: HA; + params: QueryParams; + input: HandlerInput; + req: express.Request; + res: express.Response; + resetRouteRateLimits: () => Promise; +}; export type Handler = ( ctx: HandlerReqCtx, -) => Promise | HandlerOutput +) => Promise | HandlerOutput; diff --git a/apps/api/src/lexicon/types/app/rocksky/artist/getArtists.ts b/apps/api/src/lexicon/types/app/rocksky/artist/getArtists.ts index a2765b42..3b124713 100644 --- a/apps/api/src/lexicon/types/app/rocksky/artist/getArtists.ts +++ b/apps/api/src/lexicon/types/app/rocksky/artist/getArtists.ts @@ -1,50 +1,50 @@ /** * GENERATED CODE - DO NOT MODIFY */ -import type express from 'express' -import { ValidationResult, BlobRef } from '@atproto/lexicon' -import { lexicons } from '../../../../lexicons' -import { isObj, hasProp } from '../../../../util' -import { CID } from 'multiformats/cid' -import type { HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server' -import type * as AppRockskyArtistDefs from './defs' +import express from "express"; +import { ValidationResult, BlobRef } from "@atproto/lexicon"; +import { lexicons } from "../../../../lexicons"; +import { isObj, hasProp } from "../../../../util"; +import { CID } from "multiformats/cid"; +import { HandlerAuth, HandlerPipeThrough } from "@atproto/xrpc-server"; +import * as AppRockskyArtistDefs from "./defs"; export interface QueryParams { /** The maximum number of artists to return */ - limit?: number + limit?: number; /** The offset for pagination */ - offset?: number + offset?: number; } -export type InputSchema = undefined +export type InputSchema = undefined; export interface OutputSchema { - artists?: AppRockskyArtistDefs.ArtistViewBasic[] - [k: string]: unknown + artists?: AppRockskyArtistDefs.ArtistViewBasic[]; + [k: string]: unknown; } -export type HandlerInput = undefined +export type HandlerInput = undefined; export interface HandlerSuccess { - encoding: 'application/json' - body: OutputSchema - headers?: { [key: string]: string } + encoding: "application/json"; + body: OutputSchema; + headers?: { [key: string]: string }; } export interface HandlerError { - status: number - message?: string + status: number; + message?: string; } -export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough +export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough; export type HandlerReqCtx = { - auth: HA - params: QueryParams - input: HandlerInput - req: express.Request - res: express.Response - resetRouteRateLimits: () => Promise -} + auth: HA; + params: QueryParams; + input: HandlerInput; + req: express.Request; + res: express.Response; + resetRouteRateLimits: () => Promise; +}; export type Handler = ( ctx: HandlerReqCtx, -) => Promise | HandlerOutput +) => Promise | HandlerOutput; diff --git a/apps/api/src/lexicon/types/app/rocksky/charts/defs.ts b/apps/api/src/lexicon/types/app/rocksky/charts/defs.ts index 5ea76189..bd5e9a67 100644 --- a/apps/api/src/lexicon/types/app/rocksky/charts/defs.ts +++ b/apps/api/src/lexicon/types/app/rocksky/charts/defs.ts @@ -1,44 +1,44 @@ /** * GENERATED CODE - DO NOT MODIFY */ -import { type ValidationResult, BlobRef } from '@atproto/lexicon' -import { lexicons } from '../../../../lexicons' -import { isObj, hasProp } from '../../../../util' -import { CID } from 'multiformats/cid' +import { ValidationResult, BlobRef } from "@atproto/lexicon"; +import { lexicons } from "../../../../lexicons"; +import { isObj, hasProp } from "../../../../util"; +import { CID } from "multiformats/cid"; export interface ChartsView { - scrobbles?: ScrobbleViewBasic[] - [k: string]: unknown + scrobbles?: ScrobbleViewBasic[]; + [k: string]: unknown; } export function isChartsView(v: unknown): v is ChartsView { return ( isObj(v) && - hasProp(v, '$type') && - v.$type === 'app.rocksky.charts.defs#chartsView' - ) + hasProp(v, "$type") && + v.$type === "app.rocksky.charts.defs#chartsView" + ); } export function validateChartsView(v: unknown): ValidationResult { - return lexicons.validate('app.rocksky.charts.defs#chartsView', v) + return lexicons.validate("app.rocksky.charts.defs#chartsView", v); } export interface ScrobbleViewBasic { /** The date of the scrobble. */ - date?: string + date?: string; /** The number of scrobbles on this date. */ - count?: number - [k: string]: unknown + count?: number; + [k: string]: unknown; } export function isScrobbleViewBasic(v: unknown): v is ScrobbleViewBasic { return ( isObj(v) && - hasProp(v, '$type') && - v.$type === 'app.rocksky.charts.defs#scrobbleViewBasic' - ) + hasProp(v, "$type") && + v.$type === "app.rocksky.charts.defs#scrobbleViewBasic" + ); } export function validateScrobbleViewBasic(v: unknown): ValidationResult { - return lexicons.validate('app.rocksky.charts.defs#scrobbleViewBasic', v) + return lexicons.validate("app.rocksky.charts.defs#scrobbleViewBasic", v); } diff --git a/apps/api/src/lexicon/types/app/rocksky/charts/getScrobblesChart.ts b/apps/api/src/lexicon/types/app/rocksky/charts/getScrobblesChart.ts index 9eaf424d..f3d3a3df 100644 --- a/apps/api/src/lexicon/types/app/rocksky/charts/getScrobblesChart.ts +++ b/apps/api/src/lexicon/types/app/rocksky/charts/getScrobblesChart.ts @@ -1,49 +1,49 @@ /** * GENERATED CODE - DO NOT MODIFY */ -import type express from 'express' -import { ValidationResult, BlobRef } from '@atproto/lexicon' -import { lexicons } from '../../../../lexicons' -import { isObj, hasProp } from '../../../../util' -import { CID } from 'multiformats/cid' -import type { HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server' -import type * as AppRockskyChartsDefs from './defs' +import express from "express"; +import { ValidationResult, BlobRef } from "@atproto/lexicon"; +import { lexicons } from "../../../../lexicons"; +import { isObj, hasProp } from "../../../../util"; +import { CID } from "multiformats/cid"; +import { HandlerAuth, HandlerPipeThrough } from "@atproto/xrpc-server"; +import * as AppRockskyChartsDefs from "./defs"; export interface QueryParams { /** The DID or handle of the actor */ - did?: string + did?: string; /** The URI of the artist to filter by */ - artisturi?: string + artisturi?: string; /** The URI of the album to filter by */ - albumuri?: string + albumuri?: string; /** The URI of the track to filter by */ - songuri?: string + songuri?: string; } -export type InputSchema = undefined -export type OutputSchema = AppRockskyChartsDefs.ChartsView -export type HandlerInput = undefined +export type InputSchema = undefined; +export type OutputSchema = AppRockskyChartsDefs.ChartsView; +export type HandlerInput = undefined; export interface HandlerSuccess { - encoding: 'application/json' - body: OutputSchema - headers?: { [key: string]: string } + encoding: "application/json"; + body: OutputSchema; + headers?: { [key: string]: string }; } export interface HandlerError { - status: number - message?: string + status: number; + message?: string; } -export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough +export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough; export type HandlerReqCtx = { - auth: HA - params: QueryParams - input: HandlerInput - req: express.Request - res: express.Response - resetRouteRateLimits: () => Promise -} + auth: HA; + params: QueryParams; + input: HandlerInput; + req: express.Request; + res: express.Response; + resetRouteRateLimits: () => Promise; +}; export type Handler = ( ctx: HandlerReqCtx, -) => Promise | HandlerOutput +) => Promise | HandlerOutput; diff --git a/apps/api/src/lexicon/types/app/rocksky/dropbox/defs.ts b/apps/api/src/lexicon/types/app/rocksky/dropbox/defs.ts index e4073a6a..da308b2f 100644 --- a/apps/api/src/lexicon/types/app/rocksky/dropbox/defs.ts +++ b/apps/api/src/lexicon/types/app/rocksky/dropbox/defs.ts @@ -1,71 +1,71 @@ /** * GENERATED CODE - DO NOT MODIFY */ -import { type ValidationResult, BlobRef } from '@atproto/lexicon' -import { lexicons } from '../../../../lexicons' -import { isObj, hasProp } from '../../../../util' -import { CID } from 'multiformats/cid' +import { ValidationResult, BlobRef } from "@atproto/lexicon"; +import { lexicons } from "../../../../lexicons"; +import { isObj, hasProp } from "../../../../util"; +import { CID } from "multiformats/cid"; export interface FileView { /** The unique identifier of the file. */ - id?: string + id?: string; /** The name of the file. */ - name?: string + name?: string; /** The lowercased path of the file. */ - pathLower?: string + pathLower?: string; /** The display path of the file. */ - pathDisplay?: string + pathDisplay?: string; /** The last modified date and time of the file on the client. */ - clientModified?: string + clientModified?: string; /** The last modified date and time of the file on the server. */ - serverModified?: string - [k: string]: unknown + serverModified?: string; + [k: string]: unknown; } export function isFileView(v: unknown): v is FileView { return ( isObj(v) && - hasProp(v, '$type') && - v.$type === 'app.rocksky.dropbox.defs#fileView' - ) + hasProp(v, "$type") && + v.$type === "app.rocksky.dropbox.defs#fileView" + ); } export function validateFileView(v: unknown): ValidationResult { - return lexicons.validate('app.rocksky.dropbox.defs#fileView', v) + return lexicons.validate("app.rocksky.dropbox.defs#fileView", v); } export interface FileListView { /** A list of files in the Dropbox. */ - files?: FileView[] - [k: string]: unknown + files?: FileView[]; + [k: string]: unknown; } export function isFileListView(v: unknown): v is FileListView { return ( isObj(v) && - hasProp(v, '$type') && - v.$type === 'app.rocksky.dropbox.defs#fileListView' - ) + hasProp(v, "$type") && + v.$type === "app.rocksky.dropbox.defs#fileListView" + ); } export function validateFileListView(v: unknown): ValidationResult { - return lexicons.validate('app.rocksky.dropbox.defs#fileListView', v) + return lexicons.validate("app.rocksky.dropbox.defs#fileListView", v); } export interface TemporaryLinkView { /** The temporary link to access the file. */ - link?: string - [k: string]: unknown + link?: string; + [k: string]: unknown; } export function isTemporaryLinkView(v: unknown): v is TemporaryLinkView { return ( isObj(v) && - hasProp(v, '$type') && - v.$type === 'app.rocksky.dropbox.defs#temporaryLinkView' - ) + hasProp(v, "$type") && + v.$type === "app.rocksky.dropbox.defs#temporaryLinkView" + ); } export function validateTemporaryLinkView(v: unknown): ValidationResult { - return lexicons.validate('app.rocksky.dropbox.defs#temporaryLinkView', v) + return lexicons.validate("app.rocksky.dropbox.defs#temporaryLinkView", v); } diff --git a/apps/api/src/lexicon/types/app/rocksky/dropbox/downloadFile.ts b/apps/api/src/lexicon/types/app/rocksky/dropbox/downloadFile.ts index 8a22d8ab..b87e7a6a 100644 --- a/apps/api/src/lexicon/types/app/rocksky/dropbox/downloadFile.ts +++ b/apps/api/src/lexicon/types/app/rocksky/dropbox/downloadFile.ts @@ -1,42 +1,42 @@ /** * GENERATED CODE - DO NOT MODIFY */ -import type express from 'express' -import type stream from 'stream' -import { ValidationResult, BlobRef } from '@atproto/lexicon' -import { lexicons } from '../../../../lexicons' -import { isObj, hasProp } from '../../../../util' -import { CID } from 'multiformats/cid' -import type { HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server' +import express from "express"; +import stream from "stream"; +import { ValidationResult, BlobRef } from "@atproto/lexicon"; +import { lexicons } from "../../../../lexicons"; +import { isObj, hasProp } from "../../../../util"; +import { CID } from "multiformats/cid"; +import { HandlerAuth, HandlerPipeThrough } from "@atproto/xrpc-server"; export interface QueryParams { /** The unique identifier of the file to download */ - fileId: string + fileId: string; } -export type InputSchema = undefined -export type HandlerInput = undefined +export type InputSchema = undefined; +export type HandlerInput = undefined; export interface HandlerSuccess { - encoding: 'application/octet-stream' - body: Uint8Array | stream.Readable - headers?: { [key: string]: string } + encoding: "application/octet-stream"; + body: Uint8Array | stream.Readable; + headers?: { [key: string]: string }; } export interface HandlerError { - status: number - message?: string + status: number; + message?: string; } -export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough +export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough; export type HandlerReqCtx = { - auth: HA - params: QueryParams - input: HandlerInput - req: express.Request - res: express.Response - resetRouteRateLimits: () => Promise -} + auth: HA; + params: QueryParams; + input: HandlerInput; + req: express.Request; + res: express.Response; + resetRouteRateLimits: () => Promise; +}; export type Handler = ( ctx: HandlerReqCtx, -) => Promise | HandlerOutput +) => Promise | HandlerOutput; diff --git a/apps/api/src/lexicon/types/app/rocksky/dropbox/getFiles.ts b/apps/api/src/lexicon/types/app/rocksky/dropbox/getFiles.ts index 15991594..ae3361b7 100644 --- a/apps/api/src/lexicon/types/app/rocksky/dropbox/getFiles.ts +++ b/apps/api/src/lexicon/types/app/rocksky/dropbox/getFiles.ts @@ -1,43 +1,43 @@ /** * GENERATED CODE - DO NOT MODIFY */ -import type express from 'express' -import { ValidationResult, BlobRef } from '@atproto/lexicon' -import { lexicons } from '../../../../lexicons' -import { isObj, hasProp } from '../../../../util' -import { CID } from 'multiformats/cid' -import type { HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server' -import type * as AppRockskyDropboxDefs from './defs' +import express from "express"; +import { ValidationResult, BlobRef } from "@atproto/lexicon"; +import { lexicons } from "../../../../lexicons"; +import { isObj, hasProp } from "../../../../util"; +import { CID } from "multiformats/cid"; +import { HandlerAuth, HandlerPipeThrough } from "@atproto/xrpc-server"; +import * as AppRockskyDropboxDefs from "./defs"; export interface QueryParams { /** Path to the Dropbox folder or root directory */ - at?: string + at?: string; } -export type InputSchema = undefined -export type OutputSchema = AppRockskyDropboxDefs.FileListView -export type HandlerInput = undefined +export type InputSchema = undefined; +export type OutputSchema = AppRockskyDropboxDefs.FileListView; +export type HandlerInput = undefined; export interface HandlerSuccess { - encoding: 'application/json' - body: OutputSchema - headers?: { [key: string]: string } + encoding: "application/json"; + body: OutputSchema; + headers?: { [key: string]: string }; } export interface HandlerError { - status: number - message?: string + status: number; + message?: string; } -export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough +export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough; export type HandlerReqCtx = { - auth: HA - params: QueryParams - input: HandlerInput - req: express.Request - res: express.Response - resetRouteRateLimits: () => Promise -} + auth: HA; + params: QueryParams; + input: HandlerInput; + req: express.Request; + res: express.Response; + resetRouteRateLimits: () => Promise; +}; export type Handler = ( ctx: HandlerReqCtx, -) => Promise | HandlerOutput +) => Promise | HandlerOutput; diff --git a/apps/api/src/lexicon/types/app/rocksky/dropbox/getMetadata.ts b/apps/api/src/lexicon/types/app/rocksky/dropbox/getMetadata.ts index 178eecb9..019985dd 100644 --- a/apps/api/src/lexicon/types/app/rocksky/dropbox/getMetadata.ts +++ b/apps/api/src/lexicon/types/app/rocksky/dropbox/getMetadata.ts @@ -1,43 +1,43 @@ /** * GENERATED CODE - DO NOT MODIFY */ -import type express from 'express' -import { ValidationResult, BlobRef } from '@atproto/lexicon' -import { lexicons } from '../../../../lexicons' -import { isObj, hasProp } from '../../../../util' -import { CID } from 'multiformats/cid' -import type { HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server' -import type * as AppRockskyDropboxDefs from './defs' +import express from "express"; +import { ValidationResult, BlobRef } from "@atproto/lexicon"; +import { lexicons } from "../../../../lexicons"; +import { isObj, hasProp } from "../../../../util"; +import { CID } from "multiformats/cid"; +import { HandlerAuth, HandlerPipeThrough } from "@atproto/xrpc-server"; +import * as AppRockskyDropboxDefs from "./defs"; export interface QueryParams { /** Path to the file or folder in Dropbox */ - path: string + path: string; } -export type InputSchema = undefined -export type OutputSchema = AppRockskyDropboxDefs.FileView -export type HandlerInput = undefined +export type InputSchema = undefined; +export type OutputSchema = AppRockskyDropboxDefs.FileView; +export type HandlerInput = undefined; export interface HandlerSuccess { - encoding: 'application/json' - body: OutputSchema - headers?: { [key: string]: string } + encoding: "application/json"; + body: OutputSchema; + headers?: { [key: string]: string }; } export interface HandlerError { - status: number - message?: string + status: number; + message?: string; } -export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough +export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough; export type HandlerReqCtx = { - auth: HA - params: QueryParams - input: HandlerInput - req: express.Request - res: express.Response - resetRouteRateLimits: () => Promise -} + auth: HA; + params: QueryParams; + input: HandlerInput; + req: express.Request; + res: express.Response; + resetRouteRateLimits: () => Promise; +}; export type Handler = ( ctx: HandlerReqCtx, -) => Promise | HandlerOutput +) => Promise | HandlerOutput; diff --git a/apps/api/src/lexicon/types/app/rocksky/dropbox/getTemporaryLink.ts b/apps/api/src/lexicon/types/app/rocksky/dropbox/getTemporaryLink.ts index 47344292..b054a14f 100644 --- a/apps/api/src/lexicon/types/app/rocksky/dropbox/getTemporaryLink.ts +++ b/apps/api/src/lexicon/types/app/rocksky/dropbox/getTemporaryLink.ts @@ -1,43 +1,43 @@ /** * GENERATED CODE - DO NOT MODIFY */ -import type express from 'express' -import { ValidationResult, BlobRef } from '@atproto/lexicon' -import { lexicons } from '../../../../lexicons' -import { isObj, hasProp } from '../../../../util' -import { CID } from 'multiformats/cid' -import type { HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server' -import type * as AppRockskyDropboxDefs from './defs' +import express from "express"; +import { ValidationResult, BlobRef } from "@atproto/lexicon"; +import { lexicons } from "../../../../lexicons"; +import { isObj, hasProp } from "../../../../util"; +import { CID } from "multiformats/cid"; +import { HandlerAuth, HandlerPipeThrough } from "@atproto/xrpc-server"; +import * as AppRockskyDropboxDefs from "./defs"; export interface QueryParams { /** Path to the file in Dropbox */ - path: string + path: string; } -export type InputSchema = undefined -export type OutputSchema = AppRockskyDropboxDefs.TemporaryLinkView -export type HandlerInput = undefined +export type InputSchema = undefined; +export type OutputSchema = AppRockskyDropboxDefs.TemporaryLinkView; +export type HandlerInput = undefined; export interface HandlerSuccess { - encoding: 'application/json' - body: OutputSchema - headers?: { [key: string]: string } + encoding: "application/json"; + body: OutputSchema; + headers?: { [key: string]: string }; } export interface HandlerError { - status: number - message?: string + status: number; + message?: string; } -export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough +export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough; export type HandlerReqCtx = { - auth: HA - params: QueryParams - input: HandlerInput - req: express.Request - res: express.Response - resetRouteRateLimits: () => Promise -} + auth: HA; + params: QueryParams; + input: HandlerInput; + req: express.Request; + res: express.Response; + resetRouteRateLimits: () => Promise; +}; export type Handler = ( ctx: HandlerReqCtx, -) => Promise | HandlerOutput +) => Promise | HandlerOutput; diff --git a/apps/api/src/lexicon/types/app/rocksky/feed/defs.ts b/apps/api/src/lexicon/types/app/rocksky/feed/defs.ts index e4ca56e4..776727b2 100644 --- a/apps/api/src/lexicon/types/app/rocksky/feed/defs.ts +++ b/apps/api/src/lexicon/types/app/rocksky/feed/defs.ts @@ -1,15 +1,15 @@ /** * GENERATED CODE - DO NOT MODIFY */ -import { type ValidationResult, BlobRef } from '@atproto/lexicon' -import { lexicons } from '../../../../lexicons' -import { isObj, hasProp } from '../../../../util' -import { CID } from 'multiformats/cid' -import type * as AppRockskySongDefs from '../song/defs' -import type * as AppRockskyAlbumDefs from '../album/defs' -import type * as AppRockskyArtistDefs from '../artist/defs' -import type * as AppRockskyPlaylistDefs from '../playlist/defs' -import type * as AppRockskyActorDefs from '../actor/defs' +import { ValidationResult, BlobRef } from "@atproto/lexicon"; +import { lexicons } from "../../../../lexicons"; +import { isObj, hasProp } from "../../../../util"; +import { CID } from "multiformats/cid"; +import * as AppRockskySongDefs from "../song/defs"; +import * as AppRockskyAlbumDefs from "../album/defs"; +import * as AppRockskyArtistDefs from "../artist/defs"; +import * as AppRockskyPlaylistDefs from "../playlist/defs"; +import * as AppRockskyActorDefs from "../actor/defs"; export interface SearchResultsView { hits?: ( @@ -19,70 +19,70 @@ export interface SearchResultsView { | AppRockskyPlaylistDefs.PlaylistViewBasic | AppRockskyActorDefs.ProfileViewBasic | { $type: string; [k: string]: unknown } - )[] - processingTimeMs?: number - limit?: number - offset?: number - estimatedTotalHits?: number - [k: string]: unknown + )[]; + processingTimeMs?: number; + limit?: number; + offset?: number; + estimatedTotalHits?: number; + [k: string]: unknown; } export function isSearchResultsView(v: unknown): v is SearchResultsView { return ( isObj(v) && - hasProp(v, '$type') && - v.$type === 'app.rocksky.feed.defs#searchResultsView' - ) + hasProp(v, "$type") && + v.$type === "app.rocksky.feed.defs#searchResultsView" + ); } export function validateSearchResultsView(v: unknown): ValidationResult { - return lexicons.validate('app.rocksky.feed.defs#searchResultsView', v) + return lexicons.validate("app.rocksky.feed.defs#searchResultsView", v); } export interface NowPlayingView { - album?: string - albumArt?: string - albumArtist?: string - albumUri?: string - artist?: string - artistUri?: string - avatar?: string - createdAt?: string - did?: string - handle?: string - id?: string - title?: string - trackId?: string - trackUri?: string - uri?: string - [k: string]: unknown + album?: string; + albumArt?: string; + albumArtist?: string; + albumUri?: string; + artist?: string; + artistUri?: string; + avatar?: string; + createdAt?: string; + did?: string; + handle?: string; + id?: string; + title?: string; + trackId?: string; + trackUri?: string; + uri?: string; + [k: string]: unknown; } export function isNowPlayingView(v: unknown): v is NowPlayingView { return ( isObj(v) && - hasProp(v, '$type') && - v.$type === 'app.rocksky.feed.defs#nowPlayingView' - ) + hasProp(v, "$type") && + v.$type === "app.rocksky.feed.defs#nowPlayingView" + ); } export function validateNowPlayingView(v: unknown): ValidationResult { - return lexicons.validate('app.rocksky.feed.defs#nowPlayingView', v) + return lexicons.validate("app.rocksky.feed.defs#nowPlayingView", v); } export interface NowPlayingsView { - nowPlayings?: NowPlayingView[] - [k: string]: unknown + nowPlayings?: NowPlayingView[]; + [k: string]: unknown; } export function isNowPlayingsView(v: unknown): v is NowPlayingsView { return ( isObj(v) && - hasProp(v, '$type') && - v.$type === 'app.rocksky.feed.defs#nowPlayingsView' - ) + hasProp(v, "$type") && + v.$type === "app.rocksky.feed.defs#nowPlayingsView" + ); } export function validateNowPlayingsView(v: unknown): ValidationResult { - return lexicons.validate('app.rocksky.feed.defs#nowPlayingsView', v) + return lexicons.validate("app.rocksky.feed.defs#nowPlayingsView", v); } diff --git a/apps/api/src/lexicon/types/app/rocksky/feed/getNowPlayings.ts b/apps/api/src/lexicon/types/app/rocksky/feed/getNowPlayings.ts index ece6c2d0..4b006970 100644 --- a/apps/api/src/lexicon/types/app/rocksky/feed/getNowPlayings.ts +++ b/apps/api/src/lexicon/types/app/rocksky/feed/getNowPlayings.ts @@ -1,43 +1,43 @@ /** * GENERATED CODE - DO NOT MODIFY */ -import type express from 'express' -import { ValidationResult, BlobRef } from '@atproto/lexicon' -import { lexicons } from '../../../../lexicons' -import { isObj, hasProp } from '../../../../util' -import { CID } from 'multiformats/cid' -import type { HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server' -import type * as AppRockskyFeedDefs from './defs' +import express from "express"; +import { ValidationResult, BlobRef } from "@atproto/lexicon"; +import { lexicons } from "../../../../lexicons"; +import { isObj, hasProp } from "../../../../util"; +import { CID } from "multiformats/cid"; +import { HandlerAuth, HandlerPipeThrough } from "@atproto/xrpc-server"; +import * as AppRockskyFeedDefs from "./defs"; export interface QueryParams { /** The maximum number of now playing tracks to return. */ - size?: number + size?: number; } -export type InputSchema = undefined -export type OutputSchema = AppRockskyFeedDefs.NowPlayingsView -export type HandlerInput = undefined +export type InputSchema = undefined; +export type OutputSchema = AppRockskyFeedDefs.NowPlayingsView; +export type HandlerInput = undefined; export interface HandlerSuccess { - encoding: 'application/json' - body: OutputSchema - headers?: { [key: string]: string } + encoding: "application/json"; + body: OutputSchema; + headers?: { [key: string]: string }; } export interface HandlerError { - status: number - message?: string + status: number; + message?: string; } -export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough +export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough; export type HandlerReqCtx = { - auth: HA - params: QueryParams - input: HandlerInput - req: express.Request - res: express.Response - resetRouteRateLimits: () => Promise -} + auth: HA; + params: QueryParams; + input: HandlerInput; + req: express.Request; + res: express.Response; + resetRouteRateLimits: () => Promise; +}; export type Handler = ( ctx: HandlerReqCtx, -) => Promise | HandlerOutput +) => Promise | HandlerOutput; diff --git a/apps/api/src/lexicon/types/app/rocksky/feed/search.ts b/apps/api/src/lexicon/types/app/rocksky/feed/search.ts index 802b621a..6f4106c7 100644 --- a/apps/api/src/lexicon/types/app/rocksky/feed/search.ts +++ b/apps/api/src/lexicon/types/app/rocksky/feed/search.ts @@ -1,43 +1,43 @@ /** * GENERATED CODE - DO NOT MODIFY */ -import type express from 'express' -import { ValidationResult, BlobRef } from '@atproto/lexicon' -import { lexicons } from '../../../../lexicons' -import { isObj, hasProp } from '../../../../util' -import { CID } from 'multiformats/cid' -import type { HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server' -import type * as AppRockskyFeedDefs from './defs' +import express from "express"; +import { ValidationResult, BlobRef } from "@atproto/lexicon"; +import { lexicons } from "../../../../lexicons"; +import { isObj, hasProp } from "../../../../util"; +import { CID } from "multiformats/cid"; +import { HandlerAuth, HandlerPipeThrough } from "@atproto/xrpc-server"; +import * as AppRockskyFeedDefs from "./defs"; export interface QueryParams { /** The search query string */ - query: string + query: string; } -export type InputSchema = undefined -export type OutputSchema = AppRockskyFeedDefs.SearchResultsView -export type HandlerInput = undefined +export type InputSchema = undefined; +export type OutputSchema = AppRockskyFeedDefs.SearchResultsView; +export type HandlerInput = undefined; export interface HandlerSuccess { - encoding: 'application/json' - body: OutputSchema - headers?: { [key: string]: string } + encoding: "application/json"; + body: OutputSchema; + headers?: { [key: string]: string }; } export interface HandlerError { - status: number - message?: string + status: number; + message?: string; } -export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough +export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough; export type HandlerReqCtx = { - auth: HA - params: QueryParams - input: HandlerInput - req: express.Request - res: express.Response - resetRouteRateLimits: () => Promise -} + auth: HA; + params: QueryParams; + input: HandlerInput; + req: express.Request; + res: express.Response; + resetRouteRateLimits: () => Promise; +}; export type Handler = ( ctx: HandlerReqCtx, -) => Promise | HandlerOutput +) => Promise | HandlerOutput; diff --git a/apps/api/src/lexicon/types/app/rocksky/googledrive/defs.ts b/apps/api/src/lexicon/types/app/rocksky/googledrive/defs.ts index 85ad82da..ac50125d 100644 --- a/apps/api/src/lexicon/types/app/rocksky/googledrive/defs.ts +++ b/apps/api/src/lexicon/types/app/rocksky/googledrive/defs.ts @@ -1,42 +1,42 @@ /** * GENERATED CODE - DO NOT MODIFY */ -import { type ValidationResult, BlobRef } from '@atproto/lexicon' -import { lexicons } from '../../../../lexicons' -import { isObj, hasProp } from '../../../../util' -import { CID } from 'multiformats/cid' +import { ValidationResult, BlobRef } from "@atproto/lexicon"; +import { lexicons } from "../../../../lexicons"; +import { isObj, hasProp } from "../../../../util"; +import { CID } from "multiformats/cid"; export interface FileView { /** The unique identifier of the file. */ - id?: string - [k: string]: unknown + id?: string; + [k: string]: unknown; } export function isFileView(v: unknown): v is FileView { return ( isObj(v) && - hasProp(v, '$type') && - v.$type === 'app.rocksky.googledrive.defs#fileView' - ) + hasProp(v, "$type") && + v.$type === "app.rocksky.googledrive.defs#fileView" + ); } export function validateFileView(v: unknown): ValidationResult { - return lexicons.validate('app.rocksky.googledrive.defs#fileView', v) + return lexicons.validate("app.rocksky.googledrive.defs#fileView", v); } export interface FileListView { - files?: FileView[] - [k: string]: unknown + files?: FileView[]; + [k: string]: unknown; } export function isFileListView(v: unknown): v is FileListView { return ( isObj(v) && - hasProp(v, '$type') && - v.$type === 'app.rocksky.googledrive.defs#fileListView' - ) + hasProp(v, "$type") && + v.$type === "app.rocksky.googledrive.defs#fileListView" + ); } export function validateFileListView(v: unknown): ValidationResult { - return lexicons.validate('app.rocksky.googledrive.defs#fileListView', v) + return lexicons.validate("app.rocksky.googledrive.defs#fileListView", v); } diff --git a/apps/api/src/lexicon/types/app/rocksky/googledrive/downloadFile.ts b/apps/api/src/lexicon/types/app/rocksky/googledrive/downloadFile.ts index 8a22d8ab..b87e7a6a 100644 --- a/apps/api/src/lexicon/types/app/rocksky/googledrive/downloadFile.ts +++ b/apps/api/src/lexicon/types/app/rocksky/googledrive/downloadFile.ts @@ -1,42 +1,42 @@ /** * GENERATED CODE - DO NOT MODIFY */ -import type express from 'express' -import type stream from 'stream' -import { ValidationResult, BlobRef } from '@atproto/lexicon' -import { lexicons } from '../../../../lexicons' -import { isObj, hasProp } from '../../../../util' -import { CID } from 'multiformats/cid' -import type { HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server' +import express from "express"; +import stream from "stream"; +import { ValidationResult, BlobRef } from "@atproto/lexicon"; +import { lexicons } from "../../../../lexicons"; +import { isObj, hasProp } from "../../../../util"; +import { CID } from "multiformats/cid"; +import { HandlerAuth, HandlerPipeThrough } from "@atproto/xrpc-server"; export interface QueryParams { /** The unique identifier of the file to download */ - fileId: string + fileId: string; } -export type InputSchema = undefined -export type HandlerInput = undefined +export type InputSchema = undefined; +export type HandlerInput = undefined; export interface HandlerSuccess { - encoding: 'application/octet-stream' - body: Uint8Array | stream.Readable - headers?: { [key: string]: string } + encoding: "application/octet-stream"; + body: Uint8Array | stream.Readable; + headers?: { [key: string]: string }; } export interface HandlerError { - status: number - message?: string + status: number; + message?: string; } -export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough +export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough; export type HandlerReqCtx = { - auth: HA - params: QueryParams - input: HandlerInput - req: express.Request - res: express.Response - resetRouteRateLimits: () => Promise -} + auth: HA; + params: QueryParams; + input: HandlerInput; + req: express.Request; + res: express.Response; + resetRouteRateLimits: () => Promise; +}; export type Handler = ( ctx: HandlerReqCtx, -) => Promise | HandlerOutput +) => Promise | HandlerOutput; diff --git a/apps/api/src/lexicon/types/app/rocksky/googledrive/getFile.ts b/apps/api/src/lexicon/types/app/rocksky/googledrive/getFile.ts index 0f894bd0..5c502ae1 100644 --- a/apps/api/src/lexicon/types/app/rocksky/googledrive/getFile.ts +++ b/apps/api/src/lexicon/types/app/rocksky/googledrive/getFile.ts @@ -1,43 +1,43 @@ /** * GENERATED CODE - DO NOT MODIFY */ -import type express from 'express' -import { ValidationResult, BlobRef } from '@atproto/lexicon' -import { lexicons } from '../../../../lexicons' -import { isObj, hasProp } from '../../../../util' -import { CID } from 'multiformats/cid' -import type { HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server' -import type * as AppRockskyGoogledriveDefs from './defs' +import express from "express"; +import { ValidationResult, BlobRef } from "@atproto/lexicon"; +import { lexicons } from "../../../../lexicons"; +import { isObj, hasProp } from "../../../../util"; +import { CID } from "multiformats/cid"; +import { HandlerAuth, HandlerPipeThrough } from "@atproto/xrpc-server"; +import * as AppRockskyGoogledriveDefs from "./defs"; export interface QueryParams { /** The unique identifier of the file to retrieve */ - fileId: string + fileId: string; } -export type InputSchema = undefined -export type OutputSchema = AppRockskyGoogledriveDefs.FileView -export type HandlerInput = undefined +export type InputSchema = undefined; +export type OutputSchema = AppRockskyGoogledriveDefs.FileView; +export type HandlerInput = undefined; export interface HandlerSuccess { - encoding: 'application/json' - body: OutputSchema - headers?: { [key: string]: string } + encoding: "application/json"; + body: OutputSchema; + headers?: { [key: string]: string }; } export interface HandlerError { - status: number - message?: string + status: number; + message?: string; } -export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough +export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough; export type HandlerReqCtx = { - auth: HA - params: QueryParams - input: HandlerInput - req: express.Request - res: express.Response - resetRouteRateLimits: () => Promise -} + auth: HA; + params: QueryParams; + input: HandlerInput; + req: express.Request; + res: express.Response; + resetRouteRateLimits: () => Promise; +}; export type Handler = ( ctx: HandlerReqCtx, -) => Promise | HandlerOutput +) => Promise | HandlerOutput; diff --git a/apps/api/src/lexicon/types/app/rocksky/googledrive/getFiles.ts b/apps/api/src/lexicon/types/app/rocksky/googledrive/getFiles.ts index 4c23c2d8..c360ee67 100644 --- a/apps/api/src/lexicon/types/app/rocksky/googledrive/getFiles.ts +++ b/apps/api/src/lexicon/types/app/rocksky/googledrive/getFiles.ts @@ -1,43 +1,43 @@ /** * GENERATED CODE - DO NOT MODIFY */ -import type express from 'express' -import { ValidationResult, BlobRef } from '@atproto/lexicon' -import { lexicons } from '../../../../lexicons' -import { isObj, hasProp } from '../../../../util' -import { CID } from 'multiformats/cid' -import type { HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server' -import type * as AppRockskyGoogledriveDefs from './defs' +import express from "express"; +import { ValidationResult, BlobRef } from "@atproto/lexicon"; +import { lexicons } from "../../../../lexicons"; +import { isObj, hasProp } from "../../../../util"; +import { CID } from "multiformats/cid"; +import { HandlerAuth, HandlerPipeThrough } from "@atproto/xrpc-server"; +import * as AppRockskyGoogledriveDefs from "./defs"; export interface QueryParams { /** Path to the Google Drive folder or root directory */ - at?: string + at?: string; } -export type InputSchema = undefined -export type OutputSchema = AppRockskyGoogledriveDefs.FileListView -export type HandlerInput = undefined +export type InputSchema = undefined; +export type OutputSchema = AppRockskyGoogledriveDefs.FileListView; +export type HandlerInput = undefined; export interface HandlerSuccess { - encoding: 'application/json' - body: OutputSchema - headers?: { [key: string]: string } + encoding: "application/json"; + body: OutputSchema; + headers?: { [key: string]: string }; } export interface HandlerError { - status: number - message?: string + status: number; + message?: string; } -export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough +export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough; export type HandlerReqCtx = { - auth: HA - params: QueryParams - input: HandlerInput - req: express.Request - res: express.Response - resetRouteRateLimits: () => Promise -} + auth: HA; + params: QueryParams; + input: HandlerInput; + req: express.Request; + res: express.Response; + resetRouteRateLimits: () => Promise; +}; export type Handler = ( ctx: HandlerReqCtx, -) => Promise | HandlerOutput +) => Promise | HandlerOutput; diff --git a/apps/api/src/lexicon/types/app/rocksky/like.ts b/apps/api/src/lexicon/types/app/rocksky/like.ts index 337f3bb4..e6026ac7 100644 --- a/apps/api/src/lexicon/types/app/rocksky/like.ts +++ b/apps/api/src/lexicon/types/app/rocksky/like.ts @@ -1,27 +1,27 @@ /** * GENERATED CODE - DO NOT MODIFY */ -import { type ValidationResult, BlobRef } from '@atproto/lexicon' -import { lexicons } from '../../../lexicons' -import { isObj, hasProp } from '../../../util' -import { CID } from 'multiformats/cid' -import type * as ComAtprotoRepoStrongRef from '../../com/atproto/repo/strongRef' +import { ValidationResult, BlobRef } from "@atproto/lexicon"; +import { lexicons } from "../../../lexicons"; +import { isObj, hasProp } from "../../../util"; +import { CID } from "multiformats/cid"; +import * as ComAtprotoRepoStrongRef from "../../com/atproto/repo/strongRef"; export interface Record { /** The date when the like was created. */ - createdAt: string - subject: ComAtprotoRepoStrongRef.Main - [k: string]: unknown + createdAt: string; + subject: ComAtprotoRepoStrongRef.Main; + [k: string]: unknown; } export function isRecord(v: unknown): v is Record { return ( isObj(v) && - hasProp(v, '$type') && - (v.$type === 'app.rocksky.like#main' || v.$type === 'app.rocksky.like') - ) + hasProp(v, "$type") && + (v.$type === "app.rocksky.like#main" || v.$type === "app.rocksky.like") + ); } export function validateRecord(v: unknown): ValidationResult { - return lexicons.validate('app.rocksky.like#main', v) + return lexicons.validate("app.rocksky.like#main", v); } diff --git a/apps/api/src/lexicon/types/app/rocksky/like/dislikeShout.ts b/apps/api/src/lexicon/types/app/rocksky/like/dislikeShout.ts index 9431959d..c3412c49 100644 --- a/apps/api/src/lexicon/types/app/rocksky/like/dislikeShout.ts +++ b/apps/api/src/lexicon/types/app/rocksky/like/dislikeShout.ts @@ -1,49 +1,49 @@ /** * GENERATED CODE - DO NOT MODIFY */ -import type express from 'express' -import { ValidationResult, BlobRef } from '@atproto/lexicon' -import { lexicons } from '../../../../lexicons' -import { isObj, hasProp } from '../../../../util' -import { CID } from 'multiformats/cid' -import type { HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server' -import type * as AppRockskyShoutDefs from '../shout/defs' +import express from "express"; +import { ValidationResult, BlobRef } from "@atproto/lexicon"; +import { lexicons } from "../../../../lexicons"; +import { isObj, hasProp } from "../../../../util"; +import { CID } from "multiformats/cid"; +import { HandlerAuth, HandlerPipeThrough } from "@atproto/xrpc-server"; +import * as AppRockskyShoutDefs from "../shout/defs"; -export type QueryParams = {} +export interface QueryParams {} export interface InputSchema { /** The unique identifier of the shout to dislike */ - uri?: string - [k: string]: unknown + uri?: string; + [k: string]: unknown; } -export type OutputSchema = AppRockskyShoutDefs.ShoutView +export type OutputSchema = AppRockskyShoutDefs.ShoutView; export interface HandlerInput { - encoding: 'application/json' - body: InputSchema + encoding: "application/json"; + body: InputSchema; } export interface HandlerSuccess { - encoding: 'application/json' - body: OutputSchema - headers?: { [key: string]: string } + encoding: "application/json"; + body: OutputSchema; + headers?: { [key: string]: string }; } export interface HandlerError { - status: number - message?: string + status: number; + message?: string; } -export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough +export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough; export type HandlerReqCtx = { - auth: HA - params: QueryParams - input: HandlerInput - req: express.Request - res: express.Response - resetRouteRateLimits: () => Promise -} + auth: HA; + params: QueryParams; + input: HandlerInput; + req: express.Request; + res: express.Response; + resetRouteRateLimits: () => Promise; +}; export type Handler = ( ctx: HandlerReqCtx, -) => Promise | HandlerOutput +) => Promise | HandlerOutput; diff --git a/apps/api/src/lexicon/types/app/rocksky/like/dislikeSong.ts b/apps/api/src/lexicon/types/app/rocksky/like/dislikeSong.ts index a951d8db..22fcd13c 100644 --- a/apps/api/src/lexicon/types/app/rocksky/like/dislikeSong.ts +++ b/apps/api/src/lexicon/types/app/rocksky/like/dislikeSong.ts @@ -1,49 +1,49 @@ /** * GENERATED CODE - DO NOT MODIFY */ -import type express from 'express' -import { ValidationResult, BlobRef } from '@atproto/lexicon' -import { lexicons } from '../../../../lexicons' -import { isObj, hasProp } from '../../../../util' -import { CID } from 'multiformats/cid' -import type { HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server' -import type * as AppRockskySongDefs from '../song/defs' +import express from "express"; +import { ValidationResult, BlobRef } from "@atproto/lexicon"; +import { lexicons } from "../../../../lexicons"; +import { isObj, hasProp } from "../../../../util"; +import { CID } from "multiformats/cid"; +import { HandlerAuth, HandlerPipeThrough } from "@atproto/xrpc-server"; +import * as AppRockskySongDefs from "../song/defs"; -export type QueryParams = {} +export interface QueryParams {} export interface InputSchema { /** The unique identifier of the song to dislike */ - uri?: string - [k: string]: unknown + uri?: string; + [k: string]: unknown; } -export type OutputSchema = AppRockskySongDefs.SongViewDetailed +export type OutputSchema = AppRockskySongDefs.SongViewDetailed; export interface HandlerInput { - encoding: 'application/json' - body: InputSchema + encoding: "application/json"; + body: InputSchema; } export interface HandlerSuccess { - encoding: 'application/json' - body: OutputSchema - headers?: { [key: string]: string } + encoding: "application/json"; + body: OutputSchema; + headers?: { [key: string]: string }; } export interface HandlerError { - status: number - message?: string + status: number; + message?: string; } -export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough +export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough; export type HandlerReqCtx = { - auth: HA - params: QueryParams - input: HandlerInput - req: express.Request - res: express.Response - resetRouteRateLimits: () => Promise -} + auth: HA; + params: QueryParams; + input: HandlerInput; + req: express.Request; + res: express.Response; + resetRouteRateLimits: () => Promise; +}; export type Handler = ( ctx: HandlerReqCtx, -) => Promise | HandlerOutput +) => Promise | HandlerOutput; diff --git a/apps/api/src/lexicon/types/app/rocksky/like/likeShout.ts b/apps/api/src/lexicon/types/app/rocksky/like/likeShout.ts index aa996bb2..b9d19e2a 100644 --- a/apps/api/src/lexicon/types/app/rocksky/like/likeShout.ts +++ b/apps/api/src/lexicon/types/app/rocksky/like/likeShout.ts @@ -1,49 +1,49 @@ /** * GENERATED CODE - DO NOT MODIFY */ -import type express from 'express' -import { ValidationResult, BlobRef } from '@atproto/lexicon' -import { lexicons } from '../../../../lexicons' -import { isObj, hasProp } from '../../../../util' -import { CID } from 'multiformats/cid' -import type { HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server' -import type * as AppRockskyShoutDefs from '../shout/defs' +import express from "express"; +import { ValidationResult, BlobRef } from "@atproto/lexicon"; +import { lexicons } from "../../../../lexicons"; +import { isObj, hasProp } from "../../../../util"; +import { CID } from "multiformats/cid"; +import { HandlerAuth, HandlerPipeThrough } from "@atproto/xrpc-server"; +import * as AppRockskyShoutDefs from "../shout/defs"; -export type QueryParams = {} +export interface QueryParams {} export interface InputSchema { /** The unique identifier of the shout to like */ - uri?: string - [k: string]: unknown + uri?: string; + [k: string]: unknown; } -export type OutputSchema = AppRockskyShoutDefs.ShoutView +export type OutputSchema = AppRockskyShoutDefs.ShoutView; export interface HandlerInput { - encoding: 'application/json' - body: InputSchema + encoding: "application/json"; + body: InputSchema; } export interface HandlerSuccess { - encoding: 'application/json' - body: OutputSchema - headers?: { [key: string]: string } + encoding: "application/json"; + body: OutputSchema; + headers?: { [key: string]: string }; } export interface HandlerError { - status: number - message?: string + status: number; + message?: string; } -export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough +export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough; export type HandlerReqCtx = { - auth: HA - params: QueryParams - input: HandlerInput - req: express.Request - res: express.Response - resetRouteRateLimits: () => Promise -} + auth: HA; + params: QueryParams; + input: HandlerInput; + req: express.Request; + res: express.Response; + resetRouteRateLimits: () => Promise; +}; export type Handler = ( ctx: HandlerReqCtx, -) => Promise | HandlerOutput +) => Promise | HandlerOutput; diff --git a/apps/api/src/lexicon/types/app/rocksky/like/likeSong.ts b/apps/api/src/lexicon/types/app/rocksky/like/likeSong.ts index 596e24e5..1baaa5d1 100644 --- a/apps/api/src/lexicon/types/app/rocksky/like/likeSong.ts +++ b/apps/api/src/lexicon/types/app/rocksky/like/likeSong.ts @@ -1,49 +1,49 @@ /** * GENERATED CODE - DO NOT MODIFY */ -import type express from 'express' -import { ValidationResult, BlobRef } from '@atproto/lexicon' -import { lexicons } from '../../../../lexicons' -import { isObj, hasProp } from '../../../../util' -import { CID } from 'multiformats/cid' -import type { HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server' -import type * as AppRockskySongDefs from '../song/defs' +import express from "express"; +import { ValidationResult, BlobRef } from "@atproto/lexicon"; +import { lexicons } from "../../../../lexicons"; +import { isObj, hasProp } from "../../../../util"; +import { CID } from "multiformats/cid"; +import { HandlerAuth, HandlerPipeThrough } from "@atproto/xrpc-server"; +import * as AppRockskySongDefs from "../song/defs"; -export type QueryParams = {} +export interface QueryParams {} export interface InputSchema { /** The unique identifier of the song to like */ - uri?: string - [k: string]: unknown + uri?: string; + [k: string]: unknown; } -export type OutputSchema = AppRockskySongDefs.SongViewDetailed +export type OutputSchema = AppRockskySongDefs.SongViewDetailed; export interface HandlerInput { - encoding: 'application/json' - body: InputSchema + encoding: "application/json"; + body: InputSchema; } export interface HandlerSuccess { - encoding: 'application/json' - body: OutputSchema - headers?: { [key: string]: string } + encoding: "application/json"; + body: OutputSchema; + headers?: { [key: string]: string }; } export interface HandlerError { - status: number - message?: string + status: number; + message?: string; } -export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough +export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough; export type HandlerReqCtx = { - auth: HA - params: QueryParams - input: HandlerInput - req: express.Request - res: express.Response - resetRouteRateLimits: () => Promise -} + auth: HA; + params: QueryParams; + input: HandlerInput; + req: express.Request; + res: express.Response; + resetRouteRateLimits: () => Promise; +}; export type Handler = ( ctx: HandlerReqCtx, -) => Promise | HandlerOutput +) => Promise | HandlerOutput; diff --git a/apps/api/src/lexicon/types/app/rocksky/player/addDirectoryToQueue.ts b/apps/api/src/lexicon/types/app/rocksky/player/addDirectoryToQueue.ts index 2fb660fa..555ef22f 100644 --- a/apps/api/src/lexicon/types/app/rocksky/player/addDirectoryToQueue.ts +++ b/apps/api/src/lexicon/types/app/rocksky/player/addDirectoryToQueue.ts @@ -1,40 +1,40 @@ /** * GENERATED CODE - DO NOT MODIFY */ -import type express from 'express' -import { ValidationResult, BlobRef } from '@atproto/lexicon' -import { lexicons } from '../../../../lexicons' -import { isObj, hasProp } from '../../../../util' -import { CID } from 'multiformats/cid' -import { type HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server' +import express from "express"; +import { ValidationResult, BlobRef } from "@atproto/lexicon"; +import { lexicons } from "../../../../lexicons"; +import { isObj, hasProp } from "../../../../util"; +import { CID } from "multiformats/cid"; +import { HandlerAuth, HandlerPipeThrough } from "@atproto/xrpc-server"; export interface QueryParams { - playerId?: string + playerId?: string; /** The directory to add to the queue */ - directory: string + directory: string; /** Position in the queue to insert the directory at, defaults to the end if not specified */ - position?: number + position?: number; /** Whether to shuffle the added directory in the queue */ - shuffle?: boolean + shuffle?: boolean; } -export type InputSchema = undefined -export type HandlerInput = undefined +export type InputSchema = undefined; +export type HandlerInput = undefined; export interface HandlerError { - status: number - message?: string + status: number; + message?: string; } -export type HandlerOutput = HandlerError | void +export type HandlerOutput = HandlerError | void; export type HandlerReqCtx = { - auth: HA - params: QueryParams - input: HandlerInput - req: express.Request - res: express.Response - resetRouteRateLimits: () => Promise -} + auth: HA; + params: QueryParams; + input: HandlerInput; + req: express.Request; + res: express.Response; + resetRouteRateLimits: () => Promise; +}; export type Handler = ( ctx: HandlerReqCtx, -) => Promise | HandlerOutput +) => Promise | HandlerOutput; diff --git a/apps/api/src/lexicon/types/app/rocksky/player/addItemsToQueue.ts b/apps/api/src/lexicon/types/app/rocksky/player/addItemsToQueue.ts index 272eb8ad..0e60f82e 100644 --- a/apps/api/src/lexicon/types/app/rocksky/player/addItemsToQueue.ts +++ b/apps/api/src/lexicon/types/app/rocksky/player/addItemsToQueue.ts @@ -1,39 +1,39 @@ /** * GENERATED CODE - DO NOT MODIFY */ -import type express from 'express' -import { ValidationResult, BlobRef } from '@atproto/lexicon' -import { lexicons } from '../../../../lexicons' -import { isObj, hasProp } from '../../../../util' -import { CID } from 'multiformats/cid' -import { type HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server' +import express from "express"; +import { ValidationResult, BlobRef } from "@atproto/lexicon"; +import { lexicons } from "../../../../lexicons"; +import { isObj, hasProp } from "../../../../util"; +import { CID } from "multiformats/cid"; +import { HandlerAuth, HandlerPipeThrough } from "@atproto/xrpc-server"; export interface QueryParams { - playerId?: string - items: string[] + playerId?: string; + items: string[]; /** Position in the queue to insert the items at, defaults to the end if not specified */ - position?: number + position?: number; /** Whether to shuffle the added items in the queue */ - shuffle?: boolean + shuffle?: boolean; } -export type InputSchema = undefined -export type HandlerInput = undefined +export type InputSchema = undefined; +export type HandlerInput = undefined; export interface HandlerError { - status: number - message?: string + status: number; + message?: string; } -export type HandlerOutput = HandlerError | void +export type HandlerOutput = HandlerError | void; export type HandlerReqCtx = { - auth: HA - params: QueryParams - input: HandlerInput - req: express.Request - res: express.Response - resetRouteRateLimits: () => Promise -} + auth: HA; + params: QueryParams; + input: HandlerInput; + req: express.Request; + res: express.Response; + resetRouteRateLimits: () => Promise; +}; export type Handler = ( ctx: HandlerReqCtx, -) => Promise | HandlerOutput +) => Promise | HandlerOutput; diff --git a/apps/api/src/lexicon/types/app/rocksky/player/defs.ts b/apps/api/src/lexicon/types/app/rocksky/player/defs.ts index 263cfaae..44f065a2 100644 --- a/apps/api/src/lexicon/types/app/rocksky/player/defs.ts +++ b/apps/api/src/lexicon/types/app/rocksky/player/defs.ts @@ -1,16 +1,16 @@ /** * GENERATED CODE - DO NOT MODIFY */ -import { type ValidationResult, BlobRef } from '@atproto/lexicon' -import { lexicons } from '../../../../lexicons' -import { isObj, hasProp } from '../../../../util' -import { CID } from 'multiformats/cid' -import type * as AppRockskySongDefsSongViewBasic from '../song/defs/songViewBasic' +import { ValidationResult, BlobRef } from "@atproto/lexicon"; +import { lexicons } from "../../../../lexicons"; +import { isObj, hasProp } from "../../../../util"; +import { CID } from "multiformats/cid"; +import * as AppRockskySongDefsSongViewBasic from "../song/defs/songViewBasic"; export interface CurrentlyPlayingViewDetailed { /** The title of the currently playing track */ - title?: string - [k: string]: unknown + title?: string; + [k: string]: unknown; } export function isCurrentlyPlayingViewDetailed( @@ -18,23 +18,23 @@ export function isCurrentlyPlayingViewDetailed( ): v is CurrentlyPlayingViewDetailed { return ( isObj(v) && - hasProp(v, '$type') && - v.$type === 'app.rocksky.player.defs#currentlyPlayingViewDetailed' - ) + hasProp(v, "$type") && + v.$type === "app.rocksky.player.defs#currentlyPlayingViewDetailed" + ); } export function validateCurrentlyPlayingViewDetailed( v: unknown, ): ValidationResult { return lexicons.validate( - 'app.rocksky.player.defs#currentlyPlayingViewDetailed', + "app.rocksky.player.defs#currentlyPlayingViewDetailed", v, - ) + ); } export interface PlaybackQueueViewDetailed { - tracks?: AppRockskySongDefsSongViewBasic.Main[] - [k: string]: unknown + tracks?: AppRockskySongDefsSongViewBasic.Main[]; + [k: string]: unknown; } export function isPlaybackQueueViewDetailed( @@ -42,16 +42,16 @@ export function isPlaybackQueueViewDetailed( ): v is PlaybackQueueViewDetailed { return ( isObj(v) && - hasProp(v, '$type') && - v.$type === 'app.rocksky.player.defs#playbackQueueViewDetailed' - ) + hasProp(v, "$type") && + v.$type === "app.rocksky.player.defs#playbackQueueViewDetailed" + ); } export function validatePlaybackQueueViewDetailed( v: unknown, ): ValidationResult { return lexicons.validate( - 'app.rocksky.player.defs#playbackQueueViewDetailed', + "app.rocksky.player.defs#playbackQueueViewDetailed", v, - ) + ); } diff --git a/apps/api/src/lexicon/types/app/rocksky/player/getCurrentlyPlaying.ts b/apps/api/src/lexicon/types/app/rocksky/player/getCurrentlyPlaying.ts index 9f7dd15c..943e91fd 100644 --- a/apps/api/src/lexicon/types/app/rocksky/player/getCurrentlyPlaying.ts +++ b/apps/api/src/lexicon/types/app/rocksky/player/getCurrentlyPlaying.ts @@ -1,44 +1,44 @@ /** * GENERATED CODE - DO NOT MODIFY */ -import type express from 'express' -import { ValidationResult, BlobRef } from '@atproto/lexicon' -import { lexicons } from '../../../../lexicons' -import { isObj, hasProp } from '../../../../util' -import { CID } from 'multiformats/cid' -import type { HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server' -import type * as AppRockskyPlayerDefs from './defs' +import express from "express"; +import { ValidationResult, BlobRef } from "@atproto/lexicon"; +import { lexicons } from "../../../../lexicons"; +import { isObj, hasProp } from "../../../../util"; +import { CID } from "multiformats/cid"; +import { HandlerAuth, HandlerPipeThrough } from "@atproto/xrpc-server"; +import * as AppRockskyPlayerDefs from "./defs"; export interface QueryParams { - playerId?: string + playerId?: string; /** Handle or DID of the actor to retrieve the currently playing track for. If not provided, defaults to the current user. */ - actor?: string + actor?: string; } -export type InputSchema = undefined -export type OutputSchema = AppRockskyPlayerDefs.CurrentlyPlayingViewDetailed -export type HandlerInput = undefined +export type InputSchema = undefined; +export type OutputSchema = AppRockskyPlayerDefs.CurrentlyPlayingViewDetailed; +export type HandlerInput = undefined; export interface HandlerSuccess { - encoding: 'application/json' - body: OutputSchema - headers?: { [key: string]: string } + encoding: "application/json"; + body: OutputSchema; + headers?: { [key: string]: string }; } export interface HandlerError { - status: number - message?: string + status: number; + message?: string; } -export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough +export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough; export type HandlerReqCtx = { - auth: HA - params: QueryParams - input: HandlerInput - req: express.Request - res: express.Response - resetRouteRateLimits: () => Promise -} + auth: HA; + params: QueryParams; + input: HandlerInput; + req: express.Request; + res: express.Response; + resetRouteRateLimits: () => Promise; +}; export type Handler = ( ctx: HandlerReqCtx, -) => Promise | HandlerOutput +) => Promise | HandlerOutput; diff --git a/apps/api/src/lexicon/types/app/rocksky/player/getPlaybackQueue.ts b/apps/api/src/lexicon/types/app/rocksky/player/getPlaybackQueue.ts index 6853cec1..42127dbc 100644 --- a/apps/api/src/lexicon/types/app/rocksky/player/getPlaybackQueue.ts +++ b/apps/api/src/lexicon/types/app/rocksky/player/getPlaybackQueue.ts @@ -1,42 +1,42 @@ /** * GENERATED CODE - DO NOT MODIFY */ -import type express from 'express' -import { ValidationResult, BlobRef } from '@atproto/lexicon' -import { lexicons } from '../../../../lexicons' -import { isObj, hasProp } from '../../../../util' -import { CID } from 'multiformats/cid' -import type { HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server' -import type * as AppRockskyPlayerDefs from './defs' +import express from "express"; +import { ValidationResult, BlobRef } from "@atproto/lexicon"; +import { lexicons } from "../../../../lexicons"; +import { isObj, hasProp } from "../../../../util"; +import { CID } from "multiformats/cid"; +import { HandlerAuth, HandlerPipeThrough } from "@atproto/xrpc-server"; +import * as AppRockskyPlayerDefs from "./defs"; export interface QueryParams { - playerId?: string + playerId?: string; } -export type InputSchema = undefined -export type OutputSchema = AppRockskyPlayerDefs.PlaybackQueueViewDetailed -export type HandlerInput = undefined +export type InputSchema = undefined; +export type OutputSchema = AppRockskyPlayerDefs.PlaybackQueueViewDetailed; +export type HandlerInput = undefined; export interface HandlerSuccess { - encoding: 'application/json' - body: OutputSchema - headers?: { [key: string]: string } + encoding: "application/json"; + body: OutputSchema; + headers?: { [key: string]: string }; } export interface HandlerError { - status: number - message?: string + status: number; + message?: string; } -export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough +export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough; export type HandlerReqCtx = { - auth: HA - params: QueryParams - input: HandlerInput - req: express.Request - res: express.Response - resetRouteRateLimits: () => Promise -} + auth: HA; + params: QueryParams; + input: HandlerInput; + req: express.Request; + res: express.Response; + resetRouteRateLimits: () => Promise; +}; export type Handler = ( ctx: HandlerReqCtx, -) => Promise | HandlerOutput +) => Promise | HandlerOutput; diff --git a/apps/api/src/lexicon/types/app/rocksky/player/next.ts b/apps/api/src/lexicon/types/app/rocksky/player/next.ts index fddb01fd..ef7c51bf 100644 --- a/apps/api/src/lexicon/types/app/rocksky/player/next.ts +++ b/apps/api/src/lexicon/types/app/rocksky/player/next.ts @@ -1,34 +1,34 @@ /** * GENERATED CODE - DO NOT MODIFY */ -import type express from 'express' -import { ValidationResult, BlobRef } from '@atproto/lexicon' -import { lexicons } from '../../../../lexicons' -import { isObj, hasProp } from '../../../../util' -import { CID } from 'multiformats/cid' -import { type HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server' +import express from "express"; +import { ValidationResult, BlobRef } from "@atproto/lexicon"; +import { lexicons } from "../../../../lexicons"; +import { isObj, hasProp } from "../../../../util"; +import { CID } from "multiformats/cid"; +import { HandlerAuth, HandlerPipeThrough } from "@atproto/xrpc-server"; export interface QueryParams { - playerId?: string + playerId?: string; } -export type InputSchema = undefined -export type HandlerInput = undefined +export type InputSchema = undefined; +export type HandlerInput = undefined; export interface HandlerError { - status: number - message?: string + status: number; + message?: string; } -export type HandlerOutput = HandlerError | void +export type HandlerOutput = HandlerError | void; export type HandlerReqCtx = { - auth: HA - params: QueryParams - input: HandlerInput - req: express.Request - res: express.Response - resetRouteRateLimits: () => Promise -} + auth: HA; + params: QueryParams; + input: HandlerInput; + req: express.Request; + res: express.Response; + resetRouteRateLimits: () => Promise; +}; export type Handler = ( ctx: HandlerReqCtx, -) => Promise | HandlerOutput +) => Promise | HandlerOutput; diff --git a/apps/api/src/lexicon/types/app/rocksky/player/pause.ts b/apps/api/src/lexicon/types/app/rocksky/player/pause.ts index fddb01fd..ef7c51bf 100644 --- a/apps/api/src/lexicon/types/app/rocksky/player/pause.ts +++ b/apps/api/src/lexicon/types/app/rocksky/player/pause.ts @@ -1,34 +1,34 @@ /** * GENERATED CODE - DO NOT MODIFY */ -import type express from 'express' -import { ValidationResult, BlobRef } from '@atproto/lexicon' -import { lexicons } from '../../../../lexicons' -import { isObj, hasProp } from '../../../../util' -import { CID } from 'multiformats/cid' -import { type HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server' +import express from "express"; +import { ValidationResult, BlobRef } from "@atproto/lexicon"; +import { lexicons } from "../../../../lexicons"; +import { isObj, hasProp } from "../../../../util"; +import { CID } from "multiformats/cid"; +import { HandlerAuth, HandlerPipeThrough } from "@atproto/xrpc-server"; export interface QueryParams { - playerId?: string + playerId?: string; } -export type InputSchema = undefined -export type HandlerInput = undefined +export type InputSchema = undefined; +export type HandlerInput = undefined; export interface HandlerError { - status: number - message?: string + status: number; + message?: string; } -export type HandlerOutput = HandlerError | void +export type HandlerOutput = HandlerError | void; export type HandlerReqCtx = { - auth: HA - params: QueryParams - input: HandlerInput - req: express.Request - res: express.Response - resetRouteRateLimits: () => Promise -} + auth: HA; + params: QueryParams; + input: HandlerInput; + req: express.Request; + res: express.Response; + resetRouteRateLimits: () => Promise; +}; export type Handler = ( ctx: HandlerReqCtx, -) => Promise | HandlerOutput +) => Promise | HandlerOutput; diff --git a/apps/api/src/lexicon/types/app/rocksky/player/play.ts b/apps/api/src/lexicon/types/app/rocksky/player/play.ts index fddb01fd..ef7c51bf 100644 --- a/apps/api/src/lexicon/types/app/rocksky/player/play.ts +++ b/apps/api/src/lexicon/types/app/rocksky/player/play.ts @@ -1,34 +1,34 @@ /** * GENERATED CODE - DO NOT MODIFY */ -import type express from 'express' -import { ValidationResult, BlobRef } from '@atproto/lexicon' -import { lexicons } from '../../../../lexicons' -import { isObj, hasProp } from '../../../../util' -import { CID } from 'multiformats/cid' -import { type HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server' +import express from "express"; +import { ValidationResult, BlobRef } from "@atproto/lexicon"; +import { lexicons } from "../../../../lexicons"; +import { isObj, hasProp } from "../../../../util"; +import { CID } from "multiformats/cid"; +import { HandlerAuth, HandlerPipeThrough } from "@atproto/xrpc-server"; export interface QueryParams { - playerId?: string + playerId?: string; } -export type InputSchema = undefined -export type HandlerInput = undefined +export type InputSchema = undefined; +export type HandlerInput = undefined; export interface HandlerError { - status: number - message?: string + status: number; + message?: string; } -export type HandlerOutput = HandlerError | void +export type HandlerOutput = HandlerError | void; export type HandlerReqCtx = { - auth: HA - params: QueryParams - input: HandlerInput - req: express.Request - res: express.Response - resetRouteRateLimits: () => Promise -} + auth: HA; + params: QueryParams; + input: HandlerInput; + req: express.Request; + res: express.Response; + resetRouteRateLimits: () => Promise; +}; export type Handler = ( ctx: HandlerReqCtx, -) => Promise | HandlerOutput +) => Promise | HandlerOutput; diff --git a/apps/api/src/lexicon/types/app/rocksky/player/playDirectory.ts b/apps/api/src/lexicon/types/app/rocksky/player/playDirectory.ts index f345f720..691a9654 100644 --- a/apps/api/src/lexicon/types/app/rocksky/player/playDirectory.ts +++ b/apps/api/src/lexicon/types/app/rocksky/player/playDirectory.ts @@ -1,38 +1,38 @@ /** * GENERATED CODE - DO NOT MODIFY */ -import type express from 'express' -import { ValidationResult, BlobRef } from '@atproto/lexicon' -import { lexicons } from '../../../../lexicons' -import { isObj, hasProp } from '../../../../util' -import { CID } from 'multiformats/cid' -import { type HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server' +import express from "express"; +import { ValidationResult, BlobRef } from "@atproto/lexicon"; +import { lexicons } from "../../../../lexicons"; +import { isObj, hasProp } from "../../../../util"; +import { CID } from "multiformats/cid"; +import { HandlerAuth, HandlerPipeThrough } from "@atproto/xrpc-server"; export interface QueryParams { - playerId?: string - directoryId: string - shuffle?: boolean - recurse?: boolean - position?: number + playerId?: string; + directoryId: string; + shuffle?: boolean; + recurse?: boolean; + position?: number; } -export type InputSchema = undefined -export type HandlerInput = undefined +export type InputSchema = undefined; +export type HandlerInput = undefined; export interface HandlerError { - status: number - message?: string + status: number; + message?: string; } -export type HandlerOutput = HandlerError | void +export type HandlerOutput = HandlerError | void; export type HandlerReqCtx = { - auth: HA - params: QueryParams - input: HandlerInput - req: express.Request - res: express.Response - resetRouteRateLimits: () => Promise -} + auth: HA; + params: QueryParams; + input: HandlerInput; + req: express.Request; + res: express.Response; + resetRouteRateLimits: () => Promise; +}; export type Handler = ( ctx: HandlerReqCtx, -) => Promise | HandlerOutput +) => Promise | HandlerOutput; diff --git a/apps/api/src/lexicon/types/app/rocksky/player/playFile.ts b/apps/api/src/lexicon/types/app/rocksky/player/playFile.ts index 62c704c5..545d76ab 100644 --- a/apps/api/src/lexicon/types/app/rocksky/player/playFile.ts +++ b/apps/api/src/lexicon/types/app/rocksky/player/playFile.ts @@ -1,35 +1,35 @@ /** * GENERATED CODE - DO NOT MODIFY */ -import type express from 'express' -import { ValidationResult, BlobRef } from '@atproto/lexicon' -import { lexicons } from '../../../../lexicons' -import { isObj, hasProp } from '../../../../util' -import { CID } from 'multiformats/cid' -import { type HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server' +import express from "express"; +import { ValidationResult, BlobRef } from "@atproto/lexicon"; +import { lexicons } from "../../../../lexicons"; +import { isObj, hasProp } from "../../../../util"; +import { CID } from "multiformats/cid"; +import { HandlerAuth, HandlerPipeThrough } from "@atproto/xrpc-server"; export interface QueryParams { - playerId?: string - fileId: string + playerId?: string; + fileId: string; } -export type InputSchema = undefined -export type HandlerInput = undefined +export type InputSchema = undefined; +export type HandlerInput = undefined; export interface HandlerError { - status: number - message?: string + status: number; + message?: string; } -export type HandlerOutput = HandlerError | void +export type HandlerOutput = HandlerError | void; export type HandlerReqCtx = { - auth: HA - params: QueryParams - input: HandlerInput - req: express.Request - res: express.Response - resetRouteRateLimits: () => Promise -} + auth: HA; + params: QueryParams; + input: HandlerInput; + req: express.Request; + res: express.Response; + resetRouteRateLimits: () => Promise; +}; export type Handler = ( ctx: HandlerReqCtx, -) => Promise | HandlerOutput +) => Promise | HandlerOutput; diff --git a/apps/api/src/lexicon/types/app/rocksky/player/previous.ts b/apps/api/src/lexicon/types/app/rocksky/player/previous.ts index fddb01fd..ef7c51bf 100644 --- a/apps/api/src/lexicon/types/app/rocksky/player/previous.ts +++ b/apps/api/src/lexicon/types/app/rocksky/player/previous.ts @@ -1,34 +1,34 @@ /** * GENERATED CODE - DO NOT MODIFY */ -import type express from 'express' -import { ValidationResult, BlobRef } from '@atproto/lexicon' -import { lexicons } from '../../../../lexicons' -import { isObj, hasProp } from '../../../../util' -import { CID } from 'multiformats/cid' -import { type HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server' +import express from "express"; +import { ValidationResult, BlobRef } from "@atproto/lexicon"; +import { lexicons } from "../../../../lexicons"; +import { isObj, hasProp } from "../../../../util"; +import { CID } from "multiformats/cid"; +import { HandlerAuth, HandlerPipeThrough } from "@atproto/xrpc-server"; export interface QueryParams { - playerId?: string + playerId?: string; } -export type InputSchema = undefined -export type HandlerInput = undefined +export type InputSchema = undefined; +export type HandlerInput = undefined; export interface HandlerError { - status: number - message?: string + status: number; + message?: string; } -export type HandlerOutput = HandlerError | void +export type HandlerOutput = HandlerError | void; export type HandlerReqCtx = { - auth: HA - params: QueryParams - input: HandlerInput - req: express.Request - res: express.Response - resetRouteRateLimits: () => Promise -} + auth: HA; + params: QueryParams; + input: HandlerInput; + req: express.Request; + res: express.Response; + resetRouteRateLimits: () => Promise; +}; export type Handler = ( ctx: HandlerReqCtx, -) => Promise | HandlerOutput +) => Promise | HandlerOutput; diff --git a/apps/api/src/lexicon/types/app/rocksky/player/seek.ts b/apps/api/src/lexicon/types/app/rocksky/player/seek.ts index 4e7c6dc3..d670c627 100644 --- a/apps/api/src/lexicon/types/app/rocksky/player/seek.ts +++ b/apps/api/src/lexicon/types/app/rocksky/player/seek.ts @@ -1,36 +1,36 @@ /** * GENERATED CODE - DO NOT MODIFY */ -import type express from 'express' -import { ValidationResult, BlobRef } from '@atproto/lexicon' -import { lexicons } from '../../../../lexicons' -import { isObj, hasProp } from '../../../../util' -import { CID } from 'multiformats/cid' -import { type HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server' +import express from "express"; +import { ValidationResult, BlobRef } from "@atproto/lexicon"; +import { lexicons } from "../../../../lexicons"; +import { isObj, hasProp } from "../../../../util"; +import { CID } from "multiformats/cid"; +import { HandlerAuth, HandlerPipeThrough } from "@atproto/xrpc-server"; export interface QueryParams { - playerId?: string + playerId?: string; /** The position in seconds to seek to */ - position: number + position: number; } -export type InputSchema = undefined -export type HandlerInput = undefined +export type InputSchema = undefined; +export type HandlerInput = undefined; export interface HandlerError { - status: number - message?: string + status: number; + message?: string; } -export type HandlerOutput = HandlerError | void +export type HandlerOutput = HandlerError | void; export type HandlerReqCtx = { - auth: HA - params: QueryParams - input: HandlerInput - req: express.Request - res: express.Response - resetRouteRateLimits: () => Promise -} + auth: HA; + params: QueryParams; + input: HandlerInput; + req: express.Request; + res: express.Response; + resetRouteRateLimits: () => Promise; +}; export type Handler = ( ctx: HandlerReqCtx, -) => Promise | HandlerOutput +) => Promise | HandlerOutput; diff --git a/apps/api/src/lexicon/types/app/rocksky/playlist.ts b/apps/api/src/lexicon/types/app/rocksky/playlist.ts index 5fa6e35f..2a2e54c6 100644 --- a/apps/api/src/lexicon/types/app/rocksky/playlist.ts +++ b/apps/api/src/lexicon/types/app/rocksky/playlist.ts @@ -1,43 +1,43 @@ /** * GENERATED CODE - DO NOT MODIFY */ -import type { ValidationResult, BlobRef } from '@atproto/lexicon' -import { lexicons } from '../../../lexicons' -import { isObj, hasProp } from '../../../util' -import { CID } from 'multiformats/cid' -import type * as AppRockskySong from './song' +import { ValidationResult, BlobRef } from "@atproto/lexicon"; +import { lexicons } from "../../../lexicons"; +import { isObj, hasProp } from "../../../util"; +import { CID } from "multiformats/cid"; +import * as AppRockskySong from "./song"; export interface Record { /** The name of the playlist. */ - name: string + name: string; /** The playlist description. */ - description?: string + description?: string; /** The picture of the playlist. */ - picture?: BlobRef + picture?: BlobRef; /** The tracks in the playlist. */ - tracks?: AppRockskySong.Record[] + tracks?: AppRockskySong.Record[]; /** The date the playlist was created. */ - createdAt: string + createdAt: string; /** The Spotify link of the playlist. */ - spotifyLink?: string + spotifyLink?: string; /** The Tidal link of the playlist. */ - tidalLink?: string + tidalLink?: string; /** The YouTube link of the playlist. */ - youtubeLink?: string + youtubeLink?: string; /** The Apple Music link of the playlist. */ - appleMusicLink?: string - [k: string]: unknown + appleMusicLink?: string; + [k: string]: unknown; } export function isRecord(v: unknown): v is Record { return ( isObj(v) && - hasProp(v, '$type') && - (v.$type === 'app.rocksky.playlist#main' || - v.$type === 'app.rocksky.playlist') - ) + hasProp(v, "$type") && + (v.$type === "app.rocksky.playlist#main" || + v.$type === "app.rocksky.playlist") + ); } export function validateRecord(v: unknown): ValidationResult { - return lexicons.validate('app.rocksky.playlist#main', v) + return lexicons.validate("app.rocksky.playlist#main", v); } diff --git a/apps/api/src/lexicon/types/app/rocksky/playlist/createPlaylist.ts b/apps/api/src/lexicon/types/app/rocksky/playlist/createPlaylist.ts index 0ba568cd..8f40b3eb 100644 --- a/apps/api/src/lexicon/types/app/rocksky/playlist/createPlaylist.ts +++ b/apps/api/src/lexicon/types/app/rocksky/playlist/createPlaylist.ts @@ -1,37 +1,37 @@ /** * GENERATED CODE - DO NOT MODIFY */ -import type express from 'express' -import { ValidationResult, BlobRef } from '@atproto/lexicon' -import { lexicons } from '../../../../lexicons' -import { isObj, hasProp } from '../../../../util' -import { CID } from 'multiformats/cid' -import { type HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server' +import express from "express"; +import { ValidationResult, BlobRef } from "@atproto/lexicon"; +import { lexicons } from "../../../../lexicons"; +import { isObj, hasProp } from "../../../../util"; +import { CID } from "multiformats/cid"; +import { HandlerAuth, HandlerPipeThrough } from "@atproto/xrpc-server"; export interface QueryParams { /** The name of the playlist */ - name: string + name: string; /** A brief description of the playlist */ - description?: string + description?: string; } -export type InputSchema = undefined -export type HandlerInput = undefined +export type InputSchema = undefined; +export type HandlerInput = undefined; export interface HandlerError { - status: number - message?: string + status: number; + message?: string; } -export type HandlerOutput = HandlerError | void +export type HandlerOutput = HandlerError | void; export type HandlerReqCtx = { - auth: HA - params: QueryParams - input: HandlerInput - req: express.Request - res: express.Response - resetRouteRateLimits: () => Promise -} + auth: HA; + params: QueryParams; + input: HandlerInput; + req: express.Request; + res: express.Response; + resetRouteRateLimits: () => Promise; +}; export type Handler = ( ctx: HandlerReqCtx, -) => Promise | HandlerOutput +) => Promise | HandlerOutput; diff --git a/apps/api/src/lexicon/types/app/rocksky/playlist/defs.ts b/apps/api/src/lexicon/types/app/rocksky/playlist/defs.ts index 6072232a..4616ae44 100644 --- a/apps/api/src/lexicon/types/app/rocksky/playlist/defs.ts +++ b/apps/api/src/lexicon/types/app/rocksky/playlist/defs.ts @@ -1,86 +1,86 @@ /** * GENERATED CODE - DO NOT MODIFY */ -import { type ValidationResult, BlobRef } from '@atproto/lexicon' -import { lexicons } from '../../../../lexicons' -import { isObj, hasProp } from '../../../../util' -import { CID } from 'multiformats/cid' -import type * as AppRockskySongDefs from '../song/defs' +import { ValidationResult, BlobRef } from "@atproto/lexicon"; +import { lexicons } from "../../../../lexicons"; +import { isObj, hasProp } from "../../../../util"; +import { CID } from "multiformats/cid"; +import * as AppRockskySongDefs from "../song/defs"; /** Detailed view of a playlist, including its tracks and metadata */ export interface PlaylistViewDetailed { /** The unique identifier of the playlist. */ - id?: string + id?: string; /** The title of the playlist. */ - title?: string + title?: string; /** The URI of the playlist. */ - uri?: string + uri?: string; /** The DID of the curator of the playlist. */ - curatorDid?: string + curatorDid?: string; /** The handle of the curator of the playlist. */ - curatorHandle?: string + curatorHandle?: string; /** The name of the curator of the playlist. */ - curatorName?: string + curatorName?: string; /** The URL of the avatar image of the curator. */ - curatorAvatarUrl?: string + curatorAvatarUrl?: string; /** A description of the playlist. */ - description?: string + description?: string; /** The URL of the cover image for the playlist. */ - coverImageUrl?: string + coverImageUrl?: string; /** The date and time when the playlist was created. */ - createdAt?: string + createdAt?: string; /** A list of tracks in the playlist. */ - tracks?: AppRockskySongDefs.SongViewBasic[] - [k: string]: unknown + tracks?: AppRockskySongDefs.SongViewBasic[]; + [k: string]: unknown; } export function isPlaylistViewDetailed(v: unknown): v is PlaylistViewDetailed { return ( isObj(v) && - hasProp(v, '$type') && - v.$type === 'app.rocksky.playlist.defs#playlistViewDetailed' - ) + hasProp(v, "$type") && + v.$type === "app.rocksky.playlist.defs#playlistViewDetailed" + ); } export function validatePlaylistViewDetailed(v: unknown): ValidationResult { - return lexicons.validate('app.rocksky.playlist.defs#playlistViewDetailed', v) + return lexicons.validate("app.rocksky.playlist.defs#playlistViewDetailed", v); } /** Basic view of a playlist, including its metadata */ export interface PlaylistViewBasic { /** The unique identifier of the playlist. */ - id?: string + id?: string; /** The title of the playlist. */ - title?: string + title?: string; /** The URI of the playlist. */ - uri?: string + uri?: string; /** The DID of the curator of the playlist. */ - curatorDid?: string + curatorDid?: string; /** The handle of the curator of the playlist. */ - curatorHandle?: string + curatorHandle?: string; /** The name of the curator of the playlist. */ - curatorName?: string + curatorName?: string; /** The URL of the avatar image of the curator. */ - curatorAvatarUrl?: string + curatorAvatarUrl?: string; /** A description of the playlist. */ - description?: string + description?: string; /** The URL of the cover image for the playlist. */ - coverImageUrl?: string + coverImageUrl?: string; /** The date and time when the playlist was created. */ - createdAt?: string + createdAt?: string; /** The number of tracks in the playlist. */ - trackCount?: number - [k: string]: unknown + trackCount?: number; + [k: string]: unknown; } export function isPlaylistViewBasic(v: unknown): v is PlaylistViewBasic { return ( isObj(v) && - hasProp(v, '$type') && - v.$type === 'app.rocksky.playlist.defs#playlistViewBasic' - ) + hasProp(v, "$type") && + v.$type === "app.rocksky.playlist.defs#playlistViewBasic" + ); } export function validatePlaylistViewBasic(v: unknown): ValidationResult { - return lexicons.validate('app.rocksky.playlist.defs#playlistViewBasic', v) + return lexicons.validate("app.rocksky.playlist.defs#playlistViewBasic", v); } diff --git a/apps/api/src/lexicon/types/app/rocksky/playlist/getPlaylist.ts b/apps/api/src/lexicon/types/app/rocksky/playlist/getPlaylist.ts index 98a740dd..c90f7b62 100644 --- a/apps/api/src/lexicon/types/app/rocksky/playlist/getPlaylist.ts +++ b/apps/api/src/lexicon/types/app/rocksky/playlist/getPlaylist.ts @@ -1,43 +1,43 @@ /** * GENERATED CODE - DO NOT MODIFY */ -import type express from 'express' -import { ValidationResult, BlobRef } from '@atproto/lexicon' -import { lexicons } from '../../../../lexicons' -import { isObj, hasProp } from '../../../../util' -import { CID } from 'multiformats/cid' -import type { HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server' -import type * as AppRockskyPlaylistDefs from './defs' +import express from "express"; +import { ValidationResult, BlobRef } from "@atproto/lexicon"; +import { lexicons } from "../../../../lexicons"; +import { isObj, hasProp } from "../../../../util"; +import { CID } from "multiformats/cid"; +import { HandlerAuth, HandlerPipeThrough } from "@atproto/xrpc-server"; +import * as AppRockskyPlaylistDefs from "./defs"; export interface QueryParams { /** The URI of the playlist to retrieve. */ - uri: string + uri: string; } -export type InputSchema = undefined -export type OutputSchema = AppRockskyPlaylistDefs.PlaylistViewDetailed -export type HandlerInput = undefined +export type InputSchema = undefined; +export type OutputSchema = AppRockskyPlaylistDefs.PlaylistViewDetailed; +export type HandlerInput = undefined; export interface HandlerSuccess { - encoding: 'application/json' - body: OutputSchema - headers?: { [key: string]: string } + encoding: "application/json"; + body: OutputSchema; + headers?: { [key: string]: string }; } export interface HandlerError { - status: number - message?: string + status: number; + message?: string; } -export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough +export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough; export type HandlerReqCtx = { - auth: HA - params: QueryParams - input: HandlerInput - req: express.Request - res: express.Response - resetRouteRateLimits: () => Promise -} + auth: HA; + params: QueryParams; + input: HandlerInput; + req: express.Request; + res: express.Response; + resetRouteRateLimits: () => Promise; +}; export type Handler = ( ctx: HandlerReqCtx, -) => Promise | HandlerOutput +) => Promise | HandlerOutput; diff --git a/apps/api/src/lexicon/types/app/rocksky/playlist/getPlaylists.ts b/apps/api/src/lexicon/types/app/rocksky/playlist/getPlaylists.ts index ce360c68..97780e8c 100644 --- a/apps/api/src/lexicon/types/app/rocksky/playlist/getPlaylists.ts +++ b/apps/api/src/lexicon/types/app/rocksky/playlist/getPlaylists.ts @@ -1,50 +1,50 @@ /** * GENERATED CODE - DO NOT MODIFY */ -import type express from 'express' -import { ValidationResult, BlobRef } from '@atproto/lexicon' -import { lexicons } from '../../../../lexicons' -import { isObj, hasProp } from '../../../../util' -import { CID } from 'multiformats/cid' -import type { HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server' -import type * as AppRockskyPlaylistDefs from './defs' +import express from "express"; +import { ValidationResult, BlobRef } from "@atproto/lexicon"; +import { lexicons } from "../../../../lexicons"; +import { isObj, hasProp } from "../../../../util"; +import { CID } from "multiformats/cid"; +import { HandlerAuth, HandlerPipeThrough } from "@atproto/xrpc-server"; +import * as AppRockskyPlaylistDefs from "./defs"; export interface QueryParams { /** The maximum number of playlists to return. */ - limit?: number + limit?: number; /** The offset for pagination, used to skip a number of playlists. */ - offset?: number + offset?: number; } -export type InputSchema = undefined +export type InputSchema = undefined; export interface OutputSchema { - playlists?: AppRockskyPlaylistDefs.PlaylistViewBasic[] - [k: string]: unknown + playlists?: AppRockskyPlaylistDefs.PlaylistViewBasic[]; + [k: string]: unknown; } -export type HandlerInput = undefined +export type HandlerInput = undefined; export interface HandlerSuccess { - encoding: 'application/json' - body: OutputSchema - headers?: { [key: string]: string } + encoding: "application/json"; + body: OutputSchema; + headers?: { [key: string]: string }; } export interface HandlerError { - status: number - message?: string + status: number; + message?: string; } -export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough +export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough; export type HandlerReqCtx = { - auth: HA - params: QueryParams - input: HandlerInput - req: express.Request - res: express.Response - resetRouteRateLimits: () => Promise -} + auth: HA; + params: QueryParams; + input: HandlerInput; + req: express.Request; + res: express.Response; + resetRouteRateLimits: () => Promise; +}; export type Handler = ( ctx: HandlerReqCtx, -) => Promise | HandlerOutput +) => Promise | HandlerOutput; diff --git a/apps/api/src/lexicon/types/app/rocksky/playlist/insertDirectory.ts b/apps/api/src/lexicon/types/app/rocksky/playlist/insertDirectory.ts index 4dcdde7e..c54c88e9 100644 --- a/apps/api/src/lexicon/types/app/rocksky/playlist/insertDirectory.ts +++ b/apps/api/src/lexicon/types/app/rocksky/playlist/insertDirectory.ts @@ -1,39 +1,39 @@ /** * GENERATED CODE - DO NOT MODIFY */ -import type express from 'express' -import { ValidationResult, BlobRef } from '@atproto/lexicon' -import { lexicons } from '../../../../lexicons' -import { isObj, hasProp } from '../../../../util' -import { CID } from 'multiformats/cid' -import { type HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server' +import express from "express"; +import { ValidationResult, BlobRef } from "@atproto/lexicon"; +import { lexicons } from "../../../../lexicons"; +import { isObj, hasProp } from "../../../../util"; +import { CID } from "multiformats/cid"; +import { HandlerAuth, HandlerPipeThrough } from "@atproto/xrpc-server"; export interface QueryParams { /** The URI of the playlist to start */ - uri: string + uri: string; /** The directory (id) to insert into the playlist */ - directory: string + directory: string; /** The position in the playlist to insert the directory at, if not specified, the directory will be appended */ - position?: number + position?: number; } -export type InputSchema = undefined -export type HandlerInput = undefined +export type InputSchema = undefined; +export type HandlerInput = undefined; export interface HandlerError { - status: number - message?: string + status: number; + message?: string; } -export type HandlerOutput = HandlerError | void +export type HandlerOutput = HandlerError | void; export type HandlerReqCtx = { - auth: HA - params: QueryParams - input: HandlerInput - req: express.Request - res: express.Response - resetRouteRateLimits: () => Promise -} + auth: HA; + params: QueryParams; + input: HandlerInput; + req: express.Request; + res: express.Response; + resetRouteRateLimits: () => Promise; +}; export type Handler = ( ctx: HandlerReqCtx, -) => Promise | HandlerOutput +) => Promise | HandlerOutput; diff --git a/apps/api/src/lexicon/types/app/rocksky/playlist/insertFiles.ts b/apps/api/src/lexicon/types/app/rocksky/playlist/insertFiles.ts index ffe2ed60..38fb8d3d 100644 --- a/apps/api/src/lexicon/types/app/rocksky/playlist/insertFiles.ts +++ b/apps/api/src/lexicon/types/app/rocksky/playlist/insertFiles.ts @@ -1,38 +1,38 @@ /** * GENERATED CODE - DO NOT MODIFY */ -import type express from 'express' -import { ValidationResult, BlobRef } from '@atproto/lexicon' -import { lexicons } from '../../../../lexicons' -import { isObj, hasProp } from '../../../../util' -import { CID } from 'multiformats/cid' -import { type HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server' +import express from "express"; +import { ValidationResult, BlobRef } from "@atproto/lexicon"; +import { lexicons } from "../../../../lexicons"; +import { isObj, hasProp } from "../../../../util"; +import { CID } from "multiformats/cid"; +import { HandlerAuth, HandlerPipeThrough } from "@atproto/xrpc-server"; export interface QueryParams { /** The URI of the playlist to start */ - uri: string - files: string[] + uri: string; + files: string[]; /** The position in the playlist to insert the files at, if not specified, files will be appended */ - position?: number + position?: number; } -export type InputSchema = undefined -export type HandlerInput = undefined +export type InputSchema = undefined; +export type HandlerInput = undefined; export interface HandlerError { - status: number - message?: string + status: number; + message?: string; } -export type HandlerOutput = HandlerError | void +export type HandlerOutput = HandlerError | void; export type HandlerReqCtx = { - auth: HA - params: QueryParams - input: HandlerInput - req: express.Request - res: express.Response - resetRouteRateLimits: () => Promise -} + auth: HA; + params: QueryParams; + input: HandlerInput; + req: express.Request; + res: express.Response; + resetRouteRateLimits: () => Promise; +}; export type Handler = ( ctx: HandlerReqCtx, -) => Promise | HandlerOutput +) => Promise | HandlerOutput; diff --git a/apps/api/src/lexicon/types/app/rocksky/playlist/removePlaylist.ts b/apps/api/src/lexicon/types/app/rocksky/playlist/removePlaylist.ts index 9de6b0ad..b7841468 100644 --- a/apps/api/src/lexicon/types/app/rocksky/playlist/removePlaylist.ts +++ b/apps/api/src/lexicon/types/app/rocksky/playlist/removePlaylist.ts @@ -1,35 +1,35 @@ /** * GENERATED CODE - DO NOT MODIFY */ -import type express from 'express' -import { ValidationResult, BlobRef } from '@atproto/lexicon' -import { lexicons } from '../../../../lexicons' -import { isObj, hasProp } from '../../../../util' -import { CID } from 'multiformats/cid' -import { type HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server' +import express from "express"; +import { ValidationResult, BlobRef } from "@atproto/lexicon"; +import { lexicons } from "../../../../lexicons"; +import { isObj, hasProp } from "../../../../util"; +import { CID } from "multiformats/cid"; +import { HandlerAuth, HandlerPipeThrough } from "@atproto/xrpc-server"; export interface QueryParams { /** The URI of the playlist to remove */ - uri: string + uri: string; } -export type InputSchema = undefined -export type HandlerInput = undefined +export type InputSchema = undefined; +export type HandlerInput = undefined; export interface HandlerError { - status: number - message?: string + status: number; + message?: string; } -export type HandlerOutput = HandlerError | void +export type HandlerOutput = HandlerError | void; export type HandlerReqCtx = { - auth: HA - params: QueryParams - input: HandlerInput - req: express.Request - res: express.Response - resetRouteRateLimits: () => Promise -} + auth: HA; + params: QueryParams; + input: HandlerInput; + req: express.Request; + res: express.Response; + resetRouteRateLimits: () => Promise; +}; export type Handler = ( ctx: HandlerReqCtx, -) => Promise | HandlerOutput +) => Promise | HandlerOutput; diff --git a/apps/api/src/lexicon/types/app/rocksky/playlist/removeTrack.ts b/apps/api/src/lexicon/types/app/rocksky/playlist/removeTrack.ts index 11c5a93b..82d39181 100644 --- a/apps/api/src/lexicon/types/app/rocksky/playlist/removeTrack.ts +++ b/apps/api/src/lexicon/types/app/rocksky/playlist/removeTrack.ts @@ -1,37 +1,37 @@ /** * GENERATED CODE - DO NOT MODIFY */ -import type express from 'express' -import { ValidationResult, BlobRef } from '@atproto/lexicon' -import { lexicons } from '../../../../lexicons' -import { isObj, hasProp } from '../../../../util' -import { CID } from 'multiformats/cid' -import { type HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server' +import express from "express"; +import { ValidationResult, BlobRef } from "@atproto/lexicon"; +import { lexicons } from "../../../../lexicons"; +import { isObj, hasProp } from "../../../../util"; +import { CID } from "multiformats/cid"; +import { HandlerAuth, HandlerPipeThrough } from "@atproto/xrpc-server"; export interface QueryParams { /** The URI of the playlist to remove the track from */ - uri: string + uri: string; /** The position of the track to remove in the playlist */ - position: number + position: number; } -export type InputSchema = undefined -export type HandlerInput = undefined +export type InputSchema = undefined; +export type HandlerInput = undefined; export interface HandlerError { - status: number - message?: string + status: number; + message?: string; } -export type HandlerOutput = HandlerError | void +export type HandlerOutput = HandlerError | void; export type HandlerReqCtx = { - auth: HA - params: QueryParams - input: HandlerInput - req: express.Request - res: express.Response - resetRouteRateLimits: () => Promise -} + auth: HA; + params: QueryParams; + input: HandlerInput; + req: express.Request; + res: express.Response; + resetRouteRateLimits: () => Promise; +}; export type Handler = ( ctx: HandlerReqCtx, -) => Promise | HandlerOutput +) => Promise | HandlerOutput; diff --git a/apps/api/src/lexicon/types/app/rocksky/playlist/startPlaylist.ts b/apps/api/src/lexicon/types/app/rocksky/playlist/startPlaylist.ts index 763336b3..f0a5a2a0 100644 --- a/apps/api/src/lexicon/types/app/rocksky/playlist/startPlaylist.ts +++ b/apps/api/src/lexicon/types/app/rocksky/playlist/startPlaylist.ts @@ -1,39 +1,39 @@ /** * GENERATED CODE - DO NOT MODIFY */ -import type express from 'express' -import { ValidationResult, BlobRef } from '@atproto/lexicon' -import { lexicons } from '../../../../lexicons' -import { isObj, hasProp } from '../../../../util' -import { CID } from 'multiformats/cid' -import { type HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server' +import express from "express"; +import { ValidationResult, BlobRef } from "@atproto/lexicon"; +import { lexicons } from "../../../../lexicons"; +import { isObj, hasProp } from "../../../../util"; +import { CID } from "multiformats/cid"; +import { HandlerAuth, HandlerPipeThrough } from "@atproto/xrpc-server"; export interface QueryParams { /** The URI of the playlist to start */ - uri: string + uri: string; /** Whether to shuffle the playlist when starting it */ - shuffle?: boolean + shuffle?: boolean; /** The position in the playlist to start from, if not specified, starts from the beginning */ - position?: number + position?: number; } -export type InputSchema = undefined -export type HandlerInput = undefined +export type InputSchema = undefined; +export type HandlerInput = undefined; export interface HandlerError { - status: number - message?: string + status: number; + message?: string; } -export type HandlerOutput = HandlerError | void +export type HandlerOutput = HandlerError | void; export type HandlerReqCtx = { - auth: HA - params: QueryParams - input: HandlerInput - req: express.Request - res: express.Response - resetRouteRateLimits: () => Promise -} + auth: HA; + params: QueryParams; + input: HandlerInput; + req: express.Request; + res: express.Response; + resetRouteRateLimits: () => Promise; +}; export type Handler = ( ctx: HandlerReqCtx, -) => Promise | HandlerOutput +) => Promise | HandlerOutput; diff --git a/apps/api/src/lexicon/types/app/rocksky/radio.ts b/apps/api/src/lexicon/types/app/rocksky/radio.ts index 94231d27..5137e6f5 100644 --- a/apps/api/src/lexicon/types/app/rocksky/radio.ts +++ b/apps/api/src/lexicon/types/app/rocksky/radio.ts @@ -1,37 +1,37 @@ /** * GENERATED CODE - DO NOT MODIFY */ -import type { ValidationResult, BlobRef } from '@atproto/lexicon' -import { lexicons } from '../../../lexicons' -import { isObj, hasProp } from '../../../util' -import { CID } from 'multiformats/cid' +import { ValidationResult, BlobRef } from "@atproto/lexicon"; +import { lexicons } from "../../../lexicons"; +import { isObj, hasProp } from "../../../util"; +import { CID } from "multiformats/cid"; export interface Record { /** The name of the radio station. */ - name: string + name: string; /** The URL of the radio station. */ - url: string + url: string; /** A description of the radio station. */ - description?: string + description?: string; /** The genre of the radio station. */ - genre?: string + genre?: string; /** The logo of the radio station. */ - logo?: BlobRef + logo?: BlobRef; /** The website of the radio station. */ - website?: string + website?: string; /** The date when the radio station was created. */ - createdAt: string - [k: string]: unknown + createdAt: string; + [k: string]: unknown; } export function isRecord(v: unknown): v is Record { return ( isObj(v) && - hasProp(v, '$type') && - (v.$type === 'app.rocksky.radio#main' || v.$type === 'app.rocksky.radio') - ) + hasProp(v, "$type") && + (v.$type === "app.rocksky.radio#main" || v.$type === "app.rocksky.radio") + ); } export function validateRecord(v: unknown): ValidationResult { - return lexicons.validate('app.rocksky.radio#main', v) + return lexicons.validate("app.rocksky.radio#main", v); } diff --git a/apps/api/src/lexicon/types/app/rocksky/radio/defs.ts b/apps/api/src/lexicon/types/app/rocksky/radio/defs.ts index 7ba28f05..d7d70c54 100644 --- a/apps/api/src/lexicon/types/app/rocksky/radio/defs.ts +++ b/apps/api/src/lexicon/types/app/rocksky/radio/defs.ts @@ -1,63 +1,63 @@ /** * GENERATED CODE - DO NOT MODIFY */ -import { type ValidationResult, BlobRef } from '@atproto/lexicon' -import { lexicons } from '../../../../lexicons' -import { isObj, hasProp } from '../../../../util' -import { CID } from 'multiformats/cid' +import { ValidationResult, BlobRef } from "@atproto/lexicon"; +import { lexicons } from "../../../../lexicons"; +import { isObj, hasProp } from "../../../../util"; +import { CID } from "multiformats/cid"; export interface RadioViewBasic { /** The unique identifier of the radio. */ - id?: string + id?: string; /** The name of the radio. */ - name?: string + name?: string; /** A brief description of the radio. */ - description?: string + description?: string; /** The date and time when the radio was created. */ - createdAt?: string - [k: string]: unknown + createdAt?: string; + [k: string]: unknown; } export function isRadioViewBasic(v: unknown): v is RadioViewBasic { return ( isObj(v) && - hasProp(v, '$type') && - v.$type === 'app.rocksky.radio.defs#radioViewBasic' - ) + hasProp(v, "$type") && + v.$type === "app.rocksky.radio.defs#radioViewBasic" + ); } export function validateRadioViewBasic(v: unknown): ValidationResult { - return lexicons.validate('app.rocksky.radio.defs#radioViewBasic', v) + return lexicons.validate("app.rocksky.radio.defs#radioViewBasic", v); } export interface RadioViewDetailed { /** The unique identifier of the radio. */ - id?: string + id?: string; /** The name of the radio. */ - name?: string + name?: string; /** A brief description of the radio. */ - description?: string + description?: string; /** The website of the radio. */ - website?: string + website?: string; /** The streaming URL of the radio. */ - url?: string + url?: string; /** The genre of the radio. */ - genre?: string + genre?: string; /** The logo of the radio station. */ - logo?: string + logo?: string; /** The date and time when the radio was created. */ - createdAt?: string - [k: string]: unknown + createdAt?: string; + [k: string]: unknown; } export function isRadioViewDetailed(v: unknown): v is RadioViewDetailed { return ( isObj(v) && - hasProp(v, '$type') && - v.$type === 'app.rocksky.radio.defs#radioViewDetailed' - ) + hasProp(v, "$type") && + v.$type === "app.rocksky.radio.defs#radioViewDetailed" + ); } export function validateRadioViewDetailed(v: unknown): ValidationResult { - return lexicons.validate('app.rocksky.radio.defs#radioViewDetailed', v) + return lexicons.validate("app.rocksky.radio.defs#radioViewDetailed", v); } diff --git a/apps/api/src/lexicon/types/app/rocksky/scrobble.ts b/apps/api/src/lexicon/types/app/rocksky/scrobble.ts index d7a0cbe4..56c531e5 100644 --- a/apps/api/src/lexicon/types/app/rocksky/scrobble.ts +++ b/apps/api/src/lexicon/types/app/rocksky/scrobble.ts @@ -1,70 +1,72 @@ /** * GENERATED CODE - DO NOT MODIFY */ -import type { ValidationResult, BlobRef } from '@atproto/lexicon' -import { lexicons } from '../../../lexicons' -import { isObj, hasProp } from '../../../util' -import { CID } from 'multiformats/cid' +import { ValidationResult, BlobRef } from "@atproto/lexicon"; +import { lexicons } from "../../../lexicons"; +import { isObj, hasProp } from "../../../util"; +import { CID } from "multiformats/cid"; export interface Record { /** The title of the song. */ - title: string + title: string; /** The artist of the song. */ - artist: string + artist: string; /** The album artist of the song. */ - albumArtist: string + albumArtist: string; /** The album of the song. */ - album: string + album: string; /** The duration of the song in seconds. */ - duration: number + duration: number; /** The track number of the song in the album. */ - trackNumber?: number + trackNumber?: number; /** The disc number of the song in the album. */ - discNumber?: number + discNumber?: number; /** The release date of the song. */ - releaseDate?: string + releaseDate?: string; /** The year the song was released. */ - year?: number + year?: number; /** The genre of the song. */ - genre?: string + genre?: string; /** The tags of the song. */ - tags?: string[] + tags?: string[]; /** The composer of the song. */ - composer?: string + composer?: string; /** The lyrics of the song. */ - lyrics?: string + lyrics?: string; /** The copyright message of the song. */ - copyrightMessage?: string + copyrightMessage?: string; /** Informations about the song */ - wiki?: string + wiki?: string; /** The album art of the song. */ - albumArt?: BlobRef + albumArt?: BlobRef; + /** The URL of the album art of the song. */ + albumArtUrl?: string; /** The YouTube link of the song. */ - youtubeLink?: string + youtubeLink?: string; /** The Spotify link of the song. */ - spotifyLink?: string + spotifyLink?: string; /** The Tidal link of the song. */ - tidalLink?: string + tidalLink?: string; /** The Apple Music link of the song. */ - appleMusicLink?: string + appleMusicLink?: string; /** The date when the song was created. */ - createdAt: string + createdAt: string; /** The MusicBrainz ID of the song. */ - mbid?: string + mbid?: string; /** The label of the song. */ - label?: string - [k: string]: unknown + label?: string; + [k: string]: unknown; } export function isRecord(v: unknown): v is Record { return ( isObj(v) && - hasProp(v, '$type') && - (v.$type === 'app.rocksky.scrobble#main' || - v.$type === 'app.rocksky.scrobble') - ) + hasProp(v, "$type") && + (v.$type === "app.rocksky.scrobble#main" || + v.$type === "app.rocksky.scrobble") + ); } export function validateRecord(v: unknown): ValidationResult { - return lexicons.validate('app.rocksky.scrobble#main', v) + return lexicons.validate("app.rocksky.scrobble#main", v); } diff --git a/apps/api/src/lexicon/types/app/rocksky/scrobble/createScrobble.ts b/apps/api/src/lexicon/types/app/rocksky/scrobble/createScrobble.ts index 573135b5..6f7a5879 100644 --- a/apps/api/src/lexicon/types/app/rocksky/scrobble/createScrobble.ts +++ b/apps/api/src/lexicon/types/app/rocksky/scrobble/createScrobble.ts @@ -1,91 +1,91 @@ /** * GENERATED CODE - DO NOT MODIFY */ -import type express from 'express' -import { ValidationResult, BlobRef } from '@atproto/lexicon' -import { lexicons } from '../../../../lexicons' -import { isObj, hasProp } from '../../../../util' -import { CID } from 'multiformats/cid' -import type { HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server' -import type * as AppRockskyScrobbleDefs from './defs' +import express from "express"; +import { ValidationResult, BlobRef } from "@atproto/lexicon"; +import { lexicons } from "../../../../lexicons"; +import { isObj, hasProp } from "../../../../util"; +import { CID } from "multiformats/cid"; +import { HandlerAuth, HandlerPipeThrough } from "@atproto/xrpc-server"; +import * as AppRockskyScrobbleDefs from "./defs"; -export type QueryParams = {} +export interface QueryParams {} export interface InputSchema { /** The title of the track being scrobbled */ - title: string + title: string; /** The artist of the track being scrobbled */ - artist: string + artist: string; /** The album of the track being scrobbled */ - album?: string + album?: string; /** The duration of the track in seconds */ - duration?: number + duration?: number; /** The MusicBrainz ID of the track, if available */ - mbId?: string + mbId?: string; /** The URL of the album art for the track */ - albumArt?: string + albumArt?: string; /** The track number of the track in the album */ - trackNumber?: number + trackNumber?: number; /** The release date of the track, formatted as YYYY-MM-DD */ - releaseDate?: string + releaseDate?: string; /** The year the track was released */ - year?: number + year?: number; /** The disc number of the track in the album, if applicable */ - discNumber?: number + discNumber?: number; /** The lyrics of the track, if available */ - lyrics?: string + lyrics?: string; /** The composer of the track, if available */ - composer?: string + composer?: string; /** The copyright message for the track, if available */ - copyrightMessage?: string + copyrightMessage?: string; /** The record label of the track, if available */ - label?: string + label?: string; /** The URL of the artist's picture, if available */ - artistPicture?: string + artistPicture?: string; /** The Spotify link for the track, if available */ - spotifyLink?: string + spotifyLink?: string; /** The Last.fm link for the track, if available */ - lastfmLink?: string + lastfmLink?: string; /** The Tidal link for the track, if available */ - tidalLink?: string + tidalLink?: string; /** The Apple Music link for the track, if available */ - appleMusicLink?: string + appleMusicLink?: string; /** The Youtube link for the track, if available */ - youtubeLink?: string + youtubeLink?: string; /** The Deezer link for the track, if available */ - deezerLink?: string + deezerLink?: string; /** The timestamp of the scrobble in milliseconds since epoch */ - timestamp?: number - [k: string]: unknown + timestamp?: number; + [k: string]: unknown; } -export type OutputSchema = AppRockskyScrobbleDefs.ScrobbleViewBasic +export type OutputSchema = AppRockskyScrobbleDefs.ScrobbleViewBasic; export interface HandlerInput { - encoding: 'application/json' - body: InputSchema + encoding: "application/json"; + body: InputSchema; } export interface HandlerSuccess { - encoding: 'application/json' - body: OutputSchema - headers?: { [key: string]: string } + encoding: "application/json"; + body: OutputSchema; + headers?: { [key: string]: string }; } export interface HandlerError { - status: number - message?: string + status: number; + message?: string; } -export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough +export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough; export type HandlerReqCtx = { - auth: HA - params: QueryParams - input: HandlerInput - req: express.Request - res: express.Response - resetRouteRateLimits: () => Promise -} + auth: HA; + params: QueryParams; + input: HandlerInput; + req: express.Request; + res: express.Response; + resetRouteRateLimits: () => Promise; +}; export type Handler = ( ctx: HandlerReqCtx, -) => Promise | HandlerOutput +) => Promise | HandlerOutput; diff --git a/apps/api/src/lexicon/types/app/rocksky/scrobble/defs.ts b/apps/api/src/lexicon/types/app/rocksky/scrobble/defs.ts index 59d734dd..f014f1a8 100644 --- a/apps/api/src/lexicon/types/app/rocksky/scrobble/defs.ts +++ b/apps/api/src/lexicon/types/app/rocksky/scrobble/defs.ts @@ -1,91 +1,91 @@ /** * GENERATED CODE - DO NOT MODIFY */ -import { type ValidationResult, BlobRef } from '@atproto/lexicon' -import { lexicons } from '../../../../lexicons' -import { isObj, hasProp } from '../../../../util' -import { CID } from 'multiformats/cid' +import { ValidationResult, BlobRef } from "@atproto/lexicon"; +import { lexicons } from "../../../../lexicons"; +import { isObj, hasProp } from "../../../../util"; +import { CID } from "multiformats/cid"; export interface ScrobbleViewBasic { /** The unique identifier of the scrobble. */ - id?: string + id?: string; /** The handle of the user who created the scrobble. */ - user?: string + user?: string; /** The display name of the user who created the scrobble. */ - userDisplayName?: string + userDisplayName?: string; /** The avatar URL of the user who created the scrobble. */ - userAvatar?: string + userAvatar?: string; /** The title of the scrobble. */ - title?: string + title?: string; /** The artist of the song. */ - artist?: string + artist?: string; /** The URI of the artist. */ - artistUri?: string + artistUri?: string; /** The album of the song. */ - album?: string + album?: string; /** The URI of the album. */ - albumUri?: string + albumUri?: string; /** The album art URL of the song. */ - cover?: string + cover?: string; /** The timestamp when the scrobble was created. */ - date?: string + date?: string; /** The URI of the scrobble. */ - uri?: string + uri?: string; /** The SHA256 hash of the scrobble data. */ - sha256?: string - [k: string]: unknown + sha256?: string; + [k: string]: unknown; } export function isScrobbleViewBasic(v: unknown): v is ScrobbleViewBasic { return ( isObj(v) && - hasProp(v, '$type') && - v.$type === 'app.rocksky.scrobble.defs#scrobbleViewBasic' - ) + hasProp(v, "$type") && + v.$type === "app.rocksky.scrobble.defs#scrobbleViewBasic" + ); } export function validateScrobbleViewBasic(v: unknown): ValidationResult { - return lexicons.validate('app.rocksky.scrobble.defs#scrobbleViewBasic', v) + return lexicons.validate("app.rocksky.scrobble.defs#scrobbleViewBasic", v); } export interface ScrobbleViewDetailed { /** The unique identifier of the scrobble. */ - id?: string + id?: string; /** The handle of the user who created the scrobble. */ - user?: string + user?: string; /** The title of the scrobble. */ - title?: string + title?: string; /** The artist of the song. */ - artist?: string + artist?: string; /** The URI of the artist. */ - artistUri?: string + artistUri?: string; /** The album of the song. */ - album?: string + album?: string; /** The URI of the album. */ - albumUri?: string + albumUri?: string; /** The album art URL of the song. */ - cover?: string + cover?: string; /** The timestamp when the scrobble was created. */ - date?: string + date?: string; /** The URI of the scrobble. */ - uri?: string + uri?: string; /** The SHA256 hash of the scrobble data. */ - sha256?: string + sha256?: string; /** The number of listeners */ - listeners?: number + listeners?: number; /** The number of scrobbles for this song */ - scrobbles?: number - [k: string]: unknown + scrobbles?: number; + [k: string]: unknown; } export function isScrobbleViewDetailed(v: unknown): v is ScrobbleViewDetailed { return ( isObj(v) && - hasProp(v, '$type') && - v.$type === 'app.rocksky.scrobble.defs#scrobbleViewDetailed' - ) + hasProp(v, "$type") && + v.$type === "app.rocksky.scrobble.defs#scrobbleViewDetailed" + ); } export function validateScrobbleViewDetailed(v: unknown): ValidationResult { - return lexicons.validate('app.rocksky.scrobble.defs#scrobbleViewDetailed', v) + return lexicons.validate("app.rocksky.scrobble.defs#scrobbleViewDetailed", v); } diff --git a/apps/api/src/lexicon/types/app/rocksky/scrobble/getScrobble.ts b/apps/api/src/lexicon/types/app/rocksky/scrobble/getScrobble.ts index a6b96dfb..d0a3fac3 100644 --- a/apps/api/src/lexicon/types/app/rocksky/scrobble/getScrobble.ts +++ b/apps/api/src/lexicon/types/app/rocksky/scrobble/getScrobble.ts @@ -1,43 +1,43 @@ /** * GENERATED CODE - DO NOT MODIFY */ -import type express from 'express' -import { ValidationResult, BlobRef } from '@atproto/lexicon' -import { lexicons } from '../../../../lexicons' -import { isObj, hasProp } from '../../../../util' -import { CID } from 'multiformats/cid' -import type { HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server' -import type * as AppRockskyScrobbleDefs from './defs' +import express from "express"; +import { ValidationResult, BlobRef } from "@atproto/lexicon"; +import { lexicons } from "../../../../lexicons"; +import { isObj, hasProp } from "../../../../util"; +import { CID } from "multiformats/cid"; +import { HandlerAuth, HandlerPipeThrough } from "@atproto/xrpc-server"; +import * as AppRockskyScrobbleDefs from "./defs"; export interface QueryParams { /** The unique identifier of the scrobble */ - uri: string + uri: string; } -export type InputSchema = undefined -export type OutputSchema = AppRockskyScrobbleDefs.ScrobbleViewDetailed -export type HandlerInput = undefined +export type InputSchema = undefined; +export type OutputSchema = AppRockskyScrobbleDefs.ScrobbleViewDetailed; +export type HandlerInput = undefined; export interface HandlerSuccess { - encoding: 'application/json' - body: OutputSchema - headers?: { [key: string]: string } + encoding: "application/json"; + body: OutputSchema; + headers?: { [key: string]: string }; } export interface HandlerError { - status: number - message?: string + status: number; + message?: string; } -export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough +export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough; export type HandlerReqCtx = { - auth: HA - params: QueryParams - input: HandlerInput - req: express.Request - res: express.Response - resetRouteRateLimits: () => Promise -} + auth: HA; + params: QueryParams; + input: HandlerInput; + req: express.Request; + res: express.Response; + resetRouteRateLimits: () => Promise; +}; export type Handler = ( ctx: HandlerReqCtx, -) => Promise | HandlerOutput +) => Promise | HandlerOutput; diff --git a/apps/api/src/lexicon/types/app/rocksky/scrobble/getScrobbles.ts b/apps/api/src/lexicon/types/app/rocksky/scrobble/getScrobbles.ts index 88e8a1b9..06a0b688 100644 --- a/apps/api/src/lexicon/types/app/rocksky/scrobble/getScrobbles.ts +++ b/apps/api/src/lexicon/types/app/rocksky/scrobble/getScrobbles.ts @@ -1,52 +1,52 @@ /** * GENERATED CODE - DO NOT MODIFY */ -import type express from 'express' -import { ValidationResult, BlobRef } from '@atproto/lexicon' -import { lexicons } from '../../../../lexicons' -import { isObj, hasProp } from '../../../../util' -import { CID } from 'multiformats/cid' -import type { HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server' -import type * as AppRockskyScrobbleDefs from './defs' +import express from "express"; +import { ValidationResult, BlobRef } from "@atproto/lexicon"; +import { lexicons } from "../../../../lexicons"; +import { isObj, hasProp } from "../../../../util"; +import { CID } from "multiformats/cid"; +import { HandlerAuth, HandlerPipeThrough } from "@atproto/xrpc-server"; +import * as AppRockskyScrobbleDefs from "./defs"; export interface QueryParams { /** The DID or handle of the actor */ - did?: string + did?: string; /** The maximum number of scrobbles to return */ - limit?: number + limit?: number; /** The offset for pagination */ - offset?: number + offset?: number; } -export type InputSchema = undefined +export type InputSchema = undefined; export interface OutputSchema { - scrobbles?: AppRockskyScrobbleDefs.ScrobbleViewBasic[] - [k: string]: unknown + scrobbles?: AppRockskyScrobbleDefs.ScrobbleViewBasic[]; + [k: string]: unknown; } -export type HandlerInput = undefined +export type HandlerInput = undefined; export interface HandlerSuccess { - encoding: 'application/json' - body: OutputSchema - headers?: { [key: string]: string } + encoding: "application/json"; + body: OutputSchema; + headers?: { [key: string]: string }; } export interface HandlerError { - status: number - message?: string + status: number; + message?: string; } -export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough +export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough; export type HandlerReqCtx = { - auth: HA - params: QueryParams - input: HandlerInput - req: express.Request - res: express.Response - resetRouteRateLimits: () => Promise -} + auth: HA; + params: QueryParams; + input: HandlerInput; + req: express.Request; + res: express.Response; + resetRouteRateLimits: () => Promise; +}; export type Handler = ( ctx: HandlerReqCtx, -) => Promise | HandlerOutput +) => Promise | HandlerOutput; diff --git a/apps/api/src/lexicon/types/app/rocksky/shout.ts b/apps/api/src/lexicon/types/app/rocksky/shout.ts index 2b4f380d..2a34a471 100644 --- a/apps/api/src/lexicon/types/app/rocksky/shout.ts +++ b/apps/api/src/lexicon/types/app/rocksky/shout.ts @@ -1,30 +1,30 @@ /** * GENERATED CODE - DO NOT MODIFY */ -import { type ValidationResult, BlobRef } from '@atproto/lexicon' -import { lexicons } from '../../../lexicons' -import { isObj, hasProp } from '../../../util' -import { CID } from 'multiformats/cid' -import type * as ComAtprotoRepoStrongRef from '../../com/atproto/repo/strongRef' +import { ValidationResult, BlobRef } from "@atproto/lexicon"; +import { lexicons } from "../../../lexicons"; +import { isObj, hasProp } from "../../../util"; +import { CID } from "multiformats/cid"; +import * as ComAtprotoRepoStrongRef from "../../com/atproto/repo/strongRef"; export interface Record { /** The message of the shout. */ - message: string + message: string; /** The date when the shout was created. */ - createdAt: string - parent?: ComAtprotoRepoStrongRef.Main - subject: ComAtprotoRepoStrongRef.Main - [k: string]: unknown + createdAt: string; + parent?: ComAtprotoRepoStrongRef.Main; + subject: ComAtprotoRepoStrongRef.Main; + [k: string]: unknown; } export function isRecord(v: unknown): v is Record { return ( isObj(v) && - hasProp(v, '$type') && - (v.$type === 'app.rocksky.shout#main' || v.$type === 'app.rocksky.shout') - ) + hasProp(v, "$type") && + (v.$type === "app.rocksky.shout#main" || v.$type === "app.rocksky.shout") + ); } export function validateRecord(v: unknown): ValidationResult { - return lexicons.validate('app.rocksky.shout#main', v) + return lexicons.validate("app.rocksky.shout#main", v); } diff --git a/apps/api/src/lexicon/types/app/rocksky/shout/createShout.ts b/apps/api/src/lexicon/types/app/rocksky/shout/createShout.ts index a0f85b21..96fb8f65 100644 --- a/apps/api/src/lexicon/types/app/rocksky/shout/createShout.ts +++ b/apps/api/src/lexicon/types/app/rocksky/shout/createShout.ts @@ -1,49 +1,49 @@ /** * GENERATED CODE - DO NOT MODIFY */ -import type express from 'express' -import { ValidationResult, BlobRef } from '@atproto/lexicon' -import { lexicons } from '../../../../lexicons' -import { isObj, hasProp } from '../../../../util' -import { CID } from 'multiformats/cid' -import type { HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server' -import type * as AppRockskyShoutDefs from './defs' +import express from "express"; +import { ValidationResult, BlobRef } from "@atproto/lexicon"; +import { lexicons } from "../../../../lexicons"; +import { isObj, hasProp } from "../../../../util"; +import { CID } from "multiformats/cid"; +import { HandlerAuth, HandlerPipeThrough } from "@atproto/xrpc-server"; +import * as AppRockskyShoutDefs from "./defs"; -export type QueryParams = {} +export interface QueryParams {} export interface InputSchema { /** The content of the shout */ - message?: string - [k: string]: unknown + message?: string; + [k: string]: unknown; } -export type OutputSchema = AppRockskyShoutDefs.ShoutView +export type OutputSchema = AppRockskyShoutDefs.ShoutView; export interface HandlerInput { - encoding: 'application/json' - body: InputSchema + encoding: "application/json"; + body: InputSchema; } export interface HandlerSuccess { - encoding: 'application/json' - body: OutputSchema - headers?: { [key: string]: string } + encoding: "application/json"; + body: OutputSchema; + headers?: { [key: string]: string }; } export interface HandlerError { - status: number - message?: string + status: number; + message?: string; } -export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough +export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough; export type HandlerReqCtx = { - auth: HA - params: QueryParams - input: HandlerInput - req: express.Request - res: express.Response - resetRouteRateLimits: () => Promise -} + auth: HA; + params: QueryParams; + input: HandlerInput; + req: express.Request; + res: express.Response; + resetRouteRateLimits: () => Promise; +}; export type Handler = ( ctx: HandlerReqCtx, -) => Promise | HandlerOutput +) => Promise | HandlerOutput; diff --git a/apps/api/src/lexicon/types/app/rocksky/shout/defs.ts b/apps/api/src/lexicon/types/app/rocksky/shout/defs.ts index 792e450a..f5a910b4 100644 --- a/apps/api/src/lexicon/types/app/rocksky/shout/defs.ts +++ b/apps/api/src/lexicon/types/app/rocksky/shout/defs.ts @@ -1,58 +1,58 @@ /** * GENERATED CODE - DO NOT MODIFY */ -import { type ValidationResult, BlobRef } from '@atproto/lexicon' -import { lexicons } from '../../../../lexicons' -import { isObj, hasProp } from '../../../../util' -import { CID } from 'multiformats/cid' +import { ValidationResult, BlobRef } from "@atproto/lexicon"; +import { lexicons } from "../../../../lexicons"; +import { isObj, hasProp } from "../../../../util"; +import { CID } from "multiformats/cid"; export interface Author { /** The unique identifier of the author. */ - id?: string + id?: string; /** The decentralized identifier (DID) of the author. */ - did?: string + did?: string; /** The handle of the author. */ - handle?: string + handle?: string; /** The display name of the author. */ - displayName?: string + displayName?: string; /** The URL of the author's avatar image. */ - avatar?: string - [k: string]: unknown + avatar?: string; + [k: string]: unknown; } export function isAuthor(v: unknown): v is Author { return ( isObj(v) && - hasProp(v, '$type') && - v.$type === 'app.rocksky.shout.defs#author' - ) + hasProp(v, "$type") && + v.$type === "app.rocksky.shout.defs#author" + ); } export function validateAuthor(v: unknown): ValidationResult { - return lexicons.validate('app.rocksky.shout.defs#author', v) + return lexicons.validate("app.rocksky.shout.defs#author", v); } export interface ShoutView { /** The unique identifier of the shout. */ - id?: string + id?: string; /** The content of the shout. */ - message?: string + message?: string; /** The ID of the parent shout if this is a reply, otherwise null. */ - parent?: string + parent?: string; /** The date and time when the shout was created. */ - createdAt?: string - author?: Author - [k: string]: unknown + createdAt?: string; + author?: Author; + [k: string]: unknown; } export function isShoutView(v: unknown): v is ShoutView { return ( isObj(v) && - hasProp(v, '$type') && - v.$type === 'app.rocksky.shout.defs#shoutView' - ) + hasProp(v, "$type") && + v.$type === "app.rocksky.shout.defs#shoutView" + ); } export function validateShoutView(v: unknown): ValidationResult { - return lexicons.validate('app.rocksky.shout.defs#shoutView', v) + return lexicons.validate("app.rocksky.shout.defs#shoutView", v); } diff --git a/apps/api/src/lexicon/types/app/rocksky/shout/getAlbumShouts.ts b/apps/api/src/lexicon/types/app/rocksky/shout/getAlbumShouts.ts index 99568435..1d9a8212 100644 --- a/apps/api/src/lexicon/types/app/rocksky/shout/getAlbumShouts.ts +++ b/apps/api/src/lexicon/types/app/rocksky/shout/getAlbumShouts.ts @@ -1,52 +1,52 @@ /** * GENERATED CODE - DO NOT MODIFY */ -import type express from 'express' -import { ValidationResult, BlobRef } from '@atproto/lexicon' -import { lexicons } from '../../../../lexicons' -import { isObj, hasProp } from '../../../../util' -import { CID } from 'multiformats/cid' -import type { HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server' -import type * as AppRockskyShoutDefs from './defs' +import express from "express"; +import { ValidationResult, BlobRef } from "@atproto/lexicon"; +import { lexicons } from "../../../../lexicons"; +import { isObj, hasProp } from "../../../../util"; +import { CID } from "multiformats/cid"; +import { HandlerAuth, HandlerPipeThrough } from "@atproto/xrpc-server"; +import * as AppRockskyShoutDefs from "./defs"; export interface QueryParams { /** The unique identifier of the album to retrieve shouts for */ - uri: string + uri: string; /** The maximum number of shouts to return */ - limit?: number + limit?: number; /** The number of shouts to skip before starting to collect the result set */ - offset?: number + offset?: number; } -export type InputSchema = undefined +export type InputSchema = undefined; export interface OutputSchema { - shouts?: AppRockskyShoutDefs.ShoutViewBasic[] - [k: string]: unknown + shouts?: AppRockskyShoutDefs.ShoutViewBasic[]; + [k: string]: unknown; } -export type HandlerInput = undefined +export type HandlerInput = undefined; export interface HandlerSuccess { - encoding: 'application/json' - body: OutputSchema - headers?: { [key: string]: string } + encoding: "application/json"; + body: OutputSchema; + headers?: { [key: string]: string }; } export interface HandlerError { - status: number - message?: string + status: number; + message?: string; } -export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough +export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough; export type HandlerReqCtx = { - auth: HA - params: QueryParams - input: HandlerInput - req: express.Request - res: express.Response - resetRouteRateLimits: () => Promise -} + auth: HA; + params: QueryParams; + input: HandlerInput; + req: express.Request; + res: express.Response; + resetRouteRateLimits: () => Promise; +}; export type Handler = ( ctx: HandlerReqCtx, -) => Promise | HandlerOutput +) => Promise | HandlerOutput; diff --git a/apps/api/src/lexicon/types/app/rocksky/shout/getArtistShouts.ts b/apps/api/src/lexicon/types/app/rocksky/shout/getArtistShouts.ts index e73c0d8c..49fbdcf3 100644 --- a/apps/api/src/lexicon/types/app/rocksky/shout/getArtistShouts.ts +++ b/apps/api/src/lexicon/types/app/rocksky/shout/getArtistShouts.ts @@ -1,52 +1,52 @@ /** * GENERATED CODE - DO NOT MODIFY */ -import type express from 'express' -import { ValidationResult, BlobRef } from '@atproto/lexicon' -import { lexicons } from '../../../../lexicons' -import { isObj, hasProp } from '../../../../util' -import { CID } from 'multiformats/cid' -import type { HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server' -import type * as AppRockskyShoutDefs from './defs' +import express from "express"; +import { ValidationResult, BlobRef } from "@atproto/lexicon"; +import { lexicons } from "../../../../lexicons"; +import { isObj, hasProp } from "../../../../util"; +import { CID } from "multiformats/cid"; +import { HandlerAuth, HandlerPipeThrough } from "@atproto/xrpc-server"; +import * as AppRockskyShoutDefs from "./defs"; export interface QueryParams { /** The URI of the artist to retrieve shouts for */ - uri: string + uri: string; /** The maximum number of shouts to return */ - limit?: number + limit?: number; /** The number of shouts to skip before starting to collect the result set */ - offset?: number + offset?: number; } -export type InputSchema = undefined +export type InputSchema = undefined; export interface OutputSchema { - shouts?: AppRockskyShoutDefs.ShoutViewBasic[] - [k: string]: unknown + shouts?: AppRockskyShoutDefs.ShoutViewBasic[]; + [k: string]: unknown; } -export type HandlerInput = undefined +export type HandlerInput = undefined; export interface HandlerSuccess { - encoding: 'application/json' - body: OutputSchema - headers?: { [key: string]: string } + encoding: "application/json"; + body: OutputSchema; + headers?: { [key: string]: string }; } export interface HandlerError { - status: number - message?: string + status: number; + message?: string; } -export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough +export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough; export type HandlerReqCtx = { - auth: HA - params: QueryParams - input: HandlerInput - req: express.Request - res: express.Response - resetRouteRateLimits: () => Promise -} + auth: HA; + params: QueryParams; + input: HandlerInput; + req: express.Request; + res: express.Response; + resetRouteRateLimits: () => Promise; +}; export type Handler = ( ctx: HandlerReqCtx, -) => Promise | HandlerOutput +) => Promise | HandlerOutput; diff --git a/apps/api/src/lexicon/types/app/rocksky/shout/getProfileShouts.ts b/apps/api/src/lexicon/types/app/rocksky/shout/getProfileShouts.ts index 9f2f3059..2f499308 100644 --- a/apps/api/src/lexicon/types/app/rocksky/shout/getProfileShouts.ts +++ b/apps/api/src/lexicon/types/app/rocksky/shout/getProfileShouts.ts @@ -1,52 +1,52 @@ /** * GENERATED CODE - DO NOT MODIFY */ -import type express from 'express' -import { ValidationResult, BlobRef } from '@atproto/lexicon' -import { lexicons } from '../../../../lexicons' -import { isObj, hasProp } from '../../../../util' -import { CID } from 'multiformats/cid' -import type { HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server' -import type * as AppRockskyShoutDefs from './defs' +import express from "express"; +import { ValidationResult, BlobRef } from "@atproto/lexicon"; +import { lexicons } from "../../../../lexicons"; +import { isObj, hasProp } from "../../../../util"; +import { CID } from "multiformats/cid"; +import { HandlerAuth, HandlerPipeThrough } from "@atproto/xrpc-server"; +import * as AppRockskyShoutDefs from "./defs"; export interface QueryParams { /** The DID or handle of the actor */ - did: string + did: string; /** The offset for pagination */ - offset?: number + offset?: number; /** The maximum number of shouts to return */ - limit?: number + limit?: number; } -export type InputSchema = undefined +export type InputSchema = undefined; export interface OutputSchema { - shouts?: AppRockskyShoutDefs.ShoutViewBasic[] - [k: string]: unknown + shouts?: AppRockskyShoutDefs.ShoutViewBasic[]; + [k: string]: unknown; } -export type HandlerInput = undefined +export type HandlerInput = undefined; export interface HandlerSuccess { - encoding: 'application/json' - body: OutputSchema - headers?: { [key: string]: string } + encoding: "application/json"; + body: OutputSchema; + headers?: { [key: string]: string }; } export interface HandlerError { - status: number - message?: string + status: number; + message?: string; } -export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough +export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough; export type HandlerReqCtx = { - auth: HA - params: QueryParams - input: HandlerInput - req: express.Request - res: express.Response - resetRouteRateLimits: () => Promise -} + auth: HA; + params: QueryParams; + input: HandlerInput; + req: express.Request; + res: express.Response; + resetRouteRateLimits: () => Promise; +}; export type Handler = ( ctx: HandlerReqCtx, -) => Promise | HandlerOutput +) => Promise | HandlerOutput; diff --git a/apps/api/src/lexicon/types/app/rocksky/shout/getShoutReplies.ts b/apps/api/src/lexicon/types/app/rocksky/shout/getShoutReplies.ts index f0f25e10..7a582fac 100644 --- a/apps/api/src/lexicon/types/app/rocksky/shout/getShoutReplies.ts +++ b/apps/api/src/lexicon/types/app/rocksky/shout/getShoutReplies.ts @@ -1,52 +1,52 @@ /** * GENERATED CODE - DO NOT MODIFY */ -import type express from 'express' -import { ValidationResult, BlobRef } from '@atproto/lexicon' -import { lexicons } from '../../../../lexicons' -import { isObj, hasProp } from '../../../../util' -import { CID } from 'multiformats/cid' -import type { HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server' -import type * as AppRockskyShoutDefs from './defs' +import express from "express"; +import { ValidationResult, BlobRef } from "@atproto/lexicon"; +import { lexicons } from "../../../../lexicons"; +import { isObj, hasProp } from "../../../../util"; +import { CID } from "multiformats/cid"; +import { HandlerAuth, HandlerPipeThrough } from "@atproto/xrpc-server"; +import * as AppRockskyShoutDefs from "./defs"; export interface QueryParams { /** The URI of the shout to retrieve replies for */ - uri: string + uri: string; /** The maximum number of shouts to return */ - limit?: number + limit?: number; /** The number of shouts to skip before starting to collect the result set */ - offset?: number + offset?: number; } -export type InputSchema = undefined +export type InputSchema = undefined; export interface OutputSchema { - shouts?: AppRockskyShoutDefs.ShoutViewBasic[] - [k: string]: unknown + shouts?: AppRockskyShoutDefs.ShoutViewBasic[]; + [k: string]: unknown; } -export type HandlerInput = undefined +export type HandlerInput = undefined; export interface HandlerSuccess { - encoding: 'application/json' - body: OutputSchema - headers?: { [key: string]: string } + encoding: "application/json"; + body: OutputSchema; + headers?: { [key: string]: string }; } export interface HandlerError { - status: number - message?: string + status: number; + message?: string; } -export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough +export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough; export type HandlerReqCtx = { - auth: HA - params: QueryParams - input: HandlerInput - req: express.Request - res: express.Response - resetRouteRateLimits: () => Promise -} + auth: HA; + params: QueryParams; + input: HandlerInput; + req: express.Request; + res: express.Response; + resetRouteRateLimits: () => Promise; +}; export type Handler = ( ctx: HandlerReqCtx, -) => Promise | HandlerOutput +) => Promise | HandlerOutput; diff --git a/apps/api/src/lexicon/types/app/rocksky/shout/getTrackShouts.ts b/apps/api/src/lexicon/types/app/rocksky/shout/getTrackShouts.ts index 01fcf917..debbae92 100644 --- a/apps/api/src/lexicon/types/app/rocksky/shout/getTrackShouts.ts +++ b/apps/api/src/lexicon/types/app/rocksky/shout/getTrackShouts.ts @@ -1,48 +1,48 @@ /** * GENERATED CODE - DO NOT MODIFY */ -import type express from 'express' -import { ValidationResult, BlobRef } from '@atproto/lexicon' -import { lexicons } from '../../../../lexicons' -import { isObj, hasProp } from '../../../../util' -import { CID } from 'multiformats/cid' -import type { HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server' -import type * as AppRockskyShoutDefs from './defs' +import express from "express"; +import { ValidationResult, BlobRef } from "@atproto/lexicon"; +import { lexicons } from "../../../../lexicons"; +import { isObj, hasProp } from "../../../../util"; +import { CID } from "multiformats/cid"; +import { HandlerAuth, HandlerPipeThrough } from "@atproto/xrpc-server"; +import * as AppRockskyShoutDefs from "./defs"; export interface QueryParams { /** The URI of the track to retrieve shouts for */ - uri: string + uri: string; } -export type InputSchema = undefined +export type InputSchema = undefined; export interface OutputSchema { - shouts?: AppRockskyShoutDefs.ShoutViewBasic[] - [k: string]: unknown + shouts?: AppRockskyShoutDefs.ShoutViewBasic[]; + [k: string]: unknown; } -export type HandlerInput = undefined +export type HandlerInput = undefined; export interface HandlerSuccess { - encoding: 'application/json' - body: OutputSchema - headers?: { [key: string]: string } + encoding: "application/json"; + body: OutputSchema; + headers?: { [key: string]: string }; } export interface HandlerError { - status: number - message?: string + status: number; + message?: string; } -export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough +export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough; export type HandlerReqCtx = { - auth: HA - params: QueryParams - input: HandlerInput - req: express.Request - res: express.Response - resetRouteRateLimits: () => Promise -} + auth: HA; + params: QueryParams; + input: HandlerInput; + req: express.Request; + res: express.Response; + resetRouteRateLimits: () => Promise; +}; export type Handler = ( ctx: HandlerReqCtx, -) => Promise | HandlerOutput +) => Promise | HandlerOutput; diff --git a/apps/api/src/lexicon/types/app/rocksky/shout/removeShout.ts b/apps/api/src/lexicon/types/app/rocksky/shout/removeShout.ts index 3d716c7a..0760b00a 100644 --- a/apps/api/src/lexicon/types/app/rocksky/shout/removeShout.ts +++ b/apps/api/src/lexicon/types/app/rocksky/shout/removeShout.ts @@ -1,43 +1,43 @@ /** * GENERATED CODE - DO NOT MODIFY */ -import type express from 'express' -import { ValidationResult, BlobRef } from '@atproto/lexicon' -import { lexicons } from '../../../../lexicons' -import { isObj, hasProp } from '../../../../util' -import { CID } from 'multiformats/cid' -import type { HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server' -import type * as AppRockskyShoutDefs from './defs' +import express from "express"; +import { ValidationResult, BlobRef } from "@atproto/lexicon"; +import { lexicons } from "../../../../lexicons"; +import { isObj, hasProp } from "../../../../util"; +import { CID } from "multiformats/cid"; +import { HandlerAuth, HandlerPipeThrough } from "@atproto/xrpc-server"; +import * as AppRockskyShoutDefs from "./defs"; export interface QueryParams { /** The ID of the shout to be removed */ - id: string + id: string; } -export type InputSchema = undefined -export type OutputSchema = AppRockskyShoutDefs.ShoutView -export type HandlerInput = undefined +export type InputSchema = undefined; +export type OutputSchema = AppRockskyShoutDefs.ShoutView; +export type HandlerInput = undefined; export interface HandlerSuccess { - encoding: 'application/json' - body: OutputSchema - headers?: { [key: string]: string } + encoding: "application/json"; + body: OutputSchema; + headers?: { [key: string]: string }; } export interface HandlerError { - status: number - message?: string + status: number; + message?: string; } -export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough +export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough; export type HandlerReqCtx = { - auth: HA - params: QueryParams - input: HandlerInput - req: express.Request - res: express.Response - resetRouteRateLimits: () => Promise -} + auth: HA; + params: QueryParams; + input: HandlerInput; + req: express.Request; + res: express.Response; + resetRouteRateLimits: () => Promise; +}; export type Handler = ( ctx: HandlerReqCtx, -) => Promise | HandlerOutput +) => Promise | HandlerOutput; diff --git a/apps/api/src/lexicon/types/app/rocksky/shout/replyShout.ts b/apps/api/src/lexicon/types/app/rocksky/shout/replyShout.ts index e729c3c2..d3a594f6 100644 --- a/apps/api/src/lexicon/types/app/rocksky/shout/replyShout.ts +++ b/apps/api/src/lexicon/types/app/rocksky/shout/replyShout.ts @@ -1,51 +1,51 @@ /** * GENERATED CODE - DO NOT MODIFY */ -import type express from 'express' -import { ValidationResult, BlobRef } from '@atproto/lexicon' -import { lexicons } from '../../../../lexicons' -import { isObj, hasProp } from '../../../../util' -import { CID } from 'multiformats/cid' -import type { HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server' -import type * as AppRockskyShoutDefs from './defs' +import express from "express"; +import { ValidationResult, BlobRef } from "@atproto/lexicon"; +import { lexicons } from "../../../../lexicons"; +import { isObj, hasProp } from "../../../../util"; +import { CID } from "multiformats/cid"; +import { HandlerAuth, HandlerPipeThrough } from "@atproto/xrpc-server"; +import * as AppRockskyShoutDefs from "./defs"; -export type QueryParams = {} +export interface QueryParams {} export interface InputSchema { /** The unique identifier of the shout to reply to */ - shoutId: string + shoutId: string; /** The content of the reply */ - message: string - [k: string]: unknown + message: string; + [k: string]: unknown; } -export type OutputSchema = AppRockskyShoutDefs.ShoutView +export type OutputSchema = AppRockskyShoutDefs.ShoutView; export interface HandlerInput { - encoding: 'application/json' - body: InputSchema + encoding: "application/json"; + body: InputSchema; } export interface HandlerSuccess { - encoding: 'application/json' - body: OutputSchema - headers?: { [key: string]: string } + encoding: "application/json"; + body: OutputSchema; + headers?: { [key: string]: string }; } export interface HandlerError { - status: number - message?: string + status: number; + message?: string; } -export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough +export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough; export type HandlerReqCtx = { - auth: HA - params: QueryParams - input: HandlerInput - req: express.Request - res: express.Response - resetRouteRateLimits: () => Promise -} + auth: HA; + params: QueryParams; + input: HandlerInput; + req: express.Request; + res: express.Response; + resetRouteRateLimits: () => Promise; +}; export type Handler = ( ctx: HandlerReqCtx, -) => Promise | HandlerOutput +) => Promise | HandlerOutput; diff --git a/apps/api/src/lexicon/types/app/rocksky/shout/reportShout.ts b/apps/api/src/lexicon/types/app/rocksky/shout/reportShout.ts index 33bb265a..514601c8 100644 --- a/apps/api/src/lexicon/types/app/rocksky/shout/reportShout.ts +++ b/apps/api/src/lexicon/types/app/rocksky/shout/reportShout.ts @@ -1,51 +1,51 @@ /** * GENERATED CODE - DO NOT MODIFY */ -import type express from 'express' -import { ValidationResult, BlobRef } from '@atproto/lexicon' -import { lexicons } from '../../../../lexicons' -import { isObj, hasProp } from '../../../../util' -import { CID } from 'multiformats/cid' -import type { HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server' -import type * as AppRockskyShoutDefs from './defs' +import express from "express"; +import { ValidationResult, BlobRef } from "@atproto/lexicon"; +import { lexicons } from "../../../../lexicons"; +import { isObj, hasProp } from "../../../../util"; +import { CID } from "multiformats/cid"; +import { HandlerAuth, HandlerPipeThrough } from "@atproto/xrpc-server"; +import * as AppRockskyShoutDefs from "./defs"; -export type QueryParams = {} +export interface QueryParams {} export interface InputSchema { /** The unique identifier of the shout to report */ - shoutId: string + shoutId: string; /** The reason for reporting the shout */ - reason?: string - [k: string]: unknown + reason?: string; + [k: string]: unknown; } -export type OutputSchema = AppRockskyShoutDefs.ShoutView +export type OutputSchema = AppRockskyShoutDefs.ShoutView; export interface HandlerInput { - encoding: 'application/json' - body: InputSchema + encoding: "application/json"; + body: InputSchema; } export interface HandlerSuccess { - encoding: 'application/json' - body: OutputSchema - headers?: { [key: string]: string } + encoding: "application/json"; + body: OutputSchema; + headers?: { [key: string]: string }; } export interface HandlerError { - status: number - message?: string + status: number; + message?: string; } -export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough +export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough; export type HandlerReqCtx = { - auth: HA - params: QueryParams - input: HandlerInput - req: express.Request - res: express.Response - resetRouteRateLimits: () => Promise -} + auth: HA; + params: QueryParams; + input: HandlerInput; + req: express.Request; + res: express.Response; + resetRouteRateLimits: () => Promise; +}; export type Handler = ( ctx: HandlerReqCtx, -) => Promise | HandlerOutput +) => Promise | HandlerOutput; diff --git a/apps/api/src/lexicon/types/app/rocksky/song.ts b/apps/api/src/lexicon/types/app/rocksky/song.ts index 830af600..ec679955 100644 --- a/apps/api/src/lexicon/types/app/rocksky/song.ts +++ b/apps/api/src/lexicon/types/app/rocksky/song.ts @@ -1,69 +1,71 @@ /** * GENERATED CODE - DO NOT MODIFY */ -import type { ValidationResult, BlobRef } from '@atproto/lexicon' -import { lexicons } from '../../../lexicons' -import { isObj, hasProp } from '../../../util' -import { CID } from 'multiformats/cid' +import { ValidationResult, BlobRef } from "@atproto/lexicon"; +import { lexicons } from "../../../lexicons"; +import { isObj, hasProp } from "../../../util"; +import { CID } from "multiformats/cid"; export interface Record { /** The title of the song. */ - title: string + title: string; /** The artist of the song. */ - artist: string + artist: string; /** The album artist of the song. */ - albumArtist: string + albumArtist: string; /** The album of the song. */ - album: string + album: string; /** The duration of the song in seconds. */ - duration: number + duration: number; /** The track number of the song in the album. */ - trackNumber?: number + trackNumber?: number; /** The disc number of the song in the album. */ - discNumber?: number + discNumber?: number; /** The release date of the song. */ - releaseDate?: string + releaseDate?: string; /** The year the song was released. */ - year?: number + year?: number; /** The genre of the song. */ - genre?: string + genre?: string; /** The tags of the song. */ - tags?: string[] + tags?: string[]; /** The composer of the song. */ - composer?: string + composer?: string; /** The lyrics of the song. */ - lyrics?: string + lyrics?: string; /** The copyright message of the song. */ - copyrightMessage?: string + copyrightMessage?: string; /** Informations about the song */ - wiki?: string + wiki?: string; /** The album art of the song. */ - albumArt?: BlobRef + albumArt?: BlobRef; + /** The URL of the album art of the song. */ + albumArtUrl?: string; /** The YouTube link of the song. */ - youtubeLink?: string + youtubeLink?: string; /** The Spotify link of the song. */ - spotifyLink?: string + spotifyLink?: string; /** The Tidal link of the song. */ - tidalLink?: string + tidalLink?: string; /** The Apple Music link of the song. */ - appleMusicLink?: string + appleMusicLink?: string; /** The date when the song was created. */ - createdAt: string + createdAt: string; /** The MusicBrainz ID of the song. */ - mbid?: string + mbid?: string; /** The label of the song. */ - label?: string - [k: string]: unknown + label?: string; + [k: string]: unknown; } export function isRecord(v: unknown): v is Record { return ( isObj(v) && - hasProp(v, '$type') && - (v.$type === 'app.rocksky.song#main' || v.$type === 'app.rocksky.song') - ) + hasProp(v, "$type") && + (v.$type === "app.rocksky.song#main" || v.$type === "app.rocksky.song") + ); } export function validateRecord(v: unknown): ValidationResult { - return lexicons.validate('app.rocksky.song#main', v) + return lexicons.validate("app.rocksky.song#main", v); } diff --git a/apps/api/src/lexicon/types/app/rocksky/song/createSong.ts b/apps/api/src/lexicon/types/app/rocksky/song/createSong.ts index 49c8ee33..6b84b162 100644 --- a/apps/api/src/lexicon/types/app/rocksky/song/createSong.ts +++ b/apps/api/src/lexicon/types/app/rocksky/song/createSong.ts @@ -1,71 +1,71 @@ /** * GENERATED CODE - DO NOT MODIFY */ -import type express from 'express' -import { ValidationResult, BlobRef } from '@atproto/lexicon' -import { lexicons } from '../../../../lexicons' -import { isObj, hasProp } from '../../../../util' -import { CID } from 'multiformats/cid' -import type { HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server' -import type * as AppRockskySongDefs from './defs' +import express from "express"; +import { ValidationResult, BlobRef } from "@atproto/lexicon"; +import { lexicons } from "../../../../lexicons"; +import { isObj, hasProp } from "../../../../util"; +import { CID } from "multiformats/cid"; +import { HandlerAuth, HandlerPipeThrough } from "@atproto/xrpc-server"; +import * as AppRockskySongDefs from "./defs"; -export type QueryParams = {} +export interface QueryParams {} export interface InputSchema { /** The title of the song */ - title: string + title: string; /** The artist of the song */ - artist: string + artist: string; /** The album artist of the song, if different from the main artist */ - albumArtist: string + albumArtist: string; /** The album of the song, if applicable */ - album: string + album: string; /** The duration of the song in seconds */ - duration?: number + duration?: number; /** The MusicBrainz ID of the song, if available */ - mbId?: string + mbId?: string; /** The URL of the album art for the song */ - albumArt?: string + albumArt?: string; /** The track number of the song in the album, if applicable */ - trackNumber?: number + trackNumber?: number; /** The release date of the song, formatted as YYYY-MM-DD */ - releaseDate?: string + releaseDate?: string; /** The year the song was released */ - year?: number + year?: number; /** The disc number of the song in the album, if applicable */ - discNumber?: number + discNumber?: number; /** The lyrics of the song, if available */ - lyrics?: string - [k: string]: unknown + lyrics?: string; + [k: string]: unknown; } -export type OutputSchema = AppRockskySongDefs.SongViewDetailed +export type OutputSchema = AppRockskySongDefs.SongViewDetailed; export interface HandlerInput { - encoding: 'application/json' - body: InputSchema + encoding: "application/json"; + body: InputSchema; } export interface HandlerSuccess { - encoding: 'application/json' - body: OutputSchema - headers?: { [key: string]: string } + encoding: "application/json"; + body: OutputSchema; + headers?: { [key: string]: string }; } export interface HandlerError { - status: number - message?: string + status: number; + message?: string; } -export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough +export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough; export type HandlerReqCtx = { - auth: HA - params: QueryParams - input: HandlerInput - req: express.Request - res: express.Response - resetRouteRateLimits: () => Promise -} + auth: HA; + params: QueryParams; + input: HandlerInput; + req: express.Request; + res: express.Response; + resetRouteRateLimits: () => Promise; +}; export type Handler = ( ctx: HandlerReqCtx, -) => Promise | HandlerOutput +) => Promise | HandlerOutput; diff --git a/apps/api/src/lexicon/types/app/rocksky/song/defs.ts b/apps/api/src/lexicon/types/app/rocksky/song/defs.ts index d6eb3491..82dcd22d 100644 --- a/apps/api/src/lexicon/types/app/rocksky/song/defs.ts +++ b/apps/api/src/lexicon/types/app/rocksky/song/defs.ts @@ -1,103 +1,103 @@ /** * GENERATED CODE - DO NOT MODIFY */ -import { type ValidationResult, BlobRef } from '@atproto/lexicon' -import { lexicons } from '../../../../lexicons' -import { isObj, hasProp } from '../../../../util' -import { CID } from 'multiformats/cid' +import { ValidationResult, BlobRef } from "@atproto/lexicon"; +import { lexicons } from "../../../../lexicons"; +import { isObj, hasProp } from "../../../../util"; +import { CID } from "multiformats/cid"; export interface SongViewBasic { /** The unique identifier of the song. */ - id?: string + id?: string; /** The title of the song. */ - title?: string + title?: string; /** The artist of the song. */ - artist?: string + artist?: string; /** The artist of the album the song belongs to. */ - albumArtist?: string + albumArtist?: string; /** The URL of the album art image. */ - albumArt?: string + albumArt?: string; /** The URI of the song. */ - uri?: string + uri?: string; /** The album of the song. */ - album?: string + album?: string; /** The duration of the song in milliseconds. */ - duration?: number + duration?: number; /** The track number of the song in the album. */ - trackNumber?: number + trackNumber?: number; /** The disc number of the song in the album. */ - discNumber?: number + discNumber?: number; /** The number of times the song has been played. */ - playCount?: number + playCount?: number; /** The number of unique listeners who have played the song. */ - uniqueListeners?: number + uniqueListeners?: number; /** The URI of the album the song belongs to. */ - albumUri?: string + albumUri?: string; /** The URI of the artist of the song. */ - artistUri?: string + artistUri?: string; /** The SHA256 hash of the song. */ - sha256?: string + sha256?: string; /** The timestamp when the song was created. */ - createdAt?: string - [k: string]: unknown + createdAt?: string; + [k: string]: unknown; } export function isSongViewBasic(v: unknown): v is SongViewBasic { return ( isObj(v) && - hasProp(v, '$type') && - v.$type === 'app.rocksky.song.defs#songViewBasic' - ) + hasProp(v, "$type") && + v.$type === "app.rocksky.song.defs#songViewBasic" + ); } export function validateSongViewBasic(v: unknown): ValidationResult { - return lexicons.validate('app.rocksky.song.defs#songViewBasic', v) + return lexicons.validate("app.rocksky.song.defs#songViewBasic", v); } export interface SongViewDetailed { /** The unique identifier of the song. */ - id?: string + id?: string; /** The title of the song. */ - title?: string + title?: string; /** The artist of the song. */ - artist?: string + artist?: string; /** The artist of the album the song belongs to. */ - albumArtist?: string + albumArtist?: string; /** The URL of the album art image. */ - albumArt?: string + albumArt?: string; /** The URI of the song. */ - uri?: string + uri?: string; /** The album of the song. */ - album?: string + album?: string; /** The duration of the song in milliseconds. */ - duration?: number + duration?: number; /** The track number of the song in the album. */ - trackNumber?: number + trackNumber?: number; /** The disc number of the song in the album. */ - discNumber?: number + discNumber?: number; /** The number of times the song has been played. */ - playCount?: number + playCount?: number; /** The number of unique listeners who have played the song. */ - uniqueListeners?: number + uniqueListeners?: number; /** The URI of the album the song belongs to. */ - albumUri?: string + albumUri?: string; /** The URI of the artist of the song. */ - artistUri?: string + artistUri?: string; /** The SHA256 hash of the song. */ - sha256?: string + sha256?: string; /** The timestamp when the song was created. */ - createdAt?: string - [k: string]: unknown + createdAt?: string; + [k: string]: unknown; } export function isSongViewDetailed(v: unknown): v is SongViewDetailed { return ( isObj(v) && - hasProp(v, '$type') && - v.$type === 'app.rocksky.song.defs#songViewDetailed' - ) + hasProp(v, "$type") && + v.$type === "app.rocksky.song.defs#songViewDetailed" + ); } export function validateSongViewDetailed(v: unknown): ValidationResult { - return lexicons.validate('app.rocksky.song.defs#songViewDetailed', v) + return lexicons.validate("app.rocksky.song.defs#songViewDetailed", v); } diff --git a/apps/api/src/lexicon/types/app/rocksky/song/getSong.ts b/apps/api/src/lexicon/types/app/rocksky/song/getSong.ts index e240beb2..35473e02 100644 --- a/apps/api/src/lexicon/types/app/rocksky/song/getSong.ts +++ b/apps/api/src/lexicon/types/app/rocksky/song/getSong.ts @@ -1,43 +1,43 @@ /** * GENERATED CODE - DO NOT MODIFY */ -import type express from 'express' -import { ValidationResult, BlobRef } from '@atproto/lexicon' -import { lexicons } from '../../../../lexicons' -import { isObj, hasProp } from '../../../../util' -import { CID } from 'multiformats/cid' -import type { HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server' -import type * as AppRockskySongDefs from './defs' +import express from "express"; +import { ValidationResult, BlobRef } from "@atproto/lexicon"; +import { lexicons } from "../../../../lexicons"; +import { isObj, hasProp } from "../../../../util"; +import { CID } from "multiformats/cid"; +import { HandlerAuth, HandlerPipeThrough } from "@atproto/xrpc-server"; +import * as AppRockskySongDefs from "./defs"; export interface QueryParams { /** The unique identifier of the song to retrieve */ - uri: string + uri: string; } -export type InputSchema = undefined -export type OutputSchema = AppRockskySongDefs.SongViewDetailed -export type HandlerInput = undefined +export type InputSchema = undefined; +export type OutputSchema = AppRockskySongDefs.SongViewDetailed; +export type HandlerInput = undefined; export interface HandlerSuccess { - encoding: 'application/json' - body: OutputSchema - headers?: { [key: string]: string } + encoding: "application/json"; + body: OutputSchema; + headers?: { [key: string]: string }; } export interface HandlerError { - status: number - message?: string + status: number; + message?: string; } -export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough +export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough; export type HandlerReqCtx = { - auth: HA - params: QueryParams - input: HandlerInput - req: express.Request - res: express.Response - resetRouteRateLimits: () => Promise -} + auth: HA; + params: QueryParams; + input: HandlerInput; + req: express.Request; + res: express.Response; + resetRouteRateLimits: () => Promise; +}; export type Handler = ( ctx: HandlerReqCtx, -) => Promise | HandlerOutput +) => Promise | HandlerOutput; diff --git a/apps/api/src/lexicon/types/app/rocksky/song/getSongs.ts b/apps/api/src/lexicon/types/app/rocksky/song/getSongs.ts index 444d1343..d7e3835d 100644 --- a/apps/api/src/lexicon/types/app/rocksky/song/getSongs.ts +++ b/apps/api/src/lexicon/types/app/rocksky/song/getSongs.ts @@ -1,50 +1,50 @@ /** * GENERATED CODE - DO NOT MODIFY */ -import type express from 'express' -import { ValidationResult, BlobRef } from '@atproto/lexicon' -import { lexicons } from '../../../../lexicons' -import { isObj, hasProp } from '../../../../util' -import { CID } from 'multiformats/cid' -import type { HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server' -import type * as AppRockskySongDefs from './defs' +import express from "express"; +import { ValidationResult, BlobRef } from "@atproto/lexicon"; +import { lexicons } from "../../../../lexicons"; +import { isObj, hasProp } from "../../../../util"; +import { CID } from "multiformats/cid"; +import { HandlerAuth, HandlerPipeThrough } from "@atproto/xrpc-server"; +import * as AppRockskySongDefs from "./defs"; export interface QueryParams { /** The maximum number of songs to return */ - limit?: number + limit?: number; /** The offset for pagination */ - offset?: number + offset?: number; } -export type InputSchema = undefined +export type InputSchema = undefined; export interface OutputSchema { - songs?: AppRockskySongDefs.SongViewBasic[] - [k: string]: unknown + songs?: AppRockskySongDefs.SongViewBasic[]; + [k: string]: unknown; } -export type HandlerInput = undefined +export type HandlerInput = undefined; export interface HandlerSuccess { - encoding: 'application/json' - body: OutputSchema - headers?: { [key: string]: string } + encoding: "application/json"; + body: OutputSchema; + headers?: { [key: string]: string }; } export interface HandlerError { - status: number - message?: string + status: number; + message?: string; } -export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough +export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough; export type HandlerReqCtx = { - auth: HA - params: QueryParams - input: HandlerInput - req: express.Request - res: express.Response - resetRouteRateLimits: () => Promise -} + auth: HA; + params: QueryParams; + input: HandlerInput; + req: express.Request; + res: express.Response; + resetRouteRateLimits: () => Promise; +}; export type Handler = ( ctx: HandlerReqCtx, -) => Promise | HandlerOutput +) => Promise | HandlerOutput; diff --git a/apps/api/src/lexicon/types/app/rocksky/spotify/defs.ts b/apps/api/src/lexicon/types/app/rocksky/spotify/defs.ts index 0cb404d0..2a086bea 100644 --- a/apps/api/src/lexicon/types/app/rocksky/spotify/defs.ts +++ b/apps/api/src/lexicon/types/app/rocksky/spotify/defs.ts @@ -1,35 +1,35 @@ /** * GENERATED CODE - DO NOT MODIFY */ -import { type ValidationResult, BlobRef } from '@atproto/lexicon' -import { lexicons } from '../../../../lexicons' -import { isObj, hasProp } from '../../../../util' -import { CID } from 'multiformats/cid' +import { ValidationResult, BlobRef } from "@atproto/lexicon"; +import { lexicons } from "../../../../lexicons"; +import { isObj, hasProp } from "../../../../util"; +import { CID } from "multiformats/cid"; export interface SpotifyTrackView { /** The unique identifier of the Spotify track. */ - id?: string + id?: string; /** The name of the track. */ - name?: string + name?: string; /** The name of the artist. */ - artist?: string + artist?: string; /** The name of the album. */ - album?: string + album?: string; /** The duration of the track in milliseconds. */ - duration?: number + duration?: number; /** A URL to a preview of the track. */ - previewUrl?: string - [k: string]: unknown + previewUrl?: string; + [k: string]: unknown; } export function isSpotifyTrackView(v: unknown): v is SpotifyTrackView { return ( isObj(v) && - hasProp(v, '$type') && - v.$type === 'app.rocksky.spotify.defs#spotifyTrackView' - ) + hasProp(v, "$type") && + v.$type === "app.rocksky.spotify.defs#spotifyTrackView" + ); } export function validateSpotifyTrackView(v: unknown): ValidationResult { - return lexicons.validate('app.rocksky.spotify.defs#spotifyTrackView', v) + return lexicons.validate("app.rocksky.spotify.defs#spotifyTrackView", v); } diff --git a/apps/api/src/lexicon/types/app/rocksky/spotify/getCurrentlyPlaying.ts b/apps/api/src/lexicon/types/app/rocksky/spotify/getCurrentlyPlaying.ts index 1302318a..5a09c19b 100644 --- a/apps/api/src/lexicon/types/app/rocksky/spotify/getCurrentlyPlaying.ts +++ b/apps/api/src/lexicon/types/app/rocksky/spotify/getCurrentlyPlaying.ts @@ -1,43 +1,43 @@ /** * GENERATED CODE - DO NOT MODIFY */ -import type express from 'express' -import { ValidationResult, BlobRef } from '@atproto/lexicon' -import { lexicons } from '../../../../lexicons' -import { isObj, hasProp } from '../../../../util' -import { CID } from 'multiformats/cid' -import type { HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server' -import type * as AppRockskyPlayerDefs from '../player/defs' +import express from "express"; +import { ValidationResult, BlobRef } from "@atproto/lexicon"; +import { lexicons } from "../../../../lexicons"; +import { isObj, hasProp } from "../../../../util"; +import { CID } from "multiformats/cid"; +import { HandlerAuth, HandlerPipeThrough } from "@atproto/xrpc-server"; +import * as AppRockskyPlayerDefs from "../player/defs"; export interface QueryParams { /** Handle or DID of the actor to retrieve the currently playing track for. If not provided, defaults to the current user. */ - actor?: string + actor?: string; } -export type InputSchema = undefined -export type OutputSchema = AppRockskyPlayerDefs.CurrentlyPlayingViewDetailed -export type HandlerInput = undefined +export type InputSchema = undefined; +export type OutputSchema = AppRockskyPlayerDefs.CurrentlyPlayingViewDetailed; +export type HandlerInput = undefined; export interface HandlerSuccess { - encoding: 'application/json' - body: OutputSchema - headers?: { [key: string]: string } + encoding: "application/json"; + body: OutputSchema; + headers?: { [key: string]: string }; } export interface HandlerError { - status: number - message?: string + status: number; + message?: string; } -export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough +export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough; export type HandlerReqCtx = { - auth: HA - params: QueryParams - input: HandlerInput - req: express.Request - res: express.Response - resetRouteRateLimits: () => Promise -} + auth: HA; + params: QueryParams; + input: HandlerInput; + req: express.Request; + res: express.Response; + resetRouteRateLimits: () => Promise; +}; export type Handler = ( ctx: HandlerReqCtx, -) => Promise | HandlerOutput +) => Promise | HandlerOutput; diff --git a/apps/api/src/lexicon/types/app/rocksky/spotify/next.ts b/apps/api/src/lexicon/types/app/rocksky/spotify/next.ts index 1aaf2dd9..9f7cb44f 100644 --- a/apps/api/src/lexicon/types/app/rocksky/spotify/next.ts +++ b/apps/api/src/lexicon/types/app/rocksky/spotify/next.ts @@ -1,32 +1,32 @@ /** * GENERATED CODE - DO NOT MODIFY */ -import type express from 'express' -import { ValidationResult, BlobRef } from '@atproto/lexicon' -import { lexicons } from '../../../../lexicons' -import { isObj, hasProp } from '../../../../util' -import { CID } from 'multiformats/cid' -import { type HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server' +import express from "express"; +import { ValidationResult, BlobRef } from "@atproto/lexicon"; +import { lexicons } from "../../../../lexicons"; +import { isObj, hasProp } from "../../../../util"; +import { CID } from "multiformats/cid"; +import { HandlerAuth, HandlerPipeThrough } from "@atproto/xrpc-server"; -export type QueryParams = {} +export interface QueryParams {} -export type InputSchema = undefined -export type HandlerInput = undefined +export type InputSchema = undefined; +export type HandlerInput = undefined; export interface HandlerError { - status: number - message?: string + status: number; + message?: string; } -export type HandlerOutput = HandlerError | void +export type HandlerOutput = HandlerError | void; export type HandlerReqCtx = { - auth: HA - params: QueryParams - input: HandlerInput - req: express.Request - res: express.Response - resetRouteRateLimits: () => Promise -} + auth: HA; + params: QueryParams; + input: HandlerInput; + req: express.Request; + res: express.Response; + resetRouteRateLimits: () => Promise; +}; export type Handler = ( ctx: HandlerReqCtx, -) => Promise | HandlerOutput +) => Promise | HandlerOutput; diff --git a/apps/api/src/lexicon/types/app/rocksky/spotify/pause.ts b/apps/api/src/lexicon/types/app/rocksky/spotify/pause.ts index 1aaf2dd9..9f7cb44f 100644 --- a/apps/api/src/lexicon/types/app/rocksky/spotify/pause.ts +++ b/apps/api/src/lexicon/types/app/rocksky/spotify/pause.ts @@ -1,32 +1,32 @@ /** * GENERATED CODE - DO NOT MODIFY */ -import type express from 'express' -import { ValidationResult, BlobRef } from '@atproto/lexicon' -import { lexicons } from '../../../../lexicons' -import { isObj, hasProp } from '../../../../util' -import { CID } from 'multiformats/cid' -import { type HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server' +import express from "express"; +import { ValidationResult, BlobRef } from "@atproto/lexicon"; +import { lexicons } from "../../../../lexicons"; +import { isObj, hasProp } from "../../../../util"; +import { CID } from "multiformats/cid"; +import { HandlerAuth, HandlerPipeThrough } from "@atproto/xrpc-server"; -export type QueryParams = {} +export interface QueryParams {} -export type InputSchema = undefined -export type HandlerInput = undefined +export type InputSchema = undefined; +export type HandlerInput = undefined; export interface HandlerError { - status: number - message?: string + status: number; + message?: string; } -export type HandlerOutput = HandlerError | void +export type HandlerOutput = HandlerError | void; export type HandlerReqCtx = { - auth: HA - params: QueryParams - input: HandlerInput - req: express.Request - res: express.Response - resetRouteRateLimits: () => Promise -} + auth: HA; + params: QueryParams; + input: HandlerInput; + req: express.Request; + res: express.Response; + resetRouteRateLimits: () => Promise; +}; export type Handler = ( ctx: HandlerReqCtx, -) => Promise | HandlerOutput +) => Promise | HandlerOutput; diff --git a/apps/api/src/lexicon/types/app/rocksky/spotify/play.ts b/apps/api/src/lexicon/types/app/rocksky/spotify/play.ts index 1aaf2dd9..9f7cb44f 100644 --- a/apps/api/src/lexicon/types/app/rocksky/spotify/play.ts +++ b/apps/api/src/lexicon/types/app/rocksky/spotify/play.ts @@ -1,32 +1,32 @@ /** * GENERATED CODE - DO NOT MODIFY */ -import type express from 'express' -import { ValidationResult, BlobRef } from '@atproto/lexicon' -import { lexicons } from '../../../../lexicons' -import { isObj, hasProp } from '../../../../util' -import { CID } from 'multiformats/cid' -import { type HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server' +import express from "express"; +import { ValidationResult, BlobRef } from "@atproto/lexicon"; +import { lexicons } from "../../../../lexicons"; +import { isObj, hasProp } from "../../../../util"; +import { CID } from "multiformats/cid"; +import { HandlerAuth, HandlerPipeThrough } from "@atproto/xrpc-server"; -export type QueryParams = {} +export interface QueryParams {} -export type InputSchema = undefined -export type HandlerInput = undefined +export type InputSchema = undefined; +export type HandlerInput = undefined; export interface HandlerError { - status: number - message?: string + status: number; + message?: string; } -export type HandlerOutput = HandlerError | void +export type HandlerOutput = HandlerError | void; export type HandlerReqCtx = { - auth: HA - params: QueryParams - input: HandlerInput - req: express.Request - res: express.Response - resetRouteRateLimits: () => Promise -} + auth: HA; + params: QueryParams; + input: HandlerInput; + req: express.Request; + res: express.Response; + resetRouteRateLimits: () => Promise; +}; export type Handler = ( ctx: HandlerReqCtx, -) => Promise | HandlerOutput +) => Promise | HandlerOutput; diff --git a/apps/api/src/lexicon/types/app/rocksky/spotify/previous.ts b/apps/api/src/lexicon/types/app/rocksky/spotify/previous.ts index 1aaf2dd9..9f7cb44f 100644 --- a/apps/api/src/lexicon/types/app/rocksky/spotify/previous.ts +++ b/apps/api/src/lexicon/types/app/rocksky/spotify/previous.ts @@ -1,32 +1,32 @@ /** * GENERATED CODE - DO NOT MODIFY */ -import type express from 'express' -import { ValidationResult, BlobRef } from '@atproto/lexicon' -import { lexicons } from '../../../../lexicons' -import { isObj, hasProp } from '../../../../util' -import { CID } from 'multiformats/cid' -import { type HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server' +import express from "express"; +import { ValidationResult, BlobRef } from "@atproto/lexicon"; +import { lexicons } from "../../../../lexicons"; +import { isObj, hasProp } from "../../../../util"; +import { CID } from "multiformats/cid"; +import { HandlerAuth, HandlerPipeThrough } from "@atproto/xrpc-server"; -export type QueryParams = {} +export interface QueryParams {} -export type InputSchema = undefined -export type HandlerInput = undefined +export type InputSchema = undefined; +export type HandlerInput = undefined; export interface HandlerError { - status: number - message?: string + status: number; + message?: string; } -export type HandlerOutput = HandlerError | void +export type HandlerOutput = HandlerError | void; export type HandlerReqCtx = { - auth: HA - params: QueryParams - input: HandlerInput - req: express.Request - res: express.Response - resetRouteRateLimits: () => Promise -} + auth: HA; + params: QueryParams; + input: HandlerInput; + req: express.Request; + res: express.Response; + resetRouteRateLimits: () => Promise; +}; export type Handler = ( ctx: HandlerReqCtx, -) => Promise | HandlerOutput +) => Promise | HandlerOutput; diff --git a/apps/api/src/lexicon/types/app/rocksky/spotify/seek.ts b/apps/api/src/lexicon/types/app/rocksky/spotify/seek.ts index 8bcc26e5..109bb069 100644 --- a/apps/api/src/lexicon/types/app/rocksky/spotify/seek.ts +++ b/apps/api/src/lexicon/types/app/rocksky/spotify/seek.ts @@ -1,35 +1,35 @@ /** * GENERATED CODE - DO NOT MODIFY */ -import type express from 'express' -import { ValidationResult, BlobRef } from '@atproto/lexicon' -import { lexicons } from '../../../../lexicons' -import { isObj, hasProp } from '../../../../util' -import { CID } from 'multiformats/cid' -import { type HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server' +import express from "express"; +import { ValidationResult, BlobRef } from "@atproto/lexicon"; +import { lexicons } from "../../../../lexicons"; +import { isObj, hasProp } from "../../../../util"; +import { CID } from "multiformats/cid"; +import { HandlerAuth, HandlerPipeThrough } from "@atproto/xrpc-server"; export interface QueryParams { /** The position in seconds to seek to */ - position: number + position: number; } -export type InputSchema = undefined -export type HandlerInput = undefined +export type InputSchema = undefined; +export type HandlerInput = undefined; export interface HandlerError { - status: number - message?: string + status: number; + message?: string; } -export type HandlerOutput = HandlerError | void +export type HandlerOutput = HandlerError | void; export type HandlerReqCtx = { - auth: HA - params: QueryParams - input: HandlerInput - req: express.Request - res: express.Response - resetRouteRateLimits: () => Promise -} + auth: HA; + params: QueryParams; + input: HandlerInput; + req: express.Request; + res: express.Response; + resetRouteRateLimits: () => Promise; +}; export type Handler = ( ctx: HandlerReqCtx, -) => Promise | HandlerOutput +) => Promise | HandlerOutput; diff --git a/apps/api/src/lexicon/types/app/rocksky/stats/defs.ts b/apps/api/src/lexicon/types/app/rocksky/stats/defs.ts index ca70d320..cc6918ab 100644 --- a/apps/api/src/lexicon/types/app/rocksky/stats/defs.ts +++ b/apps/api/src/lexicon/types/app/rocksky/stats/defs.ts @@ -1,33 +1,33 @@ /** * GENERATED CODE - DO NOT MODIFY */ -import { type ValidationResult, BlobRef } from '@atproto/lexicon' -import { lexicons } from '../../../../lexicons' -import { isObj, hasProp } from '../../../../util' -import { CID } from 'multiformats/cid' +import { ValidationResult, BlobRef } from "@atproto/lexicon"; +import { lexicons } from "../../../../lexicons"; +import { isObj, hasProp } from "../../../../util"; +import { CID } from "multiformats/cid"; export interface StatsView { /** The total number of scrobbles. */ - scrobbles?: number + scrobbles?: number; /** The total number of unique artists scrobbled. */ - artists?: number + artists?: number; /** The total number of tracks marked as loved. */ - lovedTracks?: number + lovedTracks?: number; /** The total number of unique albums scrobbled. */ - albums?: number + albums?: number; /** The total number of unique tracks scrobbled. */ - tracks?: number - [k: string]: unknown + tracks?: number; + [k: string]: unknown; } export function isStatsView(v: unknown): v is StatsView { return ( isObj(v) && - hasProp(v, '$type') && - v.$type === 'app.rocksky.stats.defs#statsView' - ) + hasProp(v, "$type") && + v.$type === "app.rocksky.stats.defs#statsView" + ); } export function validateStatsView(v: unknown): ValidationResult { - return lexicons.validate('app.rocksky.stats.defs#statsView', v) + return lexicons.validate("app.rocksky.stats.defs#statsView", v); } diff --git a/apps/api/src/lexicon/types/app/rocksky/stats/getStats.ts b/apps/api/src/lexicon/types/app/rocksky/stats/getStats.ts index aa3c390e..1eded009 100644 --- a/apps/api/src/lexicon/types/app/rocksky/stats/getStats.ts +++ b/apps/api/src/lexicon/types/app/rocksky/stats/getStats.ts @@ -1,43 +1,43 @@ /** * GENERATED CODE - DO NOT MODIFY */ -import type express from 'express' -import { ValidationResult, BlobRef } from '@atproto/lexicon' -import { lexicons } from '../../../../lexicons' -import { isObj, hasProp } from '../../../../util' -import { CID } from 'multiformats/cid' -import type { HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server' -import type * as AppRockskyStatsDefs from './defs' +import express from "express"; +import { ValidationResult, BlobRef } from "@atproto/lexicon"; +import { lexicons } from "../../../../lexicons"; +import { isObj, hasProp } from "../../../../util"; +import { CID } from "multiformats/cid"; +import { HandlerAuth, HandlerPipeThrough } from "@atproto/xrpc-server"; +import * as AppRockskyStatsDefs from "./defs"; export interface QueryParams { /** The DID or handle of the user to get stats for. */ - did: string + did: string; } -export type InputSchema = undefined -export type OutputSchema = AppRockskyStatsDefs.StatsView -export type HandlerInput = undefined +export type InputSchema = undefined; +export type OutputSchema = AppRockskyStatsDefs.StatsView; +export type HandlerInput = undefined; export interface HandlerSuccess { - encoding: 'application/json' - body: OutputSchema - headers?: { [key: string]: string } + encoding: "application/json"; + body: OutputSchema; + headers?: { [key: string]: string }; } export interface HandlerError { - status: number - message?: string + status: number; + message?: string; } -export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough +export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough; export type HandlerReqCtx = { - auth: HA - params: QueryParams - input: HandlerInput - req: express.Request - res: express.Response - resetRouteRateLimits: () => Promise -} + auth: HA; + params: QueryParams; + input: HandlerInput; + req: express.Request; + res: express.Response; + resetRouteRateLimits: () => Promise; +}; export type Handler = ( ctx: HandlerReqCtx, -) => Promise | HandlerOutput +) => Promise | HandlerOutput; diff --git a/apps/api/src/lexicon/types/com/atproto/repo/strongRef.ts b/apps/api/src/lexicon/types/com/atproto/repo/strongRef.ts index 0f8254db..195a8437 100644 --- a/apps/api/src/lexicon/types/com/atproto/repo/strongRef.ts +++ b/apps/api/src/lexicon/types/com/atproto/repo/strongRef.ts @@ -1,26 +1,26 @@ /** * GENERATED CODE - DO NOT MODIFY */ -import { type ValidationResult, BlobRef } from '@atproto/lexicon' -import { lexicons } from '../../../../lexicons' -import { isObj, hasProp } from '../../../../util' -import { CID } from 'multiformats/cid' +import { ValidationResult, BlobRef } from "@atproto/lexicon"; +import { lexicons } from "../../../../lexicons"; +import { isObj, hasProp } from "../../../../util"; +import { CID } from "multiformats/cid"; export interface Main { - uri: string - cid: string - [k: string]: unknown + uri: string; + cid: string; + [k: string]: unknown; } export function isMain(v: unknown): v is Main { return ( isObj(v) && - hasProp(v, '$type') && - (v.$type === 'com.atproto.repo.strongRef#main' || - v.$type === 'com.atproto.repo.strongRef') - ) + hasProp(v, "$type") && + (v.$type === "com.atproto.repo.strongRef#main" || + v.$type === "com.atproto.repo.strongRef") + ); } export function validateMain(v: unknown): ValidationResult { - return lexicons.validate('com.atproto.repo.strongRef#main', v) + return lexicons.validate("com.atproto.repo.strongRef#main", v); } diff --git a/apps/api/src/lexicon/util.ts b/apps/api/src/lexicon/util.ts index d7e70440..e5546559 100644 --- a/apps/api/src/lexicon/util.ts +++ b/apps/api/src/lexicon/util.ts @@ -2,12 +2,12 @@ * GENERATED CODE - DO NOT MODIFY */ export function isObj(v: unknown): v is Record { - return typeof v === 'object' && v !== null + return typeof v === "object" && v !== null; } export function hasProp( data: object, prop: K, ): data is Record { - return prop in data + return prop in data; } diff --git a/apps/api/src/nowplaying/nowplaying.service.ts b/apps/api/src/nowplaying/nowplaying.service.ts index d0be1310..04331eac 100644 --- a/apps/api/src/nowplaying/nowplaying.service.ts +++ b/apps/api/src/nowplaying/nowplaying.service.ts @@ -14,7 +14,7 @@ import type { Track } from "types/track"; export async function putArtistRecord( track: Track, - agent: Agent + agent: Agent, ): Promise { const rkey = TID.nextStr(); const record: { @@ -63,7 +63,7 @@ export async function putArtistRecord( export async function putAlbumRecord( track: Track, - agent: Agent + agent: Agent, ): Promise { const rkey = TID.nextStr(); let albumArt; @@ -123,7 +123,7 @@ export async function putAlbumRecord( export async function putSongRecord( track: Track, - agent: Agent + agent: Agent, ): Promise { const rkey = TID.nextStr(); let albumArt; @@ -191,7 +191,7 @@ export async function putSongRecord( async function putScrobbleRecord( track: Track, - agent: Agent + agent: Agent, ): Promise { const rkey = TID.nextStr(); let albumArt; @@ -369,7 +369,7 @@ export async function scrobbleTrack( ctx: Context, track: Track, agent: Agent, - userDid: string + userDid: string, ): Promise { // check if scrobble already exists (user did + timestamp) const scrobbleTime = dayjs.unix(track.timestamp); @@ -393,8 +393,8 @@ export async function scrobbleTrack( if (existingScrobble) { console.log( `Scrobble already exists for ${chalk.cyan(track.title)} at ${chalk.cyan( - dayjs.unix(track.timestamp).format("YYYY-MM-DD HH:mm:ss") - )}` + dayjs.unix(track.timestamp).format("YYYY-MM-DD HH:mm:ss"), + )}`, ); return; } @@ -406,10 +406,10 @@ export async function scrobbleTrack( equals( createHash("sha256") .update( - `${track.title} - ${track.artist} - ${track.album}`.toLowerCase() + `${track.title} - ${track.artist} - ${track.album}`.toLowerCase(), ) - .digest("hex") - ) + .digest("hex"), + ), ) .getFirst(); @@ -420,8 +420,8 @@ export async function scrobbleTrack( equals( createHash("sha256") .update(`${track.album} - ${track.albumArtist}`.toLowerCase()) - .digest("hex") - ) + .digest("hex"), + ), ) .getFirst(); if (album) { @@ -438,8 +438,8 @@ export async function scrobbleTrack( equals( createHash("sha256") .update(track.albumArtist.toLowerCase()) - .digest("hex") - ) + .digest("hex"), + ), ) .getFirst(); if (artist) { @@ -466,8 +466,8 @@ export async function scrobbleTrack( equals( createHash("sha256") .update(`${track.album} - ${track.albumArtist}`.toLowerCase()) - .digest("hex") - ) + .digest("hex"), + ), ) .getFirst(); @@ -480,10 +480,10 @@ export async function scrobbleTrack( equals( createHash("sha256") .update( - `${track.title} - ${track.artist} - ${track.album}`.toLowerCase() + `${track.title} - ${track.artist} - ${track.album}`.toLowerCase(), ) - .digest("hex") - ) + .digest("hex"), + ), ) .getFirst(); await new Promise((resolve) => setTimeout(resolve, 1000)); @@ -496,7 +496,7 @@ export async function scrobbleTrack( if (existingTrack) { console.log( - `Song found: ${chalk.cyan(existingTrack.xata_id)} - ${track.title}, after ${chalk.magenta(tries)} tries` + `Song found: ${chalk.cyan(existingTrack.xata_id)} - ${track.title}, after ${chalk.magenta(tries)} tries`, ); } @@ -546,10 +546,10 @@ export async function scrobbleTrack( equals( createHash("sha256") .update( - `${track.title} - ${track.artist} - ${track.album}`.toLowerCase() + `${track.title} - ${track.artist} - ${track.album}`.toLowerCase(), ) - .digest("hex") - ) + .digest("hex"), + ), ) .getFirst(); @@ -559,7 +559,7 @@ export async function scrobbleTrack( tries < 30 ) { console.log( - `Artist uri not ready, trying again: ${chalk.magenta(tries + 1)}` + `Artist uri not ready, trying again: ${chalk.magenta(tries + 1)}`, ); existingTrack = await ctx.client.db.tracks .filter( @@ -567,10 +567,10 @@ export async function scrobbleTrack( equals( createHash("sha256") .update( - `${track.title} - ${track.artist} - ${track.album}`.toLowerCase() + `${track.title} - ${track.artist} - ${track.album}`.toLowerCase(), ) - .digest("hex") - ) + .digest("hex"), + ), ) .getFirst(); @@ -582,8 +582,8 @@ export async function scrobbleTrack( equals( createHash("sha256") .update(track.albumArtist.toLowerCase()) - .digest("hex") - ) + .digest("hex"), + ), ) .getFirst(); if (artist) { @@ -602,8 +602,8 @@ export async function scrobbleTrack( equals( createHash("sha256") .update(`${track.album} - ${track.albumArtist}`.toLowerCase()) - .digest("hex") - ) + .digest("hex"), + ), ) .getFirst(); if (album) { @@ -630,7 +630,7 @@ export async function scrobbleTrack( if (existingTrack?.artist_uri) { console.log( - `Artist uri ready: ${chalk.cyan(existingTrack.xata_id)} - ${track.title}, after ${chalk.magenta(tries)} tries` + `Artist uri ready: ${chalk.cyan(existingTrack.xata_id)} - ${track.title}, after ${chalk.magenta(tries)} tries`, ); } diff --git a/apps/api/src/scripts/genres.ts b/apps/api/src/scripts/genres.ts index 44e4a013..0ec319b5 100644 --- a/apps/api/src/scripts/genres.ts +++ b/apps/api/src/scripts/genres.ts @@ -11,7 +11,7 @@ async function getSpotifyToken(): Promise { .from(tables.spotifyTokens) .leftJoin( tables.spotifyAccounts, - eq(tables.spotifyAccounts.userId, tables.spotifyTokens.userId) + eq(tables.spotifyAccounts.userId, tables.spotifyTokens.userId), ) .where(eq(tables.spotifyAccounts.isBetaUser, true)) .execute() @@ -51,7 +51,7 @@ async function getGenresAndPicture(artists) { headers: { Authorization: `Bearer ${token}`, }, - } + }, ) .then( (res) => @@ -64,7 +64,7 @@ async function getGenresAndPicture(artists) { images: Array<{ url: string }>; }>; }; - }> + }>, ) .then(async (data) => _.get(data, "artists.items.0")); diff --git a/apps/api/src/scripts/sync.ts b/apps/api/src/scripts/sync.ts index 5ef4dcce..7fb9a762 100644 --- a/apps/api/src/scripts/sync.ts +++ b/apps/api/src/scripts/sync.ts @@ -25,10 +25,10 @@ async function updateUris(did: string) { equals( createHash("sha256") .update( - `${track.title} - ${track.artist} - ${track.album}`.toLowerCase() + `${track.title} - ${track.artist} - ${track.album}`.toLowerCase(), ) - .digest("hex") - ) + .digest("hex"), + ), ) .getFirst(); @@ -40,8 +40,8 @@ async function updateUris(did: string) { equals( createHash("sha256") .update(`${track.album} - ${track.album_artist}`.toLowerCase()) - .digest("hex") - ) + .digest("hex"), + ), ) .getFirst(); if (album) { @@ -59,8 +59,8 @@ async function updateUris(did: string) { equals( createHash("sha256") .update(track.album_artist.toLowerCase()) - .digest("hex") - ) + .digest("hex"), + ), ) .getFirst(); if (artist) { @@ -76,8 +76,8 @@ async function updateUris(did: string) { equals( createHash("sha256") .update(`${track.album} - ${track.album_artist}`.toLowerCase()) - .digest("hex") - ) + .digest("hex"), + ), ) .getFirst(); @@ -89,8 +89,8 @@ async function updateUris(did: string) { equals( createHash("sha256") .update(track.album_artist.toLowerCase()) - .digest("hex") - ) + .digest("hex"), + ), ) .getFirst(); if (artist) { diff --git a/apps/api/src/xrpc/app/rocksky/actor/getProfile.ts b/apps/api/src/xrpc/app/rocksky/actor/getProfile.ts index cca6e83c..27ed233f 100644 --- a/apps/api/src/xrpc/app/rocksky/actor/getProfile.ts +++ b/apps/api/src/xrpc/app/rocksky/actor/getProfile.ts @@ -33,7 +33,7 @@ export default function (server: Server, ctx: Context) { Effect.catchAll((err) => { console.error(err); return Effect.succeed({}); - }) + }), ); server.app.rocksky.actor.getProfile({ auth: ctx.authVerifier, @@ -192,7 +192,7 @@ const retrieveProfile = ({ .from(tables.spotifyAccounts) .leftJoin( tables.users, - eq(tables.spotifyAccounts.userId, tables.users.id) + eq(tables.spotifyAccounts.userId, tables.users.id), ) .where(eq(tables.users.did, did)) .execute() @@ -202,7 +202,7 @@ const retrieveProfile = ({ .from(tables.spotifyTokens) .leftJoin( tables.users, - eq(tables.spotifyTokens.userId, tables.users.id) + eq(tables.spotifyTokens.userId, tables.users.id), ) .where(eq(tables.users.did, did)) .execute() @@ -212,7 +212,7 @@ const retrieveProfile = ({ .from(tables.googleDriveAccounts) .leftJoin( tables.users, - eq(tables.googleDriveAccounts.userId, tables.users.id) + eq(tables.googleDriveAccounts.userId, tables.users.id), ) .where(eq(tables.users.did, did)) .execute() @@ -222,7 +222,7 @@ const retrieveProfile = ({ .from(tables.dropboxAccounts) .leftJoin( tables.users, - eq(tables.dropboxAccounts.userId, tables.users.id) + eq(tables.dropboxAccounts.userId, tables.users.id), ) .where(eq(tables.users.did, did)) .execute() @@ -279,8 +279,8 @@ const refreshProfile = ([ xata_createdat: profile.user.createdAt.toISOString(), xata_updatedat: profile.user.updatedAt.toISOString(), xata_version: 1, - }) - ) + }), + ), ); } else { // Update existing user in background if handle or avatar or displayName changed @@ -313,8 +313,8 @@ const refreshProfile = ([ xata_createdat: profile.user.createdAt.toISOString(), xata_updatedat: new Date().toISOString(), xata_version: (profile.user.xataVersion || 1) + 1, - }) - ) + }), + ), ); } } diff --git a/apps/api/src/xrpc/app/rocksky/artist/getArtistListeners.ts b/apps/api/src/xrpc/app/rocksky/artist/getArtistListeners.ts index 0ccd81da..7d55880e 100644 --- a/apps/api/src/xrpc/app/rocksky/artist/getArtistListeners.ts +++ b/apps/api/src/xrpc/app/rocksky/artist/getArtistListeners.ts @@ -15,7 +15,7 @@ export default function (server: Server, ctx: Context) { Effect.catchAll((err) => { console.error(err); return Effect.succeed({ listeners: [] }); - }) + }), ); server.app.rocksky.artist.getArtistListeners({ handler: async ({ params }) => { diff --git a/apps/api/src/xrpc/app/rocksky/scrobble/createScrobble.ts b/apps/api/src/xrpc/app/rocksky/scrobble/createScrobble.ts index 3ac00fe2..51fad27d 100644 --- a/apps/api/src/xrpc/app/rocksky/scrobble/createScrobble.ts +++ b/apps/api/src/xrpc/app/rocksky/scrobble/createScrobble.ts @@ -38,9 +38,9 @@ export default function (server: Server, ctx: Context) { pipe( scrobbleTrack(ctx, track, agent, did), Effect.tap(() => - Effect.logInfo(`Scrobble created for ${chalk.cyan(track.title)}`) - ) - ) + Effect.logInfo(`Scrobble created for ${chalk.cyan(track.title)}`), + ), + ), ), Effect.flatMap(presentation), Effect.retry({ times: 3 }), @@ -48,7 +48,7 @@ export default function (server: Server, ctx: Context) { Effect.catchAll((err) => { console.error(err); return Effect.succeed({}); - }) + }), ); server.app.rocksky.scrobble.createScrobble({ auth: ctx.authVerifier, @@ -82,11 +82,11 @@ const withAgent = ({ ctx, did, input, - })) + })), ), Match.orElse(() => { throw new Error("Authentication required to create a scrobble"); - }) + }), ), catch: (error) => new Error(`Failed to create agent: ${error}`), }); @@ -138,23 +138,23 @@ const uploadImage = (url: string, agent: Agent) => Effect.flatMap(([imageBuffer, options]) => pipe( Effect.tryPromise(() => agent.uploadBlob(imageBuffer, options)), - Effect.map((uploadResponse) => uploadResponse.data.blob) - ) + Effect.map((uploadResponse) => uploadResponse.data.blob), + ), ), - Effect.catchAll(() => Effect.succeed(undefined as BlobRef | undefined)) + Effect.catchAll(() => Effect.succeed(undefined as BlobRef | undefined)), ); const putRecord = ( agent: Agent, collection: string, record: T, - validate: (record: T) => { success: boolean } + validate: (record: T) => { success: boolean }, ) => pipe( Effect.succeed(record), Effect.filterOrFail( (rec) => validate(rec).success, - () => new Error("Invalid record") + () => new Error("Invalid record"), ), Effect.flatMap(() => pipe( @@ -167,19 +167,19 @@ const putRecord = ( rkey, record, validate: false, - }) - ) + }), + ), ), Effect.tap((res) => - Effect.logInfo(`Record created at ${res.data.uri}`) + Effect.logInfo(`Record created at ${res.data.uri}`), ), - Effect.map((res) => res.data.uri) - ) + Effect.map((res) => res.data.uri), + ), ), Effect.catchAll((error) => { console.error(`Error creating ${collection} record`, error); return Effect.succeed(null); - }) + }), ); const putArtistRecord = (track: Track, agent: Agent) => @@ -195,8 +195,8 @@ const putArtistRecord = (track: Track, agent: Agent) => tags: track.genres, })), Effect.flatMap((record) => - putRecord(agent, "app.rocksky.artist", record, Artist.validateRecord) - ) + putRecord(agent, "app.rocksky.artist", record, Artist.validateRecord), + ), ); const putAlbumRecord = (track: Track, agent: Agent) => @@ -204,9 +204,9 @@ const putAlbumRecord = (track: Track, agent: Agent) => Match.value(track.albumArt).pipe( Match.when( (url) => !!url, - (url) => uploadImage(url, agent) + (url) => uploadImage(url, agent), ), - Match.orElse(() => Effect.succeed(undefined as BlobRef | undefined)) + Match.orElse(() => Effect.succeed(undefined as BlobRef | undefined)), ), Effect.map((albumArt) => ({ $type: "app.rocksky.album", @@ -220,8 +220,8 @@ const putAlbumRecord = (track: Track, agent: Agent) => albumArt, })), Effect.flatMap((record) => - putRecord(agent, "app.rocksky.album", record, Album.validateRecord) - ) + putRecord(agent, "app.rocksky.album", record, Album.validateRecord), + ), ); const putSongRecord = (track: Track, agent: Agent) => @@ -229,9 +229,9 @@ const putSongRecord = (track: Track, agent: Agent) => Match.value(track.albumArt).pipe( Match.when( (url) => !!url, - (url) => uploadImage(url, agent) + (url) => uploadImage(url, agent), ), - Match.orElse(() => Effect.succeed(undefined as BlobRef | undefined)) + Match.orElse(() => Effect.succeed(undefined as BlobRef | undefined)), ), Effect.map((albumArt) => ({ $type: "app.rocksky.song", @@ -254,8 +254,8 @@ const putSongRecord = (track: Track, agent: Agent) => spotifyLink: track.spotifyLink ?? undefined, })), Effect.flatMap((record) => - putRecord(agent, "app.rocksky.song", record, Song.validateRecord) - ) + putRecord(agent, "app.rocksky.song", record, Song.validateRecord), + ), ); const putScrobbleRecord = (track: Track, agent: Agent) => @@ -263,9 +263,9 @@ const putScrobbleRecord = (track: Track, agent: Agent) => Match.value(track.albumArt).pipe( Match.when( (url) => !!url, - (url) => uploadImage(url, agent) + (url) => uploadImage(url, agent), ), - Match.orElse(() => Effect.succeed(undefined as BlobRef | undefined)) + Match.orElse(() => Effect.succeed(undefined as BlobRef | undefined)), ), Effect.map((albumArt) => ({ $type: "app.rocksky.scrobble", @@ -290,8 +290,8 @@ const putScrobbleRecord = (track: Track, agent: Agent) => spotifyLink: track.spotifyLink ?? undefined, })), Effect.flatMap((record) => - putRecord(agent, "app.rocksky.scrobble", record, Scrobble.validateRecord) - ) + putRecord(agent, "app.rocksky.scrobble", record, Scrobble.validateRecord), + ), ); const getScrobble = ({ ctx, id }: { ctx: Context; id: string }) => @@ -303,12 +303,12 @@ const getScrobble = ({ ctx, id }: { ctx: Context; id: string }) => .leftJoin(tables.albums, eq(tables.albums.id, tables.scrobbles.albumId)) .leftJoin( tables.artists, - eq(tables.artists.id, tables.scrobbles.artistId) + eq(tables.artists.id, tables.scrobbles.artistId), ) .leftJoin(tables.users, eq(tables.users.id, tables.scrobbles.userId)) .where(eq(tables.scrobbles.id, id)) .execute() - .then(([row]) => row) + .then(([row]) => row), ); const getUserAlbum = ( @@ -318,7 +318,7 @@ const getUserAlbum = ( artists: SelectArtist; users: SelectUser; tracks: SelectTrack; - } + }, ) => Effect.tryPromise(() => ctx.db @@ -326,7 +326,7 @@ const getUserAlbum = ( .from(tables.userAlbums) .where(eq(tables.userAlbums.albumId, scrobble.albums.id)) .execute() - .then(([row]) => row) + .then(([row]) => row), ); const getUserArtist = ( @@ -336,7 +336,7 @@ const getUserArtist = ( artists: SelectArtist; users: SelectUser; tracks: SelectTrack; - } + }, ) => Effect.tryPromise(() => ctx.db @@ -344,7 +344,7 @@ const getUserArtist = ( .from(tables.userArtists) .where(eq(tables.userArtists.id, scrobble.artists.id)) .execute() - .then(([row]) => row) + .then(([row]) => row), ); const getUserTrack = ( @@ -354,7 +354,7 @@ const getUserTrack = ( artists: SelectArtist; users: SelectUser; tracks: SelectTrack; - } + }, ) => Effect.tryPromise(() => ctx.db @@ -362,7 +362,7 @@ const getUserTrack = ( .from(tables.userTracks) .where(eq(tables.userTracks.id, scrobble.tracks.id)) .execute() - .then(([row]) => row) + .then(([row]) => row), ); const getAlbumTrack = ( @@ -372,7 +372,7 @@ const getAlbumTrack = ( artists: SelectArtist; users: SelectUser; tracks: SelectTrack; - } + }, ) => Effect.tryPromise(() => ctx.db @@ -380,7 +380,7 @@ const getAlbumTrack = ( .from(tables.albumTracks) .where(eq(tables.albumTracks.trackId, scrobble.tracks.id)) .execute() - .then(([row]) => row) + .then(([row]) => row), ); const getArtistTrack = ( @@ -390,7 +390,7 @@ const getArtistTrack = ( artists: SelectArtist; users: SelectUser; tracks: SelectTrack; - } + }, ) => Effect.tryPromise(() => ctx.db @@ -398,7 +398,7 @@ const getArtistTrack = ( .from(tables.artistTracks) .where(eq(tables.artistTracks.trackId, scrobble.tracks.id)) .execute() - .then(([row]) => row) + .then(([row]) => row), ); const getArtistAlbum = ( @@ -408,7 +408,7 @@ const getArtistAlbum = ( artists: SelectArtist; users: SelectUser; tracks: SelectTrack; - } + }, ) => Effect.tryPromise(() => ctx.db @@ -417,10 +417,10 @@ const getArtistAlbum = ( .where( and( eq(tables.artistAlbums.albumId, scrobble.albums.id), - eq(tables.artistAlbums.artistId, scrobble.artists.id) - ) + eq(tables.artistAlbums.artistId, scrobble.artists.id), + ), ) - .then(([row]) => row) + .then(([row]) => row), ); const createUserArtist = ( @@ -430,7 +430,7 @@ const createUserArtist = ( artists: SelectArtist; users: SelectUser; tracks: SelectTrack; - } + }, ) => pipe( Effect.tryPromise(() => @@ -442,7 +442,7 @@ const createUserArtist = ( uri: scrobble.artists.uri, scrobbles: 1, } as InsertUserArtist) - .execute() + .execute(), ), Effect.flatMap(() => Effect.tryPromise(() => @@ -451,9 +451,9 @@ const createUserArtist = ( .from(tables.userArtists) .where(eq(tables.userArtists.artistId, scrobble.artists.id)) .execute() - .then(([row]) => row) - ) - ) + .then(([row]) => row), + ), + ), ); const createUserAlbum = ( @@ -463,7 +463,7 @@ const createUserAlbum = ( artists: SelectArtist; users: SelectUser; tracks: SelectTrack; - } + }, ) => pipe( Effect.tryPromise(() => @@ -475,7 +475,7 @@ const createUserAlbum = ( uri: scrobble.albums.uri, scrobbles: 1, } as InsertUserAlbum) - .execute() + .execute(), ), Effect.flatMap(() => Effect.tryPromise(() => @@ -484,9 +484,9 @@ const createUserAlbum = ( .from(tables.userAlbums) .where(eq(tables.userAlbums.albumId, scrobble.albums.id)) .execute() - .then(([row]) => row) - ) - ) + .then(([row]) => row), + ), + ), ); const createUserTrack = ( @@ -496,7 +496,7 @@ const createUserTrack = ( artists: SelectArtist; users: SelectUser; tracks: SelectTrack; - } + }, ) => pipe( Effect.tryPromise(() => @@ -508,7 +508,7 @@ const createUserTrack = ( uri: scrobble.tracks.uri, scrobbles: 1, } as InsertUserTrack) - .execute() + .execute(), ), Effect.flatMap(() => Effect.tryPromise(() => @@ -516,9 +516,9 @@ const createUserTrack = ( .select() .from(tables.userTracks) .where(eq(tables.userTracks.trackId, scrobble.tracks.id)) - .then(([row]) => row) - ) - ) + .then(([row]) => row), + ), + ), ); const publishScrobble = (ctx: Context, id: string) => @@ -689,50 +689,50 @@ const publishScrobble = (ctx: Context, id: string) => xata_updatedat: artistAlbum.updatedAt.toISOString(), xata_version: artistAlbum.xataVersion, }, - }) - ) - ) - ) - ) + }), + ), + ), + ), + ), ), Effect.flatMap((data) => Effect.try(() => ctx.nc.publish( "rocksky.scrobble", Buffer.from( - JSON.stringify(data).replaceAll("sha_256", "sha256") - ) - ) - ) - ) - ) - ) - ) - ) + JSON.stringify(data).replaceAll("sha_256", "sha256"), + ), + ), + ), + ), + ), + ), + ), + ), ); const computeTrackHash = (track: Track): Effect.Effect => Effect.succeed( createHash("sha256") .update(`${track.title} - ${track.artist} - ${track.album}`.toLowerCase()) - .digest("hex") + .digest("hex"), ); const computeAlbumHash = (track: Track): Effect.Effect => Effect.succeed( createHash("sha256") .update(`${track.album} - ${track.albumArtist}`.toLowerCase()) - .digest("hex") + .digest("hex"), ); const computeArtistHash = (track: Track): Effect.Effect => Effect.succeed( - createHash("sha256").update(track.albumArtist.toLowerCase()).digest("hex") + createHash("sha256").update(track.albumArtist.toLowerCase()).digest("hex"), ); const fetchExistingTrack = ( ctx: Context, - trackHash: string + trackHash: string, ): Effect.Effect => Effect.tryPromise(() => ctx.db @@ -740,14 +740,14 @@ const fetchExistingTrack = ( .from(tables.tracks) .where(eq(tables.tracks.sha256, trackHash)) .execute() - .then(([row]) => row) + .then(([row]) => row), ); // Update track metadata (album_uri and artist_uri) const updateTrackMetadata = ( ctx: Context, track: Track, - trackRecord: SelectTrack + trackRecord: SelectTrack, ) => pipe( Effect.succeed(trackRecord), @@ -762,8 +762,8 @@ const updateTrackMetadata = ( .from(tables.albums) .where(eq(tables.albums.sha256, albumHash)) .execute() - .then(([row]) => row) - ) + .then(([row]) => row), + ), ), Effect.flatMap((album) => album @@ -774,12 +774,12 @@ const updateTrackMetadata = ( albumUri: album.uri, }) .where(eq(tables.tracks.id, trackRecord.id)) - .execute() + .execute(), ) - : Effect.succeed(undefined) - ) + : Effect.succeed(undefined), + ), ) - : Effect.succeed(undefined) + : Effect.succeed(undefined), ), Effect.tap((trackRecord) => !trackRecord.artistUri @@ -792,8 +792,8 @@ const updateTrackMetadata = ( .from(tables.artists) .where(eq(tables.artists.sha256, artistHash)) .execute() - .then(([row]) => row) - ) + .then(([row]) => row), + ), ), Effect.flatMap((artist) => artist @@ -804,13 +804,13 @@ const updateTrackMetadata = ( artistUri: artist.uri, }) .where(eq(tables.tracks.id, trackRecord.id)) - .execute() + .execute(), ) - : Effect.succeed(undefined) - ) + : Effect.succeed(undefined), + ), ) - : Effect.succeed(undefined) - ) + : Effect.succeed(undefined), + ), ); // Ensure track exists or create it @@ -819,7 +819,7 @@ const ensureTrack = ( track: Track, agent: Agent, userDid: string, - existingTrack: SelectTrack | undefined + existingTrack: SelectTrack | undefined, ) => pipe( Effect.succeed(existingTrack), @@ -827,10 +827,10 @@ const ensureTrack = ( Match.value(trackOpt).pipe( Match.when( (value) => !!value, - () => updateTrackMetadata(ctx, track, trackOpt) + () => updateTrackMetadata(ctx, track, trackOpt), ), - Match.orElse(() => Effect.succeed(undefined)) - ) + Match.orElse(() => Effect.succeed(undefined)), + ), ), Effect.flatMap((trackOpt) => pipe( @@ -840,29 +840,29 @@ const ensureTrack = ( .from(tables.userTracks) .leftJoin( tables.tracks, - eq(tables.userTracks.trackId, tables.tracks.id) + eq(tables.userTracks.trackId, tables.tracks.id), ) .leftJoin( tables.users, - eq(tables.userTracks.userId, tables.users.id) + eq(tables.userTracks.userId, tables.users.id), ) .where( and( eq(tables.tracks.id, trackOpt?.id), - eq(tables.users.did, userDid) - ) + eq(tables.users.did, userDid), + ), ) .execute() - .then(([row]) => row.user_tracks) + .then(([row]) => row.user_tracks), ), Effect.flatMap((userTrack) => Option.isNone(Option.fromNullable(userTrack)) || !userTrack?.uri?.includes(userDid) ? putSongRecord(track, agent) - : Effect.succeed(null) - ) - ) - ) + : Effect.succeed(null), + ), + ), + ), ); // Ensure album exists or create it @@ -870,7 +870,7 @@ const ensureAlbum = ( ctx: Context, track: Track, agent: Agent, - userDid: string + userDid: string, ) => pipe( computeAlbumHash(track), @@ -881,8 +881,8 @@ const ensureAlbum = ( .from(tables.albums) .where(eq(tables.albums.sha256, albumHash)) .execute() - .then(([row]) => row) - ) + .then(([row]) => row), + ), ), Effect.flatMap((existingAlbum) => pipe( @@ -894,31 +894,31 @@ const ensureAlbum = ( .from(tables.userAlbums) .leftJoin( tables.albums, - eq(tables.userAlbums.albumId, tables.albums.id) + eq(tables.userAlbums.albumId, tables.albums.id), ) .leftJoin( tables.users, - eq(tables.userAlbums.userId, tables.users.id) + eq(tables.userAlbums.userId, tables.users.id), ) .where( and( eq(tables.albums.id, album.id), - eq(tables.users.did, userDid) - ) + eq(tables.users.did, userDid), + ), ) .execute() - .then(([row]) => row.user_albums) - ) + .then(([row]) => row.user_albums), + ), ), Effect.flatMap((userAlbum) => Option.isNone(Option.fromNullable(existingAlbum)) || Option.isNone(Option.fromNullable(userAlbum)) || !userAlbum?.uri?.includes(userDid) ? putAlbumRecord(track, agent) - : Effect.succeed(null) - ) - ) - ) + : Effect.succeed(null), + ), + ), + ), ); // Ensure artist exists or create it @@ -926,7 +926,7 @@ const ensureArtist = ( ctx: Context, track: Track, agent: Agent, - userDid: string + userDid: string, ) => pipe( computeArtistHash(track), @@ -937,8 +937,8 @@ const ensureArtist = ( .from(tables.artists) .where(eq(tables.artists.sha256, artistHash)) .execute() - .then(([row]) => row) - ) + .then(([row]) => row), + ), ), Effect.flatMap((existingArtist) => pipe( @@ -950,21 +950,21 @@ const ensureArtist = ( .from(tables.userArtists) .leftJoin( tables.artists, - eq(tables.userArtists.artistId, tables.artists.id) + eq(tables.userArtists.artistId, tables.artists.id), ) .leftJoin( tables.users, - eq(tables.userArtists.userId, tables.users.id) + eq(tables.userArtists.userId, tables.users.id), ) .where( and( eq(tables.artists.id, artist.id), - eq(tables.users.did, userDid) - ) + eq(tables.users.did, userDid), + ), ) .execute() - .then(([row]) => row.user_artists) - ) + .then(([row]) => row.user_artists), + ), ), Effect.flatMap((userArtist) => Effect.if( @@ -974,18 +974,18 @@ const ensureArtist = ( { onTrue: () => putArtistRecord(track, agent), onFalse: () => Effect.succeed(null), - } - ) - ) - ) - ) + }, + ), + ), + ), + ), ); // Retry fetching track until metadata is ready const retryFetchTrack = ( ctx: Context, trackHash: string, - initialTrack: SelectTrack | undefined + initialTrack: SelectTrack | undefined, ) => pipe( Effect.iterate( @@ -1001,38 +1001,38 @@ const retryFetchTrack = ( .from(tables.tracks) .where(eq(tables.tracks.sha256, trackHash)) .execute() - .then(([row]) => row) + .then(([row]) => row), ), Effect.flatMap((trackRecord) => Option.fromNullable(trackRecord).pipe( Effect.flatMap((track) => - updateTrackMetadata(ctx, track, trackRecord) - ) - ) + updateTrackMetadata(ctx, track, trackRecord), + ), + ), ), Effect.tap((trackRecord) => Effect.logInfo( trackRecord ? `Track metadata ready: ${chalk.cyan(trackRecord.id)} - ${track.title}, after ${chalk.magenta(tries + 1)} tries` - : `Retrying track fetch: ${chalk.magenta(tries + 1)}` - ) + : `Retrying track fetch: ${chalk.magenta(tries + 1)}`, + ), ), Effect.map((trackRecord) => ({ tries: tries + 1, track: trackRecord, })), - Effect.delay("1 second") + Effect.delay("1 second"), ), - } + }, ), Effect.tap(({ tries, track }) => tries >= 30 && !(track?.artistUri && track?.albumUri) ? Effect.logError( - `Track metadata not ready after ${chalk.magenta("30 tries")}` + `Track metadata not ready after ${chalk.magenta("30 tries")}`, ) - : Effect.succeed(undefined) + : Effect.succeed(undefined), ), - Effect.map(({ track }) => track) + Effect.map(({ track }) => track), ); // Retry fetching scrobble until complete @@ -1070,23 +1070,23 @@ const retryFetchScrobble = (ctx: Context, scrobbleUri: string) => .from(tables.scrobbles) .leftJoin( tables.tracks, - eq(tables.scrobbles.trackId, tables.tracks.id) + eq(tables.scrobbles.trackId, tables.tracks.id), ) .leftJoin( tables.albums, - eq(tables.scrobbles.albumId, tables.albums.id) + eq(tables.scrobbles.albumId, tables.albums.id), ) .leftJoin( tables.artists, - eq(tables.scrobbles.artistId, tables.artists.id) + eq(tables.scrobbles.artistId, tables.artists.id), ) .leftJoin( tables.users, - eq(tables.scrobbles.userId, tables.users.id) + eq(tables.scrobbles.userId, tables.users.id), ) .where(eq(tables.scrobbles.uri, scrobbleUri)) .execute() - .then(([row]) => row) + .then(([row]) => row), ), Effect.tap((scrobble) => Effect.if( @@ -1103,11 +1103,11 @@ const retryFetchScrobble = (ctx: Context, scrobbleUri: string) => artistUri: scrobble.artists.uri, }) .where(eq(tables.albums.id, scrobble.albums.id)) - .execute() + .execute(), ), onFalse: () => Effect.succeed(undefined), - } - ) + }, + ), ), Effect.flatMap(() => Effect.tryPromise(() => @@ -1116,24 +1116,24 @@ const retryFetchScrobble = (ctx: Context, scrobbleUri: string) => .from(tables.scrobbles) .leftJoin( tables.tracks, - eq(tables.scrobbles.trackId, tables.tracks.id) + eq(tables.scrobbles.trackId, tables.tracks.id), ) .leftJoin( tables.albums, - eq(tables.scrobbles.albumId, tables.albums.id) + eq(tables.scrobbles.albumId, tables.albums.id), ) .leftJoin( tables.artists, - eq(tables.scrobbles.artistId, tables.artists.id) + eq(tables.scrobbles.artistId, tables.artists.id), ) .leftJoin( tables.users, - eq(tables.scrobbles.userId, tables.users.id) + eq(tables.scrobbles.userId, tables.users.id), ) .where(eq(tables.scrobbles.uri, scrobbleUri)) .execute() - .then(([row]) => row) - ) + .then(([row]) => row), + ), ), Effect.map((scrobble) => ({ tries: tries + 1, @@ -1150,12 +1150,12 @@ const retryFetchScrobble = (ctx: Context, scrobbleUri: string) => scrobble.tracks.albumUri && scrobble.scrobbles ? `Scrobble found after ${chalk.magenta(tries + 1)} tries` - : `Scrobble not found, trying again: ${chalk.magenta(tries + 1)}` - ) + : `Scrobble not found, trying again: ${chalk.magenta(tries + 1)}`, + ), ), - Effect.delay("1 second") + Effect.delay("1 second"), ), - } + }, ), Effect.tap(({ tries, scrobble }) => tries >= 30 && @@ -1169,18 +1169,18 @@ const retryFetchScrobble = (ctx: Context, scrobbleUri: string) => scrobble.tracks.albumUri ) ? Effect.logError( - `Scrobble not found after ${chalk.magenta("30 tries")}` + `Scrobble not found after ${chalk.magenta("30 tries")}`, ) - : Effect.succeed(undefined) + : Effect.succeed(undefined), ), - Effect.map(({ scrobble }) => scrobble) + Effect.map(({ scrobble }) => scrobble), ); export const scrobbleTrack = ( ctx: Context, track: Track, agent: Agent, - userDid: string + userDid: string, ) => pipe( computeTrackHash(track), @@ -1193,7 +1193,7 @@ export const scrobbleTrack = ( Effect.flatMap(() => ensureAlbum(ctx, track, agent, userDid)), Effect.flatMap(() => ensureArtist(ctx, track, agent, userDid)), Effect.flatMap(() => - retryFetchTrack(ctx, trackHash, existingTrack) + retryFetchTrack(ctx, trackHash, existingTrack), ), Effect.flatMap(() => pipe( @@ -1213,17 +1213,17 @@ export const scrobbleTrack = ( ? pipe( publishScrobble(ctx, scrobble.scrobbles.id), Effect.tap(() => - Effect.logInfo("Scrobble published") - ) + Effect.logInfo("Scrobble published"), + ), ) - : Effect.succeed(undefined) - ) - ) - ) - ) - ) - ) - ) - ) - ) + : Effect.succeed(undefined), + ), + ), + ), + ), + ), + ), + ), + ), + ), ); diff --git a/apps/api/src/xrpc/app/rocksky/scrobble/getScrobbles.ts b/apps/api/src/xrpc/app/rocksky/scrobble/getScrobbles.ts index f3dc446f..bb446183 100644 --- a/apps/api/src/xrpc/app/rocksky/scrobble/getScrobbles.ts +++ b/apps/api/src/xrpc/app/rocksky/scrobble/getScrobbles.ts @@ -21,7 +21,7 @@ export default function (server: Server, ctx: Context) { Effect.catchAll((err) => { console.error("Error retrieving scrobbles:", err); return Effect.succeed({ scrobbles: [] }); - }) + }), ); server.app.rocksky.scrobble.getScrobbles({ handler: async ({ params }) => { @@ -58,7 +58,7 @@ const retrieve = ({ }; const presentation = ( - data: Scrobbles + data: Scrobbles, ): Effect.Effect<{ scrobbles: ScrobbleViewBasic[] }, never> => { return Effect.sync(() => ({ scrobbles: data.map(({ scrobbles, tracks, users }) => ({ diff --git a/apps/api/src/xrpc/app/rocksky/song/createSong.ts b/apps/api/src/xrpc/app/rocksky/song/createSong.ts index f864e8f8..1adce5ad 100644 --- a/apps/api/src/xrpc/app/rocksky/song/createSong.ts +++ b/apps/api/src/xrpc/app/rocksky/song/createSong.ts @@ -19,8 +19,14 @@ import { createHash } from "node:crypto"; import tables from "schema"; import type { InsertAlbumTrack, SelectAlbumTrack } from "schema/album-tracks"; import type { SelectAlbum } from "schema/albums"; -import type { InsertArtistAlbum, SelectArtistAlbum } from "schema/artist-albums"; -import type { InsertArtistTrack, SelectArtistTrack } from "schema/artist-tracks"; +import type { + InsertArtistAlbum, + SelectArtistAlbum, +} from "schema/artist-albums"; +import type { + InsertArtistTrack, + SelectArtistTrack, +} from "schema/artist-tracks"; import type { SelectArtist } from "schema/artists"; import type { SelectTrack } from "schema/tracks"; import { type Track, trackSchema } from "types/track"; diff --git a/apps/api/src/xrpc/app/rocksky/spotify/getCurrentlyPlaying.ts b/apps/api/src/xrpc/app/rocksky/spotify/getCurrentlyPlaying.ts index 5d31ead8..ec918e69 100644 --- a/apps/api/src/xrpc/app/rocksky/spotify/getCurrentlyPlaying.ts +++ b/apps/api/src/xrpc/app/rocksky/spotify/getCurrentlyPlaying.ts @@ -23,7 +23,7 @@ export default function (server: Server, ctx: Context) { Effect.catchAll((err) => { console.error(err); return Effect.succeed({}); - }) + }), ); server.app.rocksky.spotify.getCurrentlyPlaying({ auth: ctx.authVerifier, @@ -54,8 +54,8 @@ const withUser = ({ .where( or( eq(tables.users.did, params.actor || did), - eq(tables.users.handle, params.actor || did) - ) + eq(tables.users.handle, params.actor || did), + ), ) .execute() .then((users) => ({ user: users[0], ctx, params, did })), @@ -90,13 +90,13 @@ const withSpotifyAccount = ({ .from(tables.spotifyAccounts) .leftJoin( tables.users, - eq(tables.users.id, tables.spotifyAccounts.userId) + eq(tables.users.id, tables.spotifyAccounts.userId), ) .where( or( eq(tables.users.did, params.actor || did), - eq(tables.users.handle, params.actor || did) - ) + eq(tables.users.handle, params.actor || did), + ), ) .execute() .then(([results]) => ({ @@ -129,8 +129,8 @@ const retrieve = ({ Match.value(cached).pipe( Match.when(null, () => ({})), Match.when(undefined, () => ({})), - Match.orElse(() => JSON.parse(cached)) - ) + Match.orElse(() => JSON.parse(cached)), + ), ) .then((cached) => [cached, ctx, user]), catch: (error) => @@ -143,7 +143,7 @@ const withUriAndLikes = ([track, ctx, user]: [any, Context, SelectUser]) => { try: async () => { const sha256 = createHash("sha256") .update( - `${track.item.name} - ${track.item.artists.map((x) => x.name).join(", ")} - ${track.item.album.name}`.toLowerCase() + `${track.item.name} - ${track.item.artists.map((x) => x.name).join(", ")} - ${track.item.album.name}`.toLowerCase(), ) .digest("hex"); const [record] = await ctx.db @@ -156,18 +156,18 @@ const withUriAndLikes = ([track, ctx, user]: [any, Context, SelectUser]) => { .from(tables.lovedTracks) .leftJoin( tables.tracks, - eq(tables.lovedTracks.trackId, tables.tracks.id) + eq(tables.lovedTracks.trackId, tables.tracks.id), ) .leftJoin(tables.users, eq(tables.lovedTracks.userId, tables.users.id)) .where( - and(eq(tables.tracks.sha256, sha256), eq(tables.users.did, user.did)) + and(eq(tables.tracks.sha256, sha256), eq(tables.users.did, user.did)), ) .execute() .then((results) => Match.value(track).pipe( Match.when( (t) => !Object.keys(t).length, - () => ({}) + () => ({}), ), Match.orElse(() => ({ ...track, @@ -175,8 +175,8 @@ const withUriAndLikes = ([track, ctx, user]: [any, Context, SelectUser]) => { artistUri: record?.artistUri, albumUri: record?.albumUri, liked: results.length > 0, - })) - ) + })), + ), ); }, catch: (error) => new Error(`Failed to retrieve URI and likes: ${error}`), diff --git a/apps/api/src/xrpc/app/rocksky/spotify/next.ts b/apps/api/src/xrpc/app/rocksky/spotify/next.ts index 6aece723..0877786b 100644 --- a/apps/api/src/xrpc/app/rocksky/spotify/next.ts +++ b/apps/api/src/xrpc/app/rocksky/spotify/next.ts @@ -23,7 +23,7 @@ export default function (server: Server, ctx: Context) { Effect.catchAll((err) => { console.error(err); return Effect.succeed({}); - }) + }), ); server.app.rocksky.spotify.next({ auth: ctx.authVerifier, @@ -72,7 +72,7 @@ const withSpotifyRefreshToken = ({ .where(eq(tables.spotifyTokens.userId, user.id)) .execute() .then(([spotifyToken]) => - decrypt(spotifyToken.refreshToken, env.SPOTIFY_ENCRYPTION_KEY) + decrypt(spotifyToken.refreshToken, env.SPOTIFY_ENCRYPTION_KEY), ) .then((refreshToken) => ({ user, diff --git a/apps/api/src/xrpc/app/rocksky/spotify/pause.ts b/apps/api/src/xrpc/app/rocksky/spotify/pause.ts index 4ce6568c..807691ae 100644 --- a/apps/api/src/xrpc/app/rocksky/spotify/pause.ts +++ b/apps/api/src/xrpc/app/rocksky/spotify/pause.ts @@ -23,7 +23,7 @@ export default function (server: Server, ctx: Context) { Effect.catchAll((err) => { console.error(err); return Effect.succeed({}); - }) + }), ); server.app.rocksky.spotify.pause({ auth: ctx.authVerifier, @@ -72,7 +72,7 @@ const withSpotifyRefreshToken = ({ .where(eq(tables.spotifyTokens.userId, user.id)) .execute() .then(([spotifyToken]) => - decrypt(spotifyToken.refreshToken, env.SPOTIFY_ENCRYPTION_KEY) + decrypt(spotifyToken.refreshToken, env.SPOTIFY_ENCRYPTION_KEY), ) .then((refreshToken) => ({ user, diff --git a/apps/api/src/xrpc/app/rocksky/spotify/play.ts b/apps/api/src/xrpc/app/rocksky/spotify/play.ts index 152ff160..82093768 100644 --- a/apps/api/src/xrpc/app/rocksky/spotify/play.ts +++ b/apps/api/src/xrpc/app/rocksky/spotify/play.ts @@ -23,7 +23,7 @@ export default function (server: Server, ctx: Context) { Effect.catchAll((err) => { console.error(err); return Effect.succeed({}); - }) + }), ); server.app.rocksky.spotify.play({ auth: ctx.authVerifier, @@ -72,7 +72,7 @@ const withSpotifyRefreshToken = ({ .where(eq(tables.spotifyTokens.userId, user.id)) .execute() .then(([spotifyToken]) => - decrypt(spotifyToken.refreshToken, env.SPOTIFY_ENCRYPTION_KEY) + decrypt(spotifyToken.refreshToken, env.SPOTIFY_ENCRYPTION_KEY), ) .then((refreshToken) => ({ user, diff --git a/apps/api/src/xrpc/app/rocksky/spotify/previous.ts b/apps/api/src/xrpc/app/rocksky/spotify/previous.ts index 9876e8fe..0619c09d 100644 --- a/apps/api/src/xrpc/app/rocksky/spotify/previous.ts +++ b/apps/api/src/xrpc/app/rocksky/spotify/previous.ts @@ -23,7 +23,7 @@ export default function (server: Server, ctx: Context) { Effect.catchAll((err) => { console.error(err); return Effect.succeed({}); - }) + }), ); server.app.rocksky.spotify.previous({ auth: ctx.authVerifier, @@ -72,7 +72,7 @@ const withSpotifyRefreshToken = ({ .where(eq(tables.spotifyTokens.userId, user.id)) .execute() .then(([spotifyToken]) => - decrypt(spotifyToken.refreshToken, env.SPOTIFY_ENCRYPTION_KEY) + decrypt(spotifyToken.refreshToken, env.SPOTIFY_ENCRYPTION_KEY), ) .then((refreshToken) => ({ refreshToken,