Major refactor #141

Merged
sim0n00ps merged 55 commits from whimsical-c4lic0/OF-DL:refactor-architecture into master 2026-02-13 00:21:58 +00:00
Collaborator

This refactor is a involves the following changes:

  • Convert config and auth handling into services
  • Convert most of the helper classes into services
  • Add DI (dependency injection) for all the services
  • Remove application logic (anything API or download related) from Program.cs
  • Reduce duplicated code in the download and api services
  • Organize model classes into namespaces by purpose/category
  • Create separate model classes for JSON API responses and application logic (DTO and Entity) with mapper to convert the former into the latter
  • Extract all models, services, helpers, etc into a separate OF DL.Core project
  • Add an OF DL.Tests project with AI generated unit tests to start with (all tests pass)
  • Update .editorconfig with values used by the .NET project maintainers
  • Re-format all the code to follow the new formatting rules
  • Fix all compiler warnings
  • Upgrade .NET from version 8 to 10
  • Add AGENTS.md for better compatibility with AI agents (e.g. Codex and Claude Code)

Note:
All dependencies in OF DL.Core also need to be included in the OF DL project to be able to build a single file executable

Tests that I've done:

  • Run unit tests
  • Publish windows build
  • Create docker image
  • Use browser-based auth in docker
  • Use browser-based auth in windows
  • Logout
  • Update config from menu
  • Download free post w/o video
  • Download purchased post w/ photos and video
  • Download purchased message w/ photos and video
  • Download DRM video (from free post)
  • Download non-DRM video (from free post)
  • Download user list
  • Download purchased tab (includes paid posts/messages from deleted accounts)
  • Download media with custom filename formats (global)
  • Download posts with date filter
This refactor is a involves the following changes: - Convert config and auth handling into services - Convert most of the helper classes into services - Add DI (dependency injection) for all the services - Remove application logic (anything API or download related) from Program.cs - Reduce duplicated code in the download and api services - Organize model classes into namespaces by purpose/category - Create separate model classes for JSON API responses and application logic (DTO and Entity) with mapper to convert the former into the latter - Extract all models, services, helpers, etc into a separate OF DL.Core project - Add an OF DL.Tests project with AI generated unit tests to start with (all tests pass) - Update .editorconfig with values used by the .NET project maintainers - Re-format all the code to follow the new formatting rules - Fix all compiler warnings - Upgrade .NET from version 8 to 10 - Add AGENTS.md for better compatibility with AI agents (e.g. Codex and Claude Code) Note: All dependencies in OF DL.Core also need to be included in the OF DL project to be able to build a single file executable Tests that I've done: - Run unit tests - Publish windows build - Create docker image - Use browser-based auth in docker - Use browser-based auth in windows - Logout - Update config from menu - Download free post w/o video - Download purchased post w/ photos and video - Download purchased message w/ photos and video - Download DRM video (from free post) - Download non-DRM video (from free post) - Download user list - Download purchased tab (includes paid posts/messages from deleted accounts) - Download media with custom filename formats (global) - Download posts with date filter
whimsical-c4lic0 added 51 commits 2026-02-11 03:25:25 +00:00
whimsical-c4lic0 added 1 commit 2026-02-11 18:29:02 +00:00
whimsical-c4lic0 added 1 commit 2026-02-12 15:51:10 +00:00
whimsical-c4lic0 added 2 commits 2026-02-12 16:57:20 +00:00
sim0n00ps merged commit aee920a9f1 into master 2026-02-13 00:21:58 +00:00
whimsical-c4lic0 deleted branch refactor-architecture 2026-02-13 00:32:50 +00:00
Sign in to join this conversation.
No description provided.