Files
arbeitszeitmessung/Backend/helper/paramParser/main.go
2025-10-27 22:53:07 +01:00

32 lines
625 B
Go

package paramParser
import (
"log/slog"
"net/url"
"time"
)
type ParamsParser struct {
urlParams url.Values
}
func New(_urlParams url.Values) ParamsParser {
return ParamsParser{
urlParams: _urlParams,
}
}
func (p *ParamsParser) ParseTimestamp(key string, format string, fallback time.Time) time.Time {
paramTimestamp := p.urlParams.Get(key)
if paramTimestamp == "" {
return fallback
}
if timestamp, err := time.Parse(format, paramTimestamp); err == nil {
return timestamp
} else {
slog.Warn("Error parsing HTTP Params to timestamp", slog.Any("key", key), slog.Any("error", err))
return fallback
}
}