-
Notifications
You must be signed in to change notification settings - Fork 5
Open
Description
Summary
Add support for the community.lexicon.location.address type when publishing events to Bluesky, using address components from Nominatim geocoding.
Background
We already use Nominatim (OpenStreetMap) for geocoding addresses. Nominatim returns structured address components that we currently discard - we only extract lat/lon.
Nominatim Response Example
{
"lat": "38.272061",
"lon": "-85.640689",
"address": {
"house_number": "623",
"road": "Indian Ridge Road",
"city": "Louisville",
"state": "Kentucky",
"postcode": "40207",
"country": "United States",
"country_code": "us"
}
}ATProto Address Schema
{
"$type": "community.lexicon.location.address",
"country": "US", // required - ISO 3166
"street": "623 Indian Ridge Road",
"locality": "Louisville", // city
"region": "Kentucky", // state
"postalCode": "40207",
"name": "Event Venue" // optional
}Proposed Implementation
- Update
geocodeAddress()to requestaddressdetails=1from Nominatim - Store address components in event entity (new fields or in sourceData)
- When publishing to Bluesky with structured address data, use
addresstype - Fall back to
geotype when only coordinates available
Current Code Location
src/event/services/event-integration.service.ts:399-geocodeAddress()method
Related
- PR fix(bluesky): correct ATProto location schema for event creation #449 - Fixed geo and URI location types
Metadata
Metadata
Assignees
Labels
No labels
Type
Projects
Status
Backlog