From 014422171289e64749534dfee52689e51a704d6f Mon Sep 17 00:00:00 2001 From: Mario Steele Date: Sat, 19 Jul 2025 04:02:09 -0500 Subject: [PATCH] Initial Commit Inital Commit of Code base, nothing tested. --- .dockerignore | 25 ++ .gitignore | 7 + FreeTubeSync.sln | 21 ++ FreeTubeSync/Database/DataContext.cs | 37 +++ FreeTubeSync/Dockerfile | 23 ++ FreeTubeSync/EndPoints/HistoryEndpoint.cs | 35 +++ FreeTubeSync/EndPoints/PlaylistEndpoint.cs | 35 +++ FreeTubeSync/EndPoints/ProfileEndpoint.cs | 35 +++ .../EndPoints/SearchHistoryEndpoint.cs | 36 +++ FreeTubeSync/EndPoints/SettingEndpoint.cs | 37 +++ FreeTubeSync/FreeTubeSync.csproj | 27 ++ FreeTubeSync/IRepository.cs | 10 + .../20250719082332_Init.Designer.cs | 248 ++++++++++++++++++ .../Migrations/20250719082332_Init.cs | 171 ++++++++++++ .../Migrations/DataContextModelSnapshot.cs | 245 +++++++++++++++++ FreeTubeSync/Model/History.cs | 43 +++ FreeTubeSync/Model/Playlist.cs | 25 ++ FreeTubeSync/Model/Profile.cs | 23 ++ FreeTubeSync/Model/SearchHistory.cs | 17 ++ FreeTubeSync/Model/Setting.cs | 25 ++ FreeTubeSync/Model/Subscription.cs | 13 + FreeTubeSync/Model/Video.cs | 18 ++ FreeTubeSync/Program.cs | 24 ++ FreeTubeSync/Properties/launchSettings.json | 29 ++ FreeTubeSync/Repository.cs | 35 +++ FreeTubeSync/SpecialResponses/Mappings.cs | 20 ++ .../SpecialResponses/SettingResponse.cs | 9 + FreeTubeSync/appsettings.Development.json | 8 + FreeTubeSync/appsettings.json | 9 + compose.yaml | 7 + global.json | 7 + 31 files changed, 1304 insertions(+) create mode 100644 .dockerignore create mode 100644 .gitignore create mode 100644 FreeTubeSync.sln create mode 100644 FreeTubeSync/Database/DataContext.cs create mode 100644 FreeTubeSync/Dockerfile create mode 100644 FreeTubeSync/EndPoints/HistoryEndpoint.cs create mode 100644 FreeTubeSync/EndPoints/PlaylistEndpoint.cs create mode 100644 FreeTubeSync/EndPoints/ProfileEndpoint.cs create mode 100644 FreeTubeSync/EndPoints/SearchHistoryEndpoint.cs create mode 100644 FreeTubeSync/EndPoints/SettingEndpoint.cs create mode 100644 FreeTubeSync/FreeTubeSync.csproj create mode 100644 FreeTubeSync/IRepository.cs create mode 100644 FreeTubeSync/Migrations/20250719082332_Init.Designer.cs create mode 100644 FreeTubeSync/Migrations/20250719082332_Init.cs create mode 100644 FreeTubeSync/Migrations/DataContextModelSnapshot.cs create mode 100644 FreeTubeSync/Model/History.cs create mode 100644 FreeTubeSync/Model/Playlist.cs create mode 100644 FreeTubeSync/Model/Profile.cs create mode 100644 FreeTubeSync/Model/SearchHistory.cs create mode 100644 FreeTubeSync/Model/Setting.cs create mode 100644 FreeTubeSync/Model/Subscription.cs create mode 100644 FreeTubeSync/Model/Video.cs create mode 100644 FreeTubeSync/Program.cs create mode 100644 FreeTubeSync/Properties/launchSettings.json create mode 100644 FreeTubeSync/Repository.cs create mode 100644 FreeTubeSync/SpecialResponses/Mappings.cs create mode 100644 FreeTubeSync/SpecialResponses/SettingResponse.cs create mode 100644 FreeTubeSync/appsettings.Development.json create mode 100644 FreeTubeSync/appsettings.json create mode 100644 compose.yaml create mode 100644 global.json diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..38bece4 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,25 @@ +**/.dockerignore +**/.env +**/.git +**/.gitignore +**/.project +**/.settings +**/.toolstarget +**/.vs +**/.vscode +**/.idea +**/*.*proj.user +**/*.dbmdl +**/*.jfm +**/azds.yaml +**/bin +**/charts +**/docker-compose* +**/Dockerfile* +**/node_modules +**/npm-debug.log +**/obj +**/secrets.dev.yaml +**/values.dev.yaml +LICENSE +README.md \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..f188de7 --- /dev/null +++ b/.gitignore @@ -0,0 +1,7 @@ +bin/ +obj/ +/packages/ +.idea/ +riderModule.iml +/_ReSharper.Caches/ +FreeTubeSync.db diff --git a/FreeTubeSync.sln b/FreeTubeSync.sln new file mode 100644 index 0000000..e634bc5 --- /dev/null +++ b/FreeTubeSync.sln @@ -0,0 +1,21 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FreeTubeSync", "FreeTubeSync\FreeTubeSync.csproj", "{E55FECEB-2D88-4FD4-90BF-713EB30D60BB}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{47A66AFA-4FD3-40F3-ADE0-27EE0527211B}" + ProjectSection(SolutionItems) = preProject + compose.yaml = compose.yaml + EndProjectSection +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {E55FECEB-2D88-4FD4-90BF-713EB30D60BB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {E55FECEB-2D88-4FD4-90BF-713EB30D60BB}.Debug|Any CPU.Build.0 = Debug|Any CPU + {E55FECEB-2D88-4FD4-90BF-713EB30D60BB}.Release|Any CPU.ActiveCfg = Release|Any CPU + {E55FECEB-2D88-4FD4-90BF-713EB30D60BB}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection +EndGlobal diff --git a/FreeTubeSync/Database/DataContext.cs b/FreeTubeSync/Database/DataContext.cs new file mode 100644 index 0000000..48ca94d --- /dev/null +++ b/FreeTubeSync/Database/DataContext.cs @@ -0,0 +1,37 @@ +using FreeTubeSync.Model; +using Microsoft.EntityFrameworkCore; + +namespace FreeTubeSync.Database; + +public class DataContext : DbContext +{ + public DataContext(DbContextOptions options) : base(options) + { + + } + + protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) + { + optionsBuilder.UseSqlite("Data Source=FreeTubeSync.db"); + } + + protected override void OnModelCreating(ModelBuilder modelBuilder) + { + modelBuilder.Entity() + .ToTable("Settings") + .HasKey(s => s._id); + + modelBuilder.Entity() + .Property(s => s.ValueJson) + .HasColumnName("Value") + .IsRequired(); + } + + public DbSet Histories { get; set; } + public DbSet Playlists { get; set; } + public DbSet Profiles { get; set; } + public DbSet SearchHistories { get; set; } + public DbSet Settings { get; set; } + public DbSet Subscriptions { get; set; } + public DbSet