rip.pds.account.defs
Schema Diff
+18 -2
Compatibility Analysis
Breaking Changes Detected
1 breaking change, 10 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 (10)
- 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.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.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.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.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
},
23
22
"status": {
24
23
"type": "string",
25
24
"description": "Why the PDS considers this account inactive: takendown, suspended, deactivated. Absent when the account is live."
26
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
+
},
27
38
"createdAt": {
28
39
"type": "string",
29
40
"format": "datetime"
30
41
},
31
42
"deletedAt": {
32
43
"type": "string",
33
44
"format": "datetime"
34
45
},
35
46
"didMethod": {
36
47
"type": "string",
37
48
"description": "Which identity method the account uses.",
38
49
"knownValues": [
39
50
"plc",
40
51
"web"
41
52
]
42
53
},
43
54
"expiresAt": {
44
55
"type": "string",
45
56
"format": "datetime",
46
-
"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."
47
58
},
48
59
"extensions": {
49
60
"type": "integer",
50
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."
51
67
}
52
68
},
53
69
"description": "An ephemeral account minted on this server."
54
70
}
55
71
},
56
72
"$type": "com.atproto.lexicon.schema",
57
73
"lexicon": 1
58
74
}