Framework to build APIs
- Fix function WithDatabaseTransaction to pass the correct connection in the callback
- Fix BaseRefreshAction / BaseLogoutAction to have generic input parameters
- IRepository.ExistsById - New function added to check for existence
- Refresh token authentication — New
BaseLoginAction,BaseRefreshAction, andBaseLogoutActionwith pluggable storage (database or JWT-only) and transport (cookie or JSON body). Replaces the previous cookie-onlyJwtRefreshCookieService. - Sequential GUID generation —
SequentialGuid.NewGuid()produces database-friendly ordered GUIDs: Guid v7 for PostgreSQL/MySQL/SQLite, COMB GUIDs for SQL Server.
- TimeProvider adoption — All date/time usage now goes through the
TimeProviderabstraction instead ofDateTime.Now/DateTime.UtcNow, enabling deterministic testing. - Code quality pass — Enforced
.editorconfigrules, resolved all warnings underTreatWarningsAsErrors, and cleaned up code style across the solution.