Samuel Newman 2676206e42
Pinned posts (#2771)
* pinned posts lexicon

* codegen

* change lexicon, different approach

* codegen 2

* dataplane db migration

* move pinned post lexicon to right place

* add pinned posts optionally to getAuthorFeed

* remove type modification

* Clarify naming, add viewer state, add tests

* return pinnedPost with profileViewDetailed

* allow pinned replies in `posts_and_author_threads`

* clearer variable naming

* annotate type of `items`

* boolean --> varchar

* reuse authorDid in viewerPinned

* simplify test

* make pinned post not top post in test

* update snapshot

* changeset

---------

Co-authored-by: Eric Bailey <git@esb.lol>
Co-authored-by: dholms <dtholmgren@gmail.com>
2024-09-26 18:26:45 -05:00

54 lines
1.6 KiB
JSON

{
"lexicon": 1,
"id": "app.bsky.actor.profile",
"defs": {
"main": {
"type": "record",
"description": "A declaration of a Bluesky account profile.",
"key": "literal:self",
"record": {
"type": "object",
"properties": {
"displayName": {
"type": "string",
"maxGraphemes": 64,
"maxLength": 640
},
"description": {
"type": "string",
"description": "Free-form profile description text.",
"maxGraphemes": 256,
"maxLength": 2560
},
"avatar": {
"type": "blob",
"description": "Small image to be displayed next to posts from account. AKA, 'profile picture'",
"accept": ["image/png", "image/jpeg"],
"maxSize": 1000000
},
"banner": {
"type": "blob",
"description": "Larger horizontal image to display behind profile view.",
"accept": ["image/png", "image/jpeg"],
"maxSize": 1000000
},
"labels": {
"type": "union",
"description": "Self-label values, specific to the Bluesky application, on the overall account.",
"refs": ["com.atproto.label.defs#selfLabels"]
},
"joinedViaStarterPack": {
"type": "ref",
"ref": "com.atproto.repo.strongRef"
},
"pinnedPost": {
"type": "ref",
"ref": "com.atproto.repo.strongRef"
},
"createdAt": { "type": "string", "format": "datetime" }
}
}
}
}
}