Added scrobbling state for listens
This commit is contained in:
@@ -414,6 +414,7 @@ CREATE TABLE IF NOT EXISTS "listen" (
|
||||
"version" integer not null,
|
||||
"date_time" text,
|
||||
"scrobbler" integer not null,
|
||||
"scrobbling_state" integer not null,
|
||||
"track_id" bigint,
|
||||
"user_id" bigint,
|
||||
constraint "fk_listen_track" foreign key ("track_id") references "track" ("id") on delete cascade deferrable initially deferred,
|
||||
|
||||
@@ -95,6 +95,7 @@ class Listen : public Object<Listen, ListenId>
|
||||
{
|
||||
Wt::Dbo::field(a, _dateTime, "date_time");
|
||||
Wt::Dbo::field(a, _scrobbler, "scrobbler");
|
||||
Wt::Dbo::field(a, _scrobblingState, "scrobbling_state");
|
||||
|
||||
Wt::Dbo::belongsTo(a, _track, "track", Wt::Dbo::OnDeleteCascade);
|
||||
Wt::Dbo::belongsTo(a, _user, "user", Wt::Dbo::OnDeleteCascade);
|
||||
@@ -103,6 +104,8 @@ class Listen : public Object<Listen, ListenId>
|
||||
private:
|
||||
Wt::WDateTime _dateTime;
|
||||
Scrobbler _scrobbler;
|
||||
ScrobblingState _scrobblingState {ScrobblingState::PendingAdd};
|
||||
|
||||
Wt::Dbo::ptr<User> _user;
|
||||
Wt::Dbo::ptr<Track> _track;
|
||||
};
|
||||
|
||||
@@ -111,7 +111,6 @@ namespace Database
|
||||
StarredDateDesc,
|
||||
};
|
||||
|
||||
// Do not change enum values!
|
||||
enum class TrackArtistLinkType
|
||||
{
|
||||
Artist = 0, // regular track artist
|
||||
@@ -128,7 +127,6 @@ namespace Database
|
||||
};
|
||||
|
||||
// User selectable audio file formats
|
||||
// Do not change values
|
||||
enum class AudioFormat
|
||||
{
|
||||
MP3 = 1,
|
||||
@@ -143,14 +141,19 @@ namespace Database
|
||||
void visitAllowedAudioBitrates(std::function<void(Bitrate)>);
|
||||
bool isAudioBitrateAllowed(Bitrate bitrate);
|
||||
|
||||
// Do not change enum values!
|
||||
enum class Scrobbler
|
||||
{
|
||||
Internal = 0,
|
||||
ListenBrainz = 1,
|
||||
};
|
||||
|
||||
// Do not change enum values!
|
||||
enum class ScrobblingState
|
||||
{
|
||||
PendingAdd = 0,
|
||||
Synchronized = 1,
|
||||
PendingRemove = 2,
|
||||
};
|
||||
|
||||
enum class UserType
|
||||
{
|
||||
REGULAR = 0,
|
||||
@@ -158,14 +161,12 @@ namespace Database
|
||||
DEMO = 2,
|
||||
};
|
||||
|
||||
// Do not change enum values!
|
||||
enum class UITheme
|
||||
{
|
||||
Light = 0,
|
||||
Dark = 1,
|
||||
};
|
||||
|
||||
// Do not change enum values!
|
||||
enum class SubsonicArtistListMode
|
||||
{
|
||||
AllArtists = 0,
|
||||
|
||||
Reference in New Issue
Block a user