Add schema for Lexicon-defined API #3

closed
opened by hexmani.ac targeting main from lexicons-extension

This will build the foundations for a basic Lexicon-defined API to be used by the backend. Right now I'm focusing solely on implementing ways to get indexed content from the database as well as a basic "preferences" system similar to was Bluesky has, mainly for expanding private preferences in the future once we move to the frontend. There are also some search query lexicons in there, just for good measure.

+7
lexdocs/social/clippr/feed/defs.json
···
+
{
+
"lexicon": 1,
+
"id": "social.clippr.feed.defs",
+
"defs": {
+
+
}
+
}
lexdocs/social/clippr/feed/getClips.json
lexdocs/social/clippr/feed/getProfileFeed.json
lexdocs/social/clippr/feed/getTagList.json
lexdocs/social/clippr/feed/getTags.json
lexdocs/social/clippr/feed/searchClips.json
lexdocs/social/clippr/feed/searchTags.json
+24
lexdocs/social/clippr/actor/defs.json
···
"format": "datetime"
}
}
+
},
+
"preferences": {
+
"type": "array",
+
"description": "An array of preference types",
+
"refs": [
+
"#publishingScopesPref"
+
]
+
},
+
"publishingScopesPref": {
+
"type": "object",
+
"description": "Preferences for an user's publishing scopes",
+
"required": [
+
"defaultScope"
+
],
+
"properties": {
+
"defaultScope": {
+
"type": "string",
+
"knownValues": [
+
"public",
+
"unlisted"
+
],
+
"description": "What publishing scope to mark a clip as by default."
+
}
+
}
}
}
}