app.gainforest.organization.info
Schema Diff
+161 -12
Compatibility Analysis
Breaking Changes Detected
22 breaking changes, 39 non-breaking changes.
Breaking Changes (22)
- KindChanged KindChanged { vertex_id: "app.gainforest.organization.info:body.longDescription", old_kind: "string", new_kind: "ref" }
- KindChanged KindChanged { vertex_id: "app.gainforest.organization.info:body.shortDescription", old_kind: "string", new_kind: "ref" }
- ConstraintAdded ConstraintAdded { vertex_id: "app.gainforest.organization.info:body.objectives:items", sort: "maxGraphemes", value: "64" }
- ConstraintAdded ConstraintAdded { vertex_id: "app.gainforest.organization.info:body.dataDownloadInfo", sort: "maxGraphemes", value: "1024" }
- ConstraintAdded ConstraintAdded { vertex_id: "app.gainforest.organization.info:body.foundedYear", sort: "maximum", value: "2100" }
- ConstraintAdded ConstraintAdded { vertex_id: "app.gainforest.organization.info:body.foundedYear", sort: "minimum", value: "1900" }
- ConstraintAdded ConstraintAdded { vertex_id: "app.gainforest.organization.info:body.focusSpeciesGroups:items", sort: "maxGraphemes", value: "64" }
- ConstraintAdded ConstraintAdded { vertex_id: "app.gainforest.organization.info:body.stripeUrl", sort: "maxGraphemes", value: "512" }
- ConstraintAdded ConstraintAdded { vertex_id: "app.gainforest.organization.info:body.ecosystemTypes:items", sort: "maxGraphemes", value: "128" }
- ConstraintAdded ConstraintAdded { vertex_id: "app.gainforest.organization.info:body.visibility", sort: "maxGraphemes", value: "32" }
- ConstraintTightened ConstraintTightened { vertex_id: "app.gainforest.organization.info:body.visibility", sort: "enum", old_value: "Public,Hidden", new_value: "Public,Unlisted" }
- ConstraintAdded ConstraintAdded { vertex_id: "app.gainforest.organization.info#socialLink.platform", sort: "maxGraphemes", value: "64" }
- ConstraintAdded ConstraintAdded { vertex_id: "app.gainforest.organization.info:body.teamSize", sort: "minimum", value: "1" }
- ConstraintAdded ConstraintAdded { vertex_id: "app.gainforest.organization.info:body.email", sort: "maxGraphemes", value: "256" }
- ConstraintAdded ConstraintAdded { vertex_id: "app.gainforest.organization.info:body.website", sort: "maxGraphemes", value: "512" }
- ConstraintAdded ConstraintAdded { vertex_id: "app.gainforest.organization.info:body.dataLicense", sort: "maxGraphemes", value: "256" }
- ConstraintAdded ConstraintAdded { vertex_id: "app.gainforest.organization.info:body.discordId", sort: "maxGraphemes", value: "64" }
- ConstraintAdded ConstraintAdded { vertex_id: "app.gainforest.organization.info#socialLink.url", sort: "maxGraphemes", value: "512" }
- ConstraintAdded ConstraintAdded { vertex_id: "app.gainforest.organization.info:body.dataDownloadUrl", sort: "maxGraphemes", value: "512" }
- ConstraintAdded ConstraintAdded { vertex_id: "app.gainforest.organization.info:body.fundingSourcesDescription", sort: "maxGraphemes", value: "2048" }
- ConstraintAdded ConstraintAdded { vertex_id: "app.gainforest.organization.info:body.country", sort: "maxLength", value: "2" }
- ConstraintAdded ConstraintAdded { vertex_id: "app.gainforest.organization.info:body.country", sort: "minLength", value: "2" }
Non-Breaking Changes (39)
- AddedVertex AddedVertex { vertex_id: "app.gainforest.organization.info#socialLink" }
- AddedVertex AddedVertex { vertex_id: "app.gainforest.organization.info#socialLink.platform" }
- AddedVertex AddedVertex { vertex_id: "app.gainforest.organization.info#socialLink.url" }
- AddedVertex AddedVertex { vertex_id: "app.gainforest.organization.info:body.dataDownloadInfo" }
- AddedVertex AddedVertex { vertex_id: "app.gainforest.organization.info:body.dataDownloadUrl" }
- AddedVertex AddedVertex { vertex_id: "app.gainforest.organization.info:body.dataLicense" }
- AddedVertex AddedVertex { vertex_id: "app.gainforest.organization.info:body.discordId" }
- AddedVertex AddedVertex { vertex_id: "app.gainforest.organization.info:body.ecosystemTypes" }
- AddedVertex AddedVertex { vertex_id: "app.gainforest.organization.info:body.ecosystemTypes:items" }
- AddedVertex AddedVertex { vertex_id: "app.gainforest.organization.info:body.email" }
- AddedVertex AddedVertex { vertex_id: "app.gainforest.organization.info:body.focusSpeciesGroups" }
- AddedVertex AddedVertex { vertex_id: "app.gainforest.organization.info:body.focusSpeciesGroups:items" }
- AddedVertex AddedVertex { vertex_id: "app.gainforest.organization.info:body.foundedYear" }
- AddedVertex AddedVertex { vertex_id: "app.gainforest.organization.info:body.fundingSourcesDescription" }
- AddedVertex AddedVertex { vertex_id: "app.gainforest.organization.info:body.socialLinks" }
- AddedVertex AddedVertex { vertex_id: "app.gainforest.organization.info:body.socialLinks:items" }
- AddedVertex AddedVertex { vertex_id: "app.gainforest.organization.info:body.stripeUrl" }
- AddedVertex AddedVertex { vertex_id: "app.gainforest.organization.info:body.teamSize" }
- AddedEdge AddedEdge { src: "app.gainforest.organization.info#socialLink", tgt: "app.gainforest.organization.info#socialLink.platform", kind: "prop", name: Some("platform") }
- AddedEdge AddedEdge { src: "app.gainforest.organization.info#socialLink", tgt: "app.gainforest.organization.info#socialLink.url", kind: "prop", name: Some("url") }
- AddedEdge AddedEdge { src: "app.gainforest.organization.info:body", tgt: "app.gainforest.organization.info:body.dataDownloadInfo", kind: "prop", name: Some("dataDownloadInfo") }
- AddedEdge AddedEdge { src: "app.gainforest.organization.info:body", tgt: "app.gainforest.organization.info:body.dataDownloadUrl", kind: "prop", name: Some("dataDownloadUrl") }
- AddedEdge AddedEdge { src: "app.gainforest.organization.info:body", tgt: "app.gainforest.organization.info:body.dataLicense", kind: "prop", name: Some("dataLicense") }
- AddedEdge AddedEdge { src: "app.gainforest.organization.info:body", tgt: "app.gainforest.organization.info:body.discordId", kind: "prop", name: Some("discordId") }
- AddedEdge AddedEdge { src: "app.gainforest.organization.info:body", tgt: "app.gainforest.organization.info:body.ecosystemTypes", kind: "prop", name: Some("ecosystemTypes") }
- AddedEdge AddedEdge { src: "app.gainforest.organization.info:body", tgt: "app.gainforest.organization.info:body.email", kind: "prop", name: Some("email") }
- AddedEdge AddedEdge { src: "app.gainforest.organization.info:body", tgt: "app.gainforest.organization.info:body.focusSpeciesGroups", kind: "prop", name: Some("focusSpeciesGroups") }
- AddedEdge AddedEdge { src: "app.gainforest.organization.info:body", tgt: "app.gainforest.organization.info:body.foundedYear", kind: "prop", name: Some("foundedYear") }
- AddedEdge AddedEdge { src: "app.gainforest.organization.info:body", tgt: "app.gainforest.organization.info:body.fundingSourcesDescription", kind: "prop", name: Some("fundingSourcesDescription") }
- AddedEdge AddedEdge { src: "app.gainforest.organization.info:body", tgt: "app.gainforest.organization.info:body.socialLinks", kind: "prop", name: Some("socialLinks") }
- AddedEdge AddedEdge { src: "app.gainforest.organization.info:body", tgt: "app.gainforest.organization.info:body.stripeUrl", kind: "prop", name: Some("stripeUrl") }
- AddedEdge AddedEdge { src: "app.gainforest.organization.info:body", tgt: "app.gainforest.organization.info:body.teamSize", kind: "prop", name: Some("teamSize") }
- AddedEdge AddedEdge { src: "app.gainforest.organization.info:body.ecosystemTypes", tgt: "app.gainforest.organization.info:body.ecosystemTypes:items", kind: "items", name: None }
- AddedEdge AddedEdge { src: "app.gainforest.organization.info:body.focusSpeciesGroups", tgt: "app.gainforest.organization.info:body.focusSpeciesGroups:items", kind: "items", name: None }
- AddedEdge AddedEdge { src: "app.gainforest.organization.info:body.socialLinks", tgt: "app.gainforest.organization.info:body.socialLinks:items", kind: "items", name: None }
- ConstraintRemoved ConstraintRemoved { vertex_id: "app.gainforest.organization.info:body.shortDescription", sort: "maxLength" }
- ConstraintRemoved ConstraintRemoved { vertex_id: "app.gainforest.organization.info:body.shortDescription", sort: "minLength" }
- ConstraintRemoved ConstraintRemoved { vertex_id: "app.gainforest.organization.info:body.longDescription", sort: "minLength" }
- ConstraintRemoved ConstraintRemoved { vertex_id: "app.gainforest.organization.info:body.longDescription", sort: "maxLength" }
Migration Guidance
Added Elements
AddedVertex { vertex_id: "app.gainforest.organization.info#socialLink" }AddedVertex { vertex_id: "app.gainforest.organization.info#socialLink.platform" }AddedVertex { vertex_id: "app.gainforest.organization.info#socialLink.url" }AddedVertex { vertex_id: "app.gainforest.organization.info:body.dataDownloadInfo" }AddedVertex { vertex_id: "app.gainforest.organization.info:body.dataDownloadUrl" }AddedVertex { vertex_id: "app.gainforest.organization.info:body.dataLicense" }AddedVertex { vertex_id: "app.gainforest.organization.info:body.discordId" }AddedVertex { vertex_id: "app.gainforest.organization.info:body.ecosystemTypes" }AddedVertex { vertex_id: "app.gainforest.organization.info:body.ecosystemTypes:items" }AddedVertex { vertex_id: "app.gainforest.organization.info:body.email" }AddedVertex { vertex_id: "app.gainforest.organization.info:body.focusSpeciesGroups" }AddedVertex { vertex_id: "app.gainforest.organization.info:body.focusSpeciesGroups:items" }AddedVertex { vertex_id: "app.gainforest.organization.info:body.foundedYear" }AddedVertex { vertex_id: "app.gainforest.organization.info:body.fundingSourcesDescription" }AddedVertex { vertex_id: "app.gainforest.organization.info:body.socialLinks" }AddedVertex { vertex_id: "app.gainforest.organization.info:body.socialLinks:items" }AddedVertex { vertex_id: "app.gainforest.organization.info:body.stripeUrl" }AddedVertex { vertex_id: "app.gainforest.organization.info:body.teamSize" }
Constraint Changes
- ConstraintAdded ConstraintAdded { vertex_id: "app.gainforest.organization.info:body.focusSpeciesGroups:items", sort: "maxGraphemes", value: "64" }
- ConstraintAdded ConstraintAdded { vertex_id: "app.gainforest.organization.info:body.discordId", sort: "maxGraphemes", value: "64" }
- ConstraintAdded ConstraintAdded { vertex_id: "app.gainforest.organization.info:body.foundedYear", sort: "maximum", value: "2100" }
- ConstraintAdded ConstraintAdded { vertex_id: "app.gainforest.organization.info:body.foundedYear", sort: "minimum", value: "1900" }
- ConstraintAdded ConstraintAdded { vertex_id: "app.gainforest.organization.info#socialLink.platform", sort: "maxGraphemes", value: "64" }
- ConstraintAdded ConstraintAdded { vertex_id: "app.gainforest.organization.info:body.website", sort: "maxGraphemes", value: "512" }
- ConstraintAdded ConstraintAdded { vertex_id: "app.gainforest.organization.info:body.dataLicense", sort: "maxGraphemes", value: "256" }
- ConstraintAdded ConstraintAdded { vertex_id: "app.gainforest.organization.info:body.visibility", sort: "maxGraphemes", value: "32" }
- ConstraintTightened ConstraintTightened { vertex_id: "app.gainforest.organization.info:body.visibility", sort: "enum", old_value: "Public,Hidden", new_value: "Public,Unlisted" }
- ConstraintAdded ConstraintAdded { vertex_id: "app.gainforest.organization.info:body.dataDownloadUrl", sort: "maxGraphemes", value: "512" }
- ConstraintAdded ConstraintAdded { vertex_id: "app.gainforest.organization.info:body.ecosystemTypes:items", sort: "maxGraphemes", value: "128" }
- ConstraintAdded ConstraintAdded { vertex_id: "app.gainforest.organization.info#socialLink.url", sort: "maxGraphemes", value: "512" }
- ConstraintAdded ConstraintAdded { vertex_id: "app.gainforest.organization.info:body.stripeUrl", sort: "maxGraphemes", value: "512" }
- ConstraintAdded ConstraintAdded { vertex_id: "app.gainforest.organization.info:body.objectives:items", sort: "maxGraphemes", value: "64" }
- ConstraintAdded ConstraintAdded { vertex_id: "app.gainforest.organization.info:body.fundingSourcesDescription", sort: "maxGraphemes", value: "2048" }
- ConstraintAdded ConstraintAdded { vertex_id: "app.gainforest.organization.info:body.email", sort: "maxGraphemes", value: "256" }
- ConstraintAdded ConstraintAdded { vertex_id: "app.gainforest.organization.info:body.teamSize", sort: "minimum", value: "1" }
- ConstraintAdded ConstraintAdded { vertex_id: "app.gainforest.organization.info:body.country", sort: "maxLength", value: "2" }
- ConstraintAdded ConstraintAdded { vertex_id: "app.gainforest.organization.info:body.country", sort: "minLength", value: "2" }
- ConstraintAdded ConstraintAdded { vertex_id: "app.gainforest.organization.info:body.dataDownloadInfo", sort: "maxGraphemes", value: "1024" }
- ConstraintRemoved ConstraintRemoved { vertex_id: "app.gainforest.organization.info:body.shortDescription", sort: "minLength" }
- ConstraintRemoved ConstraintRemoved { vertex_id: "app.gainforest.organization.info:body.shortDescription", sort: "maxLength" }
- ConstraintRemoved ConstraintRemoved { vertex_id: "app.gainforest.organization.info:body.longDescription", sort: "maxLength" }
- ConstraintRemoved ConstraintRemoved { vertex_id: "app.gainforest.organization.info:body.longDescription", sort: "minLength" }
Additional Notes
- Breaking: KindChanged { vertex_id: "app.gainforest.organization.info:body.longDescription", old_kind: "string", new_kind: "ref" }
- Breaking: KindChanged { vertex_id: "app.gainforest.organization.info:body.shortDescription", old_kind: "string", new_kind: "ref" }
- Non-breaking: AddedEdge { src: "app.gainforest.organization.info#socialLink", tgt: "app.gainforest.organization.info#socialLink.platform", kind: "prop", name: Some("platform") }
- Non-breaking: AddedEdge { src: "app.gainforest.organization.info#socialLink", tgt: "app.gainforest.organization.info#socialLink.url", kind: "prop", name: Some("url") }
- Non-breaking: AddedEdge { src: "app.gainforest.organization.info:body", tgt: "app.gainforest.organization.info:body.dataDownloadInfo", kind: "prop", name: Some("dataDownloadInfo") }
- Non-breaking: AddedEdge { src: "app.gainforest.organization.info:body", tgt: "app.gainforest.organization.info:body.dataDownloadUrl", kind: "prop", name: Some("dataDownloadUrl") }
- Non-breaking: AddedEdge { src: "app.gainforest.organization.info:body", tgt: "app.gainforest.organization.info:body.dataLicense", kind: "prop", name: Some("dataLicense") }
- Non-breaking: AddedEdge { src: "app.gainforest.organization.info:body", tgt: "app.gainforest.organization.info:body.discordId", kind: "prop", name: Some("discordId") }
- Non-breaking: AddedEdge { src: "app.gainforest.organization.info:body", tgt: "app.gainforest.organization.info:body.ecosystemTypes", kind: "prop", name: Some("ecosystemTypes") }
- Non-breaking: AddedEdge { src: "app.gainforest.organization.info:body", tgt: "app.gainforest.organization.info:body.email", kind: "prop", name: Some("email") }
- Non-breaking: AddedEdge { src: "app.gainforest.organization.info:body", tgt: "app.gainforest.organization.info:body.focusSpeciesGroups", kind: "prop", name: Some("focusSpeciesGroups") }
- Non-breaking: AddedEdge { src: "app.gainforest.organization.info:body", tgt: "app.gainforest.organization.info:body.foundedYear", kind: "prop", name: Some("foundedYear") }
- Non-breaking: AddedEdge { src: "app.gainforest.organization.info:body", tgt: "app.gainforest.organization.info:body.fundingSourcesDescription", kind: "prop", name: Some("fundingSourcesDescription") }
- Non-breaking: AddedEdge { src: "app.gainforest.organization.info:body", tgt: "app.gainforest.organization.info:body.socialLinks", kind: "prop", name: Some("socialLinks") }
- Non-breaking: AddedEdge { src: "app.gainforest.organization.info:body", tgt: "app.gainforest.organization.info:body.stripeUrl", kind: "prop", name: Some("stripeUrl") }
- Non-breaking: AddedEdge { src: "app.gainforest.organization.info:body", tgt: "app.gainforest.organization.info:body.teamSize", kind: "prop", name: Some("teamSize") }
- Non-breaking: AddedEdge { src: "app.gainforest.organization.info:body.ecosystemTypes", tgt: "app.gainforest.organization.info:body.ecosystemTypes:items", kind: "items", name: None }
- Non-breaking: AddedEdge { src: "app.gainforest.organization.info:body.focusSpeciesGroups", tgt: "app.gainforest.organization.info:body.focusSpeciesGroups:items", kind: "items", name: None }
- Non-breaking: AddedEdge { src: "app.gainforest.organization.info:body.socialLinks", tgt: "app.gainforest.organization.info:body.socialLinks:items", kind: "items", name: None }
1
1
{
2
2
"id": "app.gainforest.organization.info",
3
3
"defs": {
4
4
"main": {
5
5
"key": "literal:self",
6
6
"type": "record",
7
7
"record": {
8
8
"type": "object",
9
9
"required": [
10
10
"displayName",
11
11
"shortDescription",
12
12
"longDescription",
13
13
"objectives",
14
14
"country",
15
15
"visibility",
16
16
"createdAt"
17
17
],
18
18
"properties": {
19
19
"logo": {
20
-
"ref": "app.gainforest.common.defs#smallImage",
20
+
"ref": "org.hypercerts.defs#smallImage",
21
21
"type": "ref",
22
22
"description": "Logo for the organization"
23
23
},
24
+
"email": {
25
+
"type": "string",
26
+
"description": "Contact email for the organization",
27
+
"maxGraphemes": 256
28
+
},
24
29
"country": {
25
30
"type": "string",
31
+
"maxLength": 2,
32
+
"minLength": 2,
26
33
"description": "The country of the organization or project in two letter code (ISO 3166-1 alpha-2)"
27
34
},
28
35
"website": {
29
36
"type": "string",
30
37
"format": "uri",
31
-
"description": "The website of the organization or project"
38
+
"description": "The website of the organization or project",
39
+
"maxGraphemes": 512
40
+
},
41
+
"teamSize": {
42
+
"type": "integer",
43
+
"minimum": 1,
44
+
"description": "Number of team members in the organization"
32
45
},
33
46
"createdAt": {
34
47
"type": "string",
35
48
"format": "datetime",
36
49
"description": "The date and time of the creation of the record"
37
50
},
51
+
"discordId": {
52
+
"type": "string",
53
+
"description": "Discord server ID for the organization",
54
+
"maxGraphemes": 64
55
+
},
38
56
"startDate": {
39
57
"type": "string",
40
58
"format": "datetime",
41
59
"description": "The start date of the organization or project"
42
60
},
61
+
"stripeUrl": {
62
+
"type": "string",
63
+
"format": "uri",
64
+
"description": "Donation link for the organization",
65
+
"maxGraphemes": 512
66
+
},
43
67
"coverImage": {
44
-
"ref": "app.gainforest.common.defs#smallImage",
68
+
"ref": "org.hypercerts.defs#smallImage",
45
69
"type": "ref",
46
70
"description": "Cover image for the organization"
47
71
},
48
72
"objectives": {
49
73
"type": "array",
50
74
"items": {
51
75
"enum": [
52
76
"Conservation",
53
77
"Research",
54
78
"Education",
55
79
"Community",
56
80
"Other"
57
81
],
58
-
"type": "string"
82
+
"type": "string",
83
+
"maxGraphemes": 64
59
84
},
60
85
"description": "The objectives of the organization or project"
61
86
},
62
87
"visibility": {
63
88
"enum": [
64
89
"Public",
65
-
"Hidden"
90
+
"Unlisted"
66
91
],
67
92
"type": "string",
68
-
"description": "The visibility of the organization or project in the Green Globe"
93
+
"description": "The visibility of the organization or project in the Green Globe",
94
+
"maxGraphemes": 32
69
95
},
96
+
"dataLicense": {
97
+
"type": "string",
98
+
"description": "Default license for data published by the organization",
99
+
"maxGraphemes": 256
100
+
},
70
101
"displayName": {
71
102
"type": "string",
72
103
"maxLength": 255,
73
104
"minLength": 8,
74
105
"description": "The name of the organization or project"
75
106
},
76
-
"longDescription": {
107
+
"foundedYear": {
108
+
"type": "integer",
109
+
"maximum": 2100,
110
+
"minimum": 1900,
111
+
"description": "Year the organization was founded"
112
+
},
113
+
"socialLinks": {
114
+
"type": "array",
115
+
"items": {
116
+
"ref": "#socialLink",
117
+
"type": "ref"
118
+
},
119
+
"maxLength": 10,
120
+
"description": "Social media links for the organization"
121
+
},
122
+
"ecosystemTypes": {
123
+
"type": "array",
124
+
"items": {
125
+
"type": "string",
126
+
"knownValues": [
127
+
"tropical-rainforest",
128
+
"temperate-forest",
129
+
"boreal-forest",
130
+
"mangrove",
131
+
"coral-reef",
132
+
"savanna",
133
+
"grassland",
134
+
"wetland",
135
+
"desert",
136
+
"alpine",
137
+
"marine",
138
+
"freshwater",
139
+
"urban",
140
+
"agroforestry",
141
+
"other"
142
+
],
143
+
"maxGraphemes": 128
144
+
},
145
+
"maxLength": 10,
146
+
"description": "Types of ecosystems the organization works in"
147
+
},
148
+
"dataDownloadUrl": {
77
149
"type": "string",
78
-
"maxLength": 5000,
79
-
"minLength": 50,
150
+
"format": "uri",
151
+
"description": "URL to download the organization's data",
152
+
"maxGraphemes": 512
153
+
},
154
+
"longDescription": {
155
+
"ref": "pub.leaflet.pages.linearDocument",
156
+
"type": "ref",
80
157
"description": "The long description of the organization or project in richtext"
81
158
},
159
+
"dataDownloadInfo": {
160
+
"type": "string",
161
+
"description": "Description of available data downloads",
162
+
"maxGraphemes": 1024
163
+
},
82
164
"shortDescription": {
165
+
"ref": "app.gainforest.common.defs#richtext",
166
+
"type": "ref",
167
+
"description": "The description of the organization or project"
168
+
},
169
+
"focusSpeciesGroups": {
170
+
"type": "array",
171
+
"items": {
172
+
"type": "string",
173
+
"knownValues": [
174
+
"mammals",
175
+
"birds",
176
+
"reptiles",
177
+
"amphibians",
178
+
"fish",
179
+
"insects",
180
+
"arachnids",
181
+
"mollusks",
182
+
"crustaceans",
183
+
"trees",
184
+
"shrubs",
185
+
"herbs",
186
+
"grasses",
187
+
"ferns",
188
+
"mosses",
189
+
"fungi",
190
+
"algae",
191
+
"coral",
192
+
"other"
193
+
],
194
+
"maxGraphemes": 64
195
+
},
196
+
"maxLength": 20,
197
+
"description": "Species groups the organization focuses on"
198
+
},
199
+
"fundingSourcesDescription": {
83
200
"type": "string",
84
-
"maxLength": 2000,
85
-
"minLength": 50,
86
-
"description": "The description of the organization or project"
201
+
"description": "Description of the organization's funding sources",
202
+
"maxGraphemes": 2048
87
203
}
88
204
}
89
205
},
90
206
"description": "A declaration of an organization or project"
207
+
},
208
+
"socialLink": {
209
+
"type": "object",
210
+
"required": [
211
+
"platform",
212
+
"url"
213
+
],
214
+
"properties": {
215
+
"url": {
216
+
"type": "string",
217
+
"format": "uri",
218
+
"description": "The URL of the social media profile or page",
219
+
"maxGraphemes": 512
220
+
},
221
+
"platform": {
222
+
"type": "string",
223
+
"description": "The social media platform",
224
+
"knownValues": [
225
+
"twitter",
226
+
"instagram",
227
+
"facebook",
228
+
"linkedin",
229
+
"youtube",
230
+
"tiktok",
231
+
"github",
232
+
"discord",
233
+
"telegram",
234
+
"other"
235
+
],
236
+
"maxGraphemes": 64
237
+
}
238
+
},
239
+
"description": "A social media link for an organization"
91
240
}
92
241
},
93
242
"$type": "com.atproto.lexicon.schema",
94
243
"lexicon": 1
95
244
}