diff --git a/Management.Test/Markdown/FileStorageTests.cs b/Management.Test/Markdown/FileStorageTests.cs index fe984ac..4d26e72 100644 --- a/Management.Test/Markdown/FileStorageTests.cs +++ b/Management.Test/Markdown/FileStorageTests.cs @@ -9,7 +9,7 @@ using NUnit.Framework.Internal; public class FileStorageTests { - private FileStorageManager fileManager { get; set; } + private IFileStorageManager fileManager { get; set; } private static string setupTempDirectory() diff --git a/Management.Web/Pages/AssignmentForm/AssignmentFormPage.razor b/Management.Web/Pages/AssignmentForm/AssignmentFormPage.razor index d7782f3..f934fad 100644 --- a/Management.Web/Pages/AssignmentForm/AssignmentFormPage.razor +++ b/Management.Web/Pages/AssignmentForm/AssignmentFormPage.razor @@ -7,7 +7,7 @@ @using Management.Web.Pages.Course.Module.ModuleItems @using Management.Web.Shared.Components -@inject FileStorageManager fileStorageManager +@inject IFileStorageManager fileStorageManager @inject ICanvasService canvas @inject CoursePlanner planner @inject AssignmentEditorContext assignmentContext diff --git a/Management.Web/Pages/CanvasRequestsQueue.razor b/Management.Web/Pages/CanvasRequestsQueue.razor index b58cbc7..de47751 100644 --- a/Management.Web/Pages/CanvasRequestsQueue.razor +++ b/Management.Web/Pages/CanvasRequestsQueue.razor @@ -3,7 +3,7 @@ @inject ICanvasService canvas @inject CoursePlanner planner -@inject FileStorageManager fileStorageManager +@inject IFileStorageManager fileStorageManager @inject NavigationManager Navigation @code { diff --git a/Management.Web/Pages/Course/Course.razor b/Management.Web/Pages/Course/Course.razor index 9d70ea4..59c70e6 100644 --- a/Management.Web/Pages/Course/Course.razor +++ b/Management.Web/Pages/Course/Course.razor @@ -7,7 +7,7 @@ @using Management.Web.Shared.Components -@inject FileStorageManager fileStorageManager +@inject IFileStorageManager fileStorageManager @inject ICanvasService canvas @inject CoursePlanner planner @inject NavigationManager navigtion diff --git a/Management.Web/Pages/CoursePageForm/CoursePageFormPage.razor b/Management.Web/Pages/CoursePageForm/CoursePageFormPage.razor index ad001c8..069d222 100644 --- a/Management.Web/Pages/CoursePageForm/CoursePageFormPage.razor +++ b/Management.Web/Pages/CoursePageForm/CoursePageFormPage.razor @@ -7,7 +7,7 @@ @using Management.Web.Pages.Course.Module.ModuleItems @using Management.Web.Shared.Components -@inject FileStorageManager fileStorageManager +@inject IFileStorageManager fileStorageManager @inject ICanvasService canvas @inject CoursePlanner planner @inject PageEditorContext pageContext diff --git a/Management.Web/Pages/QuizForm/QuizFormPage.razor b/Management.Web/Pages/QuizForm/QuizFormPage.razor index 065819e..dad7122 100644 --- a/Management.Web/Pages/QuizForm/QuizFormPage.razor +++ b/Management.Web/Pages/QuizForm/QuizFormPage.razor @@ -8,7 +8,7 @@ @using LocalModels @using Management.Web.Pages.Course.Module.ModuleItems -@inject FileStorageManager fileStorageManager +@inject IFileStorageManager fileStorageManager @inject ICanvasService canvas @inject CoursePlanner planner @inject QuizEditorContext quizContext diff --git a/Management.Web/Program.cs b/Management.Web/Program.cs index c19d8a9..51b5ec3 100644 --- a/Management.Web/Program.cs +++ b/Management.Web/Program.cs @@ -82,7 +82,7 @@ builder.Services.AddScoped(); builder.Services.AddScoped(); builder.Services.AddScoped(); -builder.Services.AddScoped(); +builder.Services.AddScoped(); builder.Services.AddScoped(); builder.Services.AddScoped(); diff --git a/Management.Web/Shared/CurrentFiles.razor b/Management.Web/Shared/CurrentFiles.razor index 202be57..331f540 100644 --- a/Management.Web/Shared/CurrentFiles.razor +++ b/Management.Web/Shared/CurrentFiles.razor @@ -1,6 +1,6 @@ @using LocalModels -@inject FileStorageManager fileStorageManager +@inject IFileStorageManager fileStorageManager @inject CoursePlanner planner @inject NavigationManager Navigation @inject MyLogger logger @@ -37,4 +37,4 @@ } } - \ No newline at end of file + diff --git a/Management.Web/Shared/InitializeNewCourse.razor b/Management.Web/Shared/InitializeNewCourse.razor index 98ac49e..01c3a7a 100644 --- a/Management.Web/Shared/InitializeNewCourse.razor +++ b/Management.Web/Shared/InitializeNewCourse.razor @@ -5,7 +5,7 @@ @using LocalModels @inject ICanvasService canvas -@inject FileStorageManager fileStorageManager +@inject IFileStorageManager fileStorageManager @code { diff --git a/Management/Features/Configuration/CoursePlanner.cs b/Management/Features/Configuration/CoursePlanner.cs index 91f4889..0302120 100644 --- a/Management/Features/Configuration/CoursePlanner.cs +++ b/Management/Features/Configuration/CoursePlanner.cs @@ -15,7 +15,7 @@ namespace Management.Planner; public class CoursePlanner { private readonly MyLogger logger; - private readonly FileStorageManager fileStorageManager; + private readonly IFileStorageManager fileStorageManager; private readonly ICanvasService canvas; private readonly ILogger _otherLogger; @@ -23,7 +23,7 @@ public class CoursePlanner public CoursePlanner( MyLogger logger, - FileStorageManager fileStorageManager, + IFileStorageManager fileStorageManager, ICanvasService canvas, ILogger otherLogger ) diff --git a/Management/Services/Files/FileStorageManager.cs b/Management/Services/Files/FileStorageManager.cs index 58b45db..cfd7a65 100644 --- a/Management/Services/Files/FileStorageManager.cs +++ b/Management/Services/Files/FileStorageManager.cs @@ -1,7 +1,15 @@ using LocalModels; using Management.Services; -public class FileStorageManager +public interface IFileStorageManager +{ + Task SaveCourseAsync(LocalCourse course, LocalCourse? previouslyStoredCourse); + Task> LoadSavedCourses(); + Task> LoadSavedMarkdownCourses(); + IEnumerable GetEmptyDirectories(); +} + +public class FileStorageManager : IFileStorageManager { private readonly MyLogger logger; private readonly CourseMarkdownLoader _courseMarkdownLoader;