using System; using System.Collections.Generic; using System.Linq; using Nancy; using Nancy.Metadata.Modules; using Nancy.Metadata.Swagger.Core; using Nancy.Metadata.Swagger.Fluent; using Nancy.Metadata.Swagger.Model; using Nancy.Routing; using Sony.Filtr.Applications; using Sony.Filtr.Core.AdStats; using Sony.Filtr.Core.InfluentialPlaylists; using Sony.Filtr.SpotifyWebAPI; namespace Sony.Filtr.AdminAPI.Modules.Stats { public class PlaylistStatsMetadataModule : MetadataModule { public PlaylistStatsMetadataModule() { var tag = "Tag Category"; Describe["GetBuzzPlaylistsTrend"] = description => new SwaggerRouteMetadata(description).With(c => c.WithDescription("TODO", tag) .WithRequestParameter("countryCode", description: "Market Id") .WithRequestParameter("startDate", loc: "query") .WithRequestParameter("endDate", loc: "query") .WithDefaultResponse>() ); Describe["GetBuzzPlaylistsTrendExcel"] = description => new SwaggerRouteMetadata(description).With(c => c.WithDescription("TODO", tag) .WithRequestParameter("countryCode", description: "Market Id") .WithRequestParameter("startDate", loc: "query") .WithRequestParameter("endDate", loc: "query") .WithResponse(HttpStatusCode.OK, "CSV data")); Describe["GetBuzzPlaylistsTrendForUser"] = description => new SwaggerRouteMetadata(description).With(c => c.WithDescription("TODO", tag) .WithRequestParameter("countryCode", description: "Market Id") .WithRequestParameter("startDate", loc: "query") .WithRequestParameter("endDate", loc: "query") .WithDefaultResponse>()); Describe["GetBuzzPlaylistsTrendForUserExcel"] = description => new SwaggerRouteMetadata(description).With(c => c.WithDescription("TODO", tag) .WithRequestParameter("countryCode", description: "Market Id") .WithRequestParameter("startDate", loc: "query") .WithRequestParameter("endDate", loc: "query") .WithResponse(HttpStatusCode.OK, "CSV data")); Describe["GetBuzzPlaylistForCompany"] = description => new SwaggerRouteMetadata(description).With(c => c.WithDescription("TODO", tag) .WithRequestParameter("countryCode", description: "Market Id") .WithRequestParameter("startDate", loc: "query") .WithRequestParameter("endDate", loc: "query") .WithDefaultResponse>()); Describe["GetBuzzPlaylistForCompanyExcel"] = description => new SwaggerRouteMetadata(description).With(c => c.WithDescription("TODO", tag) .WithRequestParameter("countryCode", description: "Market Id") .WithRequestParameter("startDate", loc: "query") .WithRequestParameter("endDate", loc: "query") .WithResponse(HttpStatusCode.OK, "CSV data")); Describe["GetAllPlaylistsTrend"] = description => new SwaggerRouteMetadata(description).With(c => c.WithDescription("TODO", tag) .WithRequestParameter("countryCode", description: "Market Id") .WithRequestParameter("startDate", loc: "query") .WithRequestParameter("endDate", loc: "query") .WithDefaultResponse>()); Describe["GetAllPlaylistsTrendExcel"] = description => new SwaggerRouteMetadata(description).With(c => c.WithDescription("TODO", tag) .WithRequestParameter("countryCode", description: "Market Id") .WithRequestParameter("startDate", loc: "query") .WithRequestParameter("endDate", loc: "query") .WithResponse(HttpStatusCode.OK, "CSV data")); Describe["GetPlaylistPerCountryTrend"] = description => new SwaggerRouteMetadata(description).With(c => c.WithDescription("TODO", tag) .WithRequestParameter("countryCode", description: "Market Id") .WithRequestParameter("startDate", loc: "query") .WithRequestParameter("endDate", loc: "query") .WithDefaultResponse>()); Describe["GetPlaylistPerCountryTrendExcel"] = description => new SwaggerRouteMetadata(description).With(c => c.WithDescription("TODO", tag) .WithRequestParameter("countryCode", description: "Market Id") .WithRequestParameter("startDate", loc: "query") .WithRequestParameter("endDate", loc: "query") .WithResponse(HttpStatusCode.OK, "CSV data")); Describe["GetMarketPlaylistTrends"] = description => new SwaggerRouteMetadata(description).With(c => c.WithDescription("TODO", tag) .WithRequestParameter("countryCode", description: "Market Id") .WithRequestParameter("startDate", loc: "query") .WithRequestParameter("endDate", loc: "query") .WithDefaultResponse>()); Describe["GetSelectedPlaylistsTrend"] = description => new SwaggerRouteMetadata(description).With(c => c.WithDescription("TODO", tag) .WithRequestParameter("playlistId", loc: "query", description: "comma separated playlist ids") .WithRequestParameter("startDate", loc: "query") .WithRequestParameter("endDate", loc: "query")); Describe["GetSelectedPlaylistsTrendExcel"] = description => new SwaggerRouteMetadata(description).With(c => c.WithDescription("TODO", tag) .WithRequestParameter("playlistId", loc: "query", description: "comma separated playlist ids") .WithRequestParameter("startDate", loc: "query") .WithRequestParameter("endDate", loc: "query") .WithResponse(HttpStatusCode.OK, "CSV data")); } } }