diff --git a/TuneRipper.Api/Controllers/WeatherForecastController.cs b/TuneRipper.Api/Controllers/WeatherForecastController.cs deleted file mode 100644 index bf88415..0000000 --- a/TuneRipper.Api/Controllers/WeatherForecastController.cs +++ /dev/null @@ -1,26 +0,0 @@ -using Microsoft.AspNetCore.Mvc; - -namespace TuneRipper.Api.Controllers -{ - [ApiController] - [Route("[controller]")] - public class WeatherForecastController : ControllerBase - { - private static readonly string[] Summaries = - [ - "Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching" - ]; - - [HttpGet(Name = "GetWeatherForecast")] - public IEnumerable Get() - { - return Enumerable.Range(1, 5).Select(index => new WeatherForecast - { - Date = DateOnly.FromDateTime(DateTime.Now.AddDays(index)), - TemperatureC = Random.Shared.Next(-20, 55), - Summary = Summaries[Random.Shared.Next(Summaries.Length)] - }) - .ToArray(); - } - } -} diff --git a/TuneRipper.Api/TuneRipper.Api.csproj b/TuneRipper.Api/TuneRipper.Api.csproj index 52dd1c3..1e9d092 100644 --- a/TuneRipper.Api/TuneRipper.Api.csproj +++ b/TuneRipper.Api/TuneRipper.Api.csproj @@ -10,4 +10,12 @@ + + + + + + + + diff --git a/TuneRipper.Api/WeatherForecast.cs b/TuneRipper.Api/WeatherForecast.cs deleted file mode 100644 index d3b4092..0000000 --- a/TuneRipper.Api/WeatherForecast.cs +++ /dev/null @@ -1,13 +0,0 @@ -namespace TuneRipper.Api -{ - public class WeatherForecast - { - public DateOnly Date { get; set; } - - public int TemperatureC { get; set; } - - public int TemperatureF => 32 + (int)(TemperatureC / 0.5556); - - public string? Summary { get; set; } - } -} diff --git a/TuneRipper.Shared/Configuration/ApiSettings.cs b/TuneRipper.Shared/Configuration/ApiSettings.cs new file mode 100644 index 0000000..c0b8bc8 --- /dev/null +++ b/TuneRipper.Shared/Configuration/ApiSettings.cs @@ -0,0 +1,11 @@ +namespace TuneRipper.Shared.Configuration; + +public class ApiSettings +{ + public const string SectionName = "ApiSettings"; + + public string? BaseUrl { get; set; } + public string? ApiKey { get; set; } + public int TimeoutSeconds { get; set; } = 30; + public bool EnableLogging { get; set; } = true; +} \ No newline at end of file diff --git a/TuneRipper.Shared/Models/ProcessVideoModels.cs b/TuneRipper.Shared/Models/ProcessVideoModels.cs new file mode 100644 index 0000000..034e9c8 --- /dev/null +++ b/TuneRipper.Shared/Models/ProcessVideoModels.cs @@ -0,0 +1,24 @@ +namespace TuneRipper.Shared.Models; + +public class ProcessVideoRequest +{ + public string? Url { get; set; } + public string? Format { get; set; } = "mp3"; + public string? Quality { get; set; } = "128"; +} + +public class ProcessVideoResponse +{ + public bool Success { get; set; } + public string? Message { get; set; } + public string? FileName { get; set; } + public string? DownloadUrl { get; set; } + public YouTubeVideoDetails? VideoDetails { get; set; } +} + +public class DownloadProgress +{ + public int PercentageComplete { get; set; } + public string? Status { get; set; } + public string? Message { get; set; } +} \ No newline at end of file diff --git a/TuneRipper.Shared/Models/YouTubeVideoDetails.cs b/TuneRipper.Shared/Models/YouTubeVideoDetails.cs new file mode 100644 index 0000000..35969b2 --- /dev/null +++ b/TuneRipper.Shared/Models/YouTubeVideoDetails.cs @@ -0,0 +1,14 @@ +namespace TuneRipper.Shared.Models; + +public class YouTubeVideoDetails +{ + public string? Id { get; set; } + public string? Title { get; set; } + public string? Description { get; set; } + public string? ThumbnailUrl { get; set; } + public TimeSpan Duration { get; set; } + public string? Author { get; set; } + public int ViewCount { get; set; } + public DateTime UploadDate { get; set; } + public List Tags { get; set; } = new(); +} \ No newline at end of file diff --git a/TuneRipper.Shared/TuneRipper.Shared.csproj b/TuneRipper.Shared/TuneRipper.Shared.csproj new file mode 100644 index 0000000..b760144 --- /dev/null +++ b/TuneRipper.Shared/TuneRipper.Shared.csproj @@ -0,0 +1,9 @@ + + + + net10.0 + enable + enable + + + diff --git a/TuneRipper.slnx b/TuneRipper.slnx index a1e3df2..1deb668 100644 --- a/TuneRipper.slnx +++ b/TuneRipper.slnx @@ -1,4 +1,5 @@ + diff --git a/TuneRipper/TuneRipper.csproj b/TuneRipper/TuneRipper.csproj index 84b8458..f2dca46 100644 --- a/TuneRipper/TuneRipper.csproj +++ b/TuneRipper/TuneRipper.csproj @@ -12,4 +12,8 @@ + + + +