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; }
}
}