aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorYigit Sever2022-04-25 12:57:32 +0300
committerYigit Sever2022-04-25 13:01:52 +0300
commit78eb253ced519f5f6b4c5f7f229aac3747228046 (patch)
treee68c741981163d1186812183c108948d3ef0493c /src
parent5f51a33fb6bc3b70a2822f507b5746882e22b45a (diff)
downloadgradecoin-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
Diffstat (limited to 'src')
-rw-r--r--src/handlers.rs13
-rw-r--r--src/routes.rs8
2 files changed, 21 insertions, 0 deletions
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
366pub 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
366pub async fn list_transactions(db: Db) -> Result<impl warp::Reply, Infallible> { 379pub 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
45pub 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
44pub fn list_users(db: Db) -> impl Filter<Extract = impl Reply, Error = Rejection> + Clone { 52pub fn list_users(db: Db) -> impl Filter<Extract = impl Reply, Error = Rejection> + Clone {
45 warp::path!("user") 53 warp::path!("user")