simplify / unify Track creation
This commit is contained in:
parent
601ca4715a
commit
14bb005f08
3 changed files with 10 additions and 11 deletions
|
@ -37,7 +37,7 @@ func Messages(db *sql.Storage) *tracking.Container {
|
||||||
}
|
}
|
||||||
|
|
||||||
func New(cont *tracking.Container, h ...string) *message {
|
func New(cont *tracking.Container, h ...string) *message {
|
||||||
return cont.NewTrack(h, nil).(*message)
|
return cont.Make(h...).(*message)
|
||||||
}
|
}
|
||||||
|
|
||||||
// message store action handler
|
// message store action handler
|
||||||
|
|
|
@ -151,6 +151,10 @@ func Tracks(db *sql.Storage) *Container {
|
||||||
return &Container{container_definition, db}
|
return &Container{container_definition, db}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (cont *Container) Make(h ...string) Track {
|
||||||
|
return cont.ItemFactory(cont, h...)
|
||||||
|
}
|
||||||
|
|
||||||
type querySpec struct {
|
type querySpec struct {
|
||||||
Table string
|
Table string
|
||||||
Headvals lib.StrSlice
|
Headvals lib.StrSlice
|
||||||
|
@ -220,7 +224,7 @@ func (cont *Container) QueryLast(hv ...string) Track {
|
||||||
func (cont *Container) QueryOne(quSpec *querySpec) Track {
|
func (cont *Container) QueryOne(quSpec *querySpec) Track {
|
||||||
var tr Track
|
var tr Track
|
||||||
proc := func(r *sql.Rows) error {
|
proc := func(r *sql.Rows) error {
|
||||||
tr = cont.ItemFactory(cont)
|
tr = cont.Make()
|
||||||
return tr.Base().ScanP(r)
|
return tr.Base().ScanP(r)
|
||||||
}
|
}
|
||||||
quSpec.setup(cont)
|
quSpec.setup(cont)
|
||||||
|
@ -232,7 +236,7 @@ func (cont *Container) QueryOne(quSpec *querySpec) Track {
|
||||||
func (cont *Container) Query(quSpec *querySpec) []Track {
|
func (cont *Container) Query(quSpec *querySpec) []Track {
|
||||||
var trs []Track
|
var trs []Track
|
||||||
proc := func(r *sql.Rows) error {
|
proc := func(r *sql.Rows) error {
|
||||||
tr := cont.ItemFactory(cont)
|
tr := cont.Make()
|
||||||
err := tr.Base().ScanP(r)
|
err := tr.Base().ScanP(r)
|
||||||
if err == nil {
|
if err == nil {
|
||||||
trs = append(trs, tr)
|
trs = append(trs, tr)
|
||||||
|
@ -245,13 +249,6 @@ func (cont *Container) Query(quSpec *querySpec) []Track {
|
||||||
return trs
|
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 {
|
func (cont *Container) Save(tr Track) Track {
|
||||||
return tr
|
return tr
|
||||||
}
|
}
|
||||||
|
|
|
@ -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) {
|
func TrackingTest(t *testing.T, cfg *sql.Cfg, db *sql.Storage) {
|
||||||
cont := tracking.Tracks(db)
|
cont := tracking.Tracks(db)
|
||||||
cont.CreateTable()
|
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.TrackId(), lib.Ident(1))
|
||||||
t.AssertEqual(track.TimeStamp().Year(), time.Now().Year())
|
t.AssertEqual(track.TimeStamp().Year(), time.Now().Year())
|
||||||
tr2 := cont.Get(1)
|
tr2 := cont.Get(1)
|
||||||
|
@ -88,6 +89,7 @@ func MessageTest(t *testing.T, cfg *sql.Cfg, db *sql.Storage) {
|
||||||
cont := message.Messages(db)
|
cont := message.Messages(db)
|
||||||
cont.CreateTable()
|
cont.CreateTable()
|
||||||
msg := message.New(cont, "", "data")
|
msg := message.New(cont, "", "data")
|
||||||
|
cont.Insert(msg)
|
||||||
t.AssertEqual(msg.TrackId(), lib.Ident(1))
|
t.AssertEqual(msg.TrackId(), lib.Ident(1))
|
||||||
t.AssertEqual(msg.Domain(), "scopes")
|
t.AssertEqual(msg.Domain(), "scopes")
|
||||||
t.AssertEqual(msg.Uid(), "msg-1")
|
t.AssertEqual(msg.Uid(), "msg-1")
|
||||||
|
|
Loading…
Add table
Reference in a new issue