using System.ComponentModel.DataAnnotations; namespace GerbilManagerWebAPI.Models { /// /// An image/file attached to a feedback ticket (z. B. ein Foto vom Tier/Fellschlag/Stammbaum). /// Like it is decoupled (loose FeedbackId, no FK) so it survives the /// import re-ingest wipe. The bytes live in the DB (single-user app, gelegentliche Fotos) — /// die Liste GET /feedback liefert nur Metadaten, die Bytes kommen über einen eigenen Endpoint. /// public class FeedbackAttachment { [Key] public Guid Id { get; set; } /// Loose reference (no FK) to the feedback ticket this belongs to. public Guid FeedbackId { get; set; } public required string FileName { get; set; } public required string ContentType { get; set; } /// Größe in Bytes (separat gespeichert, damit Listen-Abfragen die Bytes nicht laden). public int Size { get; set; } /// The raw file bytes. public required byte[] Data { get; set; } public DateTimeOffset CreatedAt { get; set; } } }