separaded endpoints + cleaned page templates + added constants to time formatting
Some checks failed
Tests / Run Go Tests (push) Failing after 1m34s
Some checks failed
Tests / Run Go Tests (push) Failing after 1m34s
This commit is contained in:
31
Backend/helper/paramParser/main.go
Normal file
31
Backend/helper/paramParser/main.go
Normal file
@@ -0,0 +1,31 @@
|
||||
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
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user