docs: 完善 README 并补充可见性配置说明
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
use crate::models::{CreateMemoRequest, CreateMemoResponse, ListMemosResponse, Memo};
|
||||
use crate::models::{CreateMemoRequest, ListMemosResponse, Memo};
|
||||
use anyhow::Result;
|
||||
use reqwest::Client;
|
||||
|
||||
@@ -21,13 +21,22 @@ impl MemosClient {
|
||||
|
||||
pub async fn create_memo(&self, content: &str, visibility: Option<&str>) -> Result<Memo> {
|
||||
let url = format!("{}/api/v1/memos", self.base_url);
|
||||
|
||||
|
||||
let visibility_str = visibility.map(|v| {
|
||||
if v.starts_with("VISIBILITY_") {
|
||||
v.to_string()
|
||||
} else {
|
||||
format!("VISIBILITY_{}", v.to_uppercase())
|
||||
}
|
||||
});
|
||||
|
||||
let request = CreateMemoRequest {
|
||||
content: content.to_string(),
|
||||
visibility: visibility.map(|s| s.to_string()),
|
||||
visibility: visibility_str,
|
||||
};
|
||||
|
||||
let response = self.client
|
||||
let response = self
|
||||
.client
|
||||
.post(&url)
|
||||
.header("Authorization", format!("Bearer {}", self.user_token))
|
||||
.header("Content-Type", "application/json")
|
||||
@@ -41,33 +50,16 @@ impl MemosClient {
|
||||
anyhow::bail!("Failed to create memo: {} - {}", status, error_text);
|
||||
}
|
||||
|
||||
let result: CreateMemoResponse = response.json().await?;
|
||||
|
||||
self.get_memo(result.id).await
|
||||
}
|
||||
|
||||
pub async fn get_memo(&self, id: i64) -> Result<Memo> {
|
||||
let url = format!("{}/api/v1/memos/{}", self.base_url, id);
|
||||
|
||||
let response = self.client
|
||||
.get(&url)
|
||||
.header("Authorization", format!("Bearer {}", self.user_token))
|
||||
.send()
|
||||
.await?;
|
||||
|
||||
if !response.status().is_success() {
|
||||
let status = response.status();
|
||||
let error_text = response.text().await.unwrap_or_default();
|
||||
anyhow::bail!("Failed to get memo: {} - {}", status, error_text);
|
||||
}
|
||||
|
||||
Ok(response.json().await?)
|
||||
let mut memo: Memo = response.json().await?;
|
||||
memo.id = Memo::extract_id(&memo.name);
|
||||
Ok(memo)
|
||||
}
|
||||
|
||||
pub async fn list_memos(&self, limit: Option<i32>, offset: Option<i32>) -> Result<Vec<Memo>> {
|
||||
let url = format!("{}/api/v1/memos", self.base_url);
|
||||
|
||||
let mut request = self.client
|
||||
|
||||
let mut request = self
|
||||
.client
|
||||
.get(&url)
|
||||
.header("Authorization", format!("Bearer {}", self.user_token));
|
||||
|
||||
@@ -89,4 +81,4 @@ impl MemosClient {
|
||||
let result: ListMemosResponse = response.json().await?;
|
||||
Ok(result.memos)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user