rip.pds.account.defs
Schema Diff
+22 -2
Compatibility Analysis
Breaking Changes Detected
1 breaking change, 12 non-breaking changes.
Breaking Changes (1)
- RequiredEdgeRemoved RequiredEdgeRemoved { vertex_id: "rip.pds.account.defs#accountView", src: "rip.pds.account.defs#accountView", tgt: "rip.pds.account.defs#accountView.expiresAt", kind: "prop", name: Some("expiresAt") }
Non-Breaking Changes (12)
- AddedVertex AddedVertex { vertex_id: "rip.pds.account.defs#accountView.labelKey" }
- AddedVertex AddedVertex { vertex_id: "rip.pds.account.defs#accountView.services" }
- AddedVertex AddedVertex { vertex_id: "rip.pds.account.defs#accountView.services:items" }
- AddedVertex AddedVertex { vertex_id: "rip.pds.account.defs#accountView.servicesUpdatedAt" }
- AddedVertex AddedVertex { vertex_id: "rip.pds.account.defs#accountView.status" }
- AddedVertex AddedVertex { vertex_id: "rip.pds.account.putServices#serviceEntry" }
- AddedEdge AddedEdge { src: "rip.pds.account.defs#accountView", tgt: "rip.pds.account.defs#accountView.labelKey", kind: "prop", name: Some("labelKey") }
- AddedEdge AddedEdge { src: "rip.pds.account.defs#accountView", tgt: "rip.pds.account.defs#accountView.services", kind: "prop", name: Some("services") }
- AddedEdge AddedEdge { src: "rip.pds.account.defs#accountView", tgt: "rip.pds.account.defs#accountView.servicesUpdatedAt", kind: "prop", name: Some("servicesUpdatedAt") }
- AddedEdge AddedEdge { src: "rip.pds.account.defs#accountView", tgt: "rip.pds.account.defs#accountView.status", kind: "prop", name: Some("status") }
- AddedEdge AddedEdge { src: "rip.pds.account.defs#accountView.services", tgt: "rip.pds.account.defs#accountView.services:items", kind: "items", name: None }
- AddedEdge AddedEdge { src: "rip.pds.account.defs#accountView.services:items", tgt: "rip.pds.account.putServices#serviceEntry", kind: "ref", name: None }
Migration Guidance
Added Elements
AddedVertex { vertex_id: "rip.pds.account.defs#accountView.labelKey" }AddedVertex { vertex_id: "rip.pds.account.defs#accountView.services" }AddedVertex { vertex_id: "rip.pds.account.defs#accountView.services:items" }AddedVertex { vertex_id: "rip.pds.account.defs#accountView.servicesUpdatedAt" }AddedVertex { vertex_id: "rip.pds.account.defs#accountView.status" }AddedVertex { vertex_id: "rip.pds.account.putServices#serviceEntry" }
Additional Notes
- Breaking: RequiredEdgeRemoved { vertex_id: "rip.pds.account.defs#accountView", src: "rip.pds.account.defs#accountView", tgt: "rip.pds.account.defs#accountView.expiresAt", kind: "prop", name: Some("expiresAt") }
- Non-breaking: AddedEdge { src: "rip.pds.account.defs#accountView", tgt: "rip.pds.account.defs#accountView.labelKey", kind: "prop", name: Some("labelKey") }
- Non-breaking: AddedEdge { src: "rip.pds.account.defs#accountView", tgt: "rip.pds.account.defs#accountView.services", kind: "prop", name: Some("services") }
- Non-breaking: AddedEdge { src: "rip.pds.account.defs#accountView", tgt: "rip.pds.account.defs#accountView.servicesUpdatedAt", kind: "prop", name: Some("servicesUpdatedAt") }
- Non-breaking: AddedEdge { src: "rip.pds.account.defs#accountView", tgt: "rip.pds.account.defs#accountView.status", kind: "prop", name: Some("status") }
- Non-breaking: AddedEdge { src: "rip.pds.account.defs#accountView.services", tgt: "rip.pds.account.defs#accountView.services:items", kind: "items", name: None }
- Non-breaking: AddedEdge { src: "rip.pds.account.defs#accountView.services:items", tgt: "rip.pds.account.putServices#serviceEntry", kind: "ref", name: None }
1
1
{
2
2
"id": "rip.pds.account.defs",
3
3
"defs": {
4
4
"accountView": {
5
5
"type": "object",
6
6
"required": [
7
7
"did",
8
8
"handle",
9
9
"didMethod",
10
10
"createdAt",
11
-
"expiresAt",
12
11
"extensions"
13
12
],
14
13
"properties": {
15
14
"did": {
16
15
"type": "string",
17
16
"format": "did"
18
17
},
19
18
"handle": {
20
19
"type": "string",
21
20
"format": "handle"
22
21
},
22
+
"status": {
23
+
"type": "string",
24
+
"description": "Why the PDS considers this account inactive: takendown, suspended, deactivated. Absent when the account is live."
25
+
},
26
+
"labelKey": {
27
+
"type": "string",
28
+
"description": "Public multikey published as #atproto_label, when one is set."
29
+
},
30
+
"services": {
31
+
"type": "array",
32
+
"items": {
33
+
"ref": "rip.pds.account.putServices#serviceEntry",
34
+
"type": "ref"
35
+
},
36
+
"description": "Service entries on the account's DID document. Present only for did:web accounts, whose document this server serves."
37
+
},
23
38
"createdAt": {
24
39
"type": "string",
25
40
"format": "datetime"
26
41
},
27
42
"deletedAt": {
28
43
"type": "string",
29
44
"format": "datetime"
30
45
},
31
46
"didMethod": {
32
47
"type": "string",
33
48
"description": "Which identity method the account uses.",
34
49
"knownValues": [
35
50
"plc",
36
51
"web"
37
52
]
38
53
},
39
54
"expiresAt": {
40
55
"type": "string",
41
56
"format": "datetime",
42
-
"description": "When the account is deleted and its identity retired."
57
+
"description": "When the account is deleted and its identity retired. Absent when the account never expires, which is true only for a permanent account an operator issued."
43
58
},
44
59
"extensions": {
45
60
"type": "integer",
46
61
"description": "How many times the lifetime has already been extended."
62
+
},
63
+
"servicesUpdatedAt": {
64
+
"type": "string",
65
+
"format": "datetime",
66
+
"description": "When the service entries last changed. Resolvers cache documents well past this server's max-age, so a recent change may not be visible downstream yet."
47
67
}
48
68
},
49
69
"description": "An ephemeral account minted on this server."
50
70
}
51
71
},
52
72
"$type": "com.atproto.lexicon.schema",
53
73
"lexicon": 1
54
74
}