dev.frogspace.stacks.item
Schema Diff
+36 -0
Compatibility Analysis
Backward Compatible
Backward compatible. 12 non-breaking changes.
Non-Breaking Changes (12)
- AddedVertex AddedVertex { vertex_id: "dev.frogspace.stacks.item:body.collections" }
- AddedVertex AddedVertex { vertex_id: "dev.frogspace.stacks.item:body.collections:items" }
- AddedVertex AddedVertex { vertex_id: "dev.frogspace.stacks.item:body.rating" }
- AddedVertex AddedVertex { vertex_id: "dev.frogspace.stacks.item:body.readState" }
- AddedVertex AddedVertex { vertex_id: "dev.frogspace.stacks.item:body.tags" }
- AddedVertex AddedVertex { vertex_id: "dev.frogspace.stacks.item:body.tags:items" }
- AddedEdge AddedEdge { src: "dev.frogspace.stacks.item:body", tgt: "dev.frogspace.stacks.item:body.collections", kind: "prop", name: Some("collections") }
- AddedEdge AddedEdge { src: "dev.frogspace.stacks.item:body", tgt: "dev.frogspace.stacks.item:body.rating", kind: "prop", name: Some("rating") }
- AddedEdge AddedEdge { src: "dev.frogspace.stacks.item:body", tgt: "dev.frogspace.stacks.item:body.readState", kind: "prop", name: Some("readState") }
- AddedEdge AddedEdge { src: "dev.frogspace.stacks.item:body", tgt: "dev.frogspace.stacks.item:body.tags", kind: "prop", name: Some("tags") }
- AddedEdge AddedEdge { src: "dev.frogspace.stacks.item:body.collections", tgt: "dev.frogspace.stacks.item:body.collections:items", kind: "items", name: None }
- AddedEdge AddedEdge { src: "dev.frogspace.stacks.item:body.tags", tgt: "dev.frogspace.stacks.item:body.tags:items", kind: "items", name: None }
Migration Guidance
Added Elements
AddedVertex { vertex_id: "dev.frogspace.stacks.item:body.collections" }AddedVertex { vertex_id: "dev.frogspace.stacks.item:body.collections:items" }AddedVertex { vertex_id: "dev.frogspace.stacks.item:body.rating" }AddedVertex { vertex_id: "dev.frogspace.stacks.item:body.readState" }AddedVertex { vertex_id: "dev.frogspace.stacks.item:body.tags" }AddedVertex { vertex_id: "dev.frogspace.stacks.item:body.tags:items" }
Additional Notes
- Non-breaking: AddedEdge { src: "dev.frogspace.stacks.item:body", tgt: "dev.frogspace.stacks.item:body.collections", kind: "prop", name: Some("collections") }
- Non-breaking: AddedEdge { src: "dev.frogspace.stacks.item:body", tgt: "dev.frogspace.stacks.item:body.rating", kind: "prop", name: Some("rating") }
- Non-breaking: AddedEdge { src: "dev.frogspace.stacks.item:body", tgt: "dev.frogspace.stacks.item:body.readState", kind: "prop", name: Some("readState") }
- Non-breaking: AddedEdge { src: "dev.frogspace.stacks.item:body", tgt: "dev.frogspace.stacks.item:body.tags", kind: "prop", name: Some("tags") }
- Non-breaking: AddedEdge { src: "dev.frogspace.stacks.item:body.collections", tgt: "dev.frogspace.stacks.item:body.collections:items", kind: "items", name: None }
- Non-breaking: AddedEdge { src: "dev.frogspace.stacks.item:body.tags", tgt: "dev.frogspace.stacks.item:body.tags:items", kind: "items", name: None }
1
1
{
2
2
"$type": "com.atproto.lexicon.schema",
3
3
"defs": {
4
4
"main": {
5
5
"description": "citation record. the annotation author comes from the verified repo context. no subject content or snapshots are stored.",
6
6
"key": "tid",
7
7
"record": {
8
8
"properties": {
9
9
"addedAt": {
10
10
"description": "time the citation was first saved. preserve it when editing the note.",
11
11
"format": "datetime",
12
12
"type": "string"
13
13
},
14
+
"collections": {
15
+
"description": "optional collections this citation belongs to, referenced by their record AT-URIs. at most 16.",
16
+
"items": {
17
+
"description": "full in-space AT-URI of a dev.frogspace.stacks.collection record in the owner's library space.",
18
+
"format": "at-uri",
19
+
"type": "string"
20
+
},
21
+
"maxLength": 16,
22
+
"type": "array"
23
+
},
14
24
"note": {
15
25
"description": "optional personal annotation, limited to 16384 graphemes and 65536 UTF-8 bytes. empty is allowed.",
16
26
"maxGraphemes": 16384,
17
27
"maxLength": 65536,
18
28
"type": "string"
19
29
},
30
+
"rating": {
31
+
"description": "optional personal rating of the subject on a 1-5 scale.",
32
+
"maximum": 5,
33
+
"minimum": 1,
34
+
"type": "integer"
35
+
},
36
+
"readState": {
37
+
"description": "optional reading state of the subject. vocabulary: unread, reading, read.",
38
+
"knownValues": [
39
+
"unread",
40
+
"reading",
41
+
"read"
42
+
],
43
+
"type": "string"
44
+
},
20
45
"subject": {
21
46
"description": "full public record AT-URI with a DID authority, collection and record key. clients enforce these additional constraints. any public collection is supported.",
22
47
"format": "at-uri",
23
48
"type": "string"
24
49
},
25
50
"subjectCid": {
26
51
"description": "CID observed for the subject when saved. retain it when the public record changes.",
27
52
"format": "cid",
28
53
"type": "string"
54
+
},
55
+
"tags": {
56
+
"description": "optional inline tag strings on the citation (ADR 0001). at most 32 tags, each at most 64 graphemes.",
57
+
"items": {
58
+
"description": "inline tag string. clients enforce uniqueness within the array.",
59
+
"maxGraphemes": 64,
60
+
"maxLength": 256,
61
+
"type": "string"
62
+
},
63
+
"maxLength": 32,
64
+
"type": "array"
29
65
}
30
66
},
31
67
"required": [
32
68
"subject",
33
69
"subjectCid",
34
70
"addedAt"
35
71
],
36
72
"type": "object"
37
73
},
38
74
"type": "record"
39
75
}
40
76
},
41
77
"id": "dev.frogspace.stacks.item",
42
78
"lexicon": 1
43
79
}