using System.Linq; using Nancy.Metadata.Modules; using Nancy.Metadata.Swagger.Core; using Nancy.Metadata.Swagger.Fluent; using Sony.Filtr.AdminAPI.ViewModels.AppleMusic; using Sony.Filtr.Contracts.Entities; namespace Sony.Filtr.AdminAPI.Modules.AppleMusic { public class AppleMusicTrackStreamsMetadataModule : MetadataModule { public AppleMusicTrackStreamsMetadataModule() { const string tag = "Apple Music track streams"; Describe["GetAppleMusicAnalyticsTrackDemographics"] = description => new SwaggerRouteMetadata(description).With(c => c.WithDescription("Get demographics data.", tag) .WithRequestParameter("isrc", description: "Isrc, possible to specify multiple parameters or comma separated values.", loc: "query", required: true) .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) .WithRequestParameter("countryCode", description: "Filter by country", loc: "query", required: false) .WithDefaultResponse>()); } } }