82 lines
1.9 KiB
Rust
82 lines
1.9 KiB
Rust
extern crate reqwest;
|
|
use crate::data_toml;
|
|
use crate::data_refresh;
|
|
use crate::url;
|
|
use iso8601_timestamp::Timestamp;
|
|
use serde_json::json;
|
|
|
|
//use crate::data::Follow;
|
|
|
|
pub async fn post_request(u: String) -> String {
|
|
let token = data_refresh(&"access");
|
|
let did = data_toml(&"did");
|
|
let handle = data_toml(&"handle");
|
|
|
|
let url = url(&"record_create");
|
|
let col = "app.bsky.graph.follow".to_string();
|
|
|
|
let d = Timestamp::now_utc();
|
|
let d = d.to_string();
|
|
|
|
let post = Some(json!({
|
|
"repo": handle.to_string(),
|
|
"did": did.to_string(),
|
|
"collection": col.to_string(),
|
|
"record": {
|
|
"subject": u.to_string(),
|
|
"createdAt": d.to_string(),
|
|
},
|
|
}));
|
|
|
|
let client = reqwest::Client::new();
|
|
let res = client
|
|
.post(url)
|
|
.json(&post)
|
|
.header("Authorization", "Bearer ".to_owned() + &token)
|
|
.send()
|
|
.await
|
|
.unwrap()
|
|
.text()
|
|
.await
|
|
.unwrap();
|
|
|
|
return res;
|
|
}
|
|
|
|
pub async fn delete_request(u: String, rkey: String) -> String {
|
|
let token = data_refresh(&"access");
|
|
let did = data_toml(&"did");
|
|
let handle = data_toml(&"handle");
|
|
|
|
let url = url(&"record_delete");
|
|
let col = "app.bsky.graph.follow".to_string();
|
|
|
|
let d = Timestamp::now_utc();
|
|
let d = d.to_string();
|
|
|
|
let post = Some(json!({
|
|
"repo": handle.to_string(),
|
|
"did": did.to_string(),
|
|
"collection": col.to_string(),
|
|
"rkey": rkey.to_string(),
|
|
"record": {
|
|
"subject": u.to_string(),
|
|
"createdAt": d.to_string(),
|
|
},
|
|
}));
|
|
|
|
let client = reqwest::Client::new();
|
|
let res = client
|
|
.post(url)
|
|
.json(&post)
|
|
.header("Authorization", "Bearer ".to_owned() + &token)
|
|
.send()
|
|
.await
|
|
.unwrap()
|
|
.text()
|
|
.await
|
|
.unwrap();
|
|
|
|
return res;
|
|
}
|