🏡 index : quine-global/quintodrome.git

package model

import (
	"context"
	"time"
)

type ScrobbleEntry struct {
	ID          string
	Service     string
	UserID      string
	PlayTime    time.Time
	EnqueueTime time.Time
	MediaFileID string
	MediaFile
}

type ScrobbleEntries []ScrobbleEntry

type ScrobbleBufferRepository interface {
	UserIDs(ctx context.Context, service string) ([]string, error)
	Enqueue(ctx context.Context, service, userId, mediaFileId string, playTime time.Time) error
	Next(ctx context.Context, service string, userId string) (*ScrobbleEntry, error)
	Dequeue(ctx context.Context, entry *ScrobbleEntry) error
	Length(ctx context.Context) (int64, error)
	Discard(ctx context.Context, service string) error
}