wiki.lichen.getWiki
Schema Diff
+8 -7
Compatibility Analysis
Breaking Changes Detected
1 breaking change, 0 non-breaking changes.
Breaking Changes (1)
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "wiki.lichen.getWiki:output", src: "wiki.lichen.getWiki:output", tgt: "wiki.lichen.getWiki:output.createdAt", kind: "prop", name: Some("createdAt") }
Migration Guidance
Additional Notes
- Breaking: RequiredEdgeAdded { vertex_id: "wiki.lichen.getWiki:output", src: "wiki.lichen.getWiki:output", tgt: "wiki.lichen.getWiki:output.createdAt", kind: "prop", name: Some("createdAt") }
1
1
{
2
2
"$type": "com.atproto.lexicon.schema",
3
3
"defs": {
4
4
"main": {
5
-
"description": "Resolve a wiki and, optionally, report what a given DID may do with it. Public wikis only. Handles are not accepted: resolve one with com.atproto.identity.resolveHandle first, then pass the DID.",
5
+
"description": "Get a wiki. Pass viewer to also get what that DID can do with it. Public wikis only. Takes a DID, so resolve a handle to one first with com.atproto.identity.resolveHandle.",
6
6
"errors": [
7
7
{
8
8
"name": "NotFound"
9
9
}
10
10
],
11
11
"output": {
12
12
"encoding": "application/json",
13
13
"schema": {
14
14
"properties": {
15
15
"createdAt": {
16
-
"description": "Copied from the record. Absent when the record carried a stamp we cannot represent as a datetime.",
16
+
"description": "The wiki record's own timestamp, in UTC. An unreadable or future-dated stamp falls back to our ingest time.",
17
17
"format": "datetime",
18
18
"type": "string"
19
19
},
20
20
"description": {
21
21
"type": "string"
22
22
},
23
23
"did": {
24
24
"format": "did",
25
25
"type": "string"
26
26
},
27
27
"homeSlug": {
28
-
"description": "Note shown as the wiki's front page. Appview-local: not a record field, so another instance hosting the same wiki may answer differently.",
28
+
"description": "The note shown as the wiki's front page, as the wiki record's homeSlug names it.",
29
29
"type": "string"
30
30
},
31
31
"language": {
32
32
"type": "string"
33
33
},
34
34
"name": {
35
35
"type": "string"
36
36
},
37
37
"noteCount": {
38
-
"description": "Notes wiki.lichen.listNotes will return, which excludes any whose first revision has not been ingested.",
38
+
"description": "How many notes listNotes returns. A note counts once its first revision is ingested.",
39
39
"type": "integer"
40
40
},
41
41
"slug": {
42
42
"type": "string"
43
43
},
44
44
"updatedAt": {
45
-
"description": "When the wiki or any note in it last changed. Appview-derived, not a record field.",
45
+
"description": "When this appview last saw the wiki or a note in it change. Observed locally, so appviews may legitimately disagree.",
46
46
"format": "datetime",
47
47
"type": "string"
48
48
},
49
49
"uri": {
50
50
"format": "at-uri",
51
51
"type": "string"
52
52
},
53
53
"viewer": {
54
54
"description": "Present only when the viewer parameter was supplied.",
55
55
"ref": "#viewerState",
56
56
"type": "ref"
57
57
}
58
58
},
59
59
"required": [
60
60
"uri",
61
61
"did",
62
62
"slug",
63
63
"name",
64
64
"description",
65
65
"language",
66
66
"noteCount",
67
+
"createdAt",
67
68
"updatedAt"
68
69
],
69
70
"type": "object"
70
71
}
71
72
},
72
73
"parameters": {
73
74
"properties": {
74
75
"did": {
75
76
"description": "Owner of the wiki. Use with slug.",
76
77
"format": "did",
77
78
"type": "string"
78
79
},
79
80
"slug": {
80
81
"description": "The wiki's slug, which is also its record key. Use with did.",
81
82
"format": "record-key",
82
83
"maxLength": 512,
83
84
"type": "string"
84
85
},
85
86
"uri": {
86
87
"description": "AT-URI of the wiki record. Supply this, or did and slug.",
87
88
"format": "at-uri",
88
89
"type": "string"
89
90
},
90
91
"viewer": {
91
-
"description": "Report this DID's capability on the wiki. Ingest silently drops a revision from a DID that may not edit, so a client should check here before writing.",
92
+
"description": "Ask what this DID can do with the wiki. Check it before writing, because ingest keeps a revision only from a DID that can edit and drops the rest silently.",
92
93
"format": "did",
93
94
"type": "string"
94
95
}
95
96
},
96
97
"type": "params"
97
98
},
98
99
"type": "query"
99
100
},
100
101
"viewerState": {
101
102
"properties": {
102
103
"canWrite": {
103
104
"description": "Whether a wiki.lichen.noteRevision written by this DID would be accepted.",
104
105
"type": "boolean"
105
106
},
106
107
"did": {
107
108
"format": "did",
108
109
"type": "string"
109
110
},
110
111
"role": {
111
-
"description": "Absent when the DID holds no membership and does not own the wiki.",
112
+
"description": "Present when the DID owns the wiki or holds a membership.",
112
113
"knownValues": [
113
114
"owner",
114
115
"admin",
115
116
"contributor",
116
117
"viewer"
117
118
],
118
119
"type": "string"
119
120
}
120
121
},
121
122
"required": [
122
123
"did",
123
124
"canWrite"
124
125
],
125
126
"type": "object"
126
127
}
127
128
},
128
129
"id": "wiki.lichen.getWiki",
129
130
"lexicon": 1
130
131
}