adding consumer, changing default poll period
This commit is contained in:
parent
bfc7a0db34
commit
b3ae8e65ac
Selector.AppleMusic/Watcher
Selector.CLI/Services
Selector.Event/Consumers
Selector.LastFm/Extensions
@ -6,7 +6,7 @@ namespace Selector.AppleMusic.Watcher
|
||||
public interface IAppleMusicWatcherFactory
|
||||
{
|
||||
Task<IWatcher> Get<T>(AppleMusicApiProvider appleMusicProvider, string developerToken, string teamId,
|
||||
string keyId, string userToken, string id = null, int pollPeriod = 3000)
|
||||
string keyId, string userToken, string id = null, int pollPeriod = 10000)
|
||||
where T : class, IWatcher;
|
||||
}
|
||||
|
||||
@ -22,7 +22,7 @@ namespace Selector.AppleMusic.Watcher
|
||||
}
|
||||
|
||||
public async Task<IWatcher> Get<T>(AppleMusicApiProvider appleMusicProvider, string developerToken,
|
||||
string teamId, string keyId, string userToken, string id = null, int pollPeriod = 3000)
|
||||
string teamId, string keyId, string userToken, string id = null, int pollPeriod = 10000)
|
||||
where T : class, IWatcher
|
||||
{
|
||||
if (typeof(T).IsAssignableFrom(typeof(AppleMusicPlayerWatcher)))
|
||||
|
@ -161,7 +161,7 @@ namespace Selector.CLI
|
||||
if (MappingPersisterFactory is not null && !Magic.Dummy)
|
||||
consumers.Add(await MappingPersisterFactory.Get());
|
||||
|
||||
if (UserEventFirerFactory is not null) consumers.Add(await UserEventFirerFactory.Get());
|
||||
if (UserEventFirerFactory is not null) consumers.Add(await UserEventFirerFactory.GetSpotify());
|
||||
|
||||
if (dbWatcher.User.LastFmConnected())
|
||||
{
|
||||
@ -187,6 +187,8 @@ namespace Selector.CLI
|
||||
if (CacheWriterFactory is not null) consumers.Add(await CacheWriterFactory.GetApple());
|
||||
if (PublisherFactory is not null) consumers.Add(await PublisherFactory.GetApple());
|
||||
|
||||
if (UserEventFirerFactory is not null) consumers.Add(await UserEventFirerFactory.GetApple());
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -5,7 +5,8 @@ namespace Selector.Events
|
||||
{
|
||||
public interface IUserEventFirerFactory
|
||||
{
|
||||
public Task<SpotifyUserEventFirer> Get(ISpotifyPlayerWatcher watcher = null);
|
||||
public Task<SpotifyUserEventFirer> GetSpotify(ISpotifyPlayerWatcher watcher = null);
|
||||
public Task<AppleUserEventFirer> GetApple(IAppleMusicPlayerWatcher watcher = null);
|
||||
}
|
||||
|
||||
public class UserEventFirerFactory : IUserEventFirerFactory
|
||||
@ -19,7 +20,7 @@ namespace Selector.Events
|
||||
UserEvent = userEvent;
|
||||
}
|
||||
|
||||
public Task<SpotifyUserEventFirer> Get(ISpotifyPlayerWatcher watcher = null)
|
||||
public Task<SpotifyUserEventFirer> GetSpotify(ISpotifyPlayerWatcher watcher = null)
|
||||
{
|
||||
return Task.FromResult(new SpotifyUserEventFirer(
|
||||
watcher,
|
||||
@ -27,5 +28,14 @@ namespace Selector.Events
|
||||
LoggerFactory.CreateLogger<SpotifyUserEventFirer>()
|
||||
));
|
||||
}
|
||||
|
||||
public Task<AppleUserEventFirer> GetApple(IAppleMusicPlayerWatcher watcher = null)
|
||||
{
|
||||
return Task.FromResult(new AppleUserEventFirer(
|
||||
watcher,
|
||||
UserEvent,
|
||||
LoggerFactory.CreateLogger<AppleUserEventFirer>()
|
||||
));
|
||||
}
|
||||
}
|
||||
}
|
@ -1,4 +1,5 @@
|
||||
using IF.Lastfm.Core.Api;
|
||||
using IF.Lastfm.Core.Scrobblers;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
|
||||
namespace Selector.Extensions;
|
||||
@ -7,8 +8,7 @@ public static class ServiceExtensions
|
||||
{
|
||||
public static IServiceCollection AddLastFm(this IServiceCollection services, string client, string secret)
|
||||
{
|
||||
var lastAuth = new LastAuth(client, secret);
|
||||
services.AddSingleton(lastAuth);
|
||||
services.AddTransient(sp => new LastAuth(client, secret));
|
||||
services.AddTransient(sp => new LastfmClient(sp.GetService<LastAuth>()));
|
||||
|
||||
services.AddTransient<ITrackApi>(sp => sp.GetService<LastfmClient>().Track);
|
||||
@ -21,6 +21,8 @@ public static class ServiceExtensions
|
||||
services.AddTransient<ILibraryApi>(sp => sp.GetService<LastfmClient>().Library);
|
||||
services.AddTransient<ITagApi>(sp => sp.GetService<LastfmClient>().Tag);
|
||||
|
||||
services.AddTransient<IScrobbler, MemoryScrobbler>();
|
||||
|
||||
return services;
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user