Commit graph

6 commits

Author SHA1 Message Date
Scott Scoble
deecc1dd7c feat: add SQLite data store with Lesson and LessonMedia models
- Add Microsoft.Data.Sqlite NuGet package to csproj
- Create Lesson model (Id, Title, Grade, Subject, LessonDate, Description, SourcePath, CompiledHtml, CreatedAt, UpdatedAt)
- Create LessonMedia model (LessonId, JellyfinItemId, SortOrder)
- Create LessonStore with SQLite-backed CRUD operations:
  - Constructor expands ~ in dbPath to home directory
  - Creates lessons and lesson_media tables on init
  - GetAllLessons(), GetLessonById(), GetLessonsByGrade()
  - UpsertLesson() with media association handling
  - DeleteLesson() with FK cascade
- Enables foreign key enforcement via PRAGMA
- Build passes with 0 warnings, 0 errors

Closes #4
2026-05-15 21:37:56 -07:00
1e1d059642 Merge pull request 'feat: scaffold Nix flake with dotnet-sdk_9, typst, and nodejs' (#10) from issue-1-flake-scaffold into main 2026-05-15 21:26:20 -07:00
Scott Scoble
4e12bc5b41 fix: populate deps.json, add Jellyfin package refs, rename csproj to Jellyfin.Plugin.Lessons.csproj
- Generated correct deps.json with nuget-to-json for all NuGet dependencies
- Added Jellyfin.Controller and Jellyfin.Model package references with ExcludeAssets=runtime
- Renamed csproj to Jellyfin.Plugin.Lessons.csproj (updated flake.nix projectFile)
2026-05-15 21:25:13 -07:00
Scott Scoble
d94b71d0a1 feat: scaffold Nix flake with dotnet-sdk_9, typst, and nodejs
- devShells.default provides dotnetCorePackages.sdk_9_0, typst, nodejs
- packages.default uses buildDotnetModule with net9.0 target via callPackage
- Stub plugin/ project with minimal .csproj
- .gitignore with .NET/Nix build artifacts
2026-05-15 21:18:15 -07:00
Scott Scoble
462db42a18 Architecture and component overview 2026-05-15 21:12:08 -07:00
8c213d8cc1 Initial commit 2026-05-15 21:10:26 -07:00