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