A community based topic aggregation platform built on atproto

Adding saved Post/Comments lexicons

Changed files
+122
internal
atproto
lexicon
social
+85
internal/atproto/lexicon/social/coves/actor/getSaved.json
···
···
+
{
+
"lexicon": 1,
+
"id": "social.coves.actor.getSaved",
+
"defs": {
+
"main": {
+
"type": "procedure",
+
"description": "Get all saved posts and comments for the authenticated user",
+
"input": {
+
"encoding": "application/json",
+
"schema": {
+
"type": "object",
+
"properties": {
+
"limit": {
+
"type": "integer",
+
"minimum": 1,
+
"maximum": 100,
+
"default": 50,
+
"description": "Number of items to return"
+
},
+
"cursor": {
+
"type": "string",
+
"description": "Cursor for pagination"
+
},
+
"type": {
+
"type": "string",
+
"enum": ["post", "comment"],
+
"description": "Filter by content type (optional)"
+
}
+
}
+
}
+
},
+
"output": {
+
"encoding": "application/json",
+
"schema": {
+
"type": "object",
+
"required": ["savedItems"],
+
"properties": {
+
"savedItems": {
+
"type": "array",
+
"description": "All saved items for the user",
+
"items": {
+
"type": "ref",
+
"ref": "#savedItemView"
+
}
+
},
+
"cursor": {
+
"type": "string",
+
"description": "Cursor for next page"
+
}
+
}
+
}
+
}
+
},
+
"savedItemView": {
+
"type": "object",
+
"required": ["uri", "subject", "type", "savedAt"],
+
"properties": {
+
"uri": {
+
"type": "string",
+
"format": "at-uri",
+
"description": "AT-URI of the saved record"
+
},
+
"subject": {
+
"type": "string",
+
"format": "at-uri",
+
"description": "AT-URI of the saved post or comment"
+
},
+
"type": {
+
"type": "string",
+
"enum": ["post", "comment"],
+
"description": "Type of content that was saved"
+
},
+
"savedAt": {
+
"type": "string",
+
"format": "datetime",
+
"description": "When the item was saved"
+
},
+
"note": {
+
"type": "string",
+
"description": "Optional note about why this was saved"
+
}
+
}
+
}
+
}
+
}
+37
internal/atproto/lexicon/social/coves/actor/saved.json
···
···
+
{
+
"lexicon": 1,
+
"id": "social.coves.actor.saved",
+
"defs": {
+
"main": {
+
"type": "record",
+
"description": "A saved post or comment",
+
"key": "tid",
+
"record": {
+
"type": "object",
+
"required": ["subject", "type", "createdAt"],
+
"properties": {
+
"subject": {
+
"type": "string",
+
"format": "at-uri",
+
"description": "AT-URI of the post or comment being saved"
+
},
+
"type": {
+
"type": "string",
+
"enum": ["post", "comment"],
+
"description": "Type of content being saved"
+
},
+
"createdAt": {
+
"type": "string",
+
"format": "datetime",
+
"description": "When the item was saved"
+
},
+
"note": {
+
"type": "string",
+
"maxLength": 300,
+
"description": "Optional note about why this was saved"
+
}
+
}
+
}
+
}
+
}
+
}