lol.letsmeet.poll.schedule

ken.wzrdz.cool

Schema Diff

+9 -0

From

CID
bafyreiebpnzeuyv...
Indexed At
2026-09-01 20:39 UTC
View this version

To

CID
bafyreig7ymn7s4w...
Indexed At
2026-09-09 20:59 UTC
View this version

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
}

Compare Other Versions

Lexicon Garden

@