Moved the standards package out of internal/ so it can be imported by downstream consumers.
All checks were successful
ci/woodpecker/push/build-image Pipeline was successful
All checks were successful
ci/woodpecker/push/build-image Pipeline was successful
This commit is contained in:
28
standards/schema.go
Normal file
28
standards/schema.go
Normal file
@@ -0,0 +1,28 @@
|
||||
package standards
|
||||
|
||||
// Schema strings used by weatherfeeder.
|
||||
//
|
||||
// We standardize on schema matching for normalizers (rather than matching on
|
||||
// source names or kinds) because schema strings are explicit, versionable, and
|
||||
// independent of user configuration.
|
||||
//
|
||||
// Conventions:
|
||||
// - Raw upstream payloads: "raw.<provider>.<thing>.vN"
|
||||
// - Canonical domain events: "weather.<kind>.vN"
|
||||
const (
|
||||
// Raw upstream schemas (emitted by sources).
|
||||
SchemaRawNWSObservationV1 = "raw.nws.observation.v1"
|
||||
SchemaRawOpenMeteoCurrentV1 = "raw.openmeteo.current.v1"
|
||||
SchemaRawOpenWeatherCurrentV1 = "raw.openweather.current.v1"
|
||||
|
||||
SchemaRawNWSHourlyForecastV1 = "raw.nws.hourly.forecast.v1"
|
||||
SchemaRawOpenMeteoHourlyForecastV1 = "raw.openmeteo.hourly.forecast.v1"
|
||||
SchemaRawOpenWeatherHourlyForecastV1 = "raw.openweather.hourly.forecast.v1"
|
||||
|
||||
SchemaRawNWSAlertsV1 = "raw.nws.alerts.v1"
|
||||
|
||||
// Canonical domain schemas (emitted after normalization).
|
||||
SchemaWeatherObservationV1 = "weather.observation.v1"
|
||||
SchemaWeatherForecastV1 = "weather.forecast.v1"
|
||||
SchemaWeatherAlertV1 = "weather.alert.v1"
|
||||
)
|
||||
Reference in New Issue
Block a user