Calendar and Location types (#23)
Signed-off-by: Nick Gerakines <12125+ngerakines@users.noreply.github.com>
This commit is contained in:
		
							
								
								
									
										146
									
								
								community/lexicon/calendar/event.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										146
									
								
								community/lexicon/calendar/event.json
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,146 @@ | |||||||
|  | { | ||||||
|  |     "lexicon": 1, | ||||||
|  |     "id": "community.lexicon.calendar.event", | ||||||
|  |     "defs": { | ||||||
|  |         "main": { | ||||||
|  |             "type": "record", | ||||||
|  |             "description": "A calendar event.", | ||||||
|  |             "key": "tid", | ||||||
|  |             "record": { | ||||||
|  |                 "type": "object", | ||||||
|  |                 "required": [ | ||||||
|  |                     "createdAt", | ||||||
|  |                     "name" | ||||||
|  |                 ], | ||||||
|  |                 "properties": { | ||||||
|  |                     "name": { | ||||||
|  |                         "type": "string", | ||||||
|  |                         "description": "The name of the event." | ||||||
|  |                     }, | ||||||
|  |                     "description": { | ||||||
|  |                         "type": "string", | ||||||
|  |                         "description": "The description of the event." | ||||||
|  |                     }, | ||||||
|  |                     "createdAt": { | ||||||
|  |                         "type": "string", | ||||||
|  |                         "format": "datetime", | ||||||
|  |                         "description": "Client-declared timestamp when the event was created." | ||||||
|  |                     }, | ||||||
|  |                     "startsAt": { | ||||||
|  |                         "type": "string", | ||||||
|  |                         "format": "datetime", | ||||||
|  |                         "description": "Client-declared timestamp when the event starts." | ||||||
|  |                     }, | ||||||
|  |                     "endsAt": { | ||||||
|  |                         "type": "string", | ||||||
|  |                         "format": "datetime", | ||||||
|  |                         "description": "Client-declared timestamp when the event ends." | ||||||
|  |                     }, | ||||||
|  |                     "mode": { | ||||||
|  |                         "type": "ref", | ||||||
|  |                         "ref": "community.lexicon.calendar.event#mode", | ||||||
|  |                         "description": "The attendance mode of the event." | ||||||
|  |                     }, | ||||||
|  |                     "status": { | ||||||
|  |                         "type": "ref", | ||||||
|  |                         "ref": "community.lexicon.calendar.event#status", | ||||||
|  |                         "description": "The status of the event." | ||||||
|  |                     }, | ||||||
|  |                     "locations": { | ||||||
|  |                         "type": "array", | ||||||
|  |                         "description": "The locations where the event takes place.", | ||||||
|  |                         "items": { | ||||||
|  |                             "type": "union", | ||||||
|  |                             "refs": [ | ||||||
|  |                                 "community.lexicon.calendar.event#uri", | ||||||
|  |                                 "community.lexicon.location.address", | ||||||
|  |                                 "community.lexicon.location.fsq", | ||||||
|  |                                 "community.lexicon.location.geo", | ||||||
|  |                                 "community.lexicon.location.h3" | ||||||
|  |                             ] | ||||||
|  |                         } | ||||||
|  |                     }, | ||||||
|  |                     "uris": { | ||||||
|  |                         "type": "array", | ||||||
|  |                         "description": "URIs associated with the event.", | ||||||
|  |                         "items": { | ||||||
|  |                             "type": "ref", | ||||||
|  |                             "ref": "community.lexicon.calendar.event#uri" | ||||||
|  |                         } | ||||||
|  |                     } | ||||||
|  |                 } | ||||||
|  |             } | ||||||
|  |         }, | ||||||
|  |         "mode": { | ||||||
|  |             "type": "string", | ||||||
|  |             "description": "The mode of the event.", | ||||||
|  |             "default": "community.lexicon.calendar.event#inperson", | ||||||
|  |             "knownValues": [ | ||||||
|  |                 "community.lexicon.calendar.event#hybrid", | ||||||
|  |                 "community.lexicon.calendar.event#inperson", | ||||||
|  |                 "community.lexicon.calendar.event#virtual" | ||||||
|  |             ] | ||||||
|  |         }, | ||||||
|  |         "virtual": { | ||||||
|  |             "type": "token", | ||||||
|  |             "description": "A virtual event that takes place online." | ||||||
|  |         }, | ||||||
|  |         "inperson": { | ||||||
|  |             "type": "token", | ||||||
|  |             "description": "An in-person event that takes place offline." | ||||||
|  |         }, | ||||||
|  |         "hybrid": { | ||||||
|  |             "type": "token", | ||||||
|  |             "description": "A hybrid event that takes place both online and offline." | ||||||
|  |         }, | ||||||
|  |         "status": { | ||||||
|  |             "type": "string", | ||||||
|  |             "description": "The status of the event.", | ||||||
|  |             "default": "community.lexicon.calendar.event#scheduled", | ||||||
|  |             "knownValues": [ | ||||||
|  |                 "community.lexicon.calendar.event#cancelled", | ||||||
|  |                 "community.lexicon.calendar.event#planned", | ||||||
|  |                 "community.lexicon.calendar.event#postponed", | ||||||
|  |                 "community.lexicon.calendar.event#rescheduled", | ||||||
|  |                 "community.lexicon.calendar.event#scheduled" | ||||||
|  |             ] | ||||||
|  |         }, | ||||||
|  |         "planned": { | ||||||
|  |             "type": "token", | ||||||
|  |             "description": "The event has been created, but not finalized." | ||||||
|  |         }, | ||||||
|  |         "scheduled": { | ||||||
|  |             "type": "token", | ||||||
|  |             "description": "The event has been created and scheduled." | ||||||
|  |         }, | ||||||
|  |         "rescheduled": { | ||||||
|  |             "type": "token", | ||||||
|  |             "description": "The event has been rescheduled." | ||||||
|  |         }, | ||||||
|  |         "cancelled": { | ||||||
|  |             "type": "token", | ||||||
|  |             "description": "The event has been cancelled." | ||||||
|  |         }, | ||||||
|  |         "postponed": { | ||||||
|  |             "type": "token", | ||||||
|  |             "description": "The event has been postponed and a new start date has not been set." | ||||||
|  |         }, | ||||||
|  |         "uri": { | ||||||
|  |             "type": "object", | ||||||
|  |             "description": "A URI associated with the event.", | ||||||
|  |             "required": [ | ||||||
|  |                 "uri" | ||||||
|  |             ], | ||||||
|  |             "properties": { | ||||||
|  |                 "uri": { | ||||||
|  |                     "type": "string", | ||||||
|  |                     "format": "uri" | ||||||
|  |                 }, | ||||||
|  |                 "name": { | ||||||
|  |                     "type": "string", | ||||||
|  |                     "description": "The display name of the URI." | ||||||
|  |                 } | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  | } | ||||||
							
								
								
									
										45
									
								
								community/lexicon/calendar/rsvp.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										45
									
								
								community/lexicon/calendar/rsvp.json
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,45 @@ | |||||||
|  | { | ||||||
|  |     "lexicon": 1, | ||||||
|  |     "id": "community.lexicon.calendar.rsvp", | ||||||
|  |     "defs": { | ||||||
|  |         "main": { | ||||||
|  |             "type": "record", | ||||||
|  |             "description": "An RSVP for an event.", | ||||||
|  |             "key": "tid", | ||||||
|  |             "record": { | ||||||
|  |                 "type": "object", | ||||||
|  |                 "required": [ | ||||||
|  |                     "subject", | ||||||
|  |                     "status" | ||||||
|  |                 ], | ||||||
|  |                 "properties": { | ||||||
|  |                     "subject": { | ||||||
|  |                         "type": "ref", | ||||||
|  |                         "ref": "com.atproto.repo.strongRef" | ||||||
|  |                     }, | ||||||
|  |                     "status": { | ||||||
|  |                         "type": "string", | ||||||
|  |                         "default": "community.lexicon.calendar.rsvp#going", | ||||||
|  |                         "knownValues": [ | ||||||
|  |                             "community.lexicon.calendar.rsvp#interested", | ||||||
|  |                             "community.lexicon.calendar.rsvp#going", | ||||||
|  |                             "community.lexicon.calendar.rsvp#notgoing" | ||||||
|  |                         ] | ||||||
|  |                     } | ||||||
|  |                 } | ||||||
|  |             } | ||||||
|  |         }, | ||||||
|  |         "interested": { | ||||||
|  |             "type": "token", | ||||||
|  |             "description": "Interested in the event" | ||||||
|  |         }, | ||||||
|  |         "going": { | ||||||
|  |             "type": "token", | ||||||
|  |             "description": "Going to the event" | ||||||
|  |         }, | ||||||
|  |         "notgoing": { | ||||||
|  |             "type": "token", | ||||||
|  |             "description": "Not going to the event" | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  | } | ||||||
							
								
								
									
										41
									
								
								community/lexicon/location/address.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										41
									
								
								community/lexicon/location/address.json
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,41 @@ | |||||||
|  | { | ||||||
|  |     "lexicon": 1, | ||||||
|  |     "id": "community.lexicon.location.address", | ||||||
|  |     "defs": { | ||||||
|  |         "main": { | ||||||
|  |             "type": "object", | ||||||
|  |             "description": "A physical location in the form of a street address.", | ||||||
|  |             "required": [ | ||||||
|  |                 "country" | ||||||
|  |             ], | ||||||
|  |             "properties": { | ||||||
|  |                 "country": { | ||||||
|  |                     "type": "string", | ||||||
|  |                     "description": "The ISO 3166 country code. Preferably the 2-letter code.", | ||||||
|  |                     "minLength": 2, | ||||||
|  |                     "maxLength": 10 | ||||||
|  |                 }, | ||||||
|  |                 "postalCode": { | ||||||
|  |                     "type": "string", | ||||||
|  |                     "description": "The postal code of the location." | ||||||
|  |                 }, | ||||||
|  |                 "region": { | ||||||
|  |                     "type": "string", | ||||||
|  |                     "description": "The administrative region of the country. For example, a state in the USA." | ||||||
|  |                 }, | ||||||
|  |                 "locality": { | ||||||
|  |                     "type": "string", | ||||||
|  |                     "description": "The locality of the region. For example, a city in the USA." | ||||||
|  |                 }, | ||||||
|  |                 "street": { | ||||||
|  |                     "type": "string", | ||||||
|  |                     "description": "The street address." | ||||||
|  |                 }, | ||||||
|  |                 "name": { | ||||||
|  |                     "type": "string", | ||||||
|  |                     "description": "The name of the location." | ||||||
|  |                 } | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  | } | ||||||
							
								
								
									
										29
									
								
								community/lexicon/location/fsq.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										29
									
								
								community/lexicon/location/fsq.json
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,29 @@ | |||||||
|  | { | ||||||
|  |     "lexicon": 1, | ||||||
|  |     "id": "community.lexicon.location.fsq", | ||||||
|  |     "defs": { | ||||||
|  |         "main": { | ||||||
|  |             "type": "object", | ||||||
|  |             "description": "A physical location contained in the Foursquare Open Source Places dataset.", | ||||||
|  |             "required": [ | ||||||
|  |                 "fsq_place_id" | ||||||
|  |             ], | ||||||
|  |             "properties": { | ||||||
|  |                 "fsq_place_id": { | ||||||
|  |                     "type": "string", | ||||||
|  |                     "description": "The unique identifier of a Foursquare POI." | ||||||
|  |                 }, | ||||||
|  |                 "latitude": { | ||||||
|  |                     "type": "string" | ||||||
|  |                 }, | ||||||
|  |                 "longitude": { | ||||||
|  |                     "type": "string" | ||||||
|  |                 }, | ||||||
|  |                 "name": { | ||||||
|  |                     "type": "string", | ||||||
|  |                     "description": "The name of the location." | ||||||
|  |                 } | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  | } | ||||||
							
								
								
									
										29
									
								
								community/lexicon/location/geo.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										29
									
								
								community/lexicon/location/geo.json
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,29 @@ | |||||||
|  | { | ||||||
|  |     "lexicon": 1, | ||||||
|  |     "id": "community.lexicon.location.geo", | ||||||
|  |     "defs": { | ||||||
|  |         "main": { | ||||||
|  |             "type": "object", | ||||||
|  |             "description": "A physical location in the form of a WGS84 coordinate.", | ||||||
|  |             "required": [ | ||||||
|  |                 "latitude", | ||||||
|  |                 "longitude" | ||||||
|  |             ], | ||||||
|  |             "properties": { | ||||||
|  |                 "latitude": { | ||||||
|  |                     "type": "string" | ||||||
|  |                 }, | ||||||
|  |                 "longitude": { | ||||||
|  |                     "type": "string" | ||||||
|  |                 }, | ||||||
|  |                 "altitude": { | ||||||
|  |                     "type": "string" | ||||||
|  |                 }, | ||||||
|  |                 "name": { | ||||||
|  |                     "type": "string", | ||||||
|  |                     "description": "The name of the location." | ||||||
|  |                 } | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  | } | ||||||
							
								
								
									
										23
									
								
								community/lexicon/location/h3.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								community/lexicon/location/h3.json
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,23 @@ | |||||||
|  | { | ||||||
|  |     "lexicon": 1, | ||||||
|  |     "id": "community.lexicon.location.h3", | ||||||
|  |     "defs": { | ||||||
|  |         "main": { | ||||||
|  |             "type": "object", | ||||||
|  |             "description": "A physical location in the form of a H3 encoded location.", | ||||||
|  |             "required": [ | ||||||
|  |                 "value" | ||||||
|  |             ], | ||||||
|  |             "properties": { | ||||||
|  |                 "value": { | ||||||
|  |                     "type": "string", | ||||||
|  |                     "description": "The h3 encoded location." | ||||||
|  |                 }, | ||||||
|  |                 "name": { | ||||||
|  |                     "type": "string", | ||||||
|  |                     "description": "The name of the location." | ||||||
|  |                 } | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  | } | ||||||
		Reference in New Issue
	
	Block a user