From 14bb005f08fac229b34591542ae5618e3943d006 Mon Sep 17 00:00:00 2001 From: Helmut Merz Date: Thu, 2 May 2024 15:01:38 +0200 Subject: [PATCH] simplify / unify Track creation --- storage/message/message.go | 2 +- storage/tracking/tracking.go | 15 ++++++--------- tests/storage_test.go | 4 +++- 3 files changed, 10 insertions(+), 11 deletions(-) diff --git a/storage/message/message.go b/storage/message/message.go index d26c4f0..52195a9 100644 --- a/storage/message/message.go +++ b/storage/message/message.go @@ -37,7 +37,7 @@ func Messages(db *sql.Storage) *tracking.Container { } func New(cont *tracking.Container, h ...string) *message { - return cont.NewTrack(h, nil).(*message) + return cont.Make(h...).(*message) } // message store action handler diff --git a/storage/tracking/tracking.go b/storage/tracking/tracking.go index 3d82c26..fcd37a7 100644 --- a/storage/tracking/tracking.go +++ b/storage/tracking/tracking.go @@ -151,6 +151,10 @@ func Tracks(db *sql.Storage) *Container { return &Container{container_definition, db} } +func (cont *Container) Make(h ...string) Track { + return cont.ItemFactory(cont, h...) +} + type querySpec struct { Table string Headvals lib.StrSlice @@ -220,7 +224,7 @@ func (cont *Container) QueryLast(hv ...string) Track { func (cont *Container) QueryOne(quSpec *querySpec) Track { var tr Track proc := func(r *sql.Rows) error { - tr = cont.ItemFactory(cont) + tr = cont.Make() return tr.Base().ScanP(r) } quSpec.setup(cont) @@ -232,7 +236,7 @@ func (cont *Container) QueryOne(quSpec *querySpec) Track { func (cont *Container) Query(quSpec *querySpec) []Track { var trs []Track proc := func(r *sql.Rows) error { - tr := cont.ItemFactory(cont) + tr := cont.Make() err := tr.Base().ScanP(r) if err == nil { trs = append(trs, tr) @@ -245,13 +249,6 @@ func (cont *Container) Query(quSpec *querySpec) []Track { return trs } -func (cont *Container) NewTrack(h []string, data lib.Map) Track { - tr := cont.ItemFactory(cont, h...) - tr.SetData(data) - cont.Insert(tr) - return tr -} - func (cont *Container) Save(tr Track) Track { return tr } diff --git a/tests/storage_test.go b/tests/storage_test.go index c0352b4..f2492cd 100644 --- a/tests/storage_test.go +++ b/tests/storage_test.go @@ -68,7 +68,8 @@ func BaseTest(t *testing.T, cfg *sql.Cfg, db *sql.Storage) { func TrackingTest(t *testing.T, cfg *sql.Cfg, db *sql.Storage) { cont := tracking.Tracks(db) cont.CreateTable() - track := cont.NewTrack(lib.StrSlice{"t01", "john"}, nil) + track := cont.Make("t01", "john") + cont.Insert(track) t.AssertEqual(track.TrackId(), lib.Ident(1)) t.AssertEqual(track.TimeStamp().Year(), time.Now().Year()) tr2 := cont.Get(1) @@ -88,6 +89,7 @@ func MessageTest(t *testing.T, cfg *sql.Cfg, db *sql.Storage) { cont := message.Messages(db) cont.CreateTable() msg := message.New(cont, "", "data") + cont.Insert(msg) t.AssertEqual(msg.TrackId(), lib.Ident(1)) t.AssertEqual(msg.Domain(), "scopes") t.AssertEqual(msg.Uid(), "msg-1")