fyi.opensocial.updateProfile
Schema Diff
+10 -10
Compatibility Analysis
Breaking Changes Detected
3 breaking changes, 1 non-breaking change.
Breaking Changes (3)
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "fyi.opensocial.updateProfile:input", src: "fyi.opensocial.updateProfile:input", tgt: "fyi.opensocial.updateProfile:input.group", kind: "prop", name: Some("group") }
- RequiredEdgeRemoved RequiredEdgeRemoved { vertex_id: "fyi.opensocial.updateProfile:input", src: "fyi.opensocial.updateProfile:input", tgt: "fyi.opensocial.updateProfile:input.community", kind: "prop", name: Some("community") }
- RemovedVertex RemovedVertex { vertex_id: "fyi.opensocial.updateProfile:input.community" }
Non-Breaking Changes (1)
- AddedVertex AddedVertex { vertex_id: "fyi.opensocial.updateProfile:input.group" }
Migration Guidance
Removed Elements
RemovedVertex { vertex_id: "fyi.opensocial.updateProfile:input.community" }
Added Elements
AddedVertex { vertex_id: "fyi.opensocial.updateProfile:input.group" }
Additional Notes
- Breaking: RequiredEdgeAdded { vertex_id: "fyi.opensocial.updateProfile:input", src: "fyi.opensocial.updateProfile:input", tgt: "fyi.opensocial.updateProfile:input.group", kind: "prop", name: Some("group") }
- Breaking: RequiredEdgeRemoved { vertex_id: "fyi.opensocial.updateProfile:input", src: "fyi.opensocial.updateProfile:input", tgt: "fyi.opensocial.updateProfile:input.community", kind: "prop", name: Some("community") }
1
1
{
2
2
"$type": "com.atproto.lexicon.schema",
3
3
"defs": {
4
4
"main": {
5
-
"description": "Replace the profile: name, description, join policy. Requires community.configure. Fields are inlined rather than referencing fyi.opensocial.profile, because a record def cannot be used as an input object — mirrors createCommunity.",
5
+
"description": "Replace the profile: name, description, join policy. Requires group.configure. Fields are inlined rather than referencing fyi.opensocial.profile, because a record def cannot be used as an input object — mirrors createGroup.",
6
6
"input": {
7
7
"encoding": "application/json",
8
8
"schema": {
9
9
"properties": {
10
10
"avatar": {
11
11
"accept": [
12
12
"image/png",
13
13
"image/jpeg"
14
14
],
15
-
"description": "The community's avatar, as returned by uploadImage. Omit to keep the current one; null to clear it.",
15
+
"description": "The group's avatar, as returned by uploadImage. Omit to keep the current one; null to clear it.",
16
16
"maxSize": 1000000,
17
17
"type": "blob"
18
18
},
19
19
"banner": {
20
20
"accept": [
21
21
"image/png",
22
22
"image/jpeg"
23
23
],
24
-
"description": "The community's banner, as returned by uploadImage. Omit to keep the current one; null to clear it.",
24
+
"description": "The group's banner, as returned by uploadImage. Omit to keep the current one; null to clear it.",
25
25
"maxSize": 1000000,
26
26
"type": "blob"
27
-
},
28
-
"community": {
29
-
"description": "The community DID. Every method is served by the community's host and authorized against that community's roles.",
30
-
"format": "did",
31
-
"type": "string"
32
27
},
33
28
"description": {
34
29
"maxGraphemes": 300,
35
30
"maxLength": 3000,
36
31
"type": "string"
37
32
},
38
33
"displayName": {
39
34
"maxGraphemes": 64,
40
35
"maxLength": 640,
41
36
"type": "string"
42
37
},
38
+
"group": {
39
+
"description": "The group DID. Every method is served by the group's host and authorized against that group's roles.",
40
+
"format": "did",
41
+
"type": "string"
42
+
},
43
43
"joinPolicy": {
44
44
"knownValues": [
45
45
"fyi.opensocial.profile#open",
46
46
"fyi.opensocial.profile#request",
47
47
"fyi.opensocial.profile#invite"
48
48
],
49
49
"type": "string"
50
50
},
51
51
"url": {
52
-
"description": "The community's own site.",
52
+
"description": "The group's own site.",
53
53
"format": "uri",
54
54
"type": "string"
55
55
}
56
56
},
57
57
"required": [
58
-
"community",
58
+
"group",
59
59
"displayName"
60
60
],
61
61
"type": "object"
62
62
}
63
63
},
64
64
"output": {
65
65
"encoding": "application/json",
66
66
"schema": {
67
67
"properties": {
68
68
"cid": {
69
69
"format": "cid",
70
70
"type": "string"
71
71
},
72
72
"uri": {
73
73
"format": "at-uri",
74
74
"type": "string"
75
75
}
76
76
},
77
77
"required": [
78
78
"uri",
79
79
"cid"
80
80
],
81
81
"type": "object"
82
82
}
83
83
},
84
84
"type": "procedure"
85
85
}
86
86
},
87
87
"id": "fyi.opensocial.updateProfile",
88
88
"lexicon": 1
89
89
}