mirror of
https://github.com/versia-pub/activitypub.git
synced 2025-12-06 06:38:20 +01:00
fix doublicate check
This commit is contained in:
parent
21364237c5
commit
012079cd9b
|
|
@ -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())
|
||||
|
|
|
|||
|
|
@ -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()),
|
||||
|
|
|
|||
Loading…
Reference in a new issue