Skip to content

Commit

Permalink
cypher MERGE creates new :Thread if needed
Browse files Browse the repository at this point in the history
  • Loading branch information
nathan0x6C1 committed Mar 29, 2024
1 parent e0d5322 commit 5d9da9e
Showing 1 changed file with 25 additions and 22 deletions.
47 changes: 25 additions & 22 deletions imessage-exporter/src/exporters/cypher.rs
Original file line number Diff line number Diff line change
Expand Up @@ -152,41 +152,44 @@ impl<'a> Exporter<'a> for CYPHER<'a> {
}
}


async fn index_to_cypher(message: HydratedMessage, graph: &Graph) -> Node {
let query_string = format!("
CREATE (n:Message {{
let query_string = format!(
"MERGE (t:Thread {{name: \"{}\"}})
CREATE (m:Message {{
timestamp: '{}',
sender: '{}',
isFromMe: {},
isImessage: {},
subject: {},
text: '{}',
attachments: {},
reactions: {},
parentThreadName: {}
}}) RETURN n",
message.timestamp,
message.sender,
message.is_from_me,
message.is_imessage,
match &message.subject {
Some(subject) => format!("'{}'", subject),
None => "null".to_string(),
},
message.text.replace("'", "\\'"),
format!("{:?}", message.attachments),
format!("{:?}", message.reactions),
match &message.parent_thread_name {
Some(parent_thread_name) => format!("'{}'", parent_thread_name),
None => "null".to_string(),
}
reactions: {}
}})-[:BELONGS_TO]->(t)
RETURN id(m) AS msg_id, m",
match &message.parent_thread_name {
Some(parent_thread_name) => parent_thread_name,
None => "Unknown",
},
message.timestamp,
message.sender,
message.is_from_me,
message.is_imessage,
match &message.subject {
Some(subject) => format!("'{}'", subject),
None => "null".to_string(),
},
message.text.replace("'", "\\'"),
format!("{:?}", message.attachments),
format!("{:?}", message.reactions),
);

println!("\n\n{}\n\n", query_string);

let mut mutres = graph.execute(query(query_string.as_str())).await.unwrap();
let mirow = mutres.next().await.unwrap().unwrap();
let value: Node = mirow.get("n").unwrap();
let value: Node = mirow.get("m").unwrap();
println!("{:?}", value);

value
}

0 comments on commit 5d9da9e

Please sign in to comment.