feat(safety): save surrounding context around messages (closes #226)

This commit is contained in:
Paul Makles
2023-02-23 18:12:45 +01:00
parent 73af105feb
commit 3038fb230f
6 changed files with 51 additions and 8 deletions

View File

@@ -53,7 +53,38 @@ pub async fn report_content(db: &Db, user: User, data: Json<DataReportContent>)
.map(|attachments| attachments.iter().map(|x| x.id.to_string()).collect())
.unwrap_or_default();
(SnapshotContent::Message(message), files)
// Collect prior context
let prior_context = db
.fetch_messages(
&message.channel,
Some(15),
Some(message.id.to_string()),
None,
None,
None,
)
.await?;
// Collect leading context
let leading_context = db
.fetch_messages(
&message.channel,
Some(15),
None,
Some(message.id.to_string()),
None,
None,
)
.await?;
(
SnapshotContent::Message {
message,
prior_context,
leading_context,
},
files,
)
}
ReportedContent::Server { id, .. } => {
let server = db.fetch_server(id).await?;