Recreated solution with web app template. Improved theme. Switched to ShadcnBlazor library

This commit is contained in:
2025-12-25 19:16:53 +01:00
parent 0cc35300f1
commit a2d4edc0e5
272 changed files with 2441 additions and 14449 deletions

View File

@@ -1,15 +0,0 @@
using System.ComponentModel.DataAnnotations;
namespace Moonlight.Shared.Http.Requests.Admin.ApiKeys;
public class CreateApiKeyRequest
{
[Required(ErrorMessage = "You need to specify a description")]
public string Description { get; set; }
[Required(ErrorMessage = "You need to specify permissions for the api key")]
public string[] Permissions { get; set; } = [];
[Required(ErrorMessage = "You need to specify an expire date")]
public DateTime ExpiresAt { get; set; } = DateTime.UtcNow.AddDays(30);
}

View File

@@ -1,9 +0,0 @@
using System.ComponentModel.DataAnnotations;
namespace Moonlight.Shared.Http.Requests.Admin.ApiKeys;
public class UpdateApiKeyRequest
{
[Required(ErrorMessage = "You need to specify a description")]
public string Description { get; set; }
}

View File

@@ -1,12 +0,0 @@
using System.ComponentModel.DataAnnotations;
namespace Moonlight.Shared.Http.Requests.Admin.Sys.Files;
public class CombineRequest
{
[Required(ErrorMessage = "Destination is required")]
public string Destination { get; set; }
[Required(ErrorMessage = "Files are required")]
public string[] Files { get; set; }
}

View File

@@ -1,18 +0,0 @@
using System.ComponentModel.DataAnnotations;
namespace Moonlight.Shared.Http.Requests.Admin.Sys.Files;
public class CompressRequest
{
[Required(ErrorMessage = "Format is required")]
public string Format { get; set; }
[Required(ErrorMessage = "Destination is required")]
public string Destination { get; set; }
[Required(ErrorMessage = "Root is required")]
public string Root { get; set; }
[Required(ErrorMessage = "Items are required")]
public string[] Items { get; set; }
}

View File

@@ -1,15 +0,0 @@
using System.ComponentModel.DataAnnotations;
namespace Moonlight.Shared.Http.Requests.Admin.Sys.Files;
public class DecompressRequest
{
[Required(ErrorMessage = "You need to provide a format")]
public string Format { get; set; }
[Required(ErrorMessage = "You need to provide a path")]
public string Path { get; set; }
[Required(ErrorMessage = "You need to provide a destination")]
public string Destination { get; set; }
}

View File

@@ -1,9 +0,0 @@
using System.ComponentModel.DataAnnotations;
namespace Moonlight.Shared.Http.Requests.Admin.Sys;
public class GenerateDiagnoseRequest
{
[Required(ErrorMessage = "You need to define providers")]
public string[] Providers { get; set; } = [];
}

View File

@@ -1,21 +0,0 @@
using System.ComponentModel.DataAnnotations;
using Moonlight.Shared.Misc;
namespace Moonlight.Shared.Http.Requests.Admin.Sys.Theme;
public class CreateThemeRequest
{
[Required(ErrorMessage = "You need to provide a name")]
public string Name { get; set; }
[Required(ErrorMessage = "You need to provide an author")]
public string Author { get; set; }
[Required(ErrorMessage = "You need to provide a version")]
public string Version { get; set; }
public string? UpdateUrl { get; set; }
public string? DonateUrl { get; set; }
public ApplicationTheme Content { get; set; } = new();
}

View File

@@ -1,23 +0,0 @@
using System.ComponentModel.DataAnnotations;
using Moonlight.Shared.Misc;
namespace Moonlight.Shared.Http.Requests.Admin.Sys.Theme;
public class UpdateThemeRequest
{
public bool IsEnabled { get; set; }
[Required(ErrorMessage = "You need to provide a name")]
public string Name { get; set; }
[Required(ErrorMessage = "You need to provide an author")]
public string Author { get; set; }
[Required(ErrorMessage = "You need to provide a version")]
public string Version { get; set; }
public string? UpdateUrl { get; set; }
public string? DonateUrl { get; set; }
public ApplicationTheme Content { get; set; }
}

View File

@@ -1,22 +0,0 @@
using System.ComponentModel.DataAnnotations;
namespace Moonlight.Shared.Http.Requests.Admin.Users;
public class CreateUserRequest
{
[Required(ErrorMessage = "You need to provide an email address")]
[EmailAddress(ErrorMessage = "You need to provide a valid email address")]
public string Email { get; set; }
[Required(ErrorMessage = "You need to provide a username")]
[RegularExpression("^[a-z][a-z0-9]*$", ErrorMessage = "Usernames can only contain lowercase characters and numbers and should not start with a number")]
public string Username { get; set; }
[Required(ErrorMessage = "You need to provide a password")]
[MinLength(8, ErrorMessage = "Your password needs to be at least 8 characters long")]
[MaxLength(256, ErrorMessage = "Your password should not exceed the length of 256 characters")]
public string Password { get; set; }
[Required(ErrorMessage = "You need to provide permissions")]
public string[] Permissions { get; set; } = [];
}

View File

@@ -1,19 +0,0 @@
using System.ComponentModel.DataAnnotations;
namespace Moonlight.Shared.Http.Requests.Admin.Users;
public class UpdateUserRequest
{
[Required(ErrorMessage = "You need to provide an email address")]
[EmailAddress(ErrorMessage = "You need to provide a valid email address")]
public string Email { get; set; }
[Required(ErrorMessage = "You need to provide a username")]
[RegularExpression("^[a-z][a-z0-9]*$", ErrorMessage = "Usernames can only contain lowercase characters and numbers and should not start with a number")]
public string Username { get; set; }
public string? Password { get; set; }
[Required(ErrorMessage = "You need to provide permissions")]
public string[] Permissions { get; set; } = [];
}