Refactoring, database structure changed

This commit is contained in:
2025-03-03 00:56:32 +01:00
Unverified
parent d3805ef3db
commit c603c41c0b
913 changed files with 21764 additions and 32775 deletions

View File

@@ -0,0 +1,18 @@
using System.Text.RegularExpressions;
using WatchIt.DTO.Query;
namespace WatchIt.DTO.Models.Controllers.Genders.Gender.Filters;
public record GenderNameFilter : Filter<Database.Model.Genders.Gender>
{
public GenderNameFilter(string? nameRegex) : base(x =>
(
string.IsNullOrWhiteSpace(nameRegex)
||
(
!string.IsNullOrWhiteSpace(x.Name)
&&
Regex.IsMatch(x.Name, nameRegex, RegexOptions.IgnoreCase)
)
)) { }
};

View File

@@ -0,0 +1,26 @@
using Microsoft.AspNetCore.Mvc;
using WatchIt.DTO.Models.Controllers.Genders.Gender.Filters;
using WatchIt.DTO.Query;
namespace WatchIt.DTO.Models.Controllers.Genders.Gender;
public class GenderFilterQuery : IFilterQuery<Database.Model.Genders.Gender>
{
#region PROPERTIES
[FromQuery(Name = "name")]
public string? Name { get; set; }
#endregion
#region PUBLIC METHODS
public IEnumerable<Filter<Database.Model.Genders.Gender>> GetFilters() =>
[
new GenderNameFilter(Name),
];
#endregion
}

View File

@@ -0,0 +1,12 @@
using System.Linq.Expressions;
namespace WatchIt.DTO.Models.Controllers.Genders.Gender;
public static class GenderOrderKeys
{
public static readonly Dictionary<string, Expression<Func<Database.Model.Genders.Gender, object?>>> Base = new Dictionary<string, Expression<Func<Database.Model.Genders.Gender, object?>>>
{
{ "id", x => x.Id },
{ "name", x => x.Name },
};
}

View File

@@ -0,0 +1,6 @@
namespace WatchIt.DTO.Models.Controllers.Genders.Gender;
public class GenderRequest
{
public string Name { get; set; } = null!;
}

View File

@@ -0,0 +1,15 @@
using FluentValidation;
namespace WatchIt.DTO.Models.Controllers.Genders.Gender;
public class GenderRequestValidator : AbstractValidator<GenderRequest>
{
#region CONSTRUCTORS
public GenderRequestValidator()
{
RuleFor(x => x.Name).MaximumLength(100);
}
#endregion
}

View File

@@ -0,0 +1,11 @@
namespace WatchIt.DTO.Models.Controllers.Genders.Gender;
public class GenderResponse
{
#region PROPERTIES
public short Id { get; set; }
public string Name { get; set; } = null!;
#endregion
}