Enhance relationship deletion process in character management: Implement detailed logging for deleted relationships, including related user and character IDs, and relationship types. Introduce special notifications for engaged relationships to improve user awareness during character events.
This commit is contained in:
@@ -1779,11 +1779,37 @@ impl EventsWorker {
|
||||
conn.prepare("delete_relationship", QUERY_DELETE_RELATIONSHIP)?;
|
||||
let rel_result = conn.execute("delete_relationship", &[&character_id])?;
|
||||
for row in rel_result {
|
||||
if let Some(related_user_id) = row
|
||||
let related_user_id = row
|
||||
.get("related_user_id")
|
||||
.and_then(|v| v.parse::<i32>().ok())
|
||||
{
|
||||
Self::notify_user(pool, broker, related_user_id, "relationship_death", None)?;
|
||||
.and_then(|v| v.parse::<i32>().ok());
|
||||
let related_character_id = row
|
||||
.get("related_character_id")
|
||||
.and_then(|v| v.parse::<i32>().ok());
|
||||
let relationship_type_tr = row
|
||||
.get("relationship_type_tr")
|
||||
.and_then(|v| v.as_str())
|
||||
.map(|s| s.to_string());
|
||||
|
||||
// Logging: Relationship wurde gelöscht
|
||||
eprintln!(
|
||||
"[EventsWorker] Relationship gelöscht: character_id={}, related_character_id={}, related_user_id={:?}, relationship_type={:?}",
|
||||
character_id,
|
||||
related_character_id.unwrap_or(-1),
|
||||
related_user_id,
|
||||
relationship_type_tr
|
||||
);
|
||||
|
||||
if let Some(uid) = related_user_id {
|
||||
// Spezielle Notification für Verlobungen
|
||||
if relationship_type_tr.as_deref() == Some("engaged") {
|
||||
let notification_json = serde_json::json!({
|
||||
"tr": "relationship.engaged_character_death",
|
||||
"character_id": related_character_id
|
||||
});
|
||||
Self::notify_user(pool, broker, uid, ¬ification_json.to_string(), related_character_id)?;
|
||||
} else {
|
||||
Self::notify_user(pool, broker, uid, "relationship_death", None)?;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user