A community based topic aggregation platform built on atproto

Adding saved Post/Comments lexicons

+122
+85
internal/atproto/lexicon/social/coves/actor/getSaved.json
··· 1 + { 2 + "lexicon": 1, 3 + "id": "social.coves.actor.getSaved", 4 + "defs": { 5 + "main": { 6 + "type": "procedure", 7 + "description": "Get all saved posts and comments for the authenticated user", 8 + "input": { 9 + "encoding": "application/json", 10 + "schema": { 11 + "type": "object", 12 + "properties": { 13 + "limit": { 14 + "type": "integer", 15 + "minimum": 1, 16 + "maximum": 100, 17 + "default": 50, 18 + "description": "Number of items to return" 19 + }, 20 + "cursor": { 21 + "type": "string", 22 + "description": "Cursor for pagination" 23 + }, 24 + "type": { 25 + "type": "string", 26 + "enum": ["post", "comment"], 27 + "description": "Filter by content type (optional)" 28 + } 29 + } 30 + } 31 + }, 32 + "output": { 33 + "encoding": "application/json", 34 + "schema": { 35 + "type": "object", 36 + "required": ["savedItems"], 37 + "properties": { 38 + "savedItems": { 39 + "type": "array", 40 + "description": "All saved items for the user", 41 + "items": { 42 + "type": "ref", 43 + "ref": "#savedItemView" 44 + } 45 + }, 46 + "cursor": { 47 + "type": "string", 48 + "description": "Cursor for next page" 49 + } 50 + } 51 + } 52 + } 53 + }, 54 + "savedItemView": { 55 + "type": "object", 56 + "required": ["uri", "subject", "type", "savedAt"], 57 + "properties": { 58 + "uri": { 59 + "type": "string", 60 + "format": "at-uri", 61 + "description": "AT-URI of the saved record" 62 + }, 63 + "subject": { 64 + "type": "string", 65 + "format": "at-uri", 66 + "description": "AT-URI of the saved post or comment" 67 + }, 68 + "type": { 69 + "type": "string", 70 + "enum": ["post", "comment"], 71 + "description": "Type of content that was saved" 72 + }, 73 + "savedAt": { 74 + "type": "string", 75 + "format": "datetime", 76 + "description": "When the item was saved" 77 + }, 78 + "note": { 79 + "type": "string", 80 + "description": "Optional note about why this was saved" 81 + } 82 + } 83 + } 84 + } 85 + }
+37
internal/atproto/lexicon/social/coves/actor/saved.json
··· 1 + { 2 + "lexicon": 1, 3 + "id": "social.coves.actor.saved", 4 + "defs": { 5 + "main": { 6 + "type": "record", 7 + "description": "A saved post or comment", 8 + "key": "tid", 9 + "record": { 10 + "type": "object", 11 + "required": ["subject", "type", "createdAt"], 12 + "properties": { 13 + "subject": { 14 + "type": "string", 15 + "format": "at-uri", 16 + "description": "AT-URI of the post or comment being saved" 17 + }, 18 + "type": { 19 + "type": "string", 20 + "enum": ["post", "comment"], 21 + "description": "Type of content being saved" 22 + }, 23 + "createdAt": { 24 + "type": "string", 25 + "format": "datetime", 26 + "description": "When the item was saved" 27 + }, 28 + "note": { 29 + "type": "string", 30 + "maxLength": 300, 31 + "description": "Optional note about why this was saved" 32 + } 33 + } 34 + } 35 + } 36 + } 37 + }