package sorting import ( "strings" mobilityaccountsstorage "git.coopgo.io/coopgo-platform/mobility-accounts/storage" "git.coopgo.io/coopgo-platform/solidarity-transport/servers/grpc/proto/gen" ) type SolidarityDriversByName []mobilityaccountsstorage.Account func (e SolidarityDriversByName) Len() int { return len(e) } func (e SolidarityDriversByName) Less(i, j int) bool { return e[i].Data["first_name"].(string) < e[j].Data["first_name"].(string) } func (e SolidarityDriversByName) Swap(i, j int) { e[i], e[j] = e[j], e[i] } type SolidarityAvailabilitiesByDay []*gen.DriverRegularAvailability func (e SolidarityAvailabilitiesByDay) Len() int { return len(e) } func (e SolidarityAvailabilitiesByDay) Less(i, j int) bool { if e[i].Day == e[j].Day { return strings.Compare(e[i].StartTime, e[j].StartTime) < 0 } if e[i].Day == 0 { return false } return e[i].Day < e[j].Day } func (e SolidarityAvailabilitiesByDay) Swap(i, j int) { e[i], e[j] = e[j], e[i] }