From 8ac2d20d8a3d2246f6c6ce890c84b66cd29f7db0 Mon Sep 17 00:00:00 2001 From: moritz Date: Sun, 11 May 2025 13:03:44 +0200 Subject: [PATCH] added base diagnose, is not working, yet, still contains test objects --- Moonlight.ApiServer/Helpers/DiagnoseHelper.cs | 6 ++++++ .../Diagnose/CoreDiagnoseProvider.cs | 16 ++++++++++++++++ .../Implementations/Diagnose/TestProvider.cs | 6 ++++++ .../Interfaces/IDiagnoseProvider.cs | 8 ++++++++ .../Models/Diagnose/DiagnoseDirectory.cs | 7 +++++++ .../Models/Diagnose/DiagnoseEntry.cs | 8 ++++++++ .../Models/Diagnose/DiagnoseFile.cs | 8 ++++++++ 7 files changed, 59 insertions(+) create mode 100644 Moonlight.ApiServer/Helpers/DiagnoseHelper.cs create mode 100644 Moonlight.ApiServer/Implementations/Diagnose/CoreDiagnoseProvider.cs create mode 100644 Moonlight.ApiServer/Implementations/Diagnose/TestProvider.cs create mode 100644 Moonlight.ApiServer/Interfaces/IDiagnoseProvider.cs create mode 100644 Moonlight.ApiServer/Models/Diagnose/DiagnoseDirectory.cs create mode 100644 Moonlight.ApiServer/Models/Diagnose/DiagnoseEntry.cs create mode 100644 Moonlight.ApiServer/Models/Diagnose/DiagnoseFile.cs diff --git a/Moonlight.ApiServer/Helpers/DiagnoseHelper.cs b/Moonlight.ApiServer/Helpers/DiagnoseHelper.cs new file mode 100644 index 00000000..5095e355 --- /dev/null +++ b/Moonlight.ApiServer/Helpers/DiagnoseHelper.cs @@ -0,0 +1,6 @@ +namespace Moonlight.ApiServer.Helpers; + +public class DiagnoseHelper +{ + +} \ No newline at end of file diff --git a/Moonlight.ApiServer/Implementations/Diagnose/CoreDiagnoseProvider.cs b/Moonlight.ApiServer/Implementations/Diagnose/CoreDiagnoseProvider.cs new file mode 100644 index 00000000..479c8991 --- /dev/null +++ b/Moonlight.ApiServer/Implementations/Diagnose/CoreDiagnoseProvider.cs @@ -0,0 +1,16 @@ +using System.Text; +using Moonlight.ApiServer.Interfaces; +using Moonlight.ApiServer.Models.Diagnose; + +namespace Moonlight.ApiServer.Implementations.Diagnose; + +public class CoreDiagnoseProvider : IDiagnoseProvider +{ + public async Task GetFiles() + { + return new DiagnoseFile() + { + GetContent = () => Encoding.UTF8.GetBytes("hello world") + }; + } +} \ No newline at end of file diff --git a/Moonlight.ApiServer/Implementations/Diagnose/TestProvider.cs b/Moonlight.ApiServer/Implementations/Diagnose/TestProvider.cs new file mode 100644 index 00000000..2b6e4b7b --- /dev/null +++ b/Moonlight.ApiServer/Implementations/Diagnose/TestProvider.cs @@ -0,0 +1,6 @@ +namespace Moonlight.ApiServer.Implementations.Diagnose; + +public class TestProvider +{ + +} \ No newline at end of file diff --git a/Moonlight.ApiServer/Interfaces/IDiagnoseProvider.cs b/Moonlight.ApiServer/Interfaces/IDiagnoseProvider.cs new file mode 100644 index 00000000..02ad81b7 --- /dev/null +++ b/Moonlight.ApiServer/Interfaces/IDiagnoseProvider.cs @@ -0,0 +1,8 @@ +using Moonlight.ApiServer.Models.Diagnose; + +namespace Moonlight.ApiServer.Interfaces; + +public interface IDiagnoseProvider +{ + public Task GetFiles(); +} \ No newline at end of file diff --git a/Moonlight.ApiServer/Models/Diagnose/DiagnoseDirectory.cs b/Moonlight.ApiServer/Models/Diagnose/DiagnoseDirectory.cs new file mode 100644 index 00000000..85bda05a --- /dev/null +++ b/Moonlight.ApiServer/Models/Diagnose/DiagnoseDirectory.cs @@ -0,0 +1,7 @@ +namespace Moonlight.ApiServer.Models.Diagnose; + +public class DiagnoseDirectory : DiagnoseEntry +{ + public List Children { get; set; } = new(); + public override bool IsDirectory => true; +} \ No newline at end of file diff --git a/Moonlight.ApiServer/Models/Diagnose/DiagnoseEntry.cs b/Moonlight.ApiServer/Models/Diagnose/DiagnoseEntry.cs new file mode 100644 index 00000000..96dc3439 --- /dev/null +++ b/Moonlight.ApiServer/Models/Diagnose/DiagnoseEntry.cs @@ -0,0 +1,8 @@ +namespace Moonlight.ApiServer.Models.Diagnose; + +public abstract class DiagnoseEntry +{ + public string Name { get; set; } = ""; + + public abstract bool IsDirectory { get; } +} \ No newline at end of file diff --git a/Moonlight.ApiServer/Models/Diagnose/DiagnoseFile.cs b/Moonlight.ApiServer/Models/Diagnose/DiagnoseFile.cs new file mode 100644 index 00000000..dfeeb3aa --- /dev/null +++ b/Moonlight.ApiServer/Models/Diagnose/DiagnoseFile.cs @@ -0,0 +1,8 @@ +namespace Moonlight.ApiServer.Models.Diagnose; + +public class DiagnoseFile : DiagnoseEntry +{ + public Func GetContent = () => []; + + public override bool IsDirectory => false; +} \ No newline at end of file