11use chrono:: DateTime ;
22use chrono:: Utc ;
3+ use schemars:: JsonSchema ;
4+ use serde:: { Deserialize , Serialize } ;
35use serde_json:: map:: Map ;
46use serde_json:: value:: Value ;
57use std:: collections:: HashMap ;
68
79use crate :: Event ;
810
9- #[ derive( Serialize , Deserialize , Clone , Debug ) ]
11+ #[ derive( Serialize , Deserialize , JsonSchema , Clone , Debug ) ]
1012pub struct Bucket {
1113 #[ serde( skip) ]
1214 pub bid : Option < i64 > ,
@@ -24,7 +26,7 @@ pub struct Bucket {
2426 pub last_updated : Option < DateTime < Utc > > , // TODO: Should probably be moved into metadata field
2527}
2628
27- #[ derive( Serialize , Deserialize , Clone , Debug ) ]
29+ #[ derive( Serialize , Deserialize , JsonSchema , Clone , Debug ) ]
2830pub struct BucketMetadata {
2931 #[ serde( default ) ]
3032 pub start : Option < DateTime < Utc > > ,
@@ -40,7 +42,7 @@ impl Default for BucketMetadata {
4042 }
4143}
4244
43- #[ derive( Clone , Serialize , Deserialize ) ]
45+ #[ derive( Serialize , Deserialize , JsonSchema , Clone ) ]
4446pub struct BucketsExport {
4547 pub buckets : HashMap < String , Bucket > ,
4648}
0 commit comments