add: full journals api

add: full notes api
This commit is contained in:
trisua 2025-06-18 21:00:07 -04:00
parent 102ea0ee35
commit 42421bd906
11 changed files with 476 additions and 12 deletions

View file

@ -2,6 +2,8 @@ pub mod apps;
pub mod auth;
pub mod channels;
pub mod communities;
pub mod journals;
pub mod notes;
pub mod notifications;
pub mod reactions;
pub mod reports;
@ -22,6 +24,7 @@ use tetratto_core::model::{
PollOption, PostContext,
},
communities_permissions::CommunityPermission,
journals::JournalPrivacyPermission,
oauth::AppScope,
permissions::FinePermission,
reactions::AssetType,
@ -530,7 +533,9 @@ pub fn routes() -> Router {
delete(communities::emojis::delete_request),
)
// stacks
.route("/stacks", get(stacks::list_request))
.route("/stacks", post(stacks::create_request))
.route("/stacks/{id}", get(stacks::get_request))
.route("/stacks/{id}/name", post(stacks::update_name_request))
.route("/stacks/{id}/privacy", post(stacks::update_privacy_request))
.route("/stacks/{id}/mode", post(stacks::update_mode_request))
@ -541,6 +546,23 @@ pub fn routes() -> Router {
.route("/stacks/{id}/block", post(stacks::block_request))
.route("/stacks/{id}/block", delete(stacks::unblock_request))
.route("/stacks/{id}", delete(stacks::delete_request))
// journals
.route("/journals", get(journals::list_request))
.route("/journals", post(journals::create_request))
.route("/journals/{id}", get(journals::get_request))
.route("/journals/{id}", delete(journals::delete_request))
.route("/journals/{id}/title", post(journals::update_title_request))
.route(
"/journals/{id}/privacy",
post(journals::update_privacy_request),
)
// notes
.route("/notes", post(notes::create_request))
.route("/notes/{id}", get(notes::get_request))
.route("/notes/{id}", delete(notes::delete_request))
.route("/notes/{id}/title", post(notes::update_title_request))
.route("/notes/{id}/content", post(notes::update_content_request))
.route("/notes/from_journal/{id}", get(notes::list_request))
// uploads
.route("/uploads/{id}", get(uploads::get_request))
.route("/uploads/{id}", delete(uploads::delete_request))
@ -846,3 +868,35 @@ pub struct CreateGrant {
pub struct RefreshGrantToken {
pub verifier: String,
}
#[derive(Deserialize)]
pub struct CreateJournal {
pub title: String,
}
#[derive(Deserialize)]
pub struct CreateNote {
pub title: String,
pub content: String,
pub journal: String,
}
#[derive(Deserialize)]
pub struct UpdateJournalTitle {
pub title: String,
}
#[derive(Deserialize)]
pub struct UpdateJournalView {
pub view: JournalPrivacyPermission,
}
#[derive(Deserialize)]
pub struct UpdateNoteTitle {
pub title: String,
}
#[derive(Deserialize)]
pub struct UpdateNoteContent {
pub content: String,
}