diff options
Diffstat (limited to 'src/handlers.rs')
| -rw-r--r-- | src/handlers.rs | 29 |
1 files changed, 20 insertions, 9 deletions
diff --git a/src/handlers.rs b/src/handlers.rs index ee0fbf0..c2c8aca 100644 --- a/src/handlers.rs +++ b/src/handlers.rs | |||
| @@ -712,17 +712,28 @@ fn authorize_proposer(jwt_token: String, user_pem: &str) -> Result<TokenData<Cla | |||
| 712 | } | 712 | } |
| 713 | 713 | ||
| 714 | #[derive(Template)] | 714 | #[derive(Template)] |
| 715 | #[template(path = "welcome.html")] | 715 | #[template(path = "list.html")] |
| 716 | struct WelcomeTemplate<'a> { | 716 | struct UserTemplate<'a> { |
| 717 | title: &'a str, | 717 | users: &'a Vec<DisplayUsers>, |
| 718 | body: &'a str, | ||
| 719 | } | 718 | } |
| 720 | 719 | ||
| 721 | pub async fn welcome_handler() -> Result<impl warp::Reply, warp::Rejection> { | 720 | struct DisplayUsers { |
| 722 | let template = WelcomeTemplate { | 721 | fingerprint: String, |
| 723 | title: "Welcome", | 722 | balance: i32, |
| 724 | body: "To The Bookstore!", | 723 | } |
| 725 | }; | 724 | |
| 725 | pub async fn user_list_handler(db: Db) -> Result<impl warp::Reply, warp::Rejection> { | ||
| 726 | let users = db.users.read(); | ||
| 727 | let mut sane_users = Vec::new(); | ||
| 728 | |||
| 729 | for (fingerprint, user) in users.iter() { | ||
| 730 | sane_users.push(DisplayUsers { | ||
| 731 | fingerprint: fingerprint.to_owned(), | ||
| 732 | balance: user.balance, | ||
| 733 | }); | ||
| 734 | } | ||
| 735 | |||
| 736 | let template = UserTemplate { users: &sane_users }; | ||
| 726 | let res = template.render().unwrap(); | 737 | let res = template.render().unwrap(); |
| 727 | Ok(warp::reply::html(res)) | 738 | Ok(warp::reply::html(res)) |
| 728 | } | 739 | } |
