Add granularity for aggregation, group by hour/day/month/year

This commit is contained in:
Guntis Smaukstelis
2023-07-03 23:17:43 +03:00
parent 4d93fe68dc
commit c5b84727a6
11 changed files with 198 additions and 34 deletions
@@ -4,6 +4,7 @@ import parse.Aggregate.AggregateKey
import java.time.{LocalDate, LocalDateTime}
import java.time.format.DateTimeFormatter
import java.time.temporal.ChronoUnit
import scala.util.Try
object ValidateRoutes {
@@ -40,4 +41,16 @@ object ValidateRoutes {
AggregateKey.fromString(str)
}
}
object Granularity {
def unapply(str: String): Option[ChronoUnit] = {
str match {
case "hour" => Some(ChronoUnit.HOURS)
case "day" => Some(ChronoUnit.DAYS)
case "month" => Some(ChronoUnit.MONTHS)
case "year" => Some(ChronoUnit.YEARS)
case _ => None
}
}
}
}