Colorscape Love (#3326)

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
This commit is contained in:
Joe Milazzo 2024-10-31 18:44:03 -05:00 committed by GitHub
parent b44f89d1e8
commit a847468a6c
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
42 changed files with 1009 additions and 429 deletions

View file

@ -68,6 +68,7 @@ public static class ApplicationServiceExtensions
services.AddScoped<IEventHub, EventHub>();
services.AddScoped<IPresenceTracker, PresenceTracker>();
services.AddScoped<IImageService, ImageService>();
services.AddScoped<ICoverDbService, CoverDbService>();
services.AddScoped<ILocalizationService, LocalizationService>();

View file

@ -0,0 +1,26 @@
using System;
namespace API.Extensions;
public static class DoubleExtensions
{
private const float Tolerance = 0.001f;
/// <summary>
/// Used to compare 2 floats together
/// </summary>
/// <param name="a"></param>
/// <param name="b"></param>
/// <returns></returns>
public static bool Is(this double a, double? b)
{
if (!b.HasValue) return false;
return Math.Abs((float) (a - b)) < Tolerance;
}
public static bool IsNot(this double a, double? b)
{
if (!b.HasValue) return false;
return Math.Abs((float) (a - b)) > Tolerance;
}
}

View file

@ -1,4 +1,5 @@
using System.Globalization;
using System;
using System.Globalization;
using System.Text.RegularExpressions;
namespace API.Extensions;
@ -10,6 +11,23 @@ public static class StringExtensions
RegexOptions.ExplicitCapture | RegexOptions.Compiled,
Services.Tasks.Scanner.Parser.Parser.RegexTimeout);
public static string Sanitize(this string input)
{
if (string.IsNullOrEmpty(input))
return string.Empty;
// Remove all newline and control characters
var sanitized = input
.Replace(Environment.NewLine, "")
.Replace("\n", "")
.Replace("\r", "");
// Optionally remove other potentially unwanted characters
sanitized = Regex.Replace(sanitized, @"[^\u0020-\u007E]", string.Empty); // Removes non-printable ASCII
return sanitized.Trim(); // Trim any leading/trailing whitespace
}
public static string SentenceCase(this string value)
{
return SentenceCaseRegex.Replace(value.ToLower(), s => s.Value.ToUpper());