mirror of
https://github.com/LemmyNet/lemmy.git
synced 2024-12-24 11:51:32 +00:00
Merge branch 'community_user_actor_id_dupes' into api_edit_separation
This commit is contained in:
commit
dca38d10eb
25 changed files with 186 additions and 57 deletions
|
@ -117,7 +117,7 @@ mod tests {
|
||||||
lang: "browser".into(),
|
lang: "browser".into(),
|
||||||
show_avatars: true,
|
show_avatars: true,
|
||||||
send_notifications_to_email: false,
|
send_notifications_to_email: false,
|
||||||
actor_id: "http://fake.com".into(),
|
actor_id: "changeme_862362".into(),
|
||||||
bio: None,
|
bio: None,
|
||||||
local: true,
|
local: true,
|
||||||
private_key: None,
|
private_key: None,
|
||||||
|
|
|
@ -233,7 +233,7 @@ mod tests {
|
||||||
lang: "browser".into(),
|
lang: "browser".into(),
|
||||||
show_avatars: true,
|
show_avatars: true,
|
||||||
send_notifications_to_email: false,
|
send_notifications_to_email: false,
|
||||||
actor_id: "http://fake.com".into(),
|
actor_id: "changeme_283687".into(),
|
||||||
bio: None,
|
bio: None,
|
||||||
local: true,
|
local: true,
|
||||||
private_key: None,
|
private_key: None,
|
||||||
|
@ -253,7 +253,7 @@ mod tests {
|
||||||
deleted: None,
|
deleted: None,
|
||||||
updated: None,
|
updated: None,
|
||||||
nsfw: false,
|
nsfw: false,
|
||||||
actor_id: "http://fake.com".into(),
|
actor_id: "changeme_928738972".into(),
|
||||||
local: true,
|
local: true,
|
||||||
private_key: None,
|
private_key: None,
|
||||||
public_key: None,
|
public_key: None,
|
||||||
|
|
|
@ -498,7 +498,7 @@ mod tests {
|
||||||
lang: "browser".into(),
|
lang: "browser".into(),
|
||||||
show_avatars: true,
|
show_avatars: true,
|
||||||
send_notifications_to_email: false,
|
send_notifications_to_email: false,
|
||||||
actor_id: "http://fake.com".into(),
|
actor_id: "changeme_92873982".into(),
|
||||||
bio: None,
|
bio: None,
|
||||||
local: true,
|
local: true,
|
||||||
private_key: None,
|
private_key: None,
|
||||||
|
@ -518,7 +518,7 @@ mod tests {
|
||||||
deleted: None,
|
deleted: None,
|
||||||
updated: None,
|
updated: None,
|
||||||
nsfw: false,
|
nsfw: false,
|
||||||
actor_id: "http://fake.com".into(),
|
actor_id: "changeme_7625376".into(),
|
||||||
local: true,
|
local: true,
|
||||||
private_key: None,
|
private_key: None,
|
||||||
public_key: None,
|
public_key: None,
|
||||||
|
|
|
@ -258,7 +258,7 @@ mod tests {
|
||||||
lang: "browser".into(),
|
lang: "browser".into(),
|
||||||
show_avatars: true,
|
show_avatars: true,
|
||||||
send_notifications_to_email: false,
|
send_notifications_to_email: false,
|
||||||
actor_id: "http://fake.com".into(),
|
actor_id: "changeme_8266238".into(),
|
||||||
bio: None,
|
bio: None,
|
||||||
local: true,
|
local: true,
|
||||||
private_key: None,
|
private_key: None,
|
||||||
|
@ -278,7 +278,7 @@ mod tests {
|
||||||
removed: None,
|
removed: None,
|
||||||
deleted: None,
|
deleted: None,
|
||||||
updated: None,
|
updated: None,
|
||||||
actor_id: "http://fake.com".into(),
|
actor_id: "changeme_7625376".into(),
|
||||||
local: true,
|
local: true,
|
||||||
private_key: None,
|
private_key: None,
|
||||||
public_key: None,
|
public_key: None,
|
||||||
|
@ -300,7 +300,7 @@ mod tests {
|
||||||
deleted: false,
|
deleted: false,
|
||||||
published: inserted_community.published,
|
published: inserted_community.published,
|
||||||
updated: None,
|
updated: None,
|
||||||
actor_id: "http://fake.com".into(),
|
actor_id: inserted_community.actor_id.to_owned(),
|
||||||
local: true,
|
local: true,
|
||||||
private_key: None,
|
private_key: None,
|
||||||
public_key: None,
|
public_key: None,
|
||||||
|
|
|
@ -470,7 +470,7 @@ mod tests {
|
||||||
lang: "browser".into(),
|
lang: "browser".into(),
|
||||||
show_avatars: true,
|
show_avatars: true,
|
||||||
send_notifications_to_email: false,
|
send_notifications_to_email: false,
|
||||||
actor_id: "http://fake.com".into(),
|
actor_id: "changeme_829398".into(),
|
||||||
bio: None,
|
bio: None,
|
||||||
local: true,
|
local: true,
|
||||||
private_key: None,
|
private_key: None,
|
||||||
|
@ -497,7 +497,7 @@ mod tests {
|
||||||
lang: "browser".into(),
|
lang: "browser".into(),
|
||||||
show_avatars: true,
|
show_avatars: true,
|
||||||
send_notifications_to_email: false,
|
send_notifications_to_email: false,
|
||||||
actor_id: "http://fake.com".into(),
|
actor_id: "changeme_82982738".into(),
|
||||||
bio: None,
|
bio: None,
|
||||||
local: true,
|
local: true,
|
||||||
private_key: None,
|
private_key: None,
|
||||||
|
@ -517,7 +517,7 @@ mod tests {
|
||||||
deleted: None,
|
deleted: None,
|
||||||
updated: None,
|
updated: None,
|
||||||
nsfw: false,
|
nsfw: false,
|
||||||
actor_id: "http://fake.com".into(),
|
actor_id: "changeme_283687".into(),
|
||||||
local: true,
|
local: true,
|
||||||
private_key: None,
|
private_key: None,
|
||||||
public_key: None,
|
public_key: None,
|
||||||
|
|
|
@ -105,7 +105,7 @@ mod tests {
|
||||||
lang: "browser".into(),
|
lang: "browser".into(),
|
||||||
show_avatars: true,
|
show_avatars: true,
|
||||||
send_notifications_to_email: false,
|
send_notifications_to_email: false,
|
||||||
actor_id: "http://fake.com".into(),
|
actor_id: "changeme_8292378".into(),
|
||||||
bio: None,
|
bio: None,
|
||||||
local: true,
|
local: true,
|
||||||
private_key: None,
|
private_key: None,
|
||||||
|
|
|
@ -279,7 +279,7 @@ mod tests {
|
||||||
lang: "browser".into(),
|
lang: "browser".into(),
|
||||||
show_avatars: true,
|
show_avatars: true,
|
||||||
send_notifications_to_email: false,
|
send_notifications_to_email: false,
|
||||||
actor_id: "http://fake.com".into(),
|
actor_id: "changeme_8292683678".into(),
|
||||||
bio: None,
|
bio: None,
|
||||||
local: true,
|
local: true,
|
||||||
private_key: None,
|
private_key: None,
|
||||||
|
@ -299,7 +299,7 @@ mod tests {
|
||||||
deleted: None,
|
deleted: None,
|
||||||
updated: None,
|
updated: None,
|
||||||
nsfw: false,
|
nsfw: false,
|
||||||
actor_id: "http://fake.com".into(),
|
actor_id: "changeme_8223262378".into(),
|
||||||
local: true,
|
local: true,
|
||||||
private_key: None,
|
private_key: None,
|
||||||
public_key: None,
|
public_key: None,
|
||||||
|
|
|
@ -415,7 +415,7 @@ mod tests {
|
||||||
lang: "browser".into(),
|
lang: "browser".into(),
|
||||||
show_avatars: true,
|
show_avatars: true,
|
||||||
send_notifications_to_email: false,
|
send_notifications_to_email: false,
|
||||||
actor_id: "http://fake.com".into(),
|
actor_id: "changeme_8282738268".into(),
|
||||||
bio: None,
|
bio: None,
|
||||||
local: true,
|
local: true,
|
||||||
private_key: None,
|
private_key: None,
|
||||||
|
@ -435,7 +435,7 @@ mod tests {
|
||||||
deleted: None,
|
deleted: None,
|
||||||
updated: None,
|
updated: None,
|
||||||
nsfw: false,
|
nsfw: false,
|
||||||
actor_id: "http://fake.com".into(),
|
actor_id: "changeme_2763".into(),
|
||||||
local: true,
|
local: true,
|
||||||
private_key: None,
|
private_key: None,
|
||||||
public_key: None,
|
public_key: None,
|
||||||
|
|
|
@ -113,7 +113,7 @@ mod tests {
|
||||||
lang: "browser".into(),
|
lang: "browser".into(),
|
||||||
show_avatars: true,
|
show_avatars: true,
|
||||||
send_notifications_to_email: false,
|
send_notifications_to_email: false,
|
||||||
actor_id: "http://fake.com".into(),
|
actor_id: "changeme_6723878".into(),
|
||||||
bio: None,
|
bio: None,
|
||||||
local: true,
|
local: true,
|
||||||
private_key: None,
|
private_key: None,
|
||||||
|
@ -140,7 +140,7 @@ mod tests {
|
||||||
lang: "browser".into(),
|
lang: "browser".into(),
|
||||||
show_avatars: true,
|
show_avatars: true,
|
||||||
send_notifications_to_email: false,
|
send_notifications_to_email: false,
|
||||||
actor_id: "http://fake.com".into(),
|
actor_id: "changeme_287263876".into(),
|
||||||
bio: None,
|
bio: None,
|
||||||
local: true,
|
local: true,
|
||||||
private_key: None,
|
private_key: None,
|
||||||
|
|
|
@ -166,7 +166,7 @@ mod tests {
|
||||||
lang: "browser".into(),
|
lang: "browser".into(),
|
||||||
show_avatars: true,
|
show_avatars: true,
|
||||||
send_notifications_to_email: false,
|
send_notifications_to_email: false,
|
||||||
actor_id: "http://fake.com".into(),
|
actor_id: "changeme_9826382637".into(),
|
||||||
bio: None,
|
bio: None,
|
||||||
local: true,
|
local: true,
|
||||||
private_key: None,
|
private_key: None,
|
||||||
|
@ -195,7 +195,7 @@ mod tests {
|
||||||
lang: "browser".into(),
|
lang: "browser".into(),
|
||||||
show_avatars: true,
|
show_avatars: true,
|
||||||
send_notifications_to_email: false,
|
send_notifications_to_email: false,
|
||||||
actor_id: "http://fake.com".into(),
|
actor_id: inserted_user.actor_id.to_owned(),
|
||||||
bio: None,
|
bio: None,
|
||||||
local: true,
|
local: true,
|
||||||
private_key: None,
|
private_key: None,
|
||||||
|
|
|
@ -86,7 +86,7 @@ mod tests {
|
||||||
lang: "browser".into(),
|
lang: "browser".into(),
|
||||||
show_avatars: true,
|
show_avatars: true,
|
||||||
send_notifications_to_email: false,
|
send_notifications_to_email: false,
|
||||||
actor_id: "http://fake.com".into(),
|
actor_id: "changeme_628763".into(),
|
||||||
bio: None,
|
bio: None,
|
||||||
local: true,
|
local: true,
|
||||||
private_key: None,
|
private_key: None,
|
||||||
|
@ -113,7 +113,7 @@ mod tests {
|
||||||
lang: "browser".into(),
|
lang: "browser".into(),
|
||||||
show_avatars: true,
|
show_avatars: true,
|
||||||
send_notifications_to_email: false,
|
send_notifications_to_email: false,
|
||||||
actor_id: "http://fake.com".into(),
|
actor_id: "changeme_927389278".into(),
|
||||||
bio: None,
|
bio: None,
|
||||||
local: true,
|
local: true,
|
||||||
private_key: None,
|
private_key: None,
|
||||||
|
@ -133,7 +133,7 @@ mod tests {
|
||||||
deleted: None,
|
deleted: None,
|
||||||
updated: None,
|
updated: None,
|
||||||
nsfw: false,
|
nsfw: false,
|
||||||
actor_id: "http://fake.com".into(),
|
actor_id: "changeme_876238".into(),
|
||||||
local: true,
|
local: true,
|
||||||
private_key: None,
|
private_key: None,
|
||||||
public_key: None,
|
public_key: None,
|
||||||
|
|
20
server/migrations/2020-07-18-234519_add_unique_community_user_actor_ids/down.sql
vendored
Normal file
20
server/migrations/2020-07-18-234519_add_unique_community_user_actor_ids/down.sql
vendored
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
|
||||||
|
alter table community alter column actor_id set not null;
|
||||||
|
alter table community alter column actor_id set default 'http://fake.com';
|
||||||
|
alter table user_ alter column actor_id set not null;
|
||||||
|
alter table user_ alter column actor_id set default 'http://fake.com';
|
||||||
|
|
||||||
|
drop function generate_unique_changeme;
|
||||||
|
|
||||||
|
update community
|
||||||
|
set actor_id = 'http://fake.com'
|
||||||
|
where actor_id like 'changeme_%';
|
||||||
|
|
||||||
|
update user_
|
||||||
|
set actor_id = 'http://fake.com'
|
||||||
|
where actor_id like 'changeme_%';
|
||||||
|
|
||||||
|
drop index idx_user_lower_actor_id;
|
||||||
|
create unique index idx_user_name_lower_actor_id on user_ (lower(name), lower(actor_id));
|
||||||
|
|
||||||
|
drop index idx_community_lower_actor_id;
|
50
server/migrations/2020-07-18-234519_add_unique_community_user_actor_ids/up.sql
vendored
Normal file
50
server/migrations/2020-07-18-234519_add_unique_community_user_actor_ids/up.sql
vendored
Normal file
|
@ -0,0 +1,50 @@
|
||||||
|
-- Following this issue : https://github.com/LemmyNet/lemmy/issues/957
|
||||||
|
|
||||||
|
-- Creating a unique changeme actor_id
|
||||||
|
create or replace function generate_unique_changeme()
|
||||||
|
returns text language sql
|
||||||
|
as $$
|
||||||
|
select 'changeme_' || string_agg (substr('abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz0123456789', ceil (random() * 62)::integer, 1), '')
|
||||||
|
from generate_series(1, 20)
|
||||||
|
$$;
|
||||||
|
|
||||||
|
-- Need to delete the possible community and user dupes for ones that don't start with the fake one
|
||||||
|
-- A few test inserts, to make sure this removes later dupes
|
||||||
|
-- insert into community (name, title, category_id, creator_id) values ('testcom', 'another testcom', 1, 2);
|
||||||
|
delete from community a using (
|
||||||
|
select min(id) as id, actor_id
|
||||||
|
from community
|
||||||
|
group by actor_id having count(*) > 1
|
||||||
|
) b
|
||||||
|
where a.actor_id = b.actor_id
|
||||||
|
and a.id <> b.id;
|
||||||
|
|
||||||
|
delete from user_ a using (
|
||||||
|
select min(id) as id, actor_id
|
||||||
|
from user_
|
||||||
|
group by actor_id having count(*) > 1
|
||||||
|
) b
|
||||||
|
where a.actor_id = b.actor_id
|
||||||
|
and a.id <> b.id;
|
||||||
|
|
||||||
|
-- Replacing the current default on the columns, to the unique one
|
||||||
|
update community
|
||||||
|
set actor_id = generate_unique_changeme()
|
||||||
|
where actor_id = 'http://fake.com';
|
||||||
|
|
||||||
|
update user_
|
||||||
|
set actor_id = generate_unique_changeme()
|
||||||
|
where actor_id = 'http://fake.com';
|
||||||
|
|
||||||
|
-- Add the unique indexes
|
||||||
|
alter table community alter column actor_id set not null;
|
||||||
|
alter table community alter column actor_id set default generate_unique_changeme();
|
||||||
|
|
||||||
|
alter table user_ alter column actor_id set not null;
|
||||||
|
alter table user_ alter column actor_id set default generate_unique_changeme();
|
||||||
|
|
||||||
|
-- Add lowercase uniqueness too
|
||||||
|
drop index idx_user_name_lower_actor_id;
|
||||||
|
create unique index idx_user_lower_actor_id on user_ (lower(actor_id));
|
||||||
|
|
||||||
|
create unique index idx_community_lower_actor_id on community (lower(actor_id));
|
|
@ -1,10 +1,14 @@
|
||||||
use crate::{
|
use crate::{
|
||||||
apub::{
|
apub::{
|
||||||
community::do_announce, extensions::signatures::sign, insert_activity, is_apub_id_valid,
|
community::do_announce,
|
||||||
|
extensions::signatures::sign,
|
||||||
|
insert_activity,
|
||||||
|
is_apub_id_valid,
|
||||||
ActorType,
|
ActorType,
|
||||||
},
|
},
|
||||||
request::retry_custom,
|
request::retry_custom,
|
||||||
DbPool, LemmyError,
|
DbPool,
|
||||||
|
LemmyError,
|
||||||
};
|
};
|
||||||
use activitystreams_new::base::AnyBase;
|
use activitystreams_new::base::AnyBase;
|
||||||
use actix_web::client::Client;
|
use actix_web::client::Client;
|
||||||
|
|
|
@ -1,16 +1,25 @@
|
||||||
use crate::{
|
use crate::{
|
||||||
apub::{
|
apub::{
|
||||||
activities::send_activity_to_community,
|
activities::send_activity_to_community,
|
||||||
create_apub_response, create_apub_tombstone_response, create_tombstone, fetch_webfinger_url,
|
create_apub_response,
|
||||||
|
create_apub_tombstone_response,
|
||||||
|
create_tombstone,
|
||||||
|
fetch_webfinger_url,
|
||||||
fetcher::{
|
fetcher::{
|
||||||
get_or_fetch_and_insert_remote_comment, get_or_fetch_and_insert_remote_post,
|
get_or_fetch_and_insert_remote_comment,
|
||||||
|
get_or_fetch_and_insert_remote_post,
|
||||||
get_or_fetch_and_upsert_remote_user,
|
get_or_fetch_and_upsert_remote_user,
|
||||||
},
|
},
|
||||||
ActorType, ApubLikeableType, ApubObjectType, FromApub, ToApub,
|
ActorType,
|
||||||
|
ApubLikeableType,
|
||||||
|
ApubObjectType,
|
||||||
|
FromApub,
|
||||||
|
ToApub,
|
||||||
},
|
},
|
||||||
blocking,
|
blocking,
|
||||||
routes::DbPoolParam,
|
routes::DbPoolParam,
|
||||||
DbPool, LemmyError,
|
DbPool,
|
||||||
|
LemmyError,
|
||||||
};
|
};
|
||||||
use activitystreams_new::{
|
use activitystreams_new::{
|
||||||
activity::{Create, Delete, Dislike, Like, Remove, Undo, Update},
|
activity::{Create, Delete, Dislike, Like, Remove, Undo, Update},
|
||||||
|
|
|
@ -1,13 +1,22 @@
|
||||||
use crate::{
|
use crate::{
|
||||||
apub::{
|
apub::{
|
||||||
activities::send_activity, create_apub_response, create_apub_tombstone_response,
|
activities::send_activity,
|
||||||
create_tombstone, extensions::group_extensions::GroupExtension,
|
create_apub_response,
|
||||||
fetcher::get_or_fetch_and_upsert_remote_user, get_shared_inbox, insert_activity, ActorType,
|
create_apub_tombstone_response,
|
||||||
FromApub, GroupExt, ToApub,
|
create_tombstone,
|
||||||
|
extensions::group_extensions::GroupExtension,
|
||||||
|
fetcher::get_or_fetch_and_upsert_remote_user,
|
||||||
|
get_shared_inbox,
|
||||||
|
insert_activity,
|
||||||
|
ActorType,
|
||||||
|
FromApub,
|
||||||
|
GroupExt,
|
||||||
|
ToApub,
|
||||||
},
|
},
|
||||||
blocking,
|
blocking,
|
||||||
routes::DbPoolParam,
|
routes::DbPoolParam,
|
||||||
DbPool, LemmyError,
|
DbPool,
|
||||||
|
LemmyError,
|
||||||
};
|
};
|
||||||
use activitystreams_ext::Ext2;
|
use activitystreams_ext::Ext2;
|
||||||
use activitystreams_new::{
|
use activitystreams_new::{
|
||||||
|
|
|
@ -2,7 +2,8 @@ use crate::{
|
||||||
apub::{
|
apub::{
|
||||||
extensions::signatures::verify,
|
extensions::signatures::verify,
|
||||||
fetcher::{get_or_fetch_and_upsert_remote_community, get_or_fetch_and_upsert_remote_user},
|
fetcher::{get_or_fetch_and_upsert_remote_community, get_or_fetch_and_upsert_remote_user},
|
||||||
insert_activity, ActorType,
|
insert_activity,
|
||||||
|
ActorType,
|
||||||
},
|
},
|
||||||
blocking,
|
blocking,
|
||||||
routes::{ChatServerParam, DbPoolParam},
|
routes::{ChatServerParam, DbPoolParam},
|
||||||
|
|
|
@ -4,7 +4,8 @@ use crate::{
|
||||||
blocking,
|
blocking,
|
||||||
request::{retry, RecvError},
|
request::{retry, RecvError},
|
||||||
routes::nodeinfo::{NodeInfo, NodeInfoWellKnown},
|
routes::nodeinfo::{NodeInfo, NodeInfoWellKnown},
|
||||||
DbPool, LemmyError,
|
DbPool,
|
||||||
|
LemmyError,
|
||||||
};
|
};
|
||||||
use activitystreams_new::{base::BaseExt, object::Note, prelude::*};
|
use activitystreams_new::{base::BaseExt, object::Note, prelude::*};
|
||||||
use actix_web::client::Client;
|
use actix_web::client::Client;
|
||||||
|
@ -20,7 +21,9 @@ use lemmy_db::{
|
||||||
post_view::PostView,
|
post_view::PostView,
|
||||||
user::{UserForm, User_},
|
user::{UserForm, User_},
|
||||||
user_view::UserView,
|
user_view::UserView,
|
||||||
Crud, Joinable, SearchType,
|
Crud,
|
||||||
|
Joinable,
|
||||||
|
SearchType,
|
||||||
};
|
};
|
||||||
use lemmy_utils::get_apub_protocol_string;
|
use lemmy_utils::get_apub_protocol_string;
|
||||||
use log::debug;
|
use log::debug;
|
||||||
|
|
|
@ -19,7 +19,8 @@ use crate::{
|
||||||
blocking,
|
blocking,
|
||||||
request::{retry, RecvError},
|
request::{retry, RecvError},
|
||||||
routes::webfinger::WebFingerResponse,
|
routes::webfinger::WebFingerResponse,
|
||||||
DbPool, LemmyError,
|
DbPool,
|
||||||
|
LemmyError,
|
||||||
};
|
};
|
||||||
use activitystreams_ext::{Ext1, Ext2};
|
use activitystreams_ext::{Ext1, Ext2};
|
||||||
use activitystreams_new::{
|
use activitystreams_new::{
|
||||||
|
|
|
@ -1,14 +1,22 @@
|
||||||
use crate::{
|
use crate::{
|
||||||
apub::{
|
apub::{
|
||||||
activities::send_activity_to_community,
|
activities::send_activity_to_community,
|
||||||
create_apub_response, create_apub_tombstone_response, create_tombstone,
|
create_apub_response,
|
||||||
|
create_apub_tombstone_response,
|
||||||
|
create_tombstone,
|
||||||
extensions::page_extension::PageExtension,
|
extensions::page_extension::PageExtension,
|
||||||
fetcher::{get_or_fetch_and_upsert_remote_community, get_or_fetch_and_upsert_remote_user},
|
fetcher::{get_or_fetch_and_upsert_remote_community, get_or_fetch_and_upsert_remote_user},
|
||||||
ActorType, ApubLikeableType, ApubObjectType, FromApub, PageExt, ToApub,
|
ActorType,
|
||||||
|
ApubLikeableType,
|
||||||
|
ApubObjectType,
|
||||||
|
FromApub,
|
||||||
|
PageExt,
|
||||||
|
ToApub,
|
||||||
},
|
},
|
||||||
blocking,
|
blocking,
|
||||||
routes::DbPoolParam,
|
routes::DbPoolParam,
|
||||||
DbPool, LemmyError,
|
DbPool,
|
||||||
|
LemmyError,
|
||||||
};
|
};
|
||||||
use activitystreams_ext::Ext1;
|
use activitystreams_ext::Ext1;
|
||||||
use activitystreams_new::{
|
use activitystreams_new::{
|
||||||
|
|
|
@ -1,9 +1,16 @@
|
||||||
use crate::{
|
use crate::{
|
||||||
apub::{
|
apub::{
|
||||||
activities::send_activity, create_tombstone, fetcher::get_or_fetch_and_upsert_remote_user,
|
activities::send_activity,
|
||||||
insert_activity, ApubObjectType, FromApub, ToApub,
|
create_tombstone,
|
||||||
|
fetcher::get_or_fetch_and_upsert_remote_user,
|
||||||
|
insert_activity,
|
||||||
|
ApubObjectType,
|
||||||
|
FromApub,
|
||||||
|
ToApub,
|
||||||
},
|
},
|
||||||
blocking, DbPool, LemmyError,
|
blocking,
|
||||||
|
DbPool,
|
||||||
|
LemmyError,
|
||||||
};
|
};
|
||||||
use activitystreams_new::{
|
use activitystreams_new::{
|
||||||
activity::{Create, Delete, Undo, Update},
|
activity::{Create, Delete, Undo, Update},
|
||||||
|
|
|
@ -8,10 +8,16 @@ use crate::{
|
||||||
community::do_announce,
|
community::do_announce,
|
||||||
extensions::signatures::verify,
|
extensions::signatures::verify,
|
||||||
fetcher::{
|
fetcher::{
|
||||||
get_or_fetch_and_insert_remote_comment, get_or_fetch_and_insert_remote_post,
|
get_or_fetch_and_insert_remote_comment,
|
||||||
get_or_fetch_and_upsert_remote_community, get_or_fetch_and_upsert_remote_user,
|
get_or_fetch_and_insert_remote_post,
|
||||||
|
get_or_fetch_and_upsert_remote_community,
|
||||||
|
get_or_fetch_and_upsert_remote_user,
|
||||||
},
|
},
|
||||||
insert_activity, ActorType, FromApub, GroupExt, PageExt,
|
insert_activity,
|
||||||
|
ActorType,
|
||||||
|
FromApub,
|
||||||
|
GroupExt,
|
||||||
|
PageExt,
|
||||||
},
|
},
|
||||||
blocking,
|
blocking,
|
||||||
routes::{ChatServerParam, DbPoolParam},
|
routes::{ChatServerParam, DbPoolParam},
|
||||||
|
@ -19,7 +25,8 @@ use crate::{
|
||||||
server::{SendComment, SendCommunityRoomMessage, SendPost},
|
server::{SendComment, SendCommunityRoomMessage, SendPost},
|
||||||
UserOperation,
|
UserOperation,
|
||||||
},
|
},
|
||||||
DbPool, LemmyError,
|
DbPool,
|
||||||
|
LemmyError,
|
||||||
};
|
};
|
||||||
use activitystreams_new::{
|
use activitystreams_new::{
|
||||||
activity::{ActorAndObjectRef, Announce, Create, Delete, Dislike, Like, Remove, Undo, Update},
|
activity::{ActorAndObjectRef, Announce, Create, Delete, Dislike, Like, Remove, Undo, Update},
|
||||||
|
@ -38,7 +45,8 @@ use lemmy_db::{
|
||||||
post::{Post, PostForm, PostLike, PostLikeForm},
|
post::{Post, PostForm, PostLike, PostLikeForm},
|
||||||
post_view::PostView,
|
post_view::PostView,
|
||||||
user::User_,
|
user::User_,
|
||||||
Crud, Likeable,
|
Crud,
|
||||||
|
Likeable,
|
||||||
};
|
};
|
||||||
use lemmy_utils::scrape_text_for_mentions;
|
use lemmy_utils::scrape_text_for_mentions;
|
||||||
use log::debug;
|
use log::debug;
|
||||||
|
|
|
@ -1,12 +1,18 @@
|
||||||
use crate::{
|
use crate::{
|
||||||
api::claims::Claims,
|
api::claims::Claims,
|
||||||
apub::{
|
apub::{
|
||||||
activities::send_activity, create_apub_response, insert_activity, ActorType, FromApub,
|
activities::send_activity,
|
||||||
PersonExt, ToApub,
|
create_apub_response,
|
||||||
|
insert_activity,
|
||||||
|
ActorType,
|
||||||
|
FromApub,
|
||||||
|
PersonExt,
|
||||||
|
ToApub,
|
||||||
},
|
},
|
||||||
blocking,
|
blocking,
|
||||||
routes::DbPoolParam,
|
routes::DbPoolParam,
|
||||||
DbPool, LemmyError,
|
DbPool,
|
||||||
|
LemmyError,
|
||||||
};
|
};
|
||||||
use activitystreams_ext::Ext1;
|
use activitystreams_ext::Ext1;
|
||||||
use activitystreams_new::{
|
use activitystreams_new::{
|
||||||
|
|
|
@ -3,12 +3,14 @@ use crate::{
|
||||||
apub::{
|
apub::{
|
||||||
extensions::signatures::verify,
|
extensions::signatures::verify,
|
||||||
fetcher::{get_or_fetch_and_upsert_remote_community, get_or_fetch_and_upsert_remote_user},
|
fetcher::{get_or_fetch_and_upsert_remote_community, get_or_fetch_and_upsert_remote_user},
|
||||||
insert_activity, FromApub,
|
insert_activity,
|
||||||
|
FromApub,
|
||||||
},
|
},
|
||||||
blocking,
|
blocking,
|
||||||
routes::{ChatServerParam, DbPoolParam},
|
routes::{ChatServerParam, DbPoolParam},
|
||||||
websocket::{server::SendUserRoomMessage, UserOperation},
|
websocket::{server::SendUserRoomMessage, UserOperation},
|
||||||
DbPool, LemmyError,
|
DbPool,
|
||||||
|
LemmyError,
|
||||||
};
|
};
|
||||||
use activitystreams_new::{
|
use activitystreams_new::{
|
||||||
activity::{Accept, Create, Delete, Undo, Update},
|
activity::{Accept, Create, Delete, Undo, Update},
|
||||||
|
@ -22,7 +24,8 @@ use lemmy_db::{
|
||||||
private_message::{PrivateMessage, PrivateMessageForm},
|
private_message::{PrivateMessage, PrivateMessageForm},
|
||||||
private_message_view::PrivateMessageView,
|
private_message_view::PrivateMessageView,
|
||||||
user::User_,
|
user::User_,
|
||||||
Crud, Followable,
|
Crud,
|
||||||
|
Followable,
|
||||||
};
|
};
|
||||||
use log::debug;
|
use log::debug;
|
||||||
use serde::Deserialize;
|
use serde::Deserialize;
|
||||||
|
|
|
@ -30,7 +30,7 @@ fn user_updates_2020_04_02(conn: &PgConnection) -> Result<(), LemmyError> {
|
||||||
|
|
||||||
// Update the actor_id, private_key, and public_key, last_refreshed_at
|
// Update the actor_id, private_key, and public_key, last_refreshed_at
|
||||||
let incorrect_users = user_
|
let incorrect_users = user_
|
||||||
.filter(actor_id.eq("http://fake.com"))
|
.filter(actor_id.like("changeme_%"))
|
||||||
.filter(local.eq(true))
|
.filter(local.eq(true))
|
||||||
.load::<User_>(conn)?;
|
.load::<User_>(conn)?;
|
||||||
|
|
||||||
|
@ -81,7 +81,7 @@ fn community_updates_2020_04_02(conn: &PgConnection) -> Result<(), LemmyError> {
|
||||||
|
|
||||||
// Update the actor_id, private_key, and public_key, last_refreshed_at
|
// Update the actor_id, private_key, and public_key, last_refreshed_at
|
||||||
let incorrect_communities = community
|
let incorrect_communities = community
|
||||||
.filter(actor_id.eq("http://fake.com"))
|
.filter(actor_id.like("changeme_%"))
|
||||||
.filter(local.eq(true))
|
.filter(local.eq(true))
|
||||||
.load::<Community>(conn)?;
|
.load::<Community>(conn)?;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue