social.coves.community.comment.defs
Details · defs
| Kind | defs |
|---|---|
| Authority | comment.community.coves.social |
| Indexed |
Showing version bafyreiau7yirximboqs7h2b4xwfwhen3rrlcvnn2rjg3x6aythuppgbmia. Show the latest
Checks
Valid Lint pass{
"$type": "com.atproto.lexicon.schema",
"defs": {
"blockedComment": {
"description": "Comment is blocked due to viewer blocking author or moderation action",
"properties": {
"blocked": {
"const": true,
"description": "Always true for blocked comments",
"type": "boolean"
},
"blockedBy": {
"description": "What caused the block: viewer blocked author, or comment was removed by moderators",
"knownValues": [
"author",
"moderator"
],
"maxLength": 64,
"type": "string"
},
"uri": {
"description": "AT-URI of the blocked comment",
"format": "at-uri",
"type": "string"
}
},
"required": [
"uri",
"blocked"
],
"type": "object"
},
"commentRef": {
"description": "Reference to a comment record",
"properties": {
"cid": {
"description": "CID of the comment record",
"format": "cid",
"type": "string"
},
"uri": {
"description": "AT-URI of the comment",
"format": "at-uri",
"type": "string"
}
},
"required": [
"uri",
"cid"
],
"type": "object"
},
"commentStats": {
"description": "Statistics for a comment",
"properties": {
"downvotes": {
"description": "Number of downvotes",
"minimum": 0,
"type": "integer"
},
"replyCount": {
"description": "Number of direct replies to this comment",
"minimum": 0,
"type": "integer"
},
"score": {
"description": "Calculated score (upvotes - downvotes)",
"type": "integer"
},
"upvotes": {
"description": "Number of upvotes",
"minimum": 0,
"type": "integer"
}
},
"required": [
"upvotes",
"downvotes",
"score",
"replyCount"
],
"type": "object"
},
"commentView": {
"description": "Base view for a single comment with voting, stats, and viewer state",
"properties": {
"author": {
"description": "Comment author information",
"ref": "social.coves.community.post.defs#authorView",
"type": "ref"
},
"cid": {
"description": "CID of the comment record",
"format": "cid",
"type": "string"
},
"createdAt": {
"description": "When the comment was created",
"format": "datetime",
"type": "string"
},
"embed": {
"description": "Embedded content from the comment record (images or quoted post). The AppView transforms blob references into fetchable image URLs and enriches quoted posts with a resolved view, so a served embed carries a #view type.",
"refs": [
"social.coves.embed.images",
"social.coves.embed.images#view",
"social.coves.embed.post",
"social.coves.embed.post#view"
],
"type": "union"
},
"indexedAt": {
"description": "When this comment was indexed by the AppView",
"format": "datetime",
"type": "string"
},
"parent": {
"description": "Reference to parent comment if this is a nested reply",
"ref": "#commentRef",
"type": "ref"
},
"post": {
"description": "Reference to the parent post",
"ref": "#postRef",
"type": "ref"
},
"record": {
"description": "The actual comment record verbatim",
"type": "unknown"
},
"stats": {
"description": "Comment statistics (votes, replies)",
"ref": "#commentStats",
"type": "ref"
},
"uri": {
"description": "AT-URI of the comment record",
"format": "at-uri",
"type": "string"
},
"viewer": {
"description": "Viewer-specific state (vote, saved, etc.)",
"ref": "#commentViewerState",
"type": "ref"
}
},
"required": [
"uri",
"cid",
"author",
"record",
"post",
"createdAt",
"indexedAt",
"stats"
],
"type": "object"
},
"commentViewerState": {
"description": "Viewer-specific state for a comment",
"properties": {
"vote": {
"description": "Viewer's vote on this comment",
"knownValues": [
"up",
"down"
],
"maxLength": 64,
"type": "string"
},
"voteUri": {
"description": "AT-URI of the viewer's vote record",
"format": "at-uri",
"type": "string"
}
},
"type": "object"
},
"notFoundComment": {
"description": "Comment was not found (deleted, never indexed, or invalid URI)",
"properties": {
"notFound": {
"const": true,
"description": "Always true for not found comments",
"type": "boolean"
},
"uri": {
"description": "AT-URI of the missing comment",
"format": "at-uri",
"type": "string"
}
},
"required": [
"uri",
"notFound"
],
"type": "object"
},
"postRef": {
"description": "Reference to a post record",
"properties": {
"cid": {
"description": "CID of the post record",
"format": "cid",
"type": "string"
},
"uri": {
"description": "AT-URI of the post",
"format": "at-uri",
"type": "string"
}
},
"required": [
"uri",
"cid"
],
"type": "object"
},
"threadViewComment": {
"description": "Wrapper for threaded comment structure, similar to Bluesky's threadViewPost pattern",
"properties": {
"comment": {
"description": "The comment itself",
"ref": "#commentView",
"type": "ref"
},
"hasMore": {
"description": "True if more replies exist but are not included in this response",
"type": "boolean"
},
"replies": {
"description": "Nested replies to this comment",
"items": {
"refs": [
"#threadViewComment",
"#notFoundComment",
"#blockedComment"
],
"type": "union"
},
"type": "array"
}
},
"required": [
"comment"
],
"type": "object"
}
},
"id": "social.coves.community.comment.defs",
"lexicon": 1
}