File tree Expand file tree Collapse file tree 2 files changed +41
-0
lines changed
Expand file tree Collapse file tree 2 files changed +41
-0
lines changed Original file line number Diff line number Diff line change 1+ use crate :: { client:: Client , errors:: Error , request:: * } ;
2+ use serde:: Deserialize ;
3+
4+ #[ derive( Debug , Deserialize , Clone , PartialEq ) ]
5+ #[ serde( rename_all = "snake_case" ) ]
6+ pub enum DumpStatus {
7+ Done ,
8+ InProgress ,
9+ Failed ,
10+ }
11+
12+ #[ derive( Debug , Deserialize , Clone ) ]
13+ #[ serde( rename_all = "camelCase" ) ]
14+ pub struct DumpInfo {
15+ pub uid : String ,
16+ pub status : DumpStatus ,
17+ pub error : Option < serde_json:: Value > ,
18+ }
19+
20+ impl < ' a > Client < ' a > {
21+ pub async fn create_dump ( & self ) -> Result < DumpInfo , Error > {
22+ request :: < ( ) , DumpInfo > (
23+ & format ! ( "{}/dumps" , self . host) ,
24+ self . apikey ,
25+ Method :: Post ( ( ) ) ,
26+ 202 ,
27+ )
28+ . await
29+ }
30+
31+ pub async fn get_dump_status ( & self , dump_uid : & str ) -> Result < DumpInfo , Error > {
32+ request :: < ( ) , DumpInfo > (
33+ & format ! ( "{}/dumps/{}/status" , self . host, dump_uid) ,
34+ self . apikey ,
35+ Method :: Get ,
36+ 200 ,
37+ )
38+ . await
39+ }
40+ }
Original file line number Diff line number Diff line change @@ -110,3 +110,4 @@ mod request;
110110pub mod search;
111111/// Module containing settings
112112pub mod settings;
113+ pub mod dumps;
You can’t perform that action at this time.
0 commit comments