feat: add locked new-year rollover wizard for season transitions

Promote returning students, assign officers, and clear last season's data after an automatic SQLite backup, with Docker volume path docs fixed for /app/Data.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-08-14 14:18:18 -04:00
co-authored by Cursor
parent c5c0f95f60
commit afdabd179a
16 changed files with 1677 additions and 50 deletions
+13
View File
@@ -0,0 +1,13 @@
namespace WebApp.Services;
/// <summary>
/// Creates SQLite database backups.
/// </summary>
public interface IDatabaseBackupService
{
/// <summary>
/// Creates a pre-rollover backup of the application database using SQLite VACUUM INTO.
/// </summary>
/// <returns>The absolute path of the backup file.</returns>
Task<string> CreatePreRolloverBackupAsync(CancellationToken cancellationToken = default);
}