Music streaming on ATProto!

feat(lexicons): actor.getProfile

ovyerus.com 19508285 d47db575

verified
Changed files
+98 -9
packages
lexicons
+28
packages/lexicons/defs/sh/comet/v0/actor/getProfile.json
···
+
{
+
"lexicon": 1,
+
"id": "sh.comet.v0.actor.getProfile",
+
"defs": {
+
"main": {
+
"type": "query",
+
"description": "Get the profile view of an actor.",
+
"parameters": {
+
"type": "params",
+
"required": ["actor"],
+
"properties": {
+
"actor": {
+
"type": "string",
+
"format": "at-identifier",
+
"description": "Handle or DID of account to fetch profile of."
+
}
+
}
+
},
+
"output": {
+
"encoding": "application/json",
+
"schema": {
+
"type": "ref",
+
"ref": "sh.comet.v0.actor.profile#view"
+
}
+
}
+
}
+
}
+
}
+67 -4
packages/lexicons/defs/sh/comet/v0/actor/profile.json
···
"accept": ["image/png", "image/jpeg"],
"maxSize": 1000000
},
-
"featured": {
+
"banner": {
+
"type": "blob",
+
"description": "Larger horizontal image to display behind profile view.",
+
"accept": ["image/png", "image/jpeg"],
+
"maxSize": 1000000
+
},
+
"featuredItems": {
"type": "array",
"description": "Pinned items to be shown first on the user's profile.",
"maxLength": 5,
···
}
}
},
-
"view": {},
-
"viewBasic": {
+
"view": {
+
"type": "object",
+
"required": ["did", "handle"],
+
"properties": {
+
"did": { "type": "string", "format": "did" },
+
"handle": { "type": "string", "format": "handle" },
+
"displayName": {
+
"type": "string",
+
"maxGraphemes": 64,
+
"maxLength": 640
+
},
+
"description": {
+
"type": "string",
+
"maxGraphemes": 256,
+
"maxLength": 2560
+
},
+
"descriptionFacets": {
+
"type": "ref",
+
"ref": "sh.comet.v0.richtext.facet"
+
},
+
"avatar": { "type": "string", "format": "uri" },
+
"indexedAt": { "type": "string", "format": "datetime" },
+
"createdAt": { "type": "string", "format": "datetime" },
+
"viewer": { "type": "unknown", "description": "TODO" }
+
}
+
},
+
"viewFull": {
"type": "object",
-
"properties": {}
+
"required": ["did", "handle"],
+
"properties": {
+
"did": { "type": "string", "format": "did" },
+
"handle": { "type": "string", "format": "handle" },
+
"displayName": {
+
"type": "string",
+
"maxGraphemes": 64,
+
"maxLength": 640
+
},
+
"description": {
+
"type": "string",
+
"maxGraphemes": 256,
+
"maxLength": 2560
+
},
+
"descriptionFacets": {
+
"type": "ref",
+
"ref": "sh.comet.v0.richtext.facet"
+
},
+
"avatar": { "type": "string", "format": "uri" },
+
"banner": { "type": "string", "format": "uri" },
+
"followersCount": { "type": "integer" },
+
"followsCount": { "type": "integer" },
+
"tracksCount": { "type": "integer" },
+
"playlistsCount": { "type": "integer" },
+
"indexedAt": { "type": "string", "format": "datetime" },
+
"createdAt": { "type": "string", "format": "datetime" },
+
"featuredItems": {
+
"type": "array",
+
"maxLength": 5,
+
"items": { "type": "string", "format": "at-uri" }
+
},
+
"viewer": { "type": "unknown", "description": "TODO" }
+
}
}
}
}
-2
packages/lexicons/defs/sh/comet/v0/feed/defs.json
···
"properties": {
"like": { "type": "string", "format": "at-uri" },
"repost": { "type": "string", "format": "at-uri" }
-
// TODO: pinned items
-
// TODO: maybe what personal playlists it's in?
}
}
}
+1 -1
packages/lexicons/defs/sh/comet/v0/feed/playlist.json
···
"descriptionFacets": {
"type": "ref",
"description": "Annotations of the playlist's description.",
-
"ref": "sh.comet.v0.richtext.facets"
+
"ref": "sh.comet.v0.richtext.facet"
},
"type": {
"type": "string",
+2 -2
packages/lexicons/defs/sh/comet/v0/feed/track.json
···
"descriptionFacets": {
"type": "ref",
"description": "Annotations of the track's description.",
-
"ref": "sh.comet.v0.richtext.facets"
+
"ref": "sh.comet.v0.richtext.facet"
},
"tags": {
"type": "array",
···
"properties": {
"uri": { "type": "string", "format": "at-uri" },
"cid": { "type": "string", "format": "cid" },
-
"author": { "type": "ref", "ref": "TODO" },
+
"author": { "type": "unknown", "description": "TODO" },
"audio": {
"type": "string",
"format": "uri",