From e34b4f5c1ace6c556e8aa0a9f35312010892fe20 Mon Sep 17 00:00:00 2001 From: Laura Hausmann Date: Thu, 7 Nov 2024 19:50:47 +0100 Subject: [PATCH] [backend/drive] Convert ImageFormat to a closed record --- .../Services/ImageProcessing/ImageFormat.cs | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/Iceshrimp.Backend/Core/Services/ImageProcessing/ImageFormat.cs b/Iceshrimp.Backend/Core/Services/ImageProcessing/ImageFormat.cs index e2b2dcba..2212ba42 100644 --- a/Iceshrimp.Backend/Core/Services/ImageProcessing/ImageFormat.cs +++ b/Iceshrimp.Backend/Core/Services/ImageProcessing/ImageFormat.cs @@ -2,8 +2,23 @@ using System.ComponentModel.DataAnnotations; namespace Iceshrimp.Backend.Core.Services.ImageProcessing; -public abstract record ImageFormat(string Extension, string MimeType) +public abstract record ImageFormat { + public string Extension { get; init; } + public string MimeType { get; init; } + + private ImageFormat(string Extension, string MimeType) + { + this.Extension = Extension; + this.MimeType = MimeType; + } + + public void Deconstruct(out string extension, out string mimeType) + { + extension = Extension; + mimeType = MimeType; + } + public record Keep(string Extension, string MimeType) : ImageFormat(Extension, MimeType); //TODO: public record StripExifAndIcc(string Extension, string MimeType) : ImageFormat(Extension, MimeType);