get all trackings

This commit is contained in:
Timo Volkmann 2020-12-13 03:23:18 +01:00
parent 40216f11b3
commit f223bbec8f
3 changed files with 24 additions and 72 deletions

View File

@ -83,8 +83,9 @@ func (t *trackingService) StartPipeline(cols ...CollectorType) (string, error) {
}
func (t *trackingService) AllTrackings() ([]TrackingMetadata, error) {
panic("implement me")
return nil, nil
logrus.Info("SERVICE: GET ALL TRACKINGS")
data, err := t.repo.LoadAll()
return data, err
}
func (t *trackingService) StartRecord() (string, error) {

View File

@ -111,76 +111,28 @@ func (r *badgerStore) Save(tr core.Tracking) error {
return nil
}
//func (r *badgerStore) Save(tracking *core.Tracking) error {
// ts, err := tracking.TimeCreated.MarshalText()
// if err != nil {
// logrus.Error(err, tracking)
// }
// logrus.Info("save tracking:", ts)
// meta, err := json.Marshal(tracking.TrackingMetadata)
// if err != nil {
// logrus.Error(err, tracking)
// return err
// }
// wg := sync.WaitGroup{}
// wg.Add(3)
// ch := make(chan error, 3)
// go func() {
// defer wg.Done()
// err = r.recordsDb.Update(func(txn *badger.Txn) error {
// for _, v := range tracking.Records {
// k := createRecordKey(tracking.UUID, v.RecordTime.UnixNano())
// j, err := json.Marshal(v)
// if err != nil {
// return err
// }
// txn.Set(k, j)
// }
// return nil
// })
// ch <- err
// }()
// go func() {
// defer wg.Done()
// err = r.recordsDb.Update(func(txn *badger.Txn) error {
// for _, v := range tracking.Rawdata {
// k := createRecordKey(tracking.UUID, v.Timestamp)
// j, err := json.Marshal(v)
// if err != nil {
// return err
// }
// txn.Set(k, j)
// }
// return nil
// })
// ch <- err
// }()
// go func() {
// defer wg.Done()
// err = r.trackingsDb.Update(func(txn *badger.Txn) error {
// err := txn.Set(ts, meta)
// return err
// })
// ch <- err
// }()
// wg.Wait()
// for {
// select {
// case err := <-ch:
// if err != nil {
// logrus.Error(err, tracking)
// return err
// }
// default:
// close(ch)
// break
// }
// }
// return nil
//}
func (r *badgerStore) LoadAll() ([]core.TrackingMetadata, error) {
panic("implement me")
var result []core.TrackingMetadata
err := r.trackingsDb.View(func(txn *badger.Txn) error {
opts := badger.DefaultIteratorOptions
it := txn.NewIterator(opts)
defer it.Close()
for it.Rewind(); it.Valid(); it.Next() {
item := it.Item()
el := core.TrackingMetadata{}
item.Value(func(val []byte) error {
logrus.Debugln(string(val))
err := json.Unmarshal(val, &el)
return err
})
result = append(result, el)
}
return nil
})
if err != nil {
return nil, err
}
return result, nil
}
func (r *badgerStore) Load(id uuid.UUID) (core.Tracking, error) {

View File

@ -59,7 +59,6 @@ func allTrackingsHandler(s core.Service, c *core.Configuration) fiber.Handler {
prepres["error"] = err.Error()
}
err2 := ctx.JSON(prepres)
if err2 != nil {
ctx.Status(500).JSON(err2)