From 5f8fb01a9f8549bf3cb3a94c5806debb3b1fd276 Mon Sep 17 00:00:00 2001 From: Kay Hennig Date: Sun, 27 Jul 2025 00:33:05 +0200 Subject: [PATCH] move project --- .vscode/launch.json | 15 ++ AdapterContext.cs | 89 +++++++ Controllers/HomeController.cs | 241 ++++++++++++++++++ ...0250726215357_InitialMigration.Designer.cs | 84 +++--- .../20250726215357_InitialMigration.cs | 64 ++--- .../AdapterContextModelSnapshot.cs | 82 +++--- Models/DetailsViewModel.cs | 8 + {tagvid/Models => Models}/ErrorViewModel.cs | 2 +- Models/SettingsViewModel.cs | 11 + tagvid/Program.cs => Program.cs | 12 + .../launchSettings.json | 0 tagvid/SettingName.cs => SettingName.cs | 0 Views/Home/Details.cshtml | 70 +++++ Views/Home/Index.cshtml | 1 + {tagvid/Views => Views}/Home/Privacy.cshtml | 0 Views/Home/Settings.cshtml | 15 ++ {tagvid/Views => Views}/Shared/Error.cshtml | 0 {tagvid/Views => Views}/Shared/_Layout.cshtml | 14 +- .../Views => Views}/Shared/_Layout.cshtml.css | 0 .../Shared/_ValidationScriptsPartial.cshtml | 0 Views/_ViewImports.cshtml | 4 + {tagvid/Views => Views}/_ViewStart.cshtml | 0 ...pment.json => appsettings.Development.json | 0 appsettings.json | 13 + {tagvid/db => db}/models/Setting.cs | 0 {tagvid/db => db}/models/Tag.cs | 3 +- .../VideoMetadata.cs => db/models/Video.cs | 13 +- db/models/VideoTag.cs | 10 + helpers/FFProbeHelper.cs | 60 +++++ tagvid/tagvid.csproj => tagvid.csproj | 0 tagvid.sln | 42 +-- tagvid/AdapterContext.cs | 138 ---------- tagvid/Controllers/HomeController.cs | 31 --- tagvid/Views/Home/Index.cshtml | 8 - tagvid/Views/_ViewImports.cshtml | 3 - tagvid/appsettings.json | 9 - tagvid/db/models/Video.cs | 15 -- {tagvid/wwwroot => wwwroot}/css/site.css | 0 {tagvid/wwwroot => wwwroot}/favicon.ico | Bin {tagvid/wwwroot => wwwroot}/js/site.js | 0 .../wwwroot => wwwroot}/lib/bootstrap/LICENSE | 0 .../lib/bootstrap/dist/css/bootstrap-grid.css | 0 .../bootstrap/dist/css/bootstrap-grid.css.map | 0 .../bootstrap/dist/css/bootstrap-grid.min.css | 0 .../dist/css/bootstrap-grid.min.css.map | 0 .../bootstrap/dist/css/bootstrap-grid.rtl.css | 0 .../dist/css/bootstrap-grid.rtl.css.map | 0 .../dist/css/bootstrap-grid.rtl.min.css | 0 .../dist/css/bootstrap-grid.rtl.min.css.map | 0 .../bootstrap/dist/css/bootstrap-reboot.css | 0 .../dist/css/bootstrap-reboot.css.map | 0 .../dist/css/bootstrap-reboot.min.css | 0 .../dist/css/bootstrap-reboot.min.css.map | 0 .../dist/css/bootstrap-reboot.rtl.css | 0 .../dist/css/bootstrap-reboot.rtl.css.map | 0 .../dist/css/bootstrap-reboot.rtl.min.css | 0 .../dist/css/bootstrap-reboot.rtl.min.css.map | 0 .../dist/css/bootstrap-utilities.css | 0 .../dist/css/bootstrap-utilities.css.map | 0 .../dist/css/bootstrap-utilities.min.css | 0 .../dist/css/bootstrap-utilities.min.css.map | 0 .../dist/css/bootstrap-utilities.rtl.css | 0 .../dist/css/bootstrap-utilities.rtl.css.map | 0 .../dist/css/bootstrap-utilities.rtl.min.css | 0 .../css/bootstrap-utilities.rtl.min.css.map | 0 .../lib/bootstrap/dist/css/bootstrap.css | 0 .../lib/bootstrap/dist/css/bootstrap.css.map | 0 .../lib/bootstrap/dist/css/bootstrap.min.css | 0 .../bootstrap/dist/css/bootstrap.min.css.map | 0 .../lib/bootstrap/dist/css/bootstrap.rtl.css | 0 .../bootstrap/dist/css/bootstrap.rtl.css.map | 0 .../bootstrap/dist/css/bootstrap.rtl.min.css | 0 .../dist/css/bootstrap.rtl.min.css.map | 0 .../lib/bootstrap/dist/js/bootstrap.bundle.js | 0 .../bootstrap/dist/js/bootstrap.bundle.js.map | 0 .../bootstrap/dist/js/bootstrap.bundle.min.js | 0 .../dist/js/bootstrap.bundle.min.js.map | 0 .../lib/bootstrap/dist/js/bootstrap.esm.js | 0 .../bootstrap/dist/js/bootstrap.esm.js.map | 0 .../bootstrap/dist/js/bootstrap.esm.min.js | 0 .../dist/js/bootstrap.esm.min.js.map | 0 .../lib/bootstrap/dist/js/bootstrap.js | 0 .../lib/bootstrap/dist/js/bootstrap.js.map | 0 .../lib/bootstrap/dist/js/bootstrap.min.js | 0 .../bootstrap/dist/js/bootstrap.min.js.map | 0 .../jquery-validation-unobtrusive/LICENSE.txt | 0 .../dist/jquery.validate.unobtrusive.js | 0 .../dist/jquery.validate.unobtrusive.min.js | 0 .../lib/jquery-validation/LICENSE.md | 0 .../dist/additional-methods.js | 0 .../dist/additional-methods.min.js | 0 .../jquery-validation/dist/jquery.validate.js | 0 .../dist/jquery.validate.min.js | 0 .../lib/jquery/LICENSE.txt | 0 .../lib/jquery/dist/jquery.js | 0 .../lib/jquery/dist/jquery.min.js | 0 .../lib/jquery/dist/jquery.min.map | 0 .../lib/jquery/dist/jquery.slim.js | 0 .../lib/jquery/dist/jquery.slim.min.js | 0 .../lib/jquery/dist/jquery.slim.min.map | 0 100 files changed, 651 insertions(+), 406 deletions(-) create mode 100644 .vscode/launch.json create mode 100644 AdapterContext.cs create mode 100644 Controllers/HomeController.cs rename tagvid/Migrations/20250726102958_InitialMigration.Designer.cs => Migrations/20250726215357_InitialMigration.Designer.cs (59%) rename tagvid/Migrations/20250726102958_InitialMigration.cs => Migrations/20250726215357_InitialMigration.cs (59%) rename {tagvid/Migrations => Migrations}/AdapterContextModelSnapshot.cs (59%) create mode 100644 Models/DetailsViewModel.cs rename {tagvid/Models => Models}/ErrorViewModel.cs (85%) create mode 100644 Models/SettingsViewModel.cs rename tagvid/Program.cs => Program.cs (71%) rename {tagvid/Properties => Properties}/launchSettings.json (100%) rename tagvid/SettingName.cs => SettingName.cs (100%) create mode 100644 Views/Home/Details.cshtml create mode 100644 Views/Home/Index.cshtml rename {tagvid/Views => Views}/Home/Privacy.cshtml (100%) create mode 100644 Views/Home/Settings.cshtml rename {tagvid/Views => Views}/Shared/Error.cshtml (100%) rename {tagvid/Views => Views}/Shared/_Layout.cshtml (77%) rename {tagvid/Views => Views}/Shared/_Layout.cshtml.css (100%) rename {tagvid/Views => Views}/Shared/_ValidationScriptsPartial.cshtml (100%) create mode 100644 Views/_ViewImports.cshtml rename {tagvid/Views => Views}/_ViewStart.cshtml (100%) rename tagvid/appsettings.Development.json => appsettings.Development.json (100%) create mode 100644 appsettings.json rename {tagvid/db => db}/models/Setting.cs (100%) rename {tagvid/db => db}/models/Tag.cs (70%) rename tagvid/db/models/VideoMetadata.cs => db/models/Video.cs (57%) create mode 100644 db/models/VideoTag.cs create mode 100644 helpers/FFProbeHelper.cs rename tagvid/tagvid.csproj => tagvid.csproj (100%) delete mode 100644 tagvid/AdapterContext.cs delete mode 100644 tagvid/Controllers/HomeController.cs delete mode 100644 tagvid/Views/Home/Index.cshtml delete mode 100644 tagvid/Views/_ViewImports.cshtml delete mode 100644 tagvid/appsettings.json delete mode 100644 tagvid/db/models/Video.cs rename {tagvid/wwwroot => wwwroot}/css/site.css (100%) rename {tagvid/wwwroot => wwwroot}/favicon.ico (100%) rename {tagvid/wwwroot => wwwroot}/js/site.js (100%) rename {tagvid/wwwroot => wwwroot}/lib/bootstrap/LICENSE (100%) rename {tagvid/wwwroot => wwwroot}/lib/bootstrap/dist/css/bootstrap-grid.css (100%) rename {tagvid/wwwroot => wwwroot}/lib/bootstrap/dist/css/bootstrap-grid.css.map (100%) rename {tagvid/wwwroot => wwwroot}/lib/bootstrap/dist/css/bootstrap-grid.min.css (100%) rename {tagvid/wwwroot => wwwroot}/lib/bootstrap/dist/css/bootstrap-grid.min.css.map (100%) rename {tagvid/wwwroot => wwwroot}/lib/bootstrap/dist/css/bootstrap-grid.rtl.css (100%) rename {tagvid/wwwroot => wwwroot}/lib/bootstrap/dist/css/bootstrap-grid.rtl.css.map (100%) rename {tagvid/wwwroot => wwwroot}/lib/bootstrap/dist/css/bootstrap-grid.rtl.min.css (100%) rename {tagvid/wwwroot => wwwroot}/lib/bootstrap/dist/css/bootstrap-grid.rtl.min.css.map (100%) rename {tagvid/wwwroot => wwwroot}/lib/bootstrap/dist/css/bootstrap-reboot.css (100%) rename {tagvid/wwwroot => wwwroot}/lib/bootstrap/dist/css/bootstrap-reboot.css.map (100%) rename {tagvid/wwwroot => wwwroot}/lib/bootstrap/dist/css/bootstrap-reboot.min.css (100%) rename {tagvid/wwwroot => wwwroot}/lib/bootstrap/dist/css/bootstrap-reboot.min.css.map (100%) rename {tagvid/wwwroot => wwwroot}/lib/bootstrap/dist/css/bootstrap-reboot.rtl.css (100%) rename {tagvid/wwwroot => wwwroot}/lib/bootstrap/dist/css/bootstrap-reboot.rtl.css.map (100%) rename {tagvid/wwwroot => wwwroot}/lib/bootstrap/dist/css/bootstrap-reboot.rtl.min.css (100%) rename {tagvid/wwwroot => wwwroot}/lib/bootstrap/dist/css/bootstrap-reboot.rtl.min.css.map (100%) rename {tagvid/wwwroot => wwwroot}/lib/bootstrap/dist/css/bootstrap-utilities.css (100%) rename {tagvid/wwwroot => wwwroot}/lib/bootstrap/dist/css/bootstrap-utilities.css.map (100%) rename {tagvid/wwwroot => wwwroot}/lib/bootstrap/dist/css/bootstrap-utilities.min.css (100%) rename {tagvid/wwwroot => wwwroot}/lib/bootstrap/dist/css/bootstrap-utilities.min.css.map (100%) rename {tagvid/wwwroot => wwwroot}/lib/bootstrap/dist/css/bootstrap-utilities.rtl.css (100%) rename {tagvid/wwwroot => wwwroot}/lib/bootstrap/dist/css/bootstrap-utilities.rtl.css.map (100%) rename {tagvid/wwwroot => wwwroot}/lib/bootstrap/dist/css/bootstrap-utilities.rtl.min.css (100%) rename {tagvid/wwwroot => wwwroot}/lib/bootstrap/dist/css/bootstrap-utilities.rtl.min.css.map (100%) rename {tagvid/wwwroot => wwwroot}/lib/bootstrap/dist/css/bootstrap.css (100%) rename {tagvid/wwwroot => wwwroot}/lib/bootstrap/dist/css/bootstrap.css.map (100%) rename {tagvid/wwwroot => wwwroot}/lib/bootstrap/dist/css/bootstrap.min.css (100%) rename {tagvid/wwwroot => wwwroot}/lib/bootstrap/dist/css/bootstrap.min.css.map (100%) rename {tagvid/wwwroot => wwwroot}/lib/bootstrap/dist/css/bootstrap.rtl.css (100%) rename {tagvid/wwwroot => wwwroot}/lib/bootstrap/dist/css/bootstrap.rtl.css.map (100%) rename {tagvid/wwwroot => wwwroot}/lib/bootstrap/dist/css/bootstrap.rtl.min.css (100%) rename {tagvid/wwwroot => wwwroot}/lib/bootstrap/dist/css/bootstrap.rtl.min.css.map (100%) rename {tagvid/wwwroot => wwwroot}/lib/bootstrap/dist/js/bootstrap.bundle.js (100%) rename {tagvid/wwwroot => wwwroot}/lib/bootstrap/dist/js/bootstrap.bundle.js.map (100%) rename {tagvid/wwwroot => wwwroot}/lib/bootstrap/dist/js/bootstrap.bundle.min.js (100%) rename {tagvid/wwwroot => wwwroot}/lib/bootstrap/dist/js/bootstrap.bundle.min.js.map (100%) rename {tagvid/wwwroot => wwwroot}/lib/bootstrap/dist/js/bootstrap.esm.js (100%) rename {tagvid/wwwroot => wwwroot}/lib/bootstrap/dist/js/bootstrap.esm.js.map (100%) rename {tagvid/wwwroot => wwwroot}/lib/bootstrap/dist/js/bootstrap.esm.min.js (100%) rename {tagvid/wwwroot => wwwroot}/lib/bootstrap/dist/js/bootstrap.esm.min.js.map (100%) rename {tagvid/wwwroot => wwwroot}/lib/bootstrap/dist/js/bootstrap.js (100%) rename {tagvid/wwwroot => wwwroot}/lib/bootstrap/dist/js/bootstrap.js.map (100%) rename {tagvid/wwwroot => wwwroot}/lib/bootstrap/dist/js/bootstrap.min.js (100%) rename {tagvid/wwwroot => wwwroot}/lib/bootstrap/dist/js/bootstrap.min.js.map (100%) rename {tagvid/wwwroot => wwwroot}/lib/jquery-validation-unobtrusive/LICENSE.txt (100%) rename {tagvid/wwwroot => wwwroot}/lib/jquery-validation-unobtrusive/dist/jquery.validate.unobtrusive.js (100%) rename {tagvid/wwwroot => wwwroot}/lib/jquery-validation-unobtrusive/dist/jquery.validate.unobtrusive.min.js (100%) rename {tagvid/wwwroot => wwwroot}/lib/jquery-validation/LICENSE.md (100%) rename {tagvid/wwwroot => wwwroot}/lib/jquery-validation/dist/additional-methods.js (100%) rename {tagvid/wwwroot => wwwroot}/lib/jquery-validation/dist/additional-methods.min.js (100%) rename {tagvid/wwwroot => wwwroot}/lib/jquery-validation/dist/jquery.validate.js (100%) rename {tagvid/wwwroot => wwwroot}/lib/jquery-validation/dist/jquery.validate.min.js (100%) rename {tagvid/wwwroot => wwwroot}/lib/jquery/LICENSE.txt (100%) rename {tagvid/wwwroot => wwwroot}/lib/jquery/dist/jquery.js (100%) rename {tagvid/wwwroot => wwwroot}/lib/jquery/dist/jquery.min.js (100%) rename {tagvid/wwwroot => wwwroot}/lib/jquery/dist/jquery.min.map (100%) rename {tagvid/wwwroot => wwwroot}/lib/jquery/dist/jquery.slim.js (100%) rename {tagvid/wwwroot => wwwroot}/lib/jquery/dist/jquery.slim.min.js (100%) rename {tagvid/wwwroot => wwwroot}/lib/jquery/dist/jquery.slim.min.map (100%) diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 0000000..2be6f42 --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,15 @@ +{ + // Use IntelliSense to learn about possible attributes. + // Hover to view descriptions of existing attributes. + // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 + "version": "0.2.0", + "configurations": [ + { + "name": "C#: Debug", + "type": "dotnet", + "request": "launch", + "projectPath": "${workspaceFolder}/.csproj" + } + + ] +} \ No newline at end of file diff --git a/AdapterContext.cs b/AdapterContext.cs new file mode 100644 index 0000000..b9ad571 --- /dev/null +++ b/AdapterContext.cs @@ -0,0 +1,89 @@ +using Db.Models; +using Microsoft.EntityFrameworkCore; + +public class AdapterContext : DbContext +{ + public AdapterContext(DbContextOptions options) + : base(options) + { + } + + protected override void OnModelCreating(ModelBuilder modelBuilder) + { + // Configure your entity mappings here + base.OnModelCreating(modelBuilder); + + modelBuilder.Entity(e => + { + e.HasKey(vt => new { vt.VideoId, vt.TagId }); + e.HasOne(vt => vt.Video) + .WithMany(v => v.VideoTags) + .HasForeignKey(vt => vt.VideoId); + e.HasOne(vt => vt.Tag) + .WithMany(t => t.VideoTags) + .HasForeignKey(vt => vt.TagId); + }); + + modelBuilder.Entity