summaryrefslogtreecommitdiffstats
path: root/server/src/apub/mod.rs
diff options
context:
space:
mode:
authorDessalines <tyhou13@gmx.com>2020-04-24 10:04:36 -0400
committerDessalines <tyhou13@gmx.com>2020-04-24 10:04:36 -0400
commit66a2c4a2c38fdc90295c0ee2d599e0acecf8ad3f (patch)
tree92d48945d0d0f32d970b875e2ccc8c786e4a565b /server/src/apub/mod.rs
parente5497edd5c12b1355c82b224111bf7ce5bb1fd1e (diff)
Some fed fixes.
Diffstat (limited to 'server/src/apub/mod.rs')
-rw-r--r--server/src/apub/mod.rs64
1 files changed, 58 insertions, 6 deletions
diff --git a/server/src/apub/mod.rs b/server/src/apub/mod.rs
index 84645897..08fd9756 100644
--- a/server/src/apub/mod.rs
+++ b/server/src/apub/mod.rs
@@ -6,14 +6,66 @@ pub mod post;
pub mod signatures;
pub mod user;
pub mod user_inbox;
-use crate::apub::signatures::PublicKeyExtension;
-use crate::Settings;
-use activitystreams::actor::{properties::ApActorProperties, Group, Person};
-use activitystreams::ext::Ext;
+
+use activitystreams::{
+ context, public, BaseBox,
+ actor::{
+ Actor,
+ Person,
+ Group,
+ properties::ApActorProperties,
+ },
+ activity::{Accept, Create, Follow, Update},
+ object::{
+ Page,
+ properties::ObjectProperties,
+ },
+ ext::{
+ Ext,
+ Extensible,
+ Extension,
+ },
+ collection::{
+ UnorderedCollection,
+ OrderedCollection,
+ },
+};
use actix_web::body::Body;
-use actix_web::HttpResponse;
-use serde::ser::Serialize;
+use actix_web::{web, Result, HttpRequest, HttpResponse};
+use actix_web::web::Path;
use url::Url;
+use failure::Error;
+use failure::_core::fmt::Debug;
+use log::debug;
+use isahc::prelude::*;
+use diesel::result::Error::NotFound;
+use diesel::PgConnection;
+use http::request::Builder;
+use http_signature_normalization::Config;
+use openssl::hash::MessageDigest;
+use openssl::sign::{Signer, Verifier};
+use openssl::{pkey::PKey, rsa::Rsa};
+use serde::{Deserialize, Serialize};
+use std::collections::BTreeMap;
+use std::time::Duration;
+
+use crate::routes::{DbPoolParam, ChatServerParam};
+use crate::routes::nodeinfo::{NodeInfo, NodeInfoWellKnown};
+use crate::{convert_datetime, naive_now, Settings};
+use crate::db::community::{Community, CommunityForm, CommunityFollower, CommunityFollowerForm};
+use crate::db::community_view::{CommunityFollowerView, CommunityView};
+use crate::db::post::{Post, PostForm};
+use crate::db::post_view::PostView;
+use crate::db::user::{UserForm, User_};
+use crate::db::user_view::UserView;
+// TODO check on unpooled connection
+use crate::db::{Crud, Followable, SearchType, establish_unpooled_connection};
+use crate::api::site::SearchResponse;
+
+use signatures::{PublicKey, PublicKeyExtension, sign};
+use activities::accept_follow;
+use signatures::verify;
+use fetcher::{fetch_remote_object, get_or_fetch_and_upsert_remote_user, get_or_fetch_and_upsert_remote_community};
type GroupExt = Ext<Ext<Group, ApActorProperties>, PublicKeyExtension>;
type PersonExt = Ext<Ext<Person, ApActorProperties>, PublicKeyExtension>;