From ce3a9bfb261f8798bdb4d4526f772a53c2760293 Mon Sep 17 00:00:00 2001 From: nullishamy Date: Fri, 11 Apr 2025 15:47:22 +0100 Subject: [PATCH] feat: better APIs; WIP timeline support --- Cargo.lock | 1 + assets/pfp.png | Bin 0 -> 194467 bytes ferri-main/src/ap/mod.rs | 60 ++++++- ferri-server/Cargo.toml | 4 +- ferri-server/src/endpoints/api/mod.rs | 3 +- ferri-server/src/endpoints/api/status.rs | 82 ++++++++-- ferri-server/src/endpoints/api/timeline.rs | 91 +++++++++++ ferri-server/src/endpoints/api/user.rs | 4 +- ferri-server/src/endpoints/custom.rs | 1 - ferri-server/src/endpoints/inbox.rs | 173 +++++++++++++++++++++ ferri-server/src/endpoints/mod.rs | 1 + ferri-server/src/endpoints/user.rs | 91 +---------- ferri-server/src/lib.rs | 89 +---------- ferri-server/src/types/activity.rs | 15 +- ferri-server/src/types/content.rs | 2 +- migrations/20250410112325_add_follow.sql | 4 +- migrations/20250410121119_add_user.sql | 2 +- migrations/20250410182845_add_post.sql | 3 +- migrations/20250411125138_add_activity.sql | 10 ++ 19 files changed, 425 insertions(+), 211 deletions(-) create mode 100644 assets/pfp.png create mode 100644 ferri-server/src/endpoints/api/timeline.rs create mode 100644 ferri-server/src/endpoints/inbox.rs create mode 100644 migrations/20250411125138_add_activity.sql diff --git a/Cargo.lock b/Cargo.lock index 8eb4999..a9d9ad2 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2158,6 +2158,7 @@ dependencies = [ "rocket", "rocket_db_pools", "sqlx", + "url", "uuid", ] diff --git a/assets/pfp.png b/assets/pfp.png new file mode 100644 index 0000000000000000000000000000000000000000..9e0a6c603d9c45224b6acac5ecd2cf416e5165da GIT binary patch literal 194467 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𝔞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

)o#NS9{ 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�CXk&?jLe?*Me$Hk8zT~ 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 Self { + Self { id, inbox, outbox } + } +} + #[derive(Debug, Clone)] pub struct User { id: String, @@ -100,35 +107,74 @@ impl User { #[derive(Debug, Clone)] pub enum ActivityType { Follow, + Accept, + Create, + Unknown } impl ActivityType { fn to_raw(self) -> String { match self { ActivityType::Follow => "Follow".to_string(), + ActivityType::Accept => "Accept".to_string(), + ActivityType::Create => "Create".to_string(), + ActivityType::Unknown => "FIXME".to_string() } } } #[derive(Debug, Clone)] -pub struct Activity { +pub struct Activity { pub id: String, pub ty: ActivityType, - pub object: String, + pub object: T, pub published: DateTime, + pub to: Vec, + pub cc: Vec, +} + +impl Default for Activity { + fn default() -> Self { + Self { + id: Default::default(), + ty: ActivityType::Unknown, + object: Default::default(), + published: Local::now(), + to: Default::default(), + cc: Default::default(), + } + } } pub type KeyId = String; #[derive(Debug, Clone)] -pub struct OutgoingActivity { +pub struct OutgoingActivity { pub signed_by: KeyId, - pub req: Activity, + pub req: Activity, pub to: Actor, } +impl OutgoingActivity { + pub async fn save(&self, conn: impl sqlx::Executor<'_, Database = Sqlite>) { + let ty = self.req.ty.clone().to_raw(); + sqlx::query!( + r#" + INSERT INTO activity (id, ty, actor_id) + VALUES (?1, ?2, ?3) + "#, + self.req.id, + ty, + self.to.id + ) + .execute(conn) + .await + .unwrap(); + } +} + #[derive(Serialize, Deserialize, Debug)] -struct RawActivity { +struct RawActivity { #[serde(rename = "@context")] #[serde(skip_deserializing)] context: String, @@ -138,7 +184,7 @@ struct RawActivity { ty: String, actor: String, - object: String, + object: T, published: String, } @@ -153,7 +199,7 @@ impl<'a> Outbox<'a> { &self.user } - pub async fn post(&self, activity: OutgoingActivity) { + pub async fn post(&self, activity: OutgoingActivity) { dbg!(&activity); let raw = RawActivity { context: "https://www.w3.org/ns/activitystreams".to_string(), diff --git a/ferri-server/Cargo.toml b/ferri-server/Cargo.toml index 36574fa..5ff5b60 100644 --- a/ferri-server/Cargo.toml +++ b/ferri-server/Cargo.toml @@ -10,4 +10,6 @@ rocket_db_pools = { version = "0.2.0", features = ["sqlx_sqlite"] } reqwest = { workspace = true } sqlx = { workspace = true } uuid = { workspace = true } -chrono = { workspace = true } \ No newline at end of file +chrono = { workspace = true } + +url = "2.5.4" \ No newline at end of file diff --git a/ferri-server/src/endpoints/api/mod.rs b/ferri-server/src/endpoints/api/mod.rs index c79b726..ecc6713 100644 --- a/ferri-server/src/endpoints/api/mod.rs +++ b/ferri-server/src/endpoints/api/mod.rs @@ -2,4 +2,5 @@ pub mod user; pub mod apps; pub mod instance; pub mod status; -pub mod preferences; \ No newline at end of file +pub mod preferences; +pub mod timeline; \ No newline at end of file diff --git a/ferri-server/src/endpoints/api/status.rs b/ferri-server/src/endpoints/api/status.rs index 55347ba..507d82d 100644 --- a/ferri-server/src/endpoints/api/status.rs +++ b/ferri-server/src/endpoints/api/status.rs @@ -1,14 +1,15 @@ +use chrono::Local; +use main::ap::{self, http::HttpClient}; use rocket::{ - FromForm, + FromForm, State, form::Form, post, serde::{Deserialize, Serialize}, }; use rocket_db_pools::Connection; use uuid::Uuid; -use main::ap; -use crate::{AuthenticatedUser, Db}; +use crate::{AuthenticatedUser, Db, types::content}; #[derive(Serialize, Deserialize, Debug, FromForm)] #[serde(crate = "rocket::serde")] pub struct Status { @@ -16,25 +17,88 @@ pub struct Status { } #[post("/statuses", data = "")] -pub async fn new_status(mut db: Connection, status: Form, user: AuthenticatedUser) { +pub async fn new_status( + mut db: Connection, + http: &State, + status: Form, + user: AuthenticatedUser, +) { let user = ap::User::from_actor_id(&user.actor_id, &mut **db).await; + let outbox = ap::Outbox::for_user(user.clone(), http); + let post_id = Uuid::new_v4(); - let uri = format!("https://ferri.amy.mov/users/{}/posts/{}", user.username(), post_id); + + let uri = format!( + "https://ferri.amy.mov/users/{}/posts/{}", + user.username(), + post_id + ); let id = user.id(); + let now = Local::now().to_rfc3339(); let post = sqlx::query!( r#" - INSERT INTO post (id, user_id, content) - VALUES (?1, ?2, ?3) + INSERT INTO post (id, user_id, content, created_at) + VALUES (?1, ?2, ?3, ?4) RETURNING * "#, uri, id, - status.status + status.status, + now ) .fetch_one(&mut **db) .await .unwrap(); - dbg!(user, status, post); + let actors = sqlx::query!("SELECT * FROM actor") + .fetch_all(&mut **db) + .await + .unwrap(); + + for record in actors { + // Don't send to ourselves + if &record.id == user.actor_id() { + continue + } + + let create_id = format!("https://ferri.amy.mov/activities/{}", Uuid::new_v4()); + + let activity = ap::Activity { + id: create_id, + ty: ap::ActivityType::Create, + object: content::Post { + context: "https://www.w3.org/ns/activitystreams".to_string(), + id: uri.clone(), + content: status.status.clone(), + ty: "Note".to_string(), + ts: Local::now().to_rfc3339(), + to: vec![format!( + "https://ferri.amy.mov/users/{}/followers", + user.username() + )], + cc: vec!["https://www.w3.org/ns/activitystreams#Public".to_string()], + }, + to: vec![format!( + "https://ferri.amy.mov/users/{}/followers", + user.username() + )], + cc: vec!["https://www.w3.org/ns/activitystreams#Public".to_string()], + ..Default::default() + }; + + let actor = ap::Actor::from_raw( + record.id.clone(), + record.inbox.clone(), + record.outbox.clone(), + ); + let req = ap::OutgoingActivity { + req: activity, + signed_by: format!("https://ferri.amy.mov/users/{}#main-key", user.username()), + to: actor, + }; + + req.save(&mut **db).await; + outbox.post(req).await; + } } diff --git a/ferri-server/src/endpoints/api/timeline.rs b/ferri-server/src/endpoints/api/timeline.rs new file mode 100644 index 0000000..c120dc1 --- /dev/null +++ b/ferri-server/src/endpoints/api/timeline.rs @@ -0,0 +1,91 @@ +use crate::{Db, endpoints::api::user::CredentialAcount}; +use rocket::{ + get, + serde::{Deserialize, Serialize, json::Json}, +}; +use rocket_db_pools::Connection; + +pub type TimelineAccount = CredentialAcount; + +#[derive(Debug, Serialize, Deserialize)] +#[serde(crate = "rocket::serde")] +pub struct TimelineStatus { + id: String, + created_at: String, + in_reply_to_id: Option, + in_reply_to_account_id: Option, + content: String, + visibility: String, + spoiler_text: String, + sensitive: bool, + uri: String, + url: String, + replies_count: i64, + reblogs_count: i64, + favourites_count: i64, + favourited: bool, + reblogged: bool, + muted: bool, + bookmarked: bool, + media_attachments: Vec<()>, + account: TimelineAccount, +} + +#[get("/timelines/home?")] +pub async fn home(mut db: Connection, limit: i64) -> Json> { + let posts = sqlx::query!( + r#" + SELECT p.id as "post_id", u.id as "user_id", p.content, u.username, u.display_name, u.actor_id FROM post p + INNER JOIN user u on p.user_id = u.id + "# + ) + .fetch_all(&mut **db) + .await + .unwrap(); + + let mut out = Vec::::new(); + for record in posts { + out.push(TimelineStatus { + id: record.post_id.clone(), + created_at: "2025-04-10T22:12:09Z".to_string(), + in_reply_to_id: None, + in_reply_to_account_id: None, + content: record.content.clone(), + visibility: "public".to_string(), + spoiler_text: "".to_string(), + sensitive: false, + uri: record.post_id.clone(), + url: record.post_id.clone(), + replies_count: 0, + reblogs_count: 0, + favourites_count: 0, + favourited: false, + reblogged: false, + muted: false, + bookmarked: false, + media_attachments: vec![], + account: CredentialAcount { + id: record.actor_id.clone(), + username: record.username.clone(), + acct: record.username.clone(), + display_name: record.display_name.clone(), + locked: false, + bot: false, + created_at: "2025-04-10T22:12:09Z".to_string(), + attribution_domains: vec![], + note: "".to_string(), + url: record.actor_id.clone(), + avatar: "https://ferri.amy.mov/assets/pfp.png".to_string(), + avatar_static: "https://ferri.amy.mov/assets/pfp.png".to_string(), + header: "https://ferri.amy.mov/assets/pfp.png".to_string(), + header_static: "https://ferri.amy.mov/assets/pfp.png".to_string(), + followers_count: 1, + following_count: 1, + statuses_count: 1, + last_status_at: "2025-04-10T22:14:34Z".to_string(), + }, + }); + } + + Json(out) +} diff --git a/ferri-server/src/endpoints/api/user.rs b/ferri-server/src/endpoints/api/user.rs index 78103ad..ea5d43f 100644 --- a/ferri-server/src/endpoints/api/user.rs +++ b/ferri-server/src/endpoints/api/user.rs @@ -1,4 +1,3 @@ -use chrono::Local; use main::ap; use rocket::{ State, get, post, @@ -72,7 +71,7 @@ pub async fn new_follow( id: format!("https://ferri.amy.mov/activities/{}", Uuid::new_v4()), ty: ap::ActivityType::Follow, object: followed.actor_id().to_string(), - published: Local::now(), + ..Default::default() }; let req = ap::OutgoingActivity { @@ -84,5 +83,6 @@ pub async fn new_follow( to: followed.actor().clone(), }; + req.save(&mut **db).await; outbox.post(req).await; } diff --git a/ferri-server/src/endpoints/custom.rs b/ferri-server/src/endpoints/custom.rs index 55dc93b..1306041 100644 --- a/ferri-server/src/endpoints/custom.rs +++ b/ferri-server/src/endpoints/custom.rs @@ -87,7 +87,6 @@ pub async fn test(http: &State) -> &'static str { let post = activity::CreateActivity { id: "https://ferri.amy.mov/activities/amy/20".to_string(), ty: "Create".to_string(), - summary: "Amy create a note".to_string(), actor: "https://ferri.amy.mov/users/amy".to_string(), object: content::Post { context: "https://www.w3.org/ns/activitystreams".to_string(), diff --git a/ferri-server/src/endpoints/inbox.rs b/ferri-server/src/endpoints/inbox.rs new file mode 100644 index 0000000..543d652 --- /dev/null +++ b/ferri-server/src/endpoints/inbox.rs @@ -0,0 +1,173 @@ +use main::ap; +use rocket::{State, post}; +use rocket_db_pools::Connection; +use rocket::serde::json::serde_json; +use sqlx::Sqlite; +use url::Url; +use uuid::Uuid; +use chrono::Local; + +use crate::{ + Db, + http::HttpClient, + types::{Person, activity}, +}; + +fn handle_delete_activity(activity: activity::DeleteActivity) { + dbg!(activity); +} + +async fn create_actor(user: &Person, actor: String, conn: impl sqlx::Executor<'_, Database = Sqlite>) { + sqlx::query!( + r#" + INSERT INTO actor (id, inbox, outbox) + VALUES ( ?1, ?2, ?3 ) + ON CONFLICT(id) DO NOTHING; + "#, + actor, + user.inbox, + user.outbox + ) + .execute(conn) + .await + .unwrap(); +} + +async fn create_user(user: &Person, actor: String, conn: impl sqlx::Executor<'_, Database = Sqlite>) { + // HACK: Allow us to formulate a `user@host` username by assuming the actor is on the same host as the user + let url = Url::parse(&actor).unwrap(); + let host = url.host_str().unwrap(); + let username = format!("{}@{}", user.name, host); + + let uuid = Uuid::new_v4().to_string(); + sqlx::query!( + r#" + INSERT INTO user (id, username, actor_id, display_name) + VALUES (?1, ?2, ?3, ?4) + ON CONFLICT(actor_id) DO NOTHING; + "#, + uuid, + username, + actor, + user.preferred_username + ) + .execute(conn) + .await + .unwrap(); +} + +async fn create_follow(activity: &activity::FollowActivity, conn: impl sqlx::Executor<'_, Database = Sqlite>) { + sqlx::query!( + r#" + INSERT INTO follow (id, follower_id, followed_id) + VALUES ( ?1, ?2, ?3 ) + ON CONFLICT(id) DO NOTHING; + "#, + activity.id, + activity.actor, + activity.object + ) + .execute(conn) + .await + .unwrap(); +} + +async fn handle_follow_activity(followed_account: String, activity: activity::FollowActivity, http: &HttpClient, mut db: Connection) { + let user = http + .get(&activity.actor) + .activity() + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + + create_actor(&user, activity.actor.clone(), &mut **db).await; + create_user(&user, activity.actor.clone(), &mut **db).await; + create_follow(&activity, &mut **db).await; + + let follower = ap::User::from_actor_id(&activity.actor, &mut **db).await; + let followed = ap::User::from_username(&followed_account, &mut **db).await; + let outbox = ap::Outbox::for_user(followed.clone(), http); + + let activity = ap::Activity { + id: format!("https://ferri.amy.mov/activities/{}", Uuid::new_v4()), + ty: ap::ActivityType::Accept, + object: activity.id, + ..Default::default() + }; + + let req = ap::OutgoingActivity { + signed_by: format!( + "https://ferri.amy.mov/users/{}#main-key", + followed.username() + ), + req: activity, + to: follower.actor().clone(), + }; + + req.save(&mut **db).await; + outbox.post(req).await; +} + +async fn handle_create_activity(activity: activity::CreateActivity,http: &HttpClient, mut db: Connection) { + assert!(&activity.object.ty == "Note"); + let user = http + .get(&activity.actor) + .activity() + .send() + .await + .unwrap() + .json::() + .await + .unwrap(); + + create_actor(&user, activity.actor.clone(), &mut **db).await; + create_user(&user, activity.actor.clone(), &mut **db).await; + + let user = ap::User::from_actor_id(&activity.actor, &mut **db).await; + + let post_id = Uuid::new_v4(); + + let uri = format!( + "https://ferri.amy.mov/users/{}/posts/{}", + user.username(), + post_id + ); + let id = user.id(); + let now = Local::now().to_rfc3339(); + let content = activity.object.content.clone(); + + sqlx::query!(r#" + INSERT INTO post (id, user_id, content, created_at) + VALUES (?1, ?2, ?3, ?4) + "#, uri, id, content, now) + .execute(&mut **db) + .await.unwrap(); +} + +#[post("/users//inbox", data = "")] +pub async fn inbox(db: Connection, http: &State, user: String, body: String) { + let min = serde_json::from_str::(&body).unwrap(); + match min.ty.as_str() { + "Delete" => { + let activity = serde_json::from_str::(&body).unwrap(); + handle_delete_activity(activity); + } + "Follow" => { + let activity = serde_json::from_str::(&body).unwrap(); + handle_follow_activity(user, activity, http.inner(), db).await; + }, + "Create" => { + let activity = serde_json::from_str::(&body).unwrap(); + handle_create_activity(activity, http.inner(), db).await; + }, + unknown => { + eprintln!("WARN: Unknown activity '{}' - {}", unknown, body); + } + } + + dbg!(min); + println!("Body in inbox: {}", body); +} diff --git a/ferri-server/src/endpoints/mod.rs b/ferri-server/src/endpoints/mod.rs index 048601e..eb3a681 100644 --- a/ferri-server/src/endpoints/mod.rs +++ b/ferri-server/src/endpoints/mod.rs @@ -6,6 +6,7 @@ pub mod oauth; pub mod api; pub mod well_known; pub mod custom; +pub mod inbox; fn activity_type() -> ContentType { ContentType(MediaType::new("application", "activity+json")) diff --git a/ferri-server/src/endpoints/user.rs b/ferri-server/src/endpoints/user.rs index be52f61..36e3ccc 100644 --- a/ferri-server/src/endpoints/user.rs +++ b/ferri-server/src/endpoints/user.rs @@ -1,14 +1,12 @@ use main::ap; -use rocket::{State, get, http::ContentType, post, serde::json::Json}; +use rocket::{get, http::ContentType, serde::json::Json}; use rocket_db_pools::Connection; use crate::{ Db, - http::HttpClient, - types::{OrderedCollection, Person, UserKey, activity, content}, + types::{OrderedCollection, Person, UserKey, content}, }; -use rocket::serde::json::serde_json; use super::activity_type; @@ -22,91 +20,6 @@ pub async fn inbox(user: String) -> Json { }) } -#[post("/users//inbox", data = "")] -pub async fn post_inbox( - mut db: Connection, - http: &State, - user: String, - body: String, -) { - let min = serde_json::from_str::(&body).unwrap(); - match min.ty.as_str() { - "Delete" => { - let activity = serde_json::from_str::(&body); - dbg!(activity.unwrap()); - } - "Follow" => { - let activity = serde_json::from_str::(&body).unwrap(); - dbg!(&activity); - - let user = http - .get(&activity.actor) - .activity() - .send() - .await - .unwrap() - .json::() - .await - .unwrap(); - - sqlx::query!( - r#" - INSERT INTO actor (id, inbox, outbox) - VALUES ( ?1, ?2, ?3 ) - ON CONFLICT(id) DO NOTHING; - "#, - activity.actor, - user.inbox, - user.outbox - ) - .execute(&mut **db) - .await - .unwrap(); - - sqlx::query!( - r#" - INSERT INTO follow (id, follower_id, followed_id) - VALUES ( ?1, ?2, ?3 ) - ON CONFLICT(id) DO NOTHING; - "#, - activity.id, - activity.actor, - activity.object - ) - .execute(&mut **db) - .await - .unwrap(); - - let accept = activity::AcceptActivity { - ty: "Accept".to_string(), - actor: "https://ferri.amy.mov/users/amy".to_string(), - object: activity.id, - }; - - let key_id = "https://ferri.amy.mov/users/amy#main-key"; - let accept_res = http - .post(user.inbox) - .json(&accept) - .sign(key_id) - .activity() - .send() - .await - .unwrap() - .text() - .await - .unwrap(); - - dbg!(accept_res); - } - unknown => { - eprintln!("WARN: Unknown activity '{}' - {}", unknown, body); - } - } - - dbg!(min); - println!("Body in inbox: {}", body); -} - #[get("/users//outbox")] pub async fn outbox(user: String) -> Json { dbg!(&user); diff --git a/ferri-server/src/lib.rs b/ferri-server/src/lib.rs index 898da07..f9ddbfe 100644 --- a/ferri-server/src/lib.rs +++ b/ferri-server/src/lib.rs @@ -1,20 +1,14 @@ -use main::ap::{http}; +use main::ap::http; use rocket::{ - build, get, http::ContentType, request::{FromRequest, Outcome}, routes, serde::{ - json::Json, Deserialize, Serialize - }, Build, Request, Rocket + build, get, http::ContentType, request::{FromRequest, Outcome}, routes, Build, Request, Rocket }; - +use endpoints::{api::{self, timeline}, oauth, well_known, custom, user, inbox}; +use rocket_db_pools::{sqlx, Database}; mod cors; mod types; mod endpoints; -use endpoints::{api::{self, user::CredentialAcount}, oauth, well_known, custom, user}; - -use rocket_db_pools::sqlx; -use rocket_db_pools::Database; - #[derive(Database)] #[database("sqlite_ferri")] pub struct Db(sqlx::SqlitePool); @@ -54,88 +48,18 @@ impl<'a> FromRequest<'a> for AuthenticatedUser { } } -pub type TimelineAccount = CredentialAcount; - -#[derive(Debug, Serialize, Deserialize)] -#[serde(crate = "rocket::serde")] -struct TimelineStatus { - id: String, - created_at: String, - in_reply_to_id: Option, - in_reply_to_account_id: Option, - content: String, - visibility: String, - spoiler_text: String, - sensitive: bool, - uri: String, - url: String, - replies_count: i64, - reblogs_count: i64, - favourites_count: i64, - favourited: bool, - reblogged: bool, - muted: bool, - bookmarked: bool, - media_attachments: Vec<()>, - account: TimelineAccount, -} - -#[get("/timelines/home?")] -async fn home_timeline(limit: i64) -> Json> { - Json(vec![TimelineStatus { - id: "1".to_string(), - created_at: "2025-04-10T22:12:09Z".to_string(), - in_reply_to_id: None, - in_reply_to_account_id: None, - content: "My first post".to_string(), - visibility: "public".to_string(), - spoiler_text: "".to_string(), - sensitive: false, - uri: "https://ferri.amy.mov/users/amy/posts/1".to_string(), - url: "https://ferri.amy.mov/users/amy/posts/1".to_string(), - replies_count: 0, - reblogs_count: 0, - favourites_count: 0, - favourited: false, - reblogged: false, - muted: false, - bookmarked: false, - media_attachments: vec![], - account: CredentialAcount { - id: "https://ferri.amy.mov/users/amy".to_string(), - username: "amy".to_string(), - acct: "amy@ferri.amy.mov".to_string(), - display_name: "amy".to_string(), - locked: false, - bot: false, - created_at: "2025-04-10T22:12:09Z".to_string(), - attribution_domains: vec![], - note: "".to_string(), - url: "https://ferri.amy.mov/@amy".to_string(), - avatar: "https://i.sstatic.net/l60Hf.png".to_string(), - avatar_static: "https://i.sstatic.net/l60Hf.png".to_string(), - header: "https://i.sstatic.net/l60Hf.png".to_string(), - header_static: "https://i.sstatic.net/l60Hf.png".to_string(), - followers_count: 1, - following_count: 1, - statuses_count: 1, - last_status_at: "2025-04-10T22:14:34Z".to_string(), - }, - }]) -} - pub fn launch() -> Rocket { let http_client = http::HttpClient::new(); build() .manage(http_client) .attach(Db::init()) .attach(cors::CORS) + .mount("/assets", rocket::fs::FileServer::from("./assets")) .mount( "/", routes![ custom::test, user::inbox, - user::post_inbox, user::outbox, user::user, user::followers, @@ -147,6 +71,7 @@ pub fn launch() -> Rocket { activity_endpoint, well_known::webfinger, well_known::host_meta, + inbox::inbox, user_profile, ], ) @@ -160,7 +85,7 @@ pub fn launch() -> Rocket { api::preferences::preferences, api::user::verify_credentials, custom::finger_account, - home_timeline + timeline::home ], ) } diff --git a/ferri-server/src/types/activity.rs b/ferri-server/src/types/activity.rs index 73f13b6..165925d 100644 --- a/ferri-server/src/types/activity.rs +++ b/ferri-server/src/types/activity.rs @@ -2,19 +2,6 @@ use rocket::serde::{Deserialize, Serialize}; use crate::types::content::Post; -#[derive(Serialize, Deserialize)] -#[serde(crate = "rocket::serde")] -pub struct Activity { - pub id: String, - #[serde(rename = "type")] - pub ty: String, - - pub summary: String, - pub actor: String, - pub object: String, - pub published: String, -} - #[derive(Serialize, Deserialize, Debug)] #[serde(crate = "rocket::serde")] pub struct MinimalActivity { @@ -45,9 +32,9 @@ pub struct CreateActivity { pub actor: String, pub to: Vec, pub cc: Vec, + #[serde(rename = "published")] pub ts: String, - pub summary: String, } #[derive(Serialize, Deserialize, Debug)] diff --git a/ferri-server/src/types/content.rs b/ferri-server/src/types/content.rs index b6b8263..ffd8922 100644 --- a/ferri-server/src/types/content.rs +++ b/ferri-server/src/types/content.rs @@ -1,6 +1,6 @@ use rocket::serde::{Deserialize, Serialize}; -#[derive(Serialize, Deserialize, Debug)] +#[derive(Serialize, Deserialize, Debug, Default)] #[serde(crate = "rocket::serde")] pub struct Post { // FIXME: This is because Masto sends an array but we don't care diff --git a/migrations/20250410112325_add_follow.sql b/migrations/20250410112325_add_follow.sql index 81a4511..ce518cd 100644 --- a/migrations/20250410112325_add_follow.sql +++ b/migrations/20250410112325_add_follow.sql @@ -1,7 +1,7 @@ CREATE TABLE IF NOT EXISTS follow ( - -- Activity ID - id TEXT PRIMARY KEY NOT NULL, + -- Activity ID + id TEXT PRIMARY KEY NOT NULL, follower_id TEXT NOT NULL, followed_id TEXT NOT NULL, FOREIGN KEY(follower_id) REFERENCES actor(id), diff --git a/migrations/20250410121119_add_user.sql b/migrations/20250410121119_add_user.sql index ada5bab..b1706e0 100644 --- a/migrations/20250410121119_add_user.sql +++ b/migrations/20250410121119_add_user.sql @@ -3,7 +3,7 @@ CREATE TABLE IF NOT EXISTS user -- UUID id TEXT PRIMARY KEY NOT NULL, username TEXT NOT NULL, - actor_id TEXT NOT NULL, + actor_id TEXT NOT NULL UNIQUE, display_name TEXT NOT NULL, FOREIGN KEY(actor_id) REFERENCES actor(id) diff --git a/migrations/20250410182845_add_post.sql b/migrations/20250410182845_add_post.sql index 8790cf6..f2e47bd 100644 --- a/migrations/20250410182845_add_post.sql +++ b/migrations/20250410182845_add_post.sql @@ -1,9 +1,10 @@ CREATE TABLE IF NOT EXISTS post ( -- Uri - id TEXT PRIMARY KEY NOT NULL, + id TEXT PRIMARY KEY NOT NULL, user_id TEXT NOT NULL, content TEXT NOT NULL, + created_at TEXT NOT NULL, FOREIGN KEY(user_id) REFERENCES user(id) ); diff --git a/migrations/20250411125138_add_activity.sql b/migrations/20250411125138_add_activity.sql new file mode 100644 index 0000000..2ccf07d --- /dev/null +++ b/migrations/20250411125138_add_activity.sql @@ -0,0 +1,10 @@ +CREATE TABLE IF NOT EXISTS activity +( + -- UUID + id TEXT PRIMARY KEY NOT NULL, + ty TEXT NOT NULL, + actor_id TEXT NOT NULL, + + FOREIGN KEY(actor_id) REFERENCES actor(id) +); +