diff options
author | Dessalines <tyhou13@gmx.com> | 2020-04-03 20:04:57 -0400 |
---|---|---|
committer | Dessalines <tyhou13@gmx.com> | 2020-04-03 20:04:57 -0400 |
commit | 85ea1046f060694bec545c7897c5da9ecda412ef (patch) | |
tree | 9937c4b672fbc5e7013e5b5d729106d168aec00b /server/src/api | |
parent | cb7059f832749836f865e2fcb90b089d949b8487 (diff) |
Adding post and comment ap_id columns.
Diffstat (limited to 'server/src/api')
-rw-r--r-- | server/src/api/comment.rs | 11 | ||||
-rw-r--r-- | server/src/api/post.rs | 11 | ||||
-rw-r--r-- | server/src/api/user.rs | 108 |
3 files changed, 27 insertions, 103 deletions
diff --git a/server/src/api/comment.rs b/server/src/api/comment.rs index 8373a338..1528f509 100644 --- a/server/src/api/comment.rs +++ b/server/src/api/comment.rs @@ -99,6 +99,8 @@ impl Perform<CommentResponse> for Oper<CreateComment> { deleted: None, read: None, updated: None, + ap_id: "changeme".into(), + local: true, }; let inserted_comment = match Comment::create(&conn, &comment_form) { @@ -106,6 +108,11 @@ impl Perform<CommentResponse> for Oper<CreateComment> { Err(_e) => return Err(APIError::err("couldnt_create_comment").into()), }; + match Comment::update_ap_id(&conn, inserted_comment.id) { + Ok(comment) => comment, + Err(_e) => return Err(APIError::err("couldnt_create_comment").into()), + }; + let mut recipient_ids = Vec::new(); // Scan the comment for user mentions, add those rows @@ -272,6 +279,8 @@ impl Perform<CommentResponse> for Oper<EditComment> { let content_slurs_removed = remove_slurs(&data.content.to_owned()); + let read_comment = Comment::read(&conn, data.edit_id)?; + let comment_form = CommentForm { content: content_slurs_removed, parent_id: data.parent_id, @@ -285,6 +294,8 @@ impl Perform<CommentResponse> for Oper<EditComment> { } else { Some(naive_now()) }, + ap_id: read_comment.ap_id, + local: read_comment.local, }; let _updated_comment = match Comment::update(&conn, data.edit_id, &comment_form) { diff --git a/server/src/api/post.rs b/server/src/api/post.rs index 651d5769..cfb71941 100644 --- a/server/src/api/post.rs +++ b/server/src/api/post.rs @@ -131,6 +131,8 @@ impl Perform<PostResponse> for Oper<CreatePost> { embed_description: iframely_description, embed_html: iframely_html, thumbnail_url: pictshare_thumbnail, + ap_id: "changeme".into(), + local: true, }; let inserted_post = match Post::create(&conn, &post_form) { @@ -146,6 +148,11 @@ impl Perform<PostResponse> for Oper<CreatePost> { } }; + match Post::update_ap_id(&conn, inserted_post.id) { + Ok(post) => post, + Err(_e) => return Err(APIError::err("couldnt_create_post").into()), + }; + // They like their own post by default let like_form = PostLikeForm { post_id: inserted_post.id, @@ -371,6 +378,8 @@ impl Perform<PostResponse> for Oper<EditPost> { let (iframely_title, iframely_description, iframely_html, pictshare_thumbnail) = fetch_iframely_and_pictshare_data(data.url.to_owned()); + let read_post = Post::read(&conn, data.edit_id)?; + let post_form = PostForm { name: data.name.to_owned(), url: data.url.to_owned(), @@ -387,6 +396,8 @@ impl Perform<PostResponse> for Oper<EditPost> { embed_description: iframely_description, embed_html: iframely_html, thumbnail_url: pictshare_thumbnail, + ap_id: read_post.ap_id, + local: read_post.local, }; let _updated_post = match Post::update(&conn, data.edit_id, &post_form) { diff --git a/server/src/api/user.rs b/server/src/api/user.rs index 59a3d623..629ce8e5 100644 --- a/server/src/api/user.rs +++ b/server/src/api/user.rs @@ -563,36 +563,7 @@ impl Perform<AddAdminResponse> for Oper<AddAdmin> { return Err(APIError::err("not_an_admin").into()); } - let read_user = User_::read(&conn, data.user_id)?; - - // TODO make addadmin easier - let user_form = UserForm { - name: read_user.name, - fedi_name: read_user.fedi_name, - email: read_user.email, - matrix_user_id: read_user.matrix_user_id, - avatar: read_user.avatar, - password_encrypted: read_user.password_encrypted, - preferred_username: read_user.preferred_username, - updated: Some(naive_now()), - admin: data.added, - banned: read_user.banned, - show_nsfw: read_user.show_nsfw, - theme: read_user.theme, - default_sort_type: read_user.default_sort_type, - default_listing_type: read_user.default_listing_type, - lang: read_user.lang, - show_avatars: read_user.show_avatars, - send_notifications_to_email: read_user.send_notifications_to_email, - actor_id: read_user.actor_id, - bio: read_user.bio, - local: read_user.local, - private_key: read_user.private_key, - public_key: read_user.public_key, - last_refreshed_at: None, - }; - - match User_::update(&conn, data.user_id, &user_form) { + match User_::add_admin(&conn, user_id, data.added) { Ok(user) => user, Err(_e) => return Err(APIError::err("couldnt_update_user").into()), }; @@ -632,36 +603,7 @@ impl Perform<BanUserResponse> for Oper<BanUser> { return Err(APIError::err("not_an_admin").into()); } - let read_user = User_::read(&conn, data.user_id)?; - - // TODO make bans and addadmins easier - let user_form = UserForm { - name: read_user.name, - fedi_name: read_user.fedi_name, - email: read_user.email, - matrix_user_id: read_user.matrix_user_id, - avatar: read_user.avatar, - password_encrypted: read_user.password_encrypted, - preferred_username: read_user.preferred_username, - updated: Some(naive_now()), - admin: read_user.admin, - banned: data.ban, - show_nsfw: read_user.show_nsfw, - theme: read_user.theme, - default_sort_type: read_user.default_sort_type, - default_listing_type: read_user.default_listing_type, - lang: read_user.lang, - show_avatars: read_user.show_avatars, - send_notifications_to_email: read_user.send_notifications_to_email, - actor_id: read_user.actor_id, - bio: read_user.bio, - local: read_user.local, - private_key: read_user.private_key, - public_key: read_user.public_key, - last_refreshed_at: None, - }; - - match User_::update(&conn, data.user_id, &user_form) { + match User_::ban_user(&conn, user_id, data.ban) { Ok(user) => user, Err(_e) => return Err(APIError::err("couldnt_update_user").into()), }; @@ -790,18 +732,7 @@ impl Perform<GetRepliesResponse> for Oper<MarkAllAsRead> { .list()?; for reply in &replies { - let comment_form = CommentForm { - content: reply.to_owned().content, - parent_id: reply.to_owned().parent_id, - post_id: reply.to_owned().post_id, - creator_id: reply.to_owned().creator_id, - removed: None, - deleted: None, - read: Some(true), - updated: reply.to_owned().updated, - }; - - let _updated_comment = match Comment::update(&conn, reply.id, &comment_form) { + match Comment::mark_as_read(&conn, reply.id) { Ok(comment) => comment, Err(_e) => return Err(APIError::err("couldnt_update_comment").into()), }; @@ -882,18 +813,7 @@ impl Perform<LoginResponse> for Oper<DeleteAccount> { .list()?; for comment in &comments { - let comment_form = CommentForm { - content: "*Permananently Deleted*".to_string(), - parent_id: comment.to_owned().parent_id, - post_id: comment.to_owned().post_id, - creator_id: comment.to_owned().creator_id, - removed: None, - deleted: Some(true), - read: None, - updated: Some(naive_now()), - }; - - let _updated_comment = match Comment::update(&conn, comment.id, &comment_form) { + let _updated_comment = match Comment::permadelete(&conn, comment.id) { Ok(comment) => comment, Err(_e) => return Err(APIError::err("couldnt_update_comment").into()), }; @@ -907,25 +827,7 @@ impl Perform<LoginResponse> for Oper<DeleteAccount> { .list()?; for post in &posts { - let post_form = PostForm { - name: "*Permananently Deleted*".to_string(), - url: Some("https://deleted.com".to_string()), - body: Some("*Permananently Deleted*".to_string()), - creator_id: post.to_owned().creator_id, - community_id: post.to_owned().community_id, - removed: None, - deleted: Some(true), - nsfw: post.to_owned().nsfw, - locked: None, - stickied: None, - updated: Some(naive_now()), - embed_title: None, - embed_description: None, - embed_html: None, - thumbnail_url: None, - }; - - let _updated_post = match Post::update(&conn, post.id, &post_form) { + let _updated_post = match Post::permadelete(&conn, post.id) { Ok(post) => post, Err(_e) => return Err(APIError::err("couldnt_update_post").into()), }; |