social.coves.community.profile
Schema Diff
+5 -0
Compatibility Analysis
Backward Compatible
Backward compatible. 2 non-breaking changes.
Non-Breaking Changes (2)
- AddedVertex AddedVertex { vertex_id: "social.coves.community.profile:body.origin" }
- AddedEdge AddedEdge { src: "social.coves.community.profile:body", tgt: "social.coves.community.profile:body.origin", kind: "prop", name: Some("origin") }
Migration Guidance
Added Elements
AddedVertex { vertex_id: "social.coves.community.profile:body.origin" }
Additional Notes
- Non-breaking: AddedEdge { src: "social.coves.community.profile:body", tgt: "social.coves.community.profile:body.origin", kind: "prop", name: Some("origin") }
1
1
{
2
2
"$type": "com.atproto.lexicon.schema",
3
3
"defs": {
4
4
"main": {
5
5
"description": "A community's profile information (V2: stored in community's own repository)",
6
6
"key": "literal:self",
7
7
"record": {
8
8
"properties": {
9
9
"avatar": {
10
10
"accept": [
11
11
"image/png",
12
12
"image/jpeg",
13
13
"image/webp"
14
14
],
15
15
"maxSize": 1000000,
16
16
"type": "blob"
17
17
},
18
18
"banner": {
19
19
"accept": [
20
20
"image/png",
21
21
"image/jpeg",
22
22
"image/webp"
23
23
],
24
24
"maxSize": 2000000,
25
25
"type": "blob"
26
26
},
27
27
"contentWarnings": {
28
28
"description": "Required content warnings for this community",
29
29
"items": {
30
30
"knownValues": [
31
31
"nsfw",
32
32
"violence",
33
33
"spoilers"
34
34
],
35
35
"maxLength": 32,
36
36
"type": "string"
37
37
},
38
38
"type": "array"
39
39
},
40
40
"createdAt": {
41
41
"format": "datetime",
42
42
"type": "string"
43
43
},
44
44
"createdBy": {
45
45
"description": "DID of the user who created this community",
46
46
"format": "did",
47
47
"type": "string"
48
48
},
49
49
"description": {
50
50
"description": "Community description with rich text support",
51
51
"maxGraphemes": 1000,
52
52
"maxLength": 10000,
53
53
"type": "string"
54
54
},
55
55
"descriptionFacets": {
56
56
"description": "Rich text annotations for description",
57
57
"items": {
58
58
"ref": "social.coves.richtext.facet",
59
59
"type": "ref"
60
60
},
61
61
"type": "array"
62
62
},
63
63
"displayName": {
64
64
"description": "Display name for the community",
65
65
"maxGraphemes": 128,
66
66
"maxLength": 1280,
67
67
"type": "string"
68
68
},
69
69
"hostedBy": {
70
70
"description": "DID of the instance hosting this community",
71
71
"format": "did",
72
72
"type": "string"
73
73
},
74
74
"moderationType": {
75
75
"default": "moderator",
76
76
"description": "Type of moderation system (moderator=traditional moderator team, sortition=community tribunal)",
77
77
"knownValues": [
78
78
"moderator",
79
79
"sortition"
80
80
],
81
81
"maxLength": 64,
82
82
"type": "string"
83
83
},
84
84
"name": {
85
85
"description": "Short community name (local part of handle). Must be a valid DNS label: ASCII letters, digits, and hyphens only.",
86
86
"maxLength": 63,
87
87
"type": "string"
88
88
},
89
+
"origin": {
90
+
"description": "Instance this community actually lives on (hostname only, e.g. lemmy.world). Self-asserted; appviews must validate against the verified handle.",
91
+
"maxLength": 253,
92
+
"type": "string"
93
+
},
89
94
"visibility": {
90
95
"default": "public",
91
96
"description": "Community visibility level",
92
97
"knownValues": [
93
98
"public",
94
99
"unlisted",
95
100
"private"
96
101
],
97
102
"maxLength": 64,
98
103
"type": "string"
99
104
}
100
105
},
101
106
"required": [
102
107
"name",
103
108
"createdAt"
104
109
],
105
110
"type": "object"
106
111
},
107
112
"type": "record"
108
113
}
109
114
},
110
115
"id": "social.coves.community.profile",
111
116
"lexicon": 1
112
117
}