From 3a2db7146fd0692ce6aea276450fcf63decc4a7a Mon Sep 17 00:00:00 2001 From: Helmut Merz Date: Thu, 2 May 2024 15:16:58 +0200 Subject: [PATCH] some more: simplify / unify Track creation --- storage/message/message.go | 16 +++++----------- storage/tracking/tracking.go | 12 ++++++------ tests/storage_test.go | 2 +- 3 files changed, 12 insertions(+), 18 deletions(-) diff --git a/storage/message/message.go b/storage/message/message.go index 52195a9..8751be2 100644 --- a/storage/message/message.go +++ b/storage/message/message.go @@ -10,16 +10,16 @@ type message struct { *tracking.BaseTrack } -func Message(tr *tracking.BaseTrack) *message { - return &message{tr} -} - func MakeMessage(c *tracking.Container, h ...string) tracking.Track { h = append(h, "") // make sure at least domain is there if h[0] == "" { h[0] = "scopes" } - return Message(tracking.MakeBaseTrack(c, h...)) + return &message{tracking.MakeBaseTrack(c, h...)} +} + +func New(cont *tracking.Container, h ...string) *message { + return tracking.New(cont, h...).(*message) } func (msg *message) Base() *tracking.BaseTrack { @@ -30,16 +30,10 @@ func (msg *message) Domain() string { return msg.Head()["domain"] } -// message container - func Messages(db *sql.Storage) *tracking.Container { return &tracking.Container{container_definition, db} } -func New(cont *tracking.Container, h ...string) *message { - return cont.Make(h...).(*message) -} - // message store action handler func Store(act lib.Action) bool { diff --git a/storage/tracking/tracking.go b/storage/tracking/tracking.go index fcd37a7..9b069ea 100644 --- a/storage/tracking/tracking.go +++ b/storage/tracking/tracking.go @@ -58,6 +58,10 @@ func MakeTrack(cont *Container, h ...string) Track { return MakeBaseTrack(cont, h...) } +func New(cont *Container, h ...string) Track { + return cont.ItemFactory(cont, h...) +} + func (tr *track) Base() *BaseTrack { return tr } @@ -151,10 +155,6 @@ 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 @@ -224,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.Make() + tr = New(cont) return tr.Base().ScanP(r) } quSpec.setup(cont) @@ -236,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.Make() + tr := New(cont) err := tr.Base().ScanP(r) if err == nil { trs = append(trs, tr) diff --git a/tests/storage_test.go b/tests/storage_test.go index f2492cd..1a7e9e6 100644 --- a/tests/storage_test.go +++ b/tests/storage_test.go @@ -68,7 +68,7 @@ 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.Make("t01", "john") + track := tracking.New(cont, "t01", "john") cont.Insert(track) t.AssertEqual(track.TrackId(), lib.Ident(1)) t.AssertEqual(track.TimeStamp().Year(), time.Now().Year())