From 153b1a0defe5f4ec65d544914a313dc98b3aec8b Mon Sep 17 00:00:00 2001 From: Philipp Wolfer Date: Fri, 10 Nov 2023 00:57:25 +0100 Subject: [PATCH] Initial interfaces fr love transfer --- backends/{base.go => interfaces.go} | 8 ++++++++ backends/models.go | 8 ++++++++ 2 files changed, 16 insertions(+) rename backends/{base.go => interfaces.go} (93%) diff --git a/backends/base.go b/backends/interfaces.go similarity index 93% rename from backends/base.go rename to backends/interfaces.go index 80ae4c0..1498bb6 100644 --- a/backends/base.go +++ b/backends/interfaces.go @@ -42,6 +42,14 @@ type ListenImport interface { ImportListens(listens []Listen, oldestTimestamp time.Time) (ImportResult, error) } +type LovesExport interface { + ExportLoves(oldestTimestamp time.Time) ([]Love, error) +} + +type LovesImport interface { + ExportLoves(loves []Love, oldestTimestamp time.Time) (ImportResult, error) +} + type ImportResult struct { Count int LastTimestamp time.Time diff --git a/backends/models.go b/backends/models.go index 9362b6d..08088c6 100644 --- a/backends/models.go +++ b/backends/models.go @@ -56,3 +56,11 @@ type Listen struct { PlaybackDuration time.Duration UserName string } + +type Love struct { + Track + Created time.Time + UserName string + RecordingMbid MBID + RecordingMsid MBID +}