using System.Linq; using Nancy; using Nancy.Metadata.Modules; using Nancy.Metadata.Swagger.Core; using Nancy.Metadata.Swagger.Fluent; using Sony.Filtr.AdminAPI.Modules.TrackPlaylistAdds.ViewModels; using Sony.Filtr.AdminAPI.ViewModels.Graph; namespace Sony.Filtr.AdminAPI.Modules.TrackPlaylistAdds { public class TrackPlaylistAddsGraphMetadataModule : MetadataModule { public TrackPlaylistAddsGraphMetadataModule() { const string tag = "Track playlist adds"; Describe["TrackPlaylistAddsGraph"] = description => new SwaggerRouteMetadata(description).With(c => c.WithDescription("Get the number of track adds in playlists of time for the specified track", tag) .WithRequestParameter("isrc", description: "ISRC for the track", loc: "query", required: true) .WithRequestParameter("startDate", description: "StartDate of date period, default 30 days", loc: "query", required: false) .WithRequestParameter("endDate", description: "EndDate of date period, default today.", loc: "query", required: false) .WithDefaultResponse>() .WithResponse(HttpStatusCode.BadRequest, "Missing isrc")); } } }