Constellation, Spacedust, Slingshot, UFOs: atproto crates and services for microcosm
75
fork

Configure Feed

Select the types of activity you want to include in your feed.

Remove wrongly commited getManyToMany lexicon

This belongs to the xrpc_many2many branch.

mxngls 410a3830 ba065299

-109
-109
lexicons/blue.microcosm/links/getManyToMany.json
··· 1 - { 2 - "lexicon": 1, 3 - "id": "blue.microcosm.links.getManyToMany", 4 - "defs": { 5 - "main": { 6 - "type": "query", 7 - "description": "Get records that link to a primary subject, grouped by the secondary subjects they also reference", 8 - "parameters": { 9 - "type": "params", 10 - "required": ["subject", "source", "pathToOther"], 11 - "properties": { 12 - "subject": { 13 - "type": "string", 14 - "format": "uri", 15 - "description": "the primary target being linked to (at-uri, did, or uri)" 16 - }, 17 - "source": { 18 - "type": "string", 19 - "description": "collection and path specification for the primary link (e.g., 'app.bsky.feed.like:subject.uri')" 20 - }, 21 - "pathToOther": { 22 - "type": "string", 23 - "description": "path to the secondary link in the many-to-many record (e.g., 'otherThing.uri')" 24 - }, 25 - "did": { 26 - "type": "array", 27 - "description": "filter links to those from specific users", 28 - "items": { 29 - "type": "string", 30 - "format": "did" 31 - } 32 - }, 33 - "otherSubject": { 34 - "type": "array", 35 - "description": "filter secondary links to specific subjects", 36 - "items": { 37 - "type": "string" 38 - } 39 - }, 40 - "limit": { 41 - "type": "integer", 42 - "minimum": 1, 43 - "maximum": 100, 44 - "default": 16, 45 - "description": "number of results to return" 46 - } 47 - } 48 - }, 49 - "output": { 50 - "encoding": "application/json", 51 - "schema": { 52 - "type": "object", 53 - "required": ["linking_records"], 54 - "properties": { 55 - "linking_records": { 56 - "type": "array", 57 - "items": { 58 - "type": "ref", 59 - "ref": "#recordsBySubject" 60 - } 61 - }, 62 - "cursor": { 63 - "type": "string", 64 - "description": "pagination cursor" 65 - } 66 - } 67 - } 68 - } 69 - }, 70 - "recordsBySubject": { 71 - "type": "object", 72 - "required": ["subject", "records"], 73 - "properties": { 74 - "subject": { 75 - "type": "string", 76 - "description": "the secondary subject that these records link to" 77 - }, 78 - "records": { 79 - "type": "array", 80 - "items": { 81 - "type": "ref", 82 - "ref": "#linkRecord" 83 - } 84 - } 85 - } 86 - }, 87 - "linkRecord": { 88 - "type": "object", 89 - "required": ["did", "collection", "rkey"], 90 - "description": "A record identifier consisting of a DID, collection, and record key", 91 - "properties": { 92 - "did": { 93 - "type": "string", 94 - "format": "did", 95 - "description": "the DID of the linking record's repository" 96 - }, 97 - "collection": { 98 - "type": "string", 99 - "format": "nsid", 100 - "description": "the collection of the linking record" 101 - }, 102 - "rkey": { 103 - "type": "string", 104 - "format": "record-key" 105 - } 106 - } 107 - } 108 - } 109 - }