Skip to content

Commit 4d9580b

Browse files
committed
Split badge between model and view logic
1 parent e7d743e commit 4d9580b

File tree

4 files changed

+9
-9
lines changed

4 files changed

+9
-9
lines changed

src/lib.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,6 @@ use conduit_middleware::MiddlewareBuilder;
6363
use util::{R404, C, R};
6464

6565
pub mod app;
66-
pub mod badge;
6766
pub mod boot;
6867
pub mod config;
6968
pub mod crate_owner_invitation;

src/badge.rs renamed to src/models/badge.rs

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ use std::collections::HashMap;
55

66
use models::Crate;
77
use schema::badges;
8+
use views::EncodableBadge;
89

910
#[derive(Debug, PartialEq, Clone, Deserialize, Serialize)]
1011
#[serde(rename_all = "kebab-case", tag = "badge_type", content = "attributes")]
@@ -62,12 +63,6 @@ pub enum MaintenanceStatus {
6263
Deprecated,
6364
}
6465

65-
#[derive(PartialEq, Debug, Serialize, Deserialize)]
66-
pub struct EncodableBadge {
67-
pub badge_type: String,
68-
pub attributes: HashMap<String, Option<String>>,
69-
}
70-
7166
impl Queryable<badges::SqlType, Pg> for Badge {
7267
type Row = (i32, String, serde_json::Value);
7368

src/models/mod.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
pub use badge::{Badge, MaintenanceStatus};
1+
pub use self::badge::{Badge, MaintenanceStatus};
22
pub use self::category::{Category, CrateCategory, NewCategory};
33
pub use crate_owner_invitation::NewCrateOwnerInvitation;
44
pub use dependency::{Dependency, Kind, ReverseDependency};
@@ -13,6 +13,7 @@ pub use version::{NewVersion, Version};
1313

1414
pub mod helpers;
1515

16+
mod badge;
1617
mod category;
1718
mod follow;
1819
mod keyword;

src/views/mod.rs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,14 @@
11
// TODO: Move all encodable types here
22
// For now, just reexport
33

4+
use std::collections::HashMap;
45
use chrono::NaiveDateTime;
56

6-
pub use badge::EncodableBadge;
7+
#[derive(PartialEq, Debug, Serialize, Deserialize)]
8+
pub struct EncodableBadge {
9+
pub badge_type: String,
10+
pub attributes: HashMap<String, Option<String>>,
11+
}
712

813
#[derive(Serialize, Deserialize, Debug)]
914
pub struct EncodableCategory {

0 commit comments

Comments
 (0)