Use Date instead of Time for dates

This commit is contained in:
2020-04-21 08:25:15 -06:00
parent 99dd0df77a
commit c4aaa1bca5
5 changed files with 52 additions and 43 deletions

View File

@ -5,10 +5,10 @@ import (
"errors"
"log"
"os"
"time"
"crawshaw.io/sqlite"
"crawshaw.io/sqlite/sqlitex"
"github.com/rickb777/date"
)
type GenString func(length int) (string, error)
@ -118,9 +118,9 @@ func (s *Store) createSchema() error {
}
type CreateEventCommand struct {
Name string
Description string
EarliestDate, LatestDate time.Time
Name string
Description string
Earliest, Latest date.Date
}
type CreateEventResult struct {
@ -154,8 +154,8 @@ func (s *Store) CreateEvent(ctx context.Context, cmd CreateEventCommand) (result
adminCode,
cmd.Name,
cmd.Description,
cmd.EarliestDate.Format(dbDateLayout),
cmd.LatestDate.Format(dbDateLayout),
cmd.Earliest.Format(dbDateLayout),
cmd.Latest.Format(dbDateLayout),
)
if err != nil {
return
@ -171,9 +171,9 @@ type GetEventMetadataQuery struct {
}
type GetEventMetadataResult struct {
Name string
Description string
EarliestDate, LatestDate time.Time
Name string
Description string
Earliest, Latest date.Date
}
func (s *Store) GetEventMetadata(ctx context.Context, query GetEventMetadataQuery) (GetEventMetadataResult, error) {
@ -196,11 +196,11 @@ func (s *Store) GetEventMetadata(ctx context.Context, query GetEventMetadataQuer
latestDateString := stmt.ColumnText(3)
var err error
result.EarliestDate, err = time.Parse(dbDateLayout, earliestDateString)
result.Earliest, err = date.Parse(dbDateLayout, earliestDateString)
if err != nil {
return err
}
result.LatestDate, err = time.Parse(dbDateLayout, latestDateString)
result.Latest, err = date.Parse(dbDateLayout, latestDateString)
return err
}, query.AlphaID)
if err != nil {
@ -242,7 +242,7 @@ func (s *Store) GetEventResponses(ctx context.Context, query GetEventResponsesQu
type CreateEventResponseCommand struct {
EventAlphaID string
DateHours map[time.Time]int
DateHours map[date.Date]int
}
type CreateEventResponseResult struct {

View File

@ -3,9 +3,9 @@ package back_test
import (
"context"
"testing"
"time"
"github.com/matryer/is"
"github.com/rickb777/date"
"gitlab.codemonkeysoftware.net/b/henwen/back"
)
@ -23,15 +23,15 @@ func TestCreateEvent(t *testing.T) {
is.NoErr(err)
defer store.Close()
earliest := time.Date(2020, 04, 05, 0, 0, 0, 0, time.UTC)
latest := time.Date(2020, 04, 05, 0, 0, 0, 0, time.UTC)
earliest := date.New(2020, 4, 5)
latest := date.New(2020, 4, 5)
const name = "abc"
const description = "def"
createResult, err := store.CreateEvent(context.Background(), back.CreateEventCommand{
Name: name,
Description: description,
EarliestDate: earliest,
LatestDate: latest,
Name: name,
Description: description,
Earliest: earliest,
Latest: latest,
})
is.NoErr(err)
@ -41,8 +41,8 @@ func TestCreateEvent(t *testing.T) {
is.NoErr(err)
is.Equal(metadataResult.Name, name)
is.Equal(metadataResult.Description, description)
is.True(metadataResult.EarliestDate.Equal(earliest))
is.True(metadataResult.LatestDate.Equal(latest))
is.True(metadataResult.Earliest.Equal(earliest))
is.True(metadataResult.Latest.Equal(latest))
}
func TestGetEventResponses(t *testing.T) {
@ -51,10 +51,10 @@ func TestGetEventResponses(t *testing.T) {
createEvent := func(is *is.I) (eventID string) {
event, err := store.CreateEvent(context.Background(), back.CreateEventCommand{
Name: "blah",
Name: "blah",
Description: "stuff happening",
EarliestDate: time.Now(),
LatestDate: time.Now().AddDate(0,0,1),
Earliest: date.Today(),
Latest: date.Today().Add(1),
})
is.NoErr(err)
return event.AlphaID
@ -98,4 +98,4 @@ func TestGetEventResponses(t *testing.T) {
is.Equal(getTotalResponses(is, eventID), 1)
})
}
}