add Track interface; remove adapter stuff
This commit is contained in:
parent
802ee6a4a6
commit
b38d22f1bb
2 changed files with 16 additions and 14 deletions
|
@ -10,7 +10,7 @@ type message struct {
|
|||
*tracking.BaseTrack
|
||||
}
|
||||
|
||||
func Message(tr *tracking.BaseTrack) tracking.Adapted {
|
||||
func Message(tr *tracking.BaseTrack) *message {
|
||||
return &message{tr}
|
||||
}
|
||||
|
||||
|
@ -19,7 +19,7 @@ func MakeMessage(c *tracking.Container, h ...string) *tracking.BaseTrack {
|
|||
if h[0] == "" {
|
||||
h[0] = "scopes"
|
||||
}
|
||||
return tracking.MakeTrack(c, h...).SetAdapterFactory(Message)
|
||||
return tracking.MakeTrack(c, h...)
|
||||
}
|
||||
|
||||
func (msg *message) Base() *tracking.BaseTrack {
|
||||
|
@ -37,7 +37,7 @@ func Messages(db *sql.Storage) *tracking.Container {
|
|||
}
|
||||
|
||||
func New(cont *tracking.Container, h ...string) *message {
|
||||
return tracking.Adapt[*message](cont.NewTrack(h, nil))
|
||||
return Message(cont.NewTrack(h, nil))
|
||||
}
|
||||
|
||||
// message store action handler
|
||||
|
|
|
@ -22,6 +22,19 @@ type ItemFactory func(*Container, ...string) *track
|
|||
type Adapted interface{}
|
||||
type AdapterFactory func(*track) Adapted
|
||||
|
||||
type Track interface {
|
||||
TrackId() lib.Ident
|
||||
Head() lib.StrMap
|
||||
TimeStamp() *time.Time
|
||||
Data() lib.Map
|
||||
Container() *Container
|
||||
Uid() string
|
||||
SetHead(...string)
|
||||
SetTimeStamp(*time.Time)
|
||||
SetData(lib.Map)
|
||||
Base() *BaseTrack
|
||||
}
|
||||
|
||||
// basic track implementation
|
||||
|
||||
type track struct {
|
||||
|
@ -30,7 +43,6 @@ type track struct {
|
|||
timeStamp *time.Time
|
||||
data lib.Map
|
||||
container *Container
|
||||
adapter AdapterFactory
|
||||
}
|
||||
|
||||
type BaseTrack = track
|
||||
|
@ -40,7 +52,6 @@ func MakeTrack(cont *Container, h ...string) *track {
|
|||
head: lib.StrMap{},
|
||||
data: lib.Map{},
|
||||
container: cont,
|
||||
adapter: func(tr *track) Adapted { return tr },
|
||||
}
|
||||
tr.SetHead(h...)
|
||||
return &tr
|
||||
|
@ -117,15 +128,6 @@ func (tr *track) ScanP(rows *sql.Rows) error {
|
|||
return err
|
||||
}
|
||||
|
||||
func (tr *track) SetAdapterFactory(af AdapterFactory) *track {
|
||||
tr.adapter = af
|
||||
return tr
|
||||
}
|
||||
|
||||
func Adapt[T Adapted](tr *track) T {
|
||||
return tr.adapter(tr).(T)
|
||||
}
|
||||
|
||||
// basic container implementation
|
||||
|
||||
type ContDef struct {
|
||||
|
|
Loading…
Add table
Reference in a new issue