use crate::store::{OwnerSource, Visibility}; use chrono::{DateTime, Utc}; use url::Url; use uuid::Uuid; mod apub; mod block; mod comment; mod follow; mod follow_request; mod profile; mod react; mod submission; pub(super) use apub::ingest; pub struct CreateReact { apub_id: Url, submission_id: Uuid, profile_id: Uuid, comment_id: Option, react: String, published: DateTime, } pub struct DeleteReact { pub react_id: Uuid, } pub struct CreateComment { apub_id: Url, submission_id: Uuid, profile_id: Uuid, comment_id: Option, body: String, published: DateTime, } pub struct AnnounceComment; pub struct UpdateComment { comment_id: Uuid, body: Option, } pub struct DeleteComment { comment_id: Uuid, } pub struct CreateSubmission { apub_id: Url, profile_id: Uuid, title: String, description: Option, files: Vec, published: DateTime, visibility: Visibility, } pub struct AnnounceSubmission; pub struct UpdateSubmission { submission_id: Uuid, title: Option, description: Option, files: Vec, } pub struct DeleteSubmission { submission_id: Uuid, } pub struct CreateProfile { apub_id: Url, owner_source: OwnerSource, handle: String, domain: String, display_name: Option, description: Option, login_required: bool, icon: Option, banner: Option, public_key_id: Url, public_key: String, published: DateTime, } pub struct UpdateProfile { profile_id: Uuid, display_name: Option, description: Option, login_required: bool, icon: Option, banner: Option, public_key_id: Url, public_key: String, } pub struct DeleteProfile { profile_id: Uuid, } pub struct CreateFollowRequest { apub_id: Url, followed_profile: Uuid, followed_by_profile: Uuid, published: DateTime, } pub struct AcceptFollowRequest { apub_id: Url, follow_request_id: Uuid, published: DateTime, } pub struct RejectFollowRequest { follow_request_id: Uuid, } pub struct DeleteFollowRequest { follow_request_id: Uuid, } pub struct CreateBlock { apub_id: Url, blocked_profile: Uuid, blocked_by_profile: Uuid, published: DateTime, } pub struct DeleteBlock { block_id: Uuid, } pub struct DeleteFollow { follow_id: Uuid, }