FEAT-14a: Charakterbogen on Gerbil (traits + note) + sale-ad request extension

- Gerbil.CharacterTraits (List<string>, JSON text column, opaque labels) + CharacterNote
  (string?). On GerbilDto + Input; round-trips on GET/POST/PUT. Additive migration.
- SaleAdAnimal gains Traits (German labels) + CharacterNote; prompt builder emits
  "Charakter: …" + "Charakter-Notiz: …" lines for the AI Verkaufstext.
- Tests: traits/note round-trip (POST->GET via SQLite host), empty-default, prompt inclusion.
This commit is contained in:
2026-06-06 09:10:30 +02:00
parent f858a02f50
commit 3afb04f646
10 changed files with 1203 additions and 4 deletions

View File

@@ -87,6 +87,10 @@ namespace GerbilManagerWebAPI.SaleAd
sb.Append($" | geboren am {FormatGermanDate(animal.DateOfBirth)}");
if (!string.IsNullOrWhiteSpace(animal.Notes))
sb.Append($" | Notizen: {animal.Notes}");
if (animal.Traits is { Count: > 0 })
sb.Append($" | Charakter: {string.Join(", ", animal.Traits)}");
if (!string.IsNullOrWhiteSpace(animal.CharacterNote))
sb.Append($" | Charakter-Notiz: {animal.CharacterNote}");
sb.AppendLine();
}
if (!string.IsNullOrWhiteSpace(request.Hints))