|
1 | 1 | // TODO: Move all encodable types here |
2 | 2 | // For now, just reexport |
3 | 3 |
|
| 4 | +use chrono::NaiveDateTime; |
| 5 | + |
4 | 6 | pub use badge::EncodableBadge; |
5 | | -pub use category::{EncodableCategory, EncodableCategoryWithSubcategories}; |
| 7 | + |
| 8 | +#[derive(Serialize, Deserialize, Debug)] |
| 9 | +pub struct EncodableCategory { |
| 10 | + pub id: String, |
| 11 | + pub category: String, |
| 12 | + pub slug: String, |
| 13 | + pub description: String, |
| 14 | + #[serde(with = "::util::rfc3339")] pub created_at: NaiveDateTime, |
| 15 | + pub crates_cnt: i32, |
| 16 | +} |
| 17 | + |
| 18 | +#[derive(Serialize, Deserialize, Debug)] |
| 19 | +pub struct EncodableCategoryWithSubcategories { |
| 20 | + pub id: String, |
| 21 | + pub category: String, |
| 22 | + pub slug: String, |
| 23 | + pub description: String, |
| 24 | + #[serde(with = "::util::rfc3339")] pub created_at: NaiveDateTime, |
| 25 | + pub crates_cnt: i32, |
| 26 | + pub subcategories: Vec<EncodableCategory>, |
| 27 | +} |
| 28 | + |
6 | 29 | pub use crate_owner_invitation::{EncodableCrateOwnerInvitation, InvitationResponse}; |
7 | 30 | pub use dependency::EncodableDependency; |
8 | 31 | pub use download::EncodableVersionDownload; |
9 | | -pub use keyword::EncodableKeyword; |
| 32 | + |
| 33 | +#[derive(Serialize, Deserialize, Debug)] |
| 34 | +pub struct EncodableKeyword { |
| 35 | + pub id: String, |
| 36 | + pub keyword: String, |
| 37 | + #[serde(with = "::util::rfc3339")] pub created_at: NaiveDateTime, |
| 38 | + pub crates_cnt: i32, |
| 39 | +} |
| 40 | + |
10 | 41 | pub use krate::EncodableCrate; |
11 | 42 | pub use owner::{EncodableOwner, EncodableTeam}; |
12 | 43 | pub use token::EncodableApiTokenWithToken; |
|
0 commit comments