Regex SourceGen: Image base64.

This commit is contained in:
nugroho 2025-05-16 23:49:13 +07:00
parent f86fda4a6d
commit 9bd04d6fdd

View File

@ -1,16 +1,18 @@
using System; using System;
using System.Text.Json; using System.Text.Json;
using System.Text.Json.Serialization; using System.Text.Json.Serialization;
using System.Text.RegularExpressions;
namespace perubahan;
internal partial record Agent(string AgentID, string Name, string Jabatan, short DeplID, string SKAngkat, DateOnly TMT, string? SKPerb, DateOnly? TMUbah, string? Vision, string? Mission, string? PhotoURL); internal partial record Agent(string AgentID, string Name, string Jabatan, short DeplID, string SKAngkat, DateOnly TMT, string? SKPerb, DateOnly? TMUbah, string? Vision, string? Mission, string? PhotoURL);
internal partial record ApiResponse(int Status, string Message, object Data); internal partial record ApiResponse(int Status, string Message, object Data);
internal partial record Deployment(short DeplID, string UnitKerja); internal partial record Deployment(short DeplID, string UnitKerja);
internal partial record LoginUser(string Username, string Password); internal partial record LoginUser(string Username, string Password);
internal partial record PasswdUser(string Username, string PlainPassword); internal partial record PasswdUser(string Username, string PlainPassword);
internal partial record SafeUser(string Username, string Name, byte Level, bool Active){ internal partial record SafeUser(string Username, string Name, byte Level, bool Active) {
internal static SafeUser FromUser(User Source) internal static SafeUser FromUser(User Source)
{ {
return new(Source.Username, Source.Name, Source.Level, Source.Active); return new(Source.Username, Source.Name, Source.Level, Source.Active);
} }
}; };
internal partial record SimpleApiResponse(int Status, string Message); internal partial record SimpleApiResponse(int Status, string Message);
@ -30,5 +32,11 @@ internal partial record User(string Username, string Name, string Password, byte
//////////-------------LISTS--------------////////// //////////-------------LISTS--------------//////////
[JsonSerializable(typeof(List<Agent>))] [JsonSerializable(typeof(List<Agent>))]
[JsonSerializable(typeof(List<Deployment>))] [JsonSerializable(typeof(List<Deployment>))]
[JsonSourceGenerationOptions(GenerationMode =JsonSourceGenerationMode.Default, PropertyNameCaseInsensitive = true, PropertyNamingPolicy = JsonKnownNamingPolicy.CamelCase)] [JsonSourceGenerationOptions(GenerationMode = JsonSourceGenerationMode.Default, PropertyNameCaseInsensitive = true, PropertyNamingPolicy = JsonKnownNamingPolicy.CamelCase)]
internal partial class SGContext : JsonSerializerContext{} internal partial class SGContext : JsonSerializerContext { }
internal static partial class Regices
{
[GeneratedRegex(@"data:image/(?<format>.+?);base64,(?<data>.+)")]
internal static partial Regex Base64Regex();
}