From a1e72c040045f0bcdf45b193d6082abf98a20453 Mon Sep 17 00:00:00 2001 From: Erik Winter Date: Tue, 20 Aug 2024 08:34:11 +0200 Subject: [PATCH] wip --- go.mod | 5 ++++- go.sum | 2 ++ planner/planner.go | 25 +++++++++++++++++++++++++ {service => storage}/memory.go | 10 ++++++---- {service => storage}/memory_test.go | 2 +- 5 files changed, 38 insertions(+), 6 deletions(-) create mode 100644 planner/planner.go rename {service => storage}/memory.go (76%) rename {service => storage}/memory_test.go (98%) diff --git a/go.mod b/go.mod index bbdf9bb..d4e3a15 100644 --- a/go.mod +++ b/go.mod @@ -2,4 +2,7 @@ module code.ewintr.nl/planner go 1.21.5 -require github.com/google/go-cmp v0.6.0 // indirect +require ( + github.com/google/go-cmp v0.6.0 // indirect + github.com/google/uuid v1.6.0 // indirect +) diff --git a/go.sum b/go.sum index 5a8d551..493949e 100644 --- a/go.sum +++ b/go.sum @@ -1,2 +1,4 @@ github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= +github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= +github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= diff --git a/planner/planner.go b/planner/planner.go new file mode 100644 index 0000000..d32a88f --- /dev/null +++ b/planner/planner.go @@ -0,0 +1,25 @@ +package planner + +import ( + "time" + + "github.com/google/uuid" +) + +type Syncable interface { + LastUpdated() time.Time +} + +type Task struct { + ID string + description string + updated time.Time +} + +func NewTask(description string) Task { + return Task{ + ID: uuid.New(), + description: description, + updated: time.Now(), + } +} diff --git a/service/memory.go b/storage/memory.go similarity index 76% rename from service/memory.go rename to storage/memory.go index 18d0e44..ac6313b 100644 --- a/service/memory.go +++ b/storage/memory.go @@ -1,16 +1,18 @@ -package service +package storage + +import "code.ewintr.nl/planner/planner" type Memory struct { - projects map[string]Project + projects map[string]planner.Task } func NewMemory() *Memory { return &Memory{ - projects: make(map[string]Project), + projects: make(map[string]planner.Task), } } -func (m *Memory) StoreProject(project Project) error { +func (m *Memory) StoreProject(project planner.Task) error { m.projects[project.ID] = project return nil diff --git a/service/memory_test.go b/storage/memory_test.go similarity index 98% rename from service/memory_test.go rename to storage/memory_test.go index daa9e56..56d1de7 100644 --- a/service/memory_test.go +++ b/storage/memory_test.go @@ -1,4 +1,4 @@ -package service_test +package storage_test import ( "testing"