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