Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var (
ErrKeyNotFound = errors.New("key not found")
)
Functions ¶
This section is empty.
Types ¶
type Aircraft ¶
type Aircraft struct {
ICAO string `csv:"ICAO"`
Registration string `csv:"Registration"`
ModelICAO string `csv:"ModelICAO"`
Manufacturer string `csv:"Manufacturer"`
Model string `csv:"Model"`
ManufacturerAndModel string `csv:"ManufacturerAndModel"`
Operator string `csv:"Operator"`
AirlineCode string `csv:"AirlineCode"`
SerialNumber string `csv:"SerialNumber"`
YearBuilt string `csv:"YearBuilt"` // set to string, as may be blank
IsPrivateOperator bool `csv:"IsPrivateOperator"`
}
type Airline ¶
type Airport ¶
type Airport struct {
Code string `csv:"Code"`
Name string `csv:"Name"`
ICAO string `csv:"ICAO"`
IATA string `csv:"IATA"`
Location string `csv:"Location"`
CountryISO2 string `csv:"CountryISO2"`
Latitude float64 `csv:"Latitude"`
Longitude float64 `csv:"Longitude"`
AltitudeFeet float64 `csv:"AltitudeFeet"`
}
type AirportCodes ¶
func (*AirportCodes) UnmarshalCSV ¶
func (a *AirportCodes) UnmarshalCSV(b []byte) error
type CacheMetric ¶
type CacheMetric interface {
Request()
Hit()
}
type ModelType ¶
type ModelType struct {
ICAO string `csv:"ICAO"`
Manufacturer string `csv:"Manufacturer"`
Model string `csv:"Model"`
EngineTypeCode string `csv:"EngineTypeCode"`
EnginePlacementCode string `csv:"EnginePlacementCode"`
SpeciesCode string `csv:"SpeciesCode"`
WakeTurbulenceCode string `csv:"WakeTurbulenceCode"`
Engines int `csv:"Engines"`
IsActive bool `csv:"IsActive"`
}
type Repository ¶
type Repository struct {
Aircraft Store[Aircraft]
Airlines Store[Airline]
Airports Store[Airport]
Countries Store[Country]
ModelTypes Store[ModelType]
Routes Store[Route]
}
func NewRepository ¶
func NewRepository(baseDir string, cacheMetrics map[RepositoryName]CacheMetric) *Repository
type RepositoryName ¶
type RepositoryName string
const ( RepositoryNameAircraft RepositoryName = "aircraft" RepositoryNameAirlines RepositoryName = "airlines" RepositoryNameAirports RepositoryName = "airports" RepositoryNameCountries RepositoryName = "countries" RepositoryNameModelTypes RepositoryName = "model_types" RepositoryNameRoutes RepositoryName = "routes" )
Click to show internal directories.
Click to hide internal directories.