(ctx context.Context, maxEvents int)
| 318 | } |
| 319 | |
| 320 | func GetNonUploadedTEvents(ctx context.Context, maxEvents int) ([]*telemetrydata.TEvent, error) { |
| 321 | now := time.Now() |
| 322 | return wstore.WithTxRtn(ctx, func(tx *wstore.TxWrap) ([]*telemetrydata.TEvent, error) { |
| 323 | var rtn []*telemetrydata.TEvent |
| 324 | query := `SELECT uuid, ts, tslocal, event, props, uploaded FROM db_tevent WHERE uploaded = 0 AND ts <= ? ORDER BY ts LIMIT ?` |
| 325 | tx.Select(&rtn, query, now.UnixMilli(), maxEvents) |
| 326 | for _, event := range rtn { |
| 327 | if err := event.ConvertRawJSON(); err != nil { |
| 328 | return nil, fmt.Errorf("scan json for event %s: %w", event.Uuid, err) |
| 329 | } |
| 330 | } |
| 331 | return rtn, nil |
| 332 | }) |
| 333 | } |
| 334 | |
| 335 | func MarkTEventsAsUploaded(ctx context.Context, events []*telemetrydata.TEvent) error { |
| 336 | return wstore.WithTx(ctx, func(tx *wstore.TxWrap) error { |
no test coverage detected