lol.letsmeet.poll.schedule
Schema Diff
+9 -0
Compatibility Analysis
Backward Compatible
Backward compatible. 6 non-breaking changes.
Non-Breaking Changes (6)
- AddedVertex AddedVertex { vertex_id: "com.atproto.repo.strongRef" }
- AddedVertex AddedVertex { vertex_id: "lol.letsmeet.poll.schedule:body.events" }
- AddedVertex AddedVertex { vertex_id: "lol.letsmeet.poll.schedule:body.events:items" }
- AddedEdge AddedEdge { src: "lol.letsmeet.poll.schedule:body", tgt: "lol.letsmeet.poll.schedule:body.events", kind: "prop", name: Some("events") }
- AddedEdge AddedEdge { src: "lol.letsmeet.poll.schedule:body.events", tgt: "lol.letsmeet.poll.schedule:body.events:items", kind: "items", name: None }
- AddedEdge AddedEdge { src: "lol.letsmeet.poll.schedule:body.events:items", tgt: "com.atproto.repo.strongRef", kind: "ref", name: None }
Migration Guidance
Added Elements
AddedVertex { vertex_id: "com.atproto.repo.strongRef" }AddedVertex { vertex_id: "lol.letsmeet.poll.schedule:body.events" }AddedVertex { vertex_id: "lol.letsmeet.poll.schedule:body.events:items" }
Additional Notes
- Non-breaking: AddedEdge { src: "lol.letsmeet.poll.schedule:body", tgt: "lol.letsmeet.poll.schedule:body.events", kind: "prop", name: Some("events") }
- Non-breaking: AddedEdge { src: "lol.letsmeet.poll.schedule:body.events", tgt: "lol.letsmeet.poll.schedule:body.events:items", kind: "items", name: None }
- Non-breaking: AddedEdge { src: "lol.letsmeet.poll.schedule:body.events:items", tgt: "com.atproto.repo.strongRef", kind: "ref", name: None }
1
1
{
2
2
"id": "lol.letsmeet.poll.schedule",
3
3
"defs": {
4
4
"main": {
5
5
"key": "tid",
6
6
"type": "record",
7
7
"record": {
8
8
"type": "object",
9
9
"required": [
10
10
"title",
11
11
"time",
12
12
"status",
13
13
"createdAt"
14
14
],
15
15
"properties": {
16
16
"time": {
17
17
"refs": [
18
18
"#specificDates"
19
19
],
20
20
"type": "union"
21
21
},
22
22
"title": {
23
23
"type": "string",
24
24
"maxLength": 800,
25
25
"maxGraphemes": 200
26
26
},
27
+
"events": {
28
+
"type": "array",
29
+
"items": {
30
+
"ref": "com.atproto.repo.strongRef",
31
+
"type": "ref"
32
+
},
33
+
"maxLength": 8,
34
+
"description": "The calendar event records filed in the host's repo for the chosen time(s), so a repick or reopen can remove them."
35
+
},
27
36
"status": {
28
37
"enum": [
29
38
"active",
30
39
"closed",
31
40
"finalized",
32
41
"cancelled"
33
42
],
34
43
"type": "string"
35
44
},
36
45
"closesAt": {
37
46
"type": "string",
38
47
"format": "datetime"
39
48
},
40
49
"createdAt": {
41
50
"type": "string",
42
51
"format": "datetime"
43
52
},
44
53
"finalized": {
45
54
"ref": "#interval",
46
55
"type": "ref"
47
56
},
48
57
"description": {
49
58
"type": "string",
50
59
"maxLength": 8000,
51
60
"maxGraphemes": 2000
52
61
}
53
62
}
54
63
},
55
64
"description": "An availability poll: date range, daily window, granularity."
56
65
},
57
66
"interval": {
58
67
"type": "object",
59
68
"required": [
60
69
"start",
61
70
"end"
62
71
],
63
72
"properties": {
64
73
"end": {
65
74
"type": "string",
66
75
"format": "datetime"
67
76
},
68
77
"start": {
69
78
"type": "string",
70
79
"format": "datetime"
71
80
}
72
81
}
73
82
},
74
83
"dayWindow": {
75
84
"type": "object",
76
85
"required": [
77
86
"start",
78
87
"end"
79
88
],
80
89
"properties": {
81
90
"end": {
82
91
"type": "string",
83
92
"maxLength": 5
84
93
},
85
94
"start": {
86
95
"type": "string",
87
96
"maxLength": 5
88
97
}
89
98
}
90
99
},
91
100
"specificDates": {
92
101
"type": "object",
93
102
"required": [
94
103
"dates",
95
104
"window",
96
105
"slotMinutes",
97
106
"timezone"
98
107
],
99
108
"properties": {
100
109
"dates": {
101
110
"type": "array",
102
111
"items": {
103
112
"type": "string"
104
113
},
105
114
"maxLength": 31
106
115
},
107
116
"window": {
108
117
"ref": "#dayWindow",
109
118
"type": "ref"
110
119
},
111
120
"timezone": {
112
121
"type": "string",
113
122
"maxLength": 64
114
123
},
115
124
"slotMinutes": {
116
125
"enum": [
117
126
10,
118
127
15,
119
128
20,
120
129
30,
121
130
45,
122
131
60,
123
132
90,
124
133
120
125
134
],
126
135
"type": "integer"
127
136
}
128
137
}
129
138
}
130
139
},
131
140
"$type": "com.atproto.lexicon.schema",
132
141
"lexicon": 1
133
142
}