id.sifa.profile.volunteering
Schema Diff
+7 -4
Compatibility Analysis
Backward Compatible
Backward compatible. 4 non-breaking changes.
Non-Breaking Changes (4)
- AddedVertex AddedVertex { vertex_id: "id.sifa.profile.volunteering:body.entityRef" }
- AddedEdge AddedEdge { src: "id.sifa.profile.volunteering:body", tgt: "id.sifa.profile.volunteering:body.entityRef", kind: "prop", name: Some("entityRef") }
- ConstraintRemoved ConstraintRemoved { vertex_id: "id.sifa.profile.volunteering:body.endedAt", sort: "format" }
- ConstraintRemoved ConstraintRemoved { vertex_id: "id.sifa.profile.volunteering:body.startedAt", sort: "format" }
Migration Guidance
Added Elements
AddedVertex { vertex_id: "id.sifa.profile.volunteering:body.entityRef" }
Constraint Changes
- ConstraintRemoved ConstraintRemoved { vertex_id: "id.sifa.profile.volunteering:body.startedAt", sort: "format" }
- ConstraintRemoved ConstraintRemoved { vertex_id: "id.sifa.profile.volunteering:body.endedAt", sort: "format" }
Additional Notes
- Non-breaking: AddedEdge { src: "id.sifa.profile.volunteering:body", tgt: "id.sifa.profile.volunteering:body.entityRef", kind: "prop", name: Some("entityRef") }
1
1
{
2
2
"$type": "com.atproto.lexicon.schema",
3
3
"defs": {
4
4
"main": {
5
5
"description": "Record representing a single volunteer role.",
6
6
"key": "tid",
7
7
"record": {
8
8
"properties": {
9
9
"cause": {
10
10
"description": "Cause area (e.g., 'Education', 'Environment', 'Health').",
11
11
"maxGraphemes": 256,
12
12
"maxLength": 2560,
13
13
"type": "string"
14
14
},
15
15
"createdAt": {
16
16
"description": "Client-declared timestamp when this record was originally created.",
17
17
"format": "datetime",
18
18
"type": "string"
19
19
},
20
20
"description": {
21
21
"description": "Description of volunteer activities and impact.",
22
22
"maxGraphemes": 5000,
23
23
"maxLength": 50000,
24
24
"type": "string"
25
25
},
26
26
"endedAt": {
27
-
"description": "End date. Omit if currently volunteering.",
28
-
"format": "datetime",
27
+
"description": "End date in YYYY-MM or YYYY-MM-DD format. Omit if currently volunteering.",
29
28
"type": "string"
30
29
},
30
+
"entityRef": {
31
+
"description": "Portable, app-neutral identifier for the organization the user selected from a resolver dropdown: a Wikidata Q-ID URI (http://www.wikidata.org/entity/Q...), a ROR URI, or an LEI URI. Enables deterministic resolution to a canonical entity even before the organization claims an ATproto account. Absent for free-text entries.",
32
+
"format": "uri",
33
+
"type": "string"
34
+
},
31
35
"organization": {
32
36
"description": "Organization name.",
33
37
"maxGraphemes": 256,
34
38
"maxLength": 2560,
35
39
"minLength": 1,
36
40
"type": "string"
37
41
},
38
42
"organizationDid": {
39
43
"description": "DID of the organization's ATproto account, if one exists.",
40
44
"format": "did",
41
45
"type": "string"
42
46
},
43
47
"role": {
44
48
"description": "Volunteer role or title.",
45
49
"maxGraphemes": 256,
46
50
"maxLength": 2560,
47
51
"type": "string"
48
52
},
49
53
"startedAt": {
50
-
"description": "Start date of the volunteer role.",
51
-
"format": "datetime",
54
+
"description": "Start date of the volunteer role in YYYY-MM or YYYY-MM-DD format.",
52
55
"type": "string"
53
56
}
54
57
},
55
58
"required": [
56
59
"organization",
57
60
"createdAt"
58
61
],
59
62
"type": "object"
60
63
},
61
64
"type": "record"
62
65
}
63
66
},
64
67
"description": "A volunteer experience entry in the user's professional profile.",
65
68
"id": "id.sifa.profile.volunteering",
66
69
"lexicon": 1
67
70
}