package server import ( "fmt" "strconv" "time" "github.com/gin-gonic/gin" ) func getDate(c *gin.Context) (Month, error) { var year, month int yearString := c.Param("year") monthString := c.Param("month") if yearString == "" && monthString == "" { return getFirstOfMonthTime(time.Now()), nil } year, err := strconv.Atoi(yearString) if err != nil { return Month{}, fmt.Errorf("parse year: %w", err) } month, err = strconv.Atoi(monthString) if err != nil { return Month{}, fmt.Errorf("parse month: %w", err) } return Month{year, month}, nil } func getFirstOfMonthTime(date time.Time) Month { var monthM time.Month year, monthM, _ := date.Date() month := int(monthM) return Month{year, month} }