rip.pds.admin.defs
Schema Diff
+5 -4
Compatibility Analysis
Breaking Changes Detected
2 breaking changes, 2 non-breaking changes.
Breaking Changes (2)
- RemovedVertex RemovedVertex { vertex_id: "rip.pds.admin.defs#ownerView.recentHandle" }
- RemovedEdge RemovedEdge { src: "rip.pds.admin.defs#ownerView", tgt: "rip.pds.admin.defs#ownerView.recentHandle", kind: "prop", name: Some("recentHandle") }
Non-Breaking Changes (2)
- AddedVertex AddedVertex { vertex_id: "rip.pds.admin.defs#ownerView.handle" }
- AddedEdge AddedEdge { src: "rip.pds.admin.defs#ownerView", tgt: "rip.pds.admin.defs#ownerView.handle", kind: "prop", name: Some("handle") }
Migration Guidance
Removed Elements
RemovedVertex { vertex_id: "rip.pds.admin.defs#ownerView.recentHandle" }
Added Elements
AddedVertex { vertex_id: "rip.pds.admin.defs#ownerView.handle" }
Additional Notes
- Breaking: RemovedEdge { src: "rip.pds.admin.defs#ownerView", tgt: "rip.pds.admin.defs#ownerView.recentHandle", kind: "prop", name: Some("recentHandle") }
- Non-breaking: AddedEdge { src: "rip.pds.admin.defs#ownerView", tgt: "rip.pds.admin.defs#ownerView.handle", kind: "prop", name: Some("handle") }
1
1
{
2
2
"id": "rip.pds.admin.defs",
3
3
"defs": {
4
4
"eventView": {
5
5
"type": "object",
6
6
"required": [
7
7
"id",
8
8
"type",
9
9
"source",
10
10
"createdAt"
11
11
],
12
12
"properties": {
13
13
"id": {
14
14
"type": "integer"
15
15
},
16
16
"did": {
17
17
"type": "string",
18
18
"format": "did"
19
19
},
20
20
"type": {
21
21
"type": "string",
22
22
"knownValues": [
23
23
"account.created",
24
24
"account.deleted",
25
25
"account.takedown",
26
26
"account.restored",
27
27
"account.labeled",
28
28
"handle.changed",
29
29
"identity.retired"
30
30
]
31
31
},
32
32
"detail": {
33
33
"type": "string",
34
34
"description": "The event's payload as JSON, for anything the fields above do not carry."
35
35
},
36
36
"handle": {
37
37
"type": "string",
38
38
"description": "The handle that DID held, when it is still known."
39
39
},
40
40
"source": {
41
41
"type": "string",
42
42
"description": "What observed it.",
43
43
"knownValues": [
44
44
"proxy",
45
45
"firehose",
46
46
"scheduler",
47
47
"admin",
48
48
"labeler"
49
49
]
50
50
},
51
51
"createdAt": {
52
52
"type": "string",
53
53
"format": "datetime"
54
54
}
55
55
},
56
56
"description": "One recorded lifecycle fact."
57
57
},
58
58
"ownerView": {
59
59
"type": "object",
60
60
"required": [
61
61
"did",
62
62
"live",
63
63
"deleted",
64
64
"takenDown",
65
65
"firstSeenAt",
66
66
"lastCreatedAt",
67
67
"quota",
68
68
"maxLifetimeDays"
69
69
],
70
70
"properties": {
71
71
"did": {
72
72
"type": "string",
73
73
"format": "did"
74
74
},
75
75
"live": {
76
76
"type": "integer",
77
77
"description": "Accounts they hold right now."
78
78
},
79
79
"quota": {
80
80
"type": "integer",
81
81
"description": "Live accounts they may hold at once, after any override. Zero means they may create nothing further."
82
82
},
83
+
"handle": {
84
+
"type": "string",
85
+
"format": "handle",
86
+
"description": "The holder's own handle, resolved from their DID document. Not a handle they minted here. Absent when their identity could not be resolved, in which case the DID is the name."
87
+
},
83
88
"limits": {
84
89
"ref": "#limitsView",
85
90
"type": "ref",
86
91
"description": "The override itself. Absent when the configured defaults apply untouched."
87
92
},
88
93
"deleted": {
89
94
"type": "integer",
90
95
"description": "Accounts of theirs that are gone, however they went."
91
96
},
92
97
"takenDown": {
93
98
"type": "integer",
94
99
"description": "Accounts of theirs the PDS currently considers taken down."
95
100
},
96
101
"firstSeenAt": {
97
102
"type": "string",
98
103
"format": "datetime"
99
-
},
100
-
"recentHandle": {
101
-
"type": "string",
102
-
"description": "A handle of theirs, so the row is recognisable. Not an identity: handles are recycled."
103
104
},
104
105
"lastCreatedAt": {
105
106
"type": "string",
106
107
"format": "datetime"
107
108
},
108
109
"maxLifetimeDays": {
109
110
"type": "integer",
110
111
"description": "How far an account of theirs may be extended, after any override."
111
112
}
112
113
},
113
114
"description": "Someone who holds or has held accounts on this server, as an operator sees them."
114
115
},
115
116
"limitsView": {
116
117
"type": "object",
117
118
"required": [
118
119
"createdAt",
119
120
"updatedAt"
120
121
],
121
122
"properties": {
122
123
"note": {
123
124
"type": "string",
124
125
"maxLength": 500,
125
126
"description": "Why, in the operator's own words."
126
127
},
127
128
"createdAt": {
128
129
"type": "string",
129
130
"format": "datetime"
130
131
},
131
132
"updatedAt": {
132
133
"type": "string",
133
134
"format": "datetime"
134
135
},
135
136
"updatedBy": {
136
137
"type": "string",
137
138
"format": "did"
138
139
},
139
140
"quotaOverride": {
140
141
"type": "integer",
141
142
"description": "Live accounts they may hold. Absent means the configured default."
142
143
},
143
144
"lifetimeDaysOverride": {
144
145
"type": "integer",
145
146
"description": "Maximum lifetime in days. Absent means the configured default."
146
147
}
147
148
},
148
149
"description": "An operator's exception to the configured limits for one person."
149
150
},
150
151
"accountView": {
151
152
"type": "object",
152
153
"required": [
153
154
"did",
154
155
"handle",
155
156
"didMethod",
156
157
"origin",
157
158
"createdAt"
158
159
],
159
160
"properties": {
160
161
"did": {
161
162
"type": "string",
162
163
"format": "did"
163
164
},
164
165
"handle": {
165
166
"type": "string",
166
167
"format": "handle"
167
168
},
168
169
"origin": {
169
170
"type": "string",
170
171
"description": "Whether this server minted the identity or it arrived by migration.",
171
172
"knownValues": [
172
173
"minted",
173
174
"imported"
174
175
]
175
176
},
176
177
"status": {
177
178
"type": "string"
178
179
},
179
180
"ownerDid": {
180
181
"type": "string",
181
182
"format": "did",
182
183
"description": "Who asked for this account. Absent for anything created before the invite gate."
183
184
},
184
185
"createdAt": {
185
186
"type": "string",
186
187
"format": "datetime"
187
188
},
188
189
"deletedAt": {
189
190
"type": "string",
190
191
"format": "datetime"
191
192
},
192
193
"didMethod": {
193
194
"type": "string",
194
195
"knownValues": [
195
196
"plc",
196
197
"web"
197
198
]
198
199
},
199
200
"expiresAt": {
200
201
"type": "string",
201
202
"format": "datetime",
202
203
"description": "Absent when the account never expires."
203
204
},
204
205
"protected": {
205
206
"type": "boolean"
206
207
},
207
208
"retiredAt": {
208
209
"type": "string",
209
210
"format": "datetime",
210
211
"description": "When the identity was tombstoned or unpublished."
211
212
},
212
213
"extensions": {
213
214
"type": "integer"
214
215
},
215
216
"handleDomain": {
216
217
"type": "string"
217
218
}
218
219
},
219
220
"description": "An account as an operator sees it, which is an accountView plus who holds it."
220
221
}
221
222
},
222
223
"$type": "com.atproto.lexicon.schema",
223
224
"lexicon": 1
224
225
}