feat(admin): add potential fathers retrieval for character management
All checks were successful
Deploy to production / deploy (push) Successful in 2m47s

- Implemented a new method in AdminService to fetch potential fathers for a given character based on existing relationships.
- Updated AdminController to expose this functionality via a new API endpoint.
- Enhanced adminRouter to include the route for retrieving potential fathers.
- Modified frontend components to allow selection of potential fathers during pregnancy and birth management.
- Updated internationalization files to include new translation keys related to father selection.
This commit is contained in:
Torsten Schulz (local)
2026-03-31 08:50:56 +02:00
parent ee11a989a0
commit 9a78bc7c4b
30 changed files with 3907 additions and 45 deletions

View File

@@ -176,17 +176,33 @@
"statusActive": "Schwanger bis",
"statusNone": "Nicht schwanger",
"fatherId": "Vater-Charakter-ID (optional)",
"fatherSelect": "Vater (Ehepartner / Verlobter / Liebhaber)",
"fatherNone": "— kein Vater gespeichert —",
"fatherHintList": "Liste aus Beziehungen dieses Charakters (Ehe, Verlobung, aktive Liebschaft).",
"fatherHintManual": "Kein passender Partner in der Datenbank: Vater-Charakter-ID manuell eintragen.",
"fatherManualPlaceholder": "Charakter-ID",
"dueDays": "Tage bis zum Termin",
"dueDaysHint": "0 = Termin heute (Geburt kann je nach Spiel-Logik zeitnah anstehen).",
"force": "Schwangerschaft setzen",
"clear": "Schwangerschaft entfernen",
"successForce": "Schwangerschaft wurde gesetzt.",
"successClear": "Schwangerschaft wurde entfernt.",
"error": "Aktion fehlgeschlagen."
"error": "Aktion fehlgeschlagen.",
"relationship": {
"married": "Ehepartner",
"engaged": "Verlobter",
"lover": "Liebhaber"
}
},
"birth": {
"title": "Geburt erzwingen (Admin)",
"motherHint": "Es wird der oben genannte Charakter (Mutter) verwendet.",
"fatherId": "Vater-Charakter-ID",
"fatherSelect": "Vater (Ehepartner / Verlobter / Liebhaber)",
"fatherChoose": "— Vater wählen —",
"fatherHintList": "Liste aus Beziehungen dieses Charakters.",
"fatherHintManual": "Kein Partner in der Liste: Vater-Charakter-ID manuell eintragen.",
"fatherRequired": "Bitte einen Vater auswählen oder die Charakter-ID angeben.",
"context": "Kontext",
"contextMarriage": "Ehe",
"contextLover": "Liebschaft",

View File

@@ -231,17 +231,33 @@
"statusActive": "Expecting until",
"statusNone": "Not pregnant",
"fatherId": "Father character ID (optional)",
"fatherSelect": "Father (spouse / fiancé(e) / lover)",
"fatherNone": "— no father stored —",
"fatherHintList": "From this characters relationships (marriage, engagement, active affair).",
"fatherHintManual": "No matching partner in the database: enter the fathers character ID manually.",
"fatherManualPlaceholder": "Character ID",
"dueDays": "Days until due date",
"dueDaysHint": "0 = due today (birth may follow depending on game logic).",
"force": "Set pregnancy",
"clear": "Clear pregnancy",
"successForce": "Pregnancy has been set.",
"successClear": "Pregnancy has been cleared.",
"error": "Action failed."
"error": "Action failed.",
"relationship": {
"married": "Spouse",
"engaged": "Engaged partner",
"lover": "Lover"
}
},
"birth": {
"title": "Force birth (admin)",
"motherHint": "The character listed above is used as the mother.",
"fatherId": "Father character ID",
"fatherSelect": "Father (spouse / fiancé(e) / lover)",
"fatherChoose": "— choose father —",
"fatherHintList": "From this characters relationships.",
"fatherHintManual": "No partner in the list: enter the fathers character ID manually.",
"fatherRequired": "Please select a father or enter the character ID.",
"context": "Context",
"contextMarriage": "Marriage",
"contextLover": "Affair",

View File

@@ -176,17 +176,33 @@
"statusActive": "Embarazo hasta",
"statusNone": "No embarazada",
"fatherId": "ID del padre (opcional)",
"fatherSelect": "Padre (cónyuge / prometido / amante)",
"fatherNone": "— sin padre guardado —",
"fatherHintList": "Según las relaciones de este personaje (matrimonio, prometido, amante activo).",
"fatherHintManual": "Sin pareja adecuada en la base de datos: introduce manualmente el ID del padre.",
"fatherManualPlaceholder": "ID de personaje",
"dueDays": "Días hasta el parto previsto",
"dueDaysHint": "0 = parto previsto hoy (el nacimiento puede seguir según la lógica del juego).",
"force": "Establecer embarazo",
"clear": "Quitar embarazo",
"successForce": "Embarazo establecido.",
"successClear": "Embarazo eliminado.",
"error": "La acción ha fallado."
"error": "La acción ha fallado.",
"relationship": {
"married": "Cónyuge",
"engaged": "Prometido",
"lover": "Amante"
}
},
"birth": {
"title": "Forzar nacimiento (admin)",
"motherHint": "Se usa el personaje indicado arriba como madre.",
"fatherId": "ID del padre",
"fatherSelect": "Padre (cónyuge / prometido / amante)",
"fatherChoose": "— elegir padre —",
"fatherHintList": "Según las relaciones de este personaje.",
"fatherHintManual": "Sin pareja en la lista: introduce el ID del padre manualmente.",
"fatherRequired": "Elige un padre o introduce el ID de personaje.",
"context": "Contexto",
"contextMarriage": "Matrimonio",
"contextLover": "Amante",