using System.Collections.Generic; using Nancy.Metadata.Modules; using Nancy.Metadata.Swagger.Core; using Nancy.Metadata.Swagger.Fluent; using Sony.Filtr.AdminAPI.ViewModels.PlaylistCuration; namespace Sony.Filtr.AdminAPI.Modules { public class PlaylistCurationMetadataModule : MetadataModule { public PlaylistCurationMetadataModule() { var tag = "Playlist Curation"; //Describe["GetPlaylistCurationTrackAnalyze"] = description => new SwaggerRouteMetadata(description).With(c => // c.WithDescription("Get the playlists which best match the specified track. Score is calculated based on tags, similar artists, energy/hotness/tempo, and catalogue/frontline. ", tag) // .WithRequestParameter("trackUri", description: "Spotify uri for the track", loc: "query") // .WithDefaultResponse>()); Describe["GetPlaylistCurationMoodagentPlaylistSuggestion"] = description => new SwaggerRouteMetadata(description).With(c => c.WithDescription("Get playlists suggestions from Moodagent based on Spotify track", tag) .WithRequestParameter("trackUri", loc: "query", description: "Spotify uri for the track") .WithRequestParameter("limit", loc: "query", required: false) .WithRequestParameter("offset", loc: "query", required: false) .WithRequestParameter("region", loc: "query", required: false, description: "Used for IsSony and available regions for the track") .WithRequestParameter("streamsRegion", loc: "query", required: false, description: "This determines which streams are counted as local. If not set it will use the region parameter value instead.") .WithDefaultResponse()); Describe["GetPlaylistCurationMoodagentTrackSuggestion"] = description => new SwaggerRouteMetadata(description).With(c => c.WithDescription("Get track suggestions from Moodagent based on Spotify playlist", tag) .WithRequestParameter("playlistUri", loc: "query", description: "Spotify uri for the playlist") .WithRequestParameter("limit", loc: "query", required: false) .WithRequestParameter("offset", loc: "query", required: false) .WithRequestParameter("region", loc: "query", required: false, description: "Used for IsSony and available regions for the track") .WithDefaultResponse()); } } }