package locode import ( "git.frostfs.info/TrueCloudLab/frostfs-node/pkg/util/locode" locodedb "git.frostfs.info/TrueCloudLab/frostfs-node/pkg/util/locode/db" ) // Record is an interface of read-only // FrostFS LOCODE database single entry. type Record interface { // Must return ISO 3166-1 alpha-2 // country code. // // Must not return nil. CountryCode() *locodedb.CountryCode // Must return English short country name // officially used by the ISO 3166 // Maintenance Agency (ISO 3166/MA). CountryName() string // Must return UN/LOCODE 3-character code // for the location (numerals 2-9 may also // be used). // // Must not return nil. LocationCode() *locodedb.LocationCode // Must return name of the location which // have been allocated a UN/LOCODE without // diacritic sign. LocationName() string // Must return ISO 1-3 character alphabetic // and/or numeric code for the administrative // division of the country concerned. SubDivCode() string // Must return subdivision name. SubDivName() string // Must return existing continent where is // the location. // // Must not return nil. Continent() *locodedb.Continent } // DB is an interface of read-only // FrostFS LOCODE database. type DB interface { // Must find the record that corresponds to // LOCODE and provides the Record interface. // // Must return an error if Record is nil. // // LOCODE is always non-nil. Get(*locode.LOCODE) (Record, error) }