db703a5117
Define a structure for dealing with the geographic location of nodes. Implement VerifyAndUpdate (with the same purpose as NodeValidator interface) that checks LOCODE attribute and fills other attributes of the location. Technically the entity is a wrapper over the NeoFS location database: it maps the node LOCODE to the database record from which the new attributes are generated. Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
34 lines
587 B
Go
34 lines
587 B
Go
package locode
|
|
|
|
type attrDescriptor struct {
|
|
optional bool
|
|
converter func(Record) string
|
|
}
|
|
|
|
func countryCodeValue(r Record) (val string) {
|
|
return r.CountryCode().String()
|
|
}
|
|
|
|
func countryValue(r Record) string {
|
|
return r.CountryName()
|
|
}
|
|
|
|
func locationCodeValue(r Record) string {
|
|
return r.LocationCode().String()
|
|
}
|
|
|
|
func locationValue(r Record) string {
|
|
return r.LocationName()
|
|
}
|
|
|
|
func subDivCodeValue(r Record) string {
|
|
return r.SubDivCode()
|
|
}
|
|
|
|
func subDivValue(r Record) string {
|
|
return r.SubDivName()
|
|
}
|
|
|
|
func continentValue(r Record) string {
|
|
return r.Continent().String()
|
|
}
|