using System.Linq; using Nancy; using Sony.Filtr.AdminAPI.Utility; using Sony.Filtr.Contracts.Abstractions; using Sony.Filtr.Core.Buzz; namespace Sony.Filtr.AdminAPI.Modules.SpotifySpecific { public class SpotifyArtistModule : BaseModule { public SpotifyArtistModule(IApplicationInstanceManager applicationInstanceManager, BuzzArtistManager buzzArtistManager) : base(applicationInstanceManager) { Get["GetSpotifyArtistInfo", "/SpotifyArtist/", true] = async (parameters, cx) => { var artistId = Request.GetRequiredArtistId(); var buzzUser = buzzArtistManager.GetBuzzArtistBySpotifyId(artistId); if (buzzUser == null) return HttpStatusCode.NotFound; var viewModel = new SpotifyArtistViewModel() { ArtistId = artistId, ArtistName = buzzUser.ArtistName, Followers = buzzUser.Followers, }; return Response.AsJson(viewModel); }; } } public class SpotifyArtistViewModel { public string ArtistId { get; set; } public string ArtistName { get; set; } public int? Followers { get; set; } } }