2个版本
0.0.2 | 2023年2月20日 |
---|---|
0.0.1 | 2023年2月19日 |
#4 in #synology
12KB
271 代码行
Rust API客户端,用于synology/xpenology NAS
包含一些逆向工程API方法
功能
- 浏览项目(照片和视频)
- 浏览相册
- 创建相册
如果您需要扩展功能,您 可以
示例
use nology_api::*;
use chrono::{Utc, Duration};
async fn integration_test() -> SynoResult<()> {
let account = env::var("SYNO_USER").unwrap();
let passwd = env::var("SYNO_PASS").unwrap();
//Create service by login
let service = SynoService::login(
Default::default(),
"http://192.168.1.199:5000/webapi/entry.cgi",
LoginRequest { account, passwd }
).await?;
//retrieve last photos (or videos) for 100 days (limit 1000)
let photos = service.request(browse::ListRequest{
offset: 0,
limit: 1000,
start_time: Utc::now() - Duration::days(100),
end_time: Utc::now(),
}).await?;
//take 3 last items
let items = photos.list.into_iter().map(|bi|bi.id).take(3).collect();
//and create album with it
let new_album = service.request(album::CreateRequest {
name: format!("test-album-{}", Utc::now().timestamp()),
items,
}).await.unwrap();
log::info!("album: {new_album:?}");
Ok(())
}
扩展
您可以为自己的请求/响应结构体创建请求,并实现特 SynoService::request
,通过实现特 Request
依赖关系
~5–16MB
~244K SLoC