Skip to content

Commit 9560baa

Browse files
committed
Adding endpoint to list all queryable team members.
1 parent 7e8dc23 commit 9560baa

File tree

5 files changed

+20
-4
lines changed

5 files changed

+20
-4
lines changed

src/reports/mod.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ use domain::buildbot::Build;
1313
use domain::releases::Release;
1414
use error::DashResult;
1515

16+
pub mod nag;
1617
mod teams;
1718

1819
pub type EpochTimestamp = i64;

src/reports/nag.rs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
use reports::teams::MEMBERSHIP;
2+
3+
pub fn all_team_members() -> Vec<&'static str> {
4+
MEMBERSHIP.keys().map(|m| *m).collect()
5+
}

src/reports/teams.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ struct Member {
99
}
1010

1111
#[derive(Clone, Copy, Debug, Eq, PartialEq, PartialOrd, Ord)]
12-
struct Team {
12+
pub struct Team {
1313
name: &'static str,
1414
label: &'static str,
1515
ping: &'static str,
@@ -28,8 +28,8 @@ static acrichto: Member = Member {
2828
full_name: "Alex Crichton",
2929
};
3030
static aturon: Member = Member {
31-
username: "Aaron Turon",
32-
full_name: "aturon",
31+
username: "aturon",
32+
full_name: "Aaron Turon",
3333
};
3434
static bkoropoff: Member = Member {
3535
username: "bkoropoff",
@@ -112,7 +112,7 @@ static wycats: Member = Member {
112112

113113
lazy_static! {
114114
// no community or mod team b/c they won't have nags
115-
static ref MEMBERSHIP: BTreeMap<&'static str, (&'static str, Vec<Team>)> = {
115+
pub static ref MEMBERSHIP: BTreeMap<&'static str, (&'static str, Vec<Team>)> = {
116116
let mut teams = BTreeMap::new();
117117

118118
teams.insert(Team { name: "Core", label: "T-core", ping: "@rust-lang/core" },

src/server/handlers.rs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,12 @@ use urlencoded::{UrlDecodingError, UrlEncodedQuery};
1010
use error::DashError;
1111
use reports;
1212

13+
pub fn team_members(_: &mut Request) -> IronResult<Response> {
14+
Ok(Response::with((status::Ok,
15+
try!(ser::to_string(&reports::nag::all_team_members())
16+
.map_err(|e| {let e: DashError = e.into(); e})))))
17+
}
18+
1319
const DATE_FORMAT: &'static str = "%Y%m%d";
1420

1521
macro_rules! make_dated_endpoint {

src/server/mod.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,10 @@ pub fn serve() {
1414
mount.mount("/buildbots/", router!(get "/" => handlers::buildbots));
1515
mount.mount("/releases/", router!(get "/" => handlers::releases));
1616

17+
mount.mount("/nag/", router!(
18+
get "/users" => handlers::team_members
19+
));
20+
1721
let chain = Chain::new(mount);
1822

1923
// middleware goes here

0 commit comments

Comments
 (0)