diff --git a/packages/lexicons/defs/sh/comet/v0/actor/getProfile.json b/packages/lexicons/defs/sh/comet/v0/actor/getProfile.json new file mode 100644 index 0000000..d97bc7c --- /dev/null +++ b/packages/lexicons/defs/sh/comet/v0/actor/getProfile.json @@ -0,0 +1,28 @@ +{ + "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" + } + } + } + } +} diff --git a/packages/lexicons/defs/sh/comet/v0/actor/profile.json b/packages/lexicons/defs/sh/comet/v0/actor/profile.json index e1df5e5..b9e32c2 100644 --- a/packages/lexicons/defs/sh/comet/v0/actor/profile.json +++ b/packages/lexicons/defs/sh/comet/v0/actor/profile.json @@ -31,7 +31,13 @@ "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, @@ -41,10 +47,67 @@ } } }, - "view": {}, - "viewBasic": { + "view": { "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" }, + "indexedAt": { "type": "string", "format": "datetime" }, + "createdAt": { "type": "string", "format": "datetime" }, + "viewer": { "type": "unknown", "description": "TODO" } + } + }, + "viewFull": { + "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" }, + "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" } + } } } } diff --git a/packages/lexicons/defs/sh/comet/v0/feed/defs.json b/packages/lexicons/defs/sh/comet/v0/feed/defs.json index 6ab794f..2189ed5 100644 --- a/packages/lexicons/defs/sh/comet/v0/feed/defs.json +++ b/packages/lexicons/defs/sh/comet/v0/feed/defs.json @@ -31,8 +31,6 @@ "properties": { "like": { "type": "string", "format": "at-uri" }, "repost": { "type": "string", "format": "at-uri" } - // TODO: pinned items - // TODO: maybe what personal playlists it's in? } } } diff --git a/packages/lexicons/defs/sh/comet/v0/feed/playlist.json b/packages/lexicons/defs/sh/comet/v0/feed/playlist.json index e9faed7..d2b448a 100644 --- a/packages/lexicons/defs/sh/comet/v0/feed/playlist.json +++ b/packages/lexicons/defs/sh/comet/v0/feed/playlist.json @@ -37,7 +37,7 @@ "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", diff --git a/packages/lexicons/defs/sh/comet/v0/feed/track.json b/packages/lexicons/defs/sh/comet/v0/feed/track.json index 630db8b..7b90a22 100644 --- a/packages/lexicons/defs/sh/comet/v0/feed/track.json +++ b/packages/lexicons/defs/sh/comet/v0/feed/track.json @@ -38,7 +38,7 @@ "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", @@ -64,7 +64,7 @@ "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",