BlueSky & more on desktop
lazurite.stormlightlabs.org/
tauri
rust
typescript
bluesky
appview
atproto
solid
1#![allow(clippy::needless_pass_by_value)]
2
3use crate::drafts::{self, Draft, DraftInput};
4use crate::error::AppError;
5use crate::feed::CreateRecordResult;
6use crate::state::AppState;
7use tauri::State;
8
9#[tauri::command]
10pub fn list_drafts(account_did: String, state: State<'_, AppState>) -> Result<Vec<Draft>, AppError> {
11 drafts::list_drafts(&account_did, &state)
12}
13
14#[tauri::command]
15pub fn get_draft(id: String, state: State<'_, AppState>) -> Result<Draft, AppError> {
16 drafts::get_draft(&id, &state)
17}
18
19#[tauri::command]
20pub fn save_draft(input: DraftInput, state: State<'_, AppState>) -> Result<Draft, AppError> {
21 drafts::save_draft(&input, &state)
22}
23
24#[tauri::command]
25pub fn delete_draft(id: String, state: State<'_, AppState>) -> Result<(), AppError> {
26 drafts::delete_draft(&id, &state)
27}
28
29#[tauri::command]
30pub async fn submit_draft(id: String, state: State<'_, AppState>) -> Result<CreateRecordResult, AppError> {
31 drafts::submit_draft(id, &state).await
32}