Added tooling
This commit is contained in:
@@ -6,6 +6,8 @@ namespace PostFundManagement.Application.Extensions;
|
||||
|
||||
public static class Api
|
||||
{
|
||||
public static IServiceCollection AddEndpointValidation(this IServiceCollection services) => services.AddValidation();
|
||||
|
||||
public static IServiceCollection AddEndpointAndServiceCaching(this IServiceCollection services, IConfiguration configuration)
|
||||
{
|
||||
services.AddStackExchangeRedisOutputCache(options =>
|
||||
|
||||
@@ -2,6 +2,8 @@
|
||||
|
||||
public static class General
|
||||
{
|
||||
public static string Clean(this string input) => Patterns.SpaceRegex().Replace(input, string.Empty);
|
||||
|
||||
public static string ToJson<TValue>(this TValue obj) where TValue : class => JsonSerializer.Serialize(obj);
|
||||
|
||||
public static TValue FromJson<TValue>(this string json) where TValue : class => JsonSerializer.Deserialize<TValue>(json)!;
|
||||
@@ -32,6 +34,6 @@ public static class General
|
||||
{
|
||||
Detail = string.Join(',', errors.Select(e => e.Message)),
|
||||
Status = StatusCodes.Status400BadRequest,
|
||||
Title = errors[0]?.Message,
|
||||
Title = "Error",
|
||||
};
|
||||
}
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
namespace PostFundManagement.Application.Extensions;
|
||||
|
||||
public partial class Patterns
|
||||
{
|
||||
[GeneratedRegex(@"\s+")]
|
||||
public static partial Regex SpaceRegex();
|
||||
|
||||
[GeneratedRegex(@"\A\b[0-9a-fA-F]+\b\Z", RegexOptions.None, matchTimeoutMilliseconds: 100)]
|
||||
public static partial Regex HexHashRegex { get; }
|
||||
|
||||
[GeneratedRegex(@"\A[0-9a-fA-F]{32}\Z", RegexOptions.None, matchTimeoutMilliseconds: 100)]
|
||||
public static partial Regex Md5Regex { get; }
|
||||
|
||||
[GeneratedRegex(@"\A[0-9a-fA-F]{64}\Z", RegexOptions.None, matchTimeoutMilliseconds: 100)]
|
||||
public static partial Regex Sha256Regex { get; }
|
||||
}
|
||||
@@ -7,6 +7,7 @@ using PostFundManagement.Application.Services.Governance;
|
||||
using PostFundManagement.Application.Services.Grants;
|
||||
using PostFundManagement.Application.Services.Projects;
|
||||
using PostFundManagement.Application.Services.Shared;
|
||||
using PostFundManagement.Application.Services.Tools;
|
||||
using PostFundManagement.Application.Services.Users;
|
||||
using PostFundManagement.Domain.Abstractions;
|
||||
|
||||
@@ -39,6 +40,9 @@ public static class Services
|
||||
|
||||
services.AddScoped<IProjectService, ProjectService>();
|
||||
services.Decorate<IProjectService, ProjectCacheService>();
|
||||
|
||||
services.AddScoped<IToolService, ToolService>();
|
||||
services.Decorate<IToolService, ToolCacheService>();
|
||||
|
||||
services.AddStackExchangeRedisCache(options =>
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user