Various minor cleanup
This commit is contained in:
@@ -37,12 +37,11 @@ namespace lms::feedback
|
||||
{
|
||||
public:
|
||||
FeedbackService(boost::asio::io_context& ioContext, db::Db& db);
|
||||
~FeedbackService();
|
||||
|
||||
private:
|
||||
~FeedbackService() override;
|
||||
FeedbackService(const FeedbackService&) = delete;
|
||||
FeedbackService& operator=(const FeedbackService&) = delete;
|
||||
|
||||
private:
|
||||
void star(db::UserId userId, db::ArtistId artistId) override;
|
||||
void unstar(db::UserId userId, db::ArtistId artistId) override;
|
||||
bool isStarred(db::UserId userId, db::ArtistId artistId) override;
|
||||
@@ -54,8 +53,8 @@ namespace lms::feedback
|
||||
|
||||
void star(db::UserId userId, db::ReleaseId releaseId) override;
|
||||
void unstar(db::UserId userId, db::ReleaseId releaseId) override;
|
||||
bool isStarred(db::UserId userId, db::ReleaseId releasedId) override;
|
||||
Wt::WDateTime getStarredDateTime(db::UserId userId, db::ReleaseId releasedId) override;
|
||||
bool isStarred(db::UserId userId, db::ReleaseId releaseId) override;
|
||||
Wt::WDateTime getStarredDateTime(db::UserId userId, db::ReleaseId releaseId) override;
|
||||
ReleaseContainer findStarredReleases(const FindParameters& params) override;
|
||||
|
||||
void setRating(db::UserId userId, db::ReleaseId releaseId, std::optional<db::Rating> rating) override;
|
||||
@@ -70,7 +69,6 @@ namespace lms::feedback
|
||||
void setRating(db::UserId userId, db::TrackId trackId, std::optional<db::Rating> rating) override;
|
||||
std::optional<db::Rating> getRating(db::UserId userId, db::TrackId trackId) override;
|
||||
|
||||
private:
|
||||
std::optional<db::FeedbackBackend> getUserFeedbackBackend(db::UserId userId);
|
||||
|
||||
template<typename ObjType, typename ObjIdType, typename StarredObjType>
|
||||
|
||||
@@ -30,12 +30,12 @@ namespace lms::feedback
|
||||
public:
|
||||
virtual ~IFeedbackBackend() = default;
|
||||
|
||||
virtual void onStarred(db::StarredArtistId) = 0;
|
||||
virtual void onUnstarred(db::StarredArtistId) = 0;
|
||||
virtual void onStarred(db::StarredReleaseId) = 0;
|
||||
virtual void onUnstarred(db::StarredReleaseId) = 0;
|
||||
virtual void onStarred(db::StarredTrackId) = 0;
|
||||
virtual void onUnstarred(db::StarredTrackId) = 0;
|
||||
virtual void onStarred(db::StarredArtistId artistId) = 0;
|
||||
virtual void onUnstarred(db::StarredArtistId artistId) = 0;
|
||||
virtual void onStarred(db::StarredReleaseId releaseId) = 0;
|
||||
virtual void onUnstarred(db::StarredReleaseId releaseId) = 0;
|
||||
virtual void onStarred(db::StarredTrackId trackId) = 0;
|
||||
virtual void onUnstarred(db::StarredTrackId trackId) = 0;
|
||||
};
|
||||
|
||||
std::unique_ptr<IFeedbackBackend> createFeedbackBackend(std::string_view backendName);
|
||||
|
||||
@@ -53,33 +53,33 @@ namespace lms::feedback
|
||||
{
|
||||
}
|
||||
|
||||
void InternalBackend::onStarred(db::StarredArtistId starredArtistId)
|
||||
void InternalBackend::onStarred(db::StarredArtistId artistId)
|
||||
{
|
||||
details::onStarred<db::StarredArtist>(_db.getTLSSession(), starredArtistId);
|
||||
details::onStarred<db::StarredArtist>(_db.getTLSSession(), artistId);
|
||||
}
|
||||
|
||||
void InternalBackend::onUnstarred(db::StarredArtistId starredArtistId)
|
||||
void InternalBackend::onUnstarred(db::StarredArtistId artistId)
|
||||
{
|
||||
details::onUnstarred<db::StarredArtist>(_db.getTLSSession(), starredArtistId);
|
||||
details::onUnstarred<db::StarredArtist>(_db.getTLSSession(), artistId);
|
||||
}
|
||||
|
||||
void InternalBackend::onStarred(db::StarredReleaseId starredReleaseId)
|
||||
void InternalBackend::onStarred(db::StarredReleaseId releaseId)
|
||||
{
|
||||
details::onStarred<db::StarredRelease>(_db.getTLSSession(), starredReleaseId);
|
||||
details::onStarred<db::StarredRelease>(_db.getTLSSession(), releaseId);
|
||||
}
|
||||
|
||||
void InternalBackend::onUnstarred(db::StarredReleaseId starredReleaseId)
|
||||
void InternalBackend::onUnstarred(db::StarredReleaseId releaseId)
|
||||
{
|
||||
details::onUnstarred<db::StarredRelease>(_db.getTLSSession(), starredReleaseId);
|
||||
details::onUnstarred<db::StarredRelease>(_db.getTLSSession(), releaseId);
|
||||
}
|
||||
|
||||
void InternalBackend::onStarred(db::StarredTrackId starredTrackId)
|
||||
void InternalBackend::onStarred(db::StarredTrackId trackId)
|
||||
{
|
||||
details::onStarred<db::StarredTrack>(_db.getTLSSession(), starredTrackId);
|
||||
details::onStarred<db::StarredTrack>(_db.getTLSSession(), trackId);
|
||||
}
|
||||
|
||||
void InternalBackend::onUnstarred(db::StarredTrackId starredTrackId)
|
||||
void InternalBackend::onUnstarred(db::StarredTrackId trackId)
|
||||
{
|
||||
details::onUnstarred<db::StarredTrack>(_db.getTLSSession(), starredTrackId);
|
||||
details::onUnstarred<db::StarredTrack>(_db.getTLSSession(), trackId);
|
||||
}
|
||||
} // namespace lms::feedback
|
||||
|
||||
@@ -32,14 +32,17 @@ namespace lms::feedback
|
||||
{
|
||||
public:
|
||||
InternalBackend(db::Db& db);
|
||||
~InternalBackend() override = default;
|
||||
InternalBackend(const InternalBackend&) = delete;
|
||||
InternalBackend& operator=(const InternalBackend&) = delete;
|
||||
|
||||
private:
|
||||
void onStarred(db::StarredArtistId) override;
|
||||
void onUnstarred(db::StarredArtistId) override;
|
||||
void onStarred(db::StarredReleaseId) override;
|
||||
void onUnstarred(db::StarredReleaseId) override;
|
||||
void onStarred(db::StarredTrackId) override;
|
||||
void onUnstarred(db::StarredTrackId) override;
|
||||
void onStarred(db::StarredArtistId artistId) override;
|
||||
void onUnstarred(db::StarredArtistId artistId) override;
|
||||
void onStarred(db::StarredReleaseId releaseId) override;
|
||||
void onUnstarred(db::StarredReleaseId releaseId) override;
|
||||
void onStarred(db::StarredTrackId trackId) override;
|
||||
void onUnstarred(db::StarredTrackId trackId) override;
|
||||
|
||||
db::Db& _db;
|
||||
};
|
||||
|
||||
@@ -19,6 +19,8 @@
|
||||
|
||||
#include "FeedbackTypes.hpp"
|
||||
|
||||
#include <ostream>
|
||||
|
||||
namespace lms::feedback::listenBrainz
|
||||
{
|
||||
std::ostream& operator<<(std::ostream& os, const Feedback& feedback)
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <ostream>
|
||||
#include <iosfwd>
|
||||
|
||||
#include <Wt/WDateTime.h>
|
||||
|
||||
|
||||
@@ -38,9 +38,9 @@ namespace lms::feedback::listenBrainz
|
||||
throw Exception{ "MBID not found!" };
|
||||
|
||||
return Feedback{
|
||||
Wt::WDateTime::fromTime_t(static_cast<int>(feedbackObj.get("created"))),
|
||||
*recordingMBID,
|
||||
static_cast<FeedbackType>(static_cast<int>(feedbackObj.get("score")))
|
||||
.created = Wt::WDateTime::fromTime_t(static_cast<int>(feedbackObj.get("created"))),
|
||||
.recordingMBID = *recordingMBID,
|
||||
.score = static_cast<FeedbackType>(static_cast<int>(feedbackObj.get("score")))
|
||||
};
|
||||
}
|
||||
} // namespace
|
||||
|
||||
@@ -251,10 +251,9 @@ namespace lms::feedback::listenBrainz
|
||||
LOG(DEBUG, "getFeedbacks aborted");
|
||||
return;
|
||||
}
|
||||
else if (ec)
|
||||
{
|
||||
|
||||
if (ec)
|
||||
throw Exception{ "GetFeedbacks timer failure: " + std::string{ ec.message() } };
|
||||
}
|
||||
|
||||
startSync();
|
||||
}));
|
||||
@@ -430,7 +429,8 @@ namespace lms::feedback::listenBrainz
|
||||
LOG(DEBUG, "Too many matches for feedback '" << feedback << "': duplicate recording MBIDs found");
|
||||
return;
|
||||
}
|
||||
else if (tracks.empty())
|
||||
|
||||
if (tracks.empty())
|
||||
{
|
||||
LOG(DEBUG, "Cannot match feedback '" << feedback << "': no track found for this recording MBID");
|
||||
return;
|
||||
|
||||
@@ -27,7 +27,6 @@
|
||||
#include <boost/asio/steady_timer.hpp>
|
||||
|
||||
#include "database/StarredTrackId.hpp"
|
||||
#include "database/Types.hpp"
|
||||
#include "database/UserId.hpp"
|
||||
|
||||
#include "FeedbackTypes.hpp"
|
||||
@@ -50,12 +49,14 @@ namespace lms::feedback::listenBrainz
|
||||
{
|
||||
public:
|
||||
FeedbacksSynchronizer(boost::asio::io_context& ioContext, db::Db& db, core::http::IClient& client);
|
||||
~FeedbacksSynchronizer() = default;
|
||||
FeedbacksSynchronizer(const FeedbacksSynchronizer&) = delete;
|
||||
FeedbacksSynchronizer& operator=(const FeedbacksSynchronizer&) = delete;
|
||||
|
||||
void enqueFeedback(FeedbackType type, db::StarredTrackId starredTrackId);
|
||||
|
||||
private:
|
||||
void onFeedbackSent(FeedbackType type, db::StarredTrackId starredTrackId);
|
||||
|
||||
void enquePendingFeedbacks();
|
||||
|
||||
struct UserContext
|
||||
@@ -63,12 +64,13 @@ namespace lms::feedback::listenBrainz
|
||||
UserContext(db::UserId id)
|
||||
: userId{ id } {}
|
||||
|
||||
~UserContext() = default;
|
||||
UserContext(const UserContext&) = delete;
|
||||
UserContext& operator=(const UserContext&) = delete;
|
||||
|
||||
const db::UserId userId;
|
||||
bool syncing{};
|
||||
std::optional<std::size_t> feedbackCount{};
|
||||
std::optional<std::size_t> feedbackCount;
|
||||
|
||||
// resetted at each sync
|
||||
std::string listenBrainzUserName; // need to be resolved first
|
||||
|
||||
@@ -20,7 +20,6 @@
|
||||
#include "ListenBrainzBackend.hpp"
|
||||
|
||||
#include "core/IConfig.hpp"
|
||||
#include "core/ILogger.hpp"
|
||||
#include "core/Service.hpp"
|
||||
#include "core/http/IClient.hpp"
|
||||
#include "database/Db.hpp"
|
||||
|
||||
@@ -133,6 +133,6 @@ namespace lms::feedback
|
||||
virtual std::optional<db::Rating> getRating(db::UserId userId, db::TrackId trackId) = 0;
|
||||
};
|
||||
|
||||
std::unique_ptr<IFeedbackService> createFeedbackService(boost::asio::io_service& ioService, db::Db& db);
|
||||
std::unique_ptr<IFeedbackService> createFeedbackService(boost::asio::io_service& ioContext, db::Db& db);
|
||||
|
||||
} // namespace lms::feedback
|
||||
|
||||
Reference in New Issue
Block a user