diff options
author | Yigit Sever | 2022-04-25 12:57:32 +0300 |
---|---|---|
committer | Yigit Sever | 2022-04-25 13:01:52 +0300 |
commit | 78eb253ced519f5f6b4c5f7f229aac3747228046 (patch) | |
tree | e68c741981163d1186812183c108948d3ef0493c | |
parent | 5f51a33fb6bc3b70a2822f507b5746882e22b45a (diff) | |
download | gradecoin-78eb253ced519f5f6b4c5f7f229aac3747228046.tar.gz gradecoin-78eb253ced519f5f6b4c5f7f229aac3747228046.tar.bz2 gradecoin-78eb253ced519f5f6b4c5f7f229aac3747228046.zip |
Add new endpoint /version
Use this endpoint to compare the live version to the version on vcs
From here on, the version should be updated regularly as well
-rw-r--r-- | Cargo.toml | 2 | ||||
-rw-r--r-- | src/handlers.rs | 13 | ||||
-rw-r--r-- | src/routes.rs | 8 |
3 files changed, 22 insertions, 1 deletions
@@ -1,6 +1,6 @@ | |||
1 | [package] | 1 | [package] |
2 | name = "gradecoin" | 2 | name = "gradecoin" |
3 | version = "0.2.0" | 3 | version = "0.2.1" |
4 | authors = ["Yigit Sever <yigit@ceng.metu.edu.tr>", | 4 | authors = ["Yigit Sever <yigit@ceng.metu.edu.tr>", |
5 | "İlker Işık (necrashter) <iiilker99@gmail.com>", | 5 | "İlker Işık (necrashter) <iiilker99@gmail.com>", |
6 | "Alperen Keleş <alpkeles99@gmail.com>"] | 6 | "Alperen Keleş <alpkeles99@gmail.com>"] |
diff --git a/src/handlers.rs b/src/handlers.rs index 93781e4..ae82441 100644 --- a/src/handlers.rs +++ b/src/handlers.rs | |||
@@ -361,6 +361,19 @@ pub async fn get_config(db: Db) -> Result<impl warp::Reply, Infallible> { | |||
361 | Ok(reply::with_status(reply::json(&db.config), StatusCode::OK)) | 361 | Ok(reply::with_status(reply::json(&db.config), StatusCode::OK)) |
362 | } | 362 | } |
363 | 363 | ||
364 | /// GET /version | ||
365 | /// Returns the current project version, as defined in Cargo.toml | ||
366 | pub async fn get_version() -> Result<impl warp::Reply, Infallible> { | ||
367 | Ok(reply::with_status( | ||
368 | reply::html(format!( | ||
369 | "{} - version {}", | ||
370 | env!("CARGO_PKG_NAME"), | ||
371 | env!("CARGO_PKG_VERSION") | ||
372 | )), | ||
373 | StatusCode::OK, | ||
374 | )) | ||
375 | } | ||
376 | |||
364 | /// GET /transaction | 377 | /// GET /transaction |
365 | /// Returns JSON array of transactions | 378 | /// Returns JSON array of transactions |
366 | pub async fn list_transactions(db: Db) -> Result<impl warp::Reply, Infallible> { | 379 | pub async fn list_transactions(db: Db) -> Result<impl warp::Reply, Infallible> { |
diff --git a/src/routes.rs b/src/routes.rs index 0df3470..9e08a27 100644 --- a/src/routes.rs +++ b/src/routes.rs | |||
@@ -23,6 +23,7 @@ pub fn network(db: Db) -> BoxedFilter<(impl Reply,)> { | |||
23 | root.and( | 23 | root.and( |
24 | transaction_list(db.clone()) | 24 | transaction_list(db.clone()) |
25 | .or(get_config_route(db.clone())) | 25 | .or(get_config_route(db.clone())) |
26 | .or(get_version()) | ||
26 | .or(register_user(db.clone())) | 27 | .or(register_user(db.clone())) |
27 | .or(auth_transaction_propose(db.clone())) | 28 | .or(auth_transaction_propose(db.clone())) |
28 | .or(auth_block_propose(db.clone())) | 29 | .or(auth_block_propose(db.clone())) |
@@ -40,6 +41,13 @@ pub fn get_config_route(db: Db) -> impl Filter<Extract = impl Reply, Error = Rej | |||
40 | .and_then(handlers::get_config) | 41 | .and_then(handlers::get_config) |
41 | } | 42 | } |
42 | 43 | ||
44 | /// GET /version warp route | ||
45 | pub fn get_version() -> impl Filter<Extract = impl Reply, Error = Rejection> + Clone { | ||
46 | warp::path!("version") | ||
47 | .and(warp::get()) | ||
48 | .and_then(handlers::get_version) | ||
49 | } | ||
50 | |||
43 | /// GET /user warp route | 51 | /// GET /user warp route |
44 | pub fn list_users(db: Db) -> impl Filter<Extract = impl Reply, Error = Rejection> + Clone { | 52 | pub fn list_users(db: Db) -> impl Filter<Extract = impl Reply, Error = Rejection> + Clone { |
45 | warp::path!("user") | 53 | warp::path!("user") |