Migrated scrobbling stuff

This commit is contained in:
emeric
2021-10-18 20:39:47 +02:00
parent fe298e10d9
commit a0489b2d94
106 changed files with 54 additions and 57 deletions
-8
View File
@@ -1,15 +1,7 @@
add_subdirectory(auth)
add_subdirectory(av)
add_subdirectory(database)
add_subdirectory(image)
add_subdirectory(metadata)
add_subdirectory(recommendation)
add_subdirectory(scanner)
add_subdirectory(scrobbling)
add_subdirectory(services)
add_subdirectory(som)
add_subdirectory(subsonic)
add_subdirectory(utils)
+5
View File
@@ -1 +1,6 @@
add_subdirectory(auth)
add_subdirectory(cover)
add_subdirectory(database)
add_subdirectory(recommendation)
add_subdirectory(scanner)
add_subdirectory(scrobbling)
@@ -4,7 +4,7 @@ add_library(lmsscrobbling SHARED
impl/listenbrainz/ListenBrainzScrobbler.cpp
impl/listenbrainz/ListensSynchronizer.cpp
impl/listenbrainz/Utils.cpp
impl/Scrobbling.cpp
impl/ScrobblingService.cpp
)
target_include_directories(lmsscrobbling INTERFACE
@@ -25,7 +25,7 @@
#include <Wt/WDateTime.h>
#include "scrobbling/Listen.hpp"
#include "services/scrobbling/Listen.hpp"
namespace Database
{
@@ -17,7 +17,7 @@
* along with LMS. If not, see <http://www.gnu.org/licenses/>.
*/
#include "Scrobbling.hpp"
#include "ScrobblingService.hpp"
#include "database/Artist.hpp"
#include "database/Db.hpp"
@@ -34,13 +34,13 @@ namespace Scrobbling
{
using namespace Database;
std::unique_ptr<IScrobbling>
createScrobbling(boost::asio::io_context& ioContext, Db& db)
std::unique_ptr<IScrobblingService>
createScrobblingService(boost::asio::io_context& ioContext, Db& db)
{
return std::make_unique<Scrobbling>(ioContext, db);
return std::make_unique<ScrobblingService>(ioContext, db);
}
Scrobbling::Scrobbling(boost::asio::io_context& ioContext, Db& db)
ScrobblingService::ScrobblingService(boost::asio::io_context& ioContext, Db& db)
: _db {db}
{
_scrobblers.emplace(Database::Scrobbler::Internal, std::make_unique<InternalScrobbler>(_db));
@@ -48,28 +48,28 @@ namespace Scrobbling
}
void
Scrobbling::listenStarted(const Listen& listen)
ScrobblingService::listenStarted(const Listen& listen)
{
if (std::optional<Database::Scrobbler> scrobbler {getUserScrobbler(listen.userId)})
_scrobblers[*scrobbler]->listenStarted(listen);
}
void
Scrobbling::listenFinished(const Listen& listen, std::optional<std::chrono::seconds> duration)
ScrobblingService::listenFinished(const Listen& listen, std::optional<std::chrono::seconds> duration)
{
if (std::optional<Database::Scrobbler> scrobbler {getUserScrobbler(listen.userId)})
_scrobblers[*scrobbler]->listenFinished(listen, duration);
}
void
Scrobbling::addTimedListen(const TimedListen& listen)
ScrobblingService::addTimedListen(const TimedListen& listen)
{
if (std::optional<Database::Scrobbler> scrobbler {getUserScrobbler(listen.userId)})
_scrobblers[*scrobbler]->addTimedListen(listen);
}
std::optional<Database::Scrobbler>
Scrobbling::getUserScrobbler(Database::UserId userId)
ScrobblingService::getUserScrobbler(Database::UserId userId)
{
std::optional<Database::Scrobbler> scrobbler;
@@ -81,8 +81,8 @@ namespace Scrobbling
return scrobbler;
}
Scrobbling::ArtistContainer
Scrobbling::getRecentArtists(UserId userId,
ScrobblingService::ArtistContainer
ScrobblingService::getRecentArtists(UserId userId,
const std::vector<ClusterId>& clusterIds,
std::optional<TrackArtistLinkType> linkType,
std::optional<Range> range,
@@ -107,8 +107,8 @@ namespace Scrobbling
return res;
}
Scrobbling::ReleaseContainer
Scrobbling::getRecentReleases(Database::UserId userId,
ScrobblingService::ReleaseContainer
ScrobblingService::getRecentReleases(Database::UserId userId,
const std::vector<Database::ClusterId>& clusterIds,
std::optional<Database::Range> range,
bool& moreResults)
@@ -132,8 +132,8 @@ namespace Scrobbling
return res;
}
Scrobbling::TrackContainer
Scrobbling::getRecentTracks(Database::UserId userId,
ScrobblingService::TrackContainer
ScrobblingService::getRecentTracks(Database::UserId userId,
const std::vector<Database::ClusterId>& clusterIds,
std::optional<Database::Range> range,
bool& moreResults)
@@ -159,8 +159,8 @@ namespace Scrobbling
// Top
Scrobbling::ArtistContainer
Scrobbling::getTopArtists(UserId userId,
ScrobblingService::ArtistContainer
ScrobblingService::getTopArtists(UserId userId,
const std::vector<Database::ClusterId>& clusterIds,
std::optional<Database::TrackArtistLinkType> linkType,
std::optional<Database::Range> range,
@@ -185,8 +185,8 @@ namespace Scrobbling
return res;
}
Scrobbling::ReleaseContainer
Scrobbling::getTopReleases(Database::UserId userId,
ScrobblingService::ReleaseContainer
ScrobblingService::getTopReleases(Database::UserId userId,
const std::vector<Database::ClusterId>& clusterIds,
std::optional<Database::Range> range,
bool& moreResults)
@@ -210,8 +210,8 @@ namespace Scrobbling
return res;
}
Scrobbling::TrackContainer
Scrobbling::getTopTracks(Database::UserId userId,
ScrobblingService::TrackContainer
ScrobblingService::getTopTracks(Database::UserId userId,
const std::vector<Database::ClusterId>& clusterIds,
std::optional<Database::Range> range,
bool& moreResults)
@@ -235,7 +235,7 @@ namespace Scrobbling
}
Database::ObjectPtr<Database::TrackList>
Scrobbling::getListensTrackList(Session& session, Database::ObjectPtr<Database::User> user)
ScrobblingService::getListensTrackList(Session& session, Database::ObjectPtr<Database::User> user)
{
return _scrobblers[user->getScrobbler()]->getListensTrackList(session, user);
}
@@ -23,15 +23,15 @@
#include <optional>
#include <unordered_map>
#include "scrobbling/IScrobbling.hpp"
#include "services/scrobbling/IScrobblingService.hpp"
#include "IScrobbler.hpp"
namespace Scrobbling
{
class Scrobbling : public IScrobbling
class ScrobblingService : public IScrobblingService
{
public:
Scrobbling(boost::asio::io_context& ioContext, Database::Db& db);
ScrobblingService(boost::asio::io_context& ioContext, Database::Db& db);
private:
void listenStarted(const Listen& listen) override;
@@ -32,7 +32,7 @@
#include "database/Track.hpp"
#include "database/TrackList.hpp"
#include "database/User.hpp"
#include "scrobbling/Exception.hpp"
#include "services/scrobbling/Exception.hpp"
#include "utils/IConfig.hpp"
#include "utils/http/IClient.hpp"
#include "utils/Logger.hpp"
@@ -27,7 +27,7 @@
#include <Wt/Dbo/Dbo.h>
#include "database/Types.hpp"
#include "scrobbling/Listen.hpp"
#include "services/scrobbling/Listen.hpp"
namespace Database
{
@@ -28,7 +28,7 @@
#include <Wt/WDateTime.h>
#include "scrobbling/Listen.hpp"
#include "services/scrobbling/Listen.hpp"
#include "database/Types.hpp"
namespace Database
@@ -44,10 +44,10 @@ namespace Database
namespace Scrobbling
{
class IScrobbling
class IScrobblingService
{
public:
virtual ~IScrobbling() = default;
virtual ~IScrobblingService() = default;
// Scrobbling
virtual void listenStarted(const Listen& listen) = 0;
@@ -97,7 +97,7 @@ namespace Scrobbling
bool& moreResults) = 0;
};
std::unique_ptr<IScrobbling> createScrobbling(boost::asio::io_service& ioService, Database::Db& db);
std::unique_ptr<IScrobblingService> createScrobblingService(boost::asio::io_service& ioService, Database::Db& db);
} // ns Scrobbling

Some files were not shown because too many files have changed in this diff Show More