atproto blogging
1{
2 "lexicon": 1,
3 "id": "sh.weaver.notebook.updateReadingProgress",
4 "defs": {
5 "main": {
6 "type": "procedure",
7 "description": "Update reading progress for a notebook (appview-side state).",
8 "input": {
9 "encoding": "application/json",
10 "schema": {
11 "type": "object",
12 "required": ["notebook"],
13 "properties": {
14 "notebook": { "type": "string", "format": "at-uri" },
15 "currentEntry": {
16 "type": "string",
17 "format": "at-uri",
18 "description": "The entry the user is currently on."
19 },
20 "status": {
21 "type": "string",
22 "knownValues": ["reading", "finished", "abandoned", "want-to-read"]
23 },
24 "percentComplete": {
25 "type": "integer",
26 "minimum": 0,
27 "maximum": 100
28 }
29 }
30 }
31 },
32 "output": {
33 "encoding": "application/json",
34 "schema": {
35 "type": "object",
36 "required": ["progress"],
37 "properties": {
38 "progress": { "type": "ref", "ref": "sh.weaver.notebook.defs#readingProgress" }
39 }
40 }
41 }
42 }
43 }
44}