Refactored project to module structure

This commit is contained in:
2026-03-12 22:50:15 +01:00
parent 93de9c5d00
commit 1257e8b950
219 changed files with 1231 additions and 1259 deletions

View File

@@ -0,0 +1,3 @@
namespace Moonlight.Shared.Shared.Auth;
public record ClaimDto(string Type, string Value);

View File

@@ -0,0 +1,3 @@
namespace Moonlight.Shared.Shared.Auth;
public record SchemeDto(string Name, string DisplayName);

View File

@@ -0,0 +1,62 @@
using System.Diagnostics.CodeAnalysis;
namespace Moonlight.Shared.Shared;
public class FilterOptions : IParsable<FilterOptions>
{
public FilterOptions()
{
Filters = new Dictionary<string, string>();
}
public FilterOptions(Dictionary<string, string> filters)
{
Filters = filters;
}
public Dictionary<string, string> Filters { get; set; }
public static FilterOptions Parse(string s, IFormatProvider? provider)
{
if (!TryParse(s, provider, out var result))
throw new AggregateException("Unable to parse filter options");
return result;
}
public static bool TryParse(
[NotNullWhen(true)] string? input,
IFormatProvider? provider,
[MaybeNullWhen(false)] out FilterOptions result
)
{
result = new FilterOptions();
if (string.IsNullOrEmpty(input))
return true;
var filters = input.Split(';', StringSplitOptions.RemoveEmptyEntries | StringSplitOptions.TrimEntries);
foreach (var part in filters)
{
var filterParts = part.Split('$', StringSplitOptions.RemoveEmptyEntries | StringSplitOptions.TrimEntries);
if (filterParts.Length != 2)
continue;
result.Filters.Add(filterParts[0], filterParts[1]);
}
return true;
}
public override string ToString()
{
var result = "";
foreach (var filter in Filters)
result += $"{filter.Key}${filter.Value};";
return result;
}
}

View File

@@ -0,0 +1,3 @@
namespace Moonlight.Shared.Shared.Frontend;
public record FrontendConfigDto(string Name, string? ThemeCss);

View File

@@ -0,0 +1,3 @@
namespace Moonlight.Shared.Shared;
public record PagedData<T>(T[] Data, int TotalLength);

View File

@@ -0,0 +1,10 @@
namespace Moonlight.Shared.Shared;
public class ProblemDetails
{
public string Type { get; set; }
public string Title { get; set; }
public int Status { get; set; }
public string? Detail { get; set; }
public Dictionary<string, string[]>? Errors { get; set; }
}