]> Untitled Git - lemmy.git/blobdiff - lemmy_db/src/source/post.rs
Merge branch 'main' into move_views_to_diesel
[lemmy.git] / lemmy_db / src / source / post.rs
index b584798e87a98cc884abdb0cbe15bca2b166e44a..098ce8835316db5a72a6c005773e3ce4a3581634 100644 (file)
@@ -241,6 +241,9 @@ impl Likeable<PostLikeForm> for PostLike {
     use crate::schema::post_like::dsl::*;
     insert_into(post_like)
       .values(post_like_form)
+      .on_conflict((post_id, user_id))
+      .do_update()
+      .set(post_like_form)
       .get_result::<Self>(conn)
   }
   fn remove(conn: &PgConnection, user_id: i32, post_id: i32) -> Result<usize, Error> {
@@ -276,6 +279,9 @@ impl Saveable<PostSavedForm> for PostSaved {
     use crate::schema::post_saved::dsl::*;
     insert_into(post_saved)
       .values(post_saved_form)
+      .on_conflict((post_id, user_id))
+      .do_update()
+      .set(post_saved_form)
       .get_result::<Self>(conn)
   }
   fn unsave(conn: &PgConnection, post_saved_form: &PostSavedForm) -> Result<usize, Error> {