fix doublicate check

This commit is contained in:
April John 2024-11-22 19:02:28 +01:00
parent 21364237c5
commit 012079cd9b
2 changed files with 12 additions and 11 deletions

View file

@ -190,11 +190,11 @@ impl Object for user::Model {
async fn from_json(
json: Self::Kind,
_data: &Data<Self::DataType>,
data: &Data<Self::DataType>,
) -> Result<Self, Self::Error> {
let query = User::find()
.filter(user::Column::Id.eq(json.id.inner().as_str()))
.one(_data.database_connection.as_ref())
.filter(user::Column::Url.eq(json.id.inner().as_str()))
.one(data.database_connection.as_ref())
.await?;
if let Some(user) = query {
return Ok(user);
@ -216,7 +216,7 @@ impl Object for user::Model {
ap_json: Set(Some(serde_json::to_string(&copied_json).unwrap())),
..Default::default()
};
let model = model.insert(_data.database_connection.as_ref()).await;
let model = model.insert(data.database_connection.as_ref()).await;
if let Err(err) = model {
eprintln!("Error inserting user: {:?}", err);
Err(err.into())

View file

@ -1,11 +1,5 @@
use crate::{
activities::create_post::CreatePost,
database::StateHandle,
entities::{post, user},
error::Error,
versia::conversion::db_user_from_url,
objects::person::DbUser,
utils::generate_object_id,
activities::create_post::CreatePost, database::StateHandle, entities::{prelude::Post, user, post}, error::Error, objects::person::DbUser, utils::generate_object_id, versia::conversion::db_user_from_url
};
use activitypub_federation::{
config::Data,
@ -120,6 +114,13 @@ impl Object for post::Model {
"Received post with content {} and id {}",
&json.content, &json.id
);
let query = Post::find()
.filter(post::Column::Url.eq(json.id.inner().as_str()))
.one(data.database_connection.as_ref())
.await?;
if let Some(post) = query {
return Ok(post);
}
let creator = json.attributed_to.dereference(data).await?;
let post: post::ActiveModel = post::ActiveModel {
content: Set(json.content.clone()),