using System.Linq; using Nancy.Metadata.Modules; using Nancy.Metadata.Swagger.Core; using Nancy.Metadata.Swagger.Fluent; using Sony.Filtr.AdminAPI.ViewModels.Graph; namespace Sony.Filtr.AdminAPI.Modules.SpotifySpecific { public class SpotifyPlaylistTrackGraphMetadataModule : MetadataModule { public SpotifyPlaylistTrackGraphMetadataModule() { var tag = "Track in Playlist position graph"; Describe["PlaylistTrackGraphPosition"] = description => new SwaggerRouteMetadata(description).With(c => c.WithDescription("Get the tracks position in the specific playlist over time. Lookup is based on ISRC. Either trackUri or ISRC is requrired.", tag) .WithRequestParameter("playlistUri", description: "Spotify uri for the playlist", loc: "query", required: true) .WithRequestParameter("trackUri", description: "Spotify uri for the track.", loc: "query", required: false) .WithRequestParameter("isrc", description: "Isrc for the track", loc: "query", required: false) .WithRequestParameter("startDate", description: "Start date of entries, default 30 days ago if not specified", loc: "query", required: false) .WithRequestParameter("endDate", description: "End date of entries, default today if not specified", loc: "query", required: false) .WithDefaultResponse>()); } } }