Documentation ¶
Index ¶
- Constants
- Variables
- func NewServer(graphqlHandler http.Handler) (http.Handler, error)
- type AgencyKeyRequest
- type AgencyRequest
- type FeedDownloadLatestFeedVersionRequest
- type FeedRequest
- type FeedVersionDownloadRequest
- type FeedVersionRequest
- type LicenseFilter
- type OperatorRequest
- type RequestAltPath
- type RequestInfo
- type RequestOperation
- type RouteKeyRequest
- type RouteRequest
- type StopDepartureRequest
- type StopEntityRequest
- type StopRequest
- type TripEntityRequest
- type TripRequest
- type WithCursor
Constants ¶
const CIRCLESIZE = 10
CIRCLESIZE .
const CIRCLEWIDTH = 5
CIRCLEWIDTH .
const DEFAULTLIMIT = 20
DEFAULTLIMIT is the default API limit
const MAXRADIUS = 100 * 1000.0
MAXRADIUS is the maximum point search radius
Variables ¶
var MAXLIMIT = 1_000
MAXLIMIT is the API limit maximum
var ParameterComponents = oa.ParametersMap{ "adm0IsoParam": &pref{ Value: ¶m{ Name: "adm0_iso", In: "query", Description: `Search by country 2 letter ISO 3166 code`, Schema: newSRVal("string", "", nil), }, }, "adm0NameParam": &pref{ Value: ¶m{ Name: "adm0_name", In: "query", Description: `Search by country name`, Schema: newSRVal("string", "", nil), }, }, "adm1IsoParam": &pref{ Value: ¶m{ Name: "adm1_iso", In: "query", Description: `Search by state/province/division ISO 3166-2 code`, Schema: newSRVal("string", "", nil), }, }, "adm1NameParam": &pref{ Value: ¶m{ Name: "adm1_name", In: "query", Description: `Search by state/province/division name`, Schema: newSRVal("string", "", nil), }, }, "afterParam": &pref{ Value: ¶m{ Name: "after", In: "query", Description: `Pagination cursor value. This should be treated as an opaque value created by the server and returned as the link to the next result page, which may be empty. For historical reasons, this is based on the integer record ID values, but that should not be assumed to be the case in the future.`, Schema: newSRVal("integer", "int32", nil), }, }, "bboxParam": &pref{ Value: ¶m{ Name: "bbox", In: "query", Description: `Geographic search using a bounding box, with coordinates in (min_lon, min_lat, max_lon, max_lat) order as a comma separated string`, Schema: newSRVal("string", "", nil), }, }, "cityNameParam": &pref{ Value: ¶m{ Name: "city_name", In: "query", Description: `Search by city name`, Schema: newSRVal("string", "", nil), }, }, "feedParam": &pref{ Value: ¶m{ Name: "feed_onestop_id", In: "query", Description: `Search for records in this feed`, Schema: newSRVal("string", "", nil), }, }, "formatParam": &pref{ Value: ¶m{ Name: "format", In: "query", Description: `Response format`, Schema: newSRVal("string", "", []any{"json", "geojson", "geojsonl", "png"}), }, }, "idParam": &pref{ Value: ¶m{ Name: "id", In: "query", Description: `Search for a specific internal ID`, Schema: newSRVal("integer", "int32", nil), }, }, "includeAlertsParam": &pref{ Value: ¶m{ Name: "include_alerts", In: "query", Description: `Include alerts from GTFS Realtime feeds`, Schema: newSRVal("string", "", []any{"true", "false"}), }, }, "latParam": &pref{ Value: ¶m{ Name: "lat", In: "query", Description: `Latitude`, Schema: newSRVal("number", "", nil), }, }, "licenseCommercialUseAllowedParam": &pref{ Value: ¶m{ Name: "license_commercial_use_allowed", In: "query", Description: `Filter entities by feed license 'commercial_use_allowed' value. Please see Source Feed concept for details on license values. 'exclude_no' is equivalent to 'yes' and 'unknown'.`, Schema: newSRVal("string", "", []any{"yes", "no", "unknown", "exclude_no"}), }, }, "licenseCreateDerivedProductParam": &pref{ Value: ¶m{ Name: "license_create_derived_product", In: "query", Description: `Filter entities by feed license 'create_derived_product' value. Please see Source Feed concept for details on license values. 'exclude_no' is equivalent to 'yes' and 'unknown'.`, Schema: newSRVal("string", "", []any{"yes", "no", "unknown", "exclude_no"}), }, }, "licenseRedistributionAllowedParam": &pref{ Value: ¶m{ Name: "license_redistribution_allowed", In: "query", Description: `Filter entities by feed license 'redistribution_allowed' value. Please see Source Feed concept for details on license values. 'exclude_no' is equivalent to 'yes' and 'unknown'.`, Schema: newSRVal("string", "", []any{"yes", "no", "unknown", "exclude_no"}), }, }, "licenseShareAlikeOptionalParam": &pref{ Value: ¶m{ Name: "license_share_alike_optional", In: "query", Description: `Filter entities by feed license 'share_alike_optional' value. Please see Source Feed concept for details on license values. 'exclude_no' is equivalent to 'yes' and 'unknown'.`, Schema: newSRVal("string", "", []any{"yes", "no", "unknown", "exclude_no"}), }, }, "licenseUseWithoutAttributionParam": &pref{ Value: ¶m{ Name: "license_use_without_attribution", In: "query", Description: `Filter entities by feed license 'use_without_attribution' value. Please see Source Feed concept for details on license values. 'exclude_no' is equivalent to 'yes' and 'unknown'.`, Schema: newSRVal("string", "", []any{"yes", "no", "unknown", "exclude_no"}), }, }, "limitParam": &pref{ Value: ¶m{ Name: "limit", In: "query", Description: `Maximum number of records to return`, Schema: newSRVal("integer", "int32", nil), }, }, "lonParam": &pref{ Value: ¶m{ Name: "lon", In: "query", Description: `Longitude`, Schema: newSRVal("number", "", nil), }, }, "onestopParam": &pref{ Value: ¶m{ Name: "onestop_id", In: "query", Description: `Search for a specific Onestop ID`, Schema: newSRVal("string", "", nil), }, }, "radiusParam": &pref{ Value: ¶m{ Name: "radius", In: "query", Description: `Search radius (meters); requires lat and lon`, Schema: newSRVal("number", "", nil), }, }, "relativeDateParam": &pref{ Value: ¶m{ Name: "relative_date", In: "query", Description: `Search for departures on a relative date label, e.g. TODAY, TUESDAY, NEXT_WEDNESDAY`, Schema: newSRVal("string", "", []any{"TODAY", "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY", "SUNDAY", "NEXT_MONDAY", "NEXT_TUESDAY", "NEXT_WEDNESDAY", "NEXT_THURSDAY", "NEXT_FRIDAY", "NEXT_SATURDAY", "NEXT_SUNDAY"}), }, }, "searchParam": &pref{ Value: ¶m{ Name: "search", In: "query", Description: `Full text search`, Schema: newSRVal("string", "", nil), }, }, "sha1Param": &pref{ Value: ¶m{ Name: "feed_version_sha1", In: "query", Description: `Search for records in this feed version`, Schema: newSRVal("string", "", nil), }, }, }
Functions ¶
Types ¶
type AgencyKeyRequest ¶
type AgencyKeyRequest struct {
AgencyRequest
}
func (AgencyKeyRequest) RequestInfo ¶
func (r AgencyKeyRequest) RequestInfo() RequestInfo
type AgencyRequest ¶
type AgencyRequest struct { ID int `json:"id,string"` AgencyKey string `json:"agency_key"` AgencyID string `json:"agency_id"` AgencyName string `json:"agency_name"` OnestopID string `json:"onestop_id"` FeedVersionSHA1 string `json:"feed_version_sha1"` FeedOnestopID string `json:"feed_onestop_id"` Search string `json:"search"` Lon float64 `json:"lon,string"` Lat float64 `json:"lat,string"` Bbox *restBbox `json:"bbox"` Radius float64 `json:"radius,string"` Adm0Name string `json:"adm0_name"` Adm0Iso string `json:"adm0_iso"` Adm1Name string `json:"adm1_name"` Adm1Iso string `json:"adm1_iso"` CityName string `json:"city_name"` IncludeAlerts bool `json:"include_alerts,string"` IncludeRoutes bool `json:"include_routes,string"` LicenseFilter WithCursor }
AgencyRequest holds options for an Agency request
func (AgencyRequest) Query ¶
func (r AgencyRequest) Query(ctx context.Context) (string, map[string]interface{})
Query returns a GraphQL query string and variables.
func (AgencyRequest) RequestInfo ¶
func (r AgencyRequest) RequestInfo() RequestInfo
func (AgencyRequest) ResponseKey ¶
func (r AgencyRequest) ResponseKey() string
ResponseKey returns the GraphQL response entity key.
type FeedDownloadLatestFeedVersionRequest ¶
type FeedDownloadLatestFeedVersionRequest struct { }
Currently this exists only for OpenAPI documentation
func (FeedDownloadLatestFeedVersionRequest) Query ¶
func (r FeedDownloadLatestFeedVersionRequest) Query(ctx context.Context) (string, map[string]interface{})
Query returns a GraphQL query string and variables.
func (FeedDownloadLatestFeedVersionRequest) RequestInfo ¶
func (r FeedDownloadLatestFeedVersionRequest) RequestInfo() RequestInfo
type FeedRequest ¶
type FeedRequest struct { FeedKey string `json:"feed_key"` ID int `json:"id,string"` OnestopID string `json:"onestop_id"` Spec string `json:"spec"` Search string `json:"search"` FetchError string `json:"fetch_error"` TagKey string `json:"tag_key"` TagValue string `json:"tag_value"` URL string `json:"url"` URLType string `json:"url_type"` URLCaseSensitive bool `json:"url_case_sensitive"` Lon float64 `json:"lon,string"` Lat float64 `json:"lat,string"` Radius float64 `json:"radius,string"` Bbox *restBbox `json:"bbox"` LicenseFilter WithCursor }
FeedRequest holds options for a Feed request
func (FeedRequest) ProcessGeoJSON ¶
func (r FeedRequest) ProcessGeoJSON(response map[string]interface{}) error
ProcessGeoJSON .
func (FeedRequest) Query ¶
func (r FeedRequest) Query(ctx context.Context) (string, map[string]interface{})
Query returns a GraphQL query string and variables.
func (FeedRequest) RequestInfo ¶
func (r FeedRequest) RequestInfo() RequestInfo
type FeedVersionDownloadRequest ¶
type FeedVersionDownloadRequest struct { }
Currently this exists only for OpenAPI documentation
func (FeedVersionDownloadRequest) Query ¶
func (r FeedVersionDownloadRequest) Query(ctx context.Context) (string, map[string]interface{})
Query returns a GraphQL query string and variables.
func (FeedVersionDownloadRequest) RequestInfo ¶
func (r FeedVersionDownloadRequest) RequestInfo() RequestInfo
type FeedVersionRequest ¶
type FeedVersionRequest struct { FeedVersionKey string `json:"feed_version_key"` FeedKey string `json:"feed_key"` ID int `json:"id,string"` FeedID int `json:"feed_id,string"` FeedOnestopID string `json:"feed_onestop_id"` Sha1 string `json:"sha1"` FetchedBefore string `json:"fetched_before"` FetchedAfter string `json:"fetched_after"` CoversStartDate string `json:"covers_start_date"` CoversEndDate string `json:"covers_end_date"` Lon float64 `json:"lon,string"` Lat float64 `json:"lat,string"` Radius float64 `json:"radius,string"` Bbox *restBbox `json:"bbox"` WithCursor }
FeedVersionRequest holds options for a Feed Version request
func (FeedVersionRequest) Query ¶
func (r FeedVersionRequest) Query(ctx context.Context) (string, map[string]interface{})
Query returns a GraphQL query string and variables.
func (FeedVersionRequest) RequestInfo ¶
func (r FeedVersionRequest) RequestInfo() RequestInfo
func (FeedVersionRequest) ResponseKey ¶
func (r FeedVersionRequest) ResponseKey() string
ResponseKey .
type LicenseFilter ¶
type LicenseFilter struct { LicenseCommercialUseAllowed string `json:"license_commercial_use_allowed"` LicenseCreateDerivedProduct string `json:"license_create_derived_product"` LicenseRedistributionAllowed string `json:"license_redistribution_allowed"` LicenseUseWithoutAttribution string `json:"license_use_without_attribution"` }
type OperatorRequest ¶
type OperatorRequest struct { OperatorKey string `json:"operator_key"` ID int `json:"id,string"` OnestopID string `json:"onestop_id"` FeedOnestopID string `json:"feed_onestop_id"` Search string `json:"search"` TagKey string `json:"tag_key"` TagValue string `json:"tag_value"` Lon float64 `json:"lon,string"` Lat float64 `json:"lat,string"` Bbox *restBbox `json:"bbox"` Radius float64 `json:"radius,string"` Adm0Name string `json:"adm0_name"` Adm0Iso string `json:"adm0_iso"` Adm1Name string `json:"adm1_name"` Adm1Iso string `json:"adm1_iso"` CityName string `json:"city_name"` IncludeAlerts bool `json:"include_alerts,string"` LicenseFilter WithCursor }
OperatorRequest holds options for an Operator request
func (OperatorRequest) Query ¶
func (r OperatorRequest) Query(ctx context.Context) (string, map[string]interface{})
Query returns a GraphQL query string and variables.
func (OperatorRequest) RequestInfo ¶
func (r OperatorRequest) RequestInfo() RequestInfo
func (OperatorRequest) ResponseKey ¶
func (r OperatorRequest) ResponseKey() string
ResponseKey returns the GraphQL response entity key.
type RequestAltPath ¶
type RequestInfo ¶
type RequestInfo struct { Path string Description string Get RequestOperation }
type RequestOperation ¶
type RouteKeyRequest ¶
type RouteKeyRequest struct {
RouteRequest
}
func (RouteKeyRequest) RequestInfo ¶
func (r RouteKeyRequest) RequestInfo() RequestInfo
type RouteRequest ¶
type RouteRequest struct { ID int `json:"id,string"` RouteKey string `json:"route_key"` AgencyKey string `json:"agency_key"` RouteID string `json:"route_id"` RouteType string `json:"route_type"` RouteTypes string `json:"route_types"` OnestopID string `json:"onestop_id"` OperatorOnestopID string `json:"operator_onestop_id"` Format string `json:"format"` Search string `json:"search"` AgencyID int `json:"agency_id,string"` FeedVersionSHA1 string `json:"feed_version_sha1"` FeedOnestopID string `json:"feed_onestop_id"` Lon float64 `json:"lon,string"` Lat float64 `json:"lat,string"` Radius float64 `json:"radius,string"` Bbox *restBbox `json:"bbox"` IncludeGeometry bool `json:"include_geometry,string"` IncludeAlerts bool `json:"include_alerts,string"` IncludeStops bool `json:"include_stops,string"` LicenseFilter WithCursor }
RouteRequest holds options for a Route request
func (RouteRequest) Query ¶
func (r RouteRequest) Query(ctx context.Context) (string, map[string]interface{})
Query returns a GraphQL query string and variables.
func (RouteRequest) RequestInfo ¶
func (r RouteRequest) RequestInfo() RequestInfo
func (RouteRequest) ResponseKey ¶
func (r RouteRequest) ResponseKey() string
ResponseKey returns the GraphQL response entity key.
type StopDepartureRequest ¶
type StopDepartureRequest struct { StopKey string `json:"stop_key"` ID int `json:"id,string"` StopID string `json:"stop_id"` FeedOnestopID string `json:"feed_onestop_id"` OnestopID string `json:"onestop_id"` Next int `json:"next,string"` ServiceDate string `json:"service_date"` Date string `json:"date"` RelativeDate string `json:"relative_date"` StartTime string `json:"start_time"` EndTime string `json:"end_time"` IncludeGeometry bool `json:"include_geometry,string"` IncludeAlerts bool `json:"include_alerts,string"` UseServiceWindow *bool `json:"use_service_window,string"` WithCursor }
StopDepartureRequest holds options for a /stops/_/departures request
func (StopDepartureRequest) IncludeNext ¶
func (r StopDepartureRequest) IncludeNext() bool
IncludeNext
func (StopDepartureRequest) Query ¶
func (r StopDepartureRequest) Query(ctx context.Context) (string, map[string]interface{})
Query returns a GraphQL query string and variables.
func (StopDepartureRequest) RequestInfo ¶
func (r StopDepartureRequest) RequestInfo() RequestInfo
func (StopDepartureRequest) ResponseKey ¶
func (r StopDepartureRequest) ResponseKey() string
ResponseKey returns the GraphQL response entity key.
type StopEntityRequest ¶
type StopEntityRequest struct {
StopRequest
}
func (StopEntityRequest) RequestInfo ¶
func (r StopEntityRequest) RequestInfo() RequestInfo
type StopRequest ¶
type StopRequest struct { ID int `json:"id,string"` StopKey string `json:"stop_key"` StopID string `json:"stop_id"` OnestopID string `json:"onestop_id"` FeedVersionSHA1 string `json:"feed_version_sha1"` FeedOnestopID string `json:"feed_onestop_id"` Search string `json:"search"` Bbox *restBbox `json:"bbox"` Lon float64 `json:"lon,string"` Lat float64 `json:"lat,string"` Radius float64 `json:"radius,string"` Format string `json:"format"` ServedByOnestopIds string `json:"served_by_onestop_ids"` ServedByRouteType *int `json:"served_by_route_type,string"` ServedByRouteTypes string `json:"served_by_route_types"` IncludeAlerts bool `json:"include_alerts,string"` IncludeRoutes bool `json:"include_routes,string"` LicenseFilter WithCursor }
StopRequest holds options for a /stops request
func (StopRequest) RequestInfo ¶
func (r StopRequest) RequestInfo() RequestInfo
func (StopRequest) ResponseKey ¶
func (r StopRequest) ResponseKey() string
ResponseKey returns the GraphQL response entity key.
type TripEntityRequest ¶
type TripEntityRequest struct {
TripRequest
}
func (TripEntityRequest) RequestInfo ¶
func (r TripEntityRequest) RequestInfo() RequestInfo
type TripRequest ¶
type TripRequest struct { ID int `json:"id,string"` TripID string `json:"trip_id"` RouteKey string `json:"route_key"` RouteID int `json:"route_id,string"` RouteOnestopID string `json:"route_onestop_id"` FeedOnestopID string `json:"feed_onestop_id"` FeedVersionSHA1 string `json:"feed_version_sha1"` ServiceDate string `json:"service_date"` RelativeDate string `json:"relative_date"` IncludeGeometry bool `json:"include_geometry,string"` IncludeStopTimes bool `json:"include_stop_times,string"` IncludeAlerts bool `json:"include_alerts,string"` Format string LicenseFilter WithCursor }
TripRequest holds options for a /trips request
func (TripRequest) ProcessGeoJSON ¶
func (r TripRequest) ProcessGeoJSON(response map[string]interface{}) error
ProcessGeoJSON .
func (TripRequest) Query ¶
func (r TripRequest) Query(ctx context.Context) (string, map[string]interface{})
Query returns a GraphQL query string and variables.
func (TripRequest) RequestInfo ¶
func (r TripRequest) RequestInfo() RequestInfo
type WithCursor ¶
func (WithCursor) CheckAfter ¶
func (w WithCursor) CheckAfter() int
func (WithCursor) CheckLimit ¶
func (w WithCursor) CheckLimit() int