fixed #61, #62 refactored getTime variants
Some checks failed
Tests / Run Go Tests (push) Failing after 1m20s

This commit is contained in:
2025-12-12 12:26:40 +01:00
parent 1ccc19b85c
commit 76b23133d0
10 changed files with 196 additions and 207 deletions

View File

@@ -5,6 +5,7 @@ import (
"log/slog"
"net/url"
"strconv"
"strings"
"time"
)
@@ -12,6 +13,30 @@ type ParamsParser struct {
urlParams url.Values
}
func (p ParamsParser) ParseStringListFallback(key string, delimiter string, fallback []string) []string {
if !p.urlParams.Has(key) {
return fallback
}
paramList := p.urlParams.Get(key)
list := strings.Split(paramList, delimiter)
return list
}
func (p ParamsParser) ParseIntListFallback(key string, delimiter string, fallback []int) []int {
if !p.urlParams.Has(key) {
return fallback
}
paramList := p.urlParams.Get(key)
list := strings.Split(paramList, delimiter)
parsedList := make([]int, 0)
for _, item := range list {
if parsedItem, err := strconv.Atoi(item); err == nil {
parsedList = append(parsedList, parsedItem)
}
}
return parsedList
}
type NoValueError struct {
Key string
}

View File

@@ -16,6 +16,13 @@ func GetMonday(ts time.Time) time.Time {
return ts
}
func GetFirstOfMonth(ts time.Time) time.Time {
if ts.Day() > 1 {
return ts.AddDate(0, 0, -(ts.Day() - 1))
}
return ts
}
func IsWeekend(ts time.Time) bool {
return ts.Weekday() == time.Saturday || ts.Weekday() == time.Sunday
}