Refactored routes a bit

This commit is contained in:
Marko Korhonen 2020-04-21 12:39:30 +03:00
parent 5ad17b228e
commit 1893085899
No known key found for this signature in database
GPG key ID: 911B85FBC6003FE5
2 changed files with 15 additions and 11 deletions

View file

@ -6,7 +6,7 @@ use crate::{
utils::jwt::{decode_token, encode_token, UserWithToken},
};
use actix_identity::Identity;
use actix_web::{delete, dev::Payload, post, web, FromRequest, HttpRequest, HttpResponse};
use actix_web::{dev::Payload, web, FromRequest, HttpRequest, HttpResponse};
use futures::future::Future;
use std::pin::Pin;
@ -30,7 +30,6 @@ impl FromRequest for LoggedUser {
}
}
#[post("/auth/register")]
pub async fn register(
new_user: web::Json<RegisterUser>,
pool: web::Data<DbPool>,
@ -46,7 +45,6 @@ pub async fn register(
.map_err(|e| HttpResponse::InternalServerError().json(e.to_string()))
}
#[delete("/auth/delete")]
pub async fn delete(
user: LoggedUser,
user_to_delete: web::Json<DeleteUser>,
@ -66,7 +64,6 @@ pub async fn delete(
}
}
#[post("/auth/login")]
pub async fn login(
id: Identity,
auth_user: web::Json<AuthUser>,
@ -89,7 +86,6 @@ pub async fn login(
Ok(HttpResponse::Ok().json(user))
}
#[delete("/auth/logout")]
pub async fn logout(id: Identity) -> Result<HttpResponse, HttpResponse> {
id.forget();
Ok(HttpResponse::Ok().into())

View file

@ -12,7 +12,12 @@ pub mod utils;
use actix_cors::Cors;
use actix_files::Files;
use actix_identity::{CookieIdentityPolicy, IdentityService};
use actix_web::{http::header, middleware::Logger, App, HttpServer};
use actix_web::{
http::header,
middleware::Logger,
web::{delete, post, resource, scope},
App, HttpServer,
};
use chrono::Duration;
use db_connection::get_pool;
use dotenv::dotenv;
@ -68,11 +73,14 @@ async fn main() -> std::io::Result<()> {
.secure(false),
))
.data(get_pool())
// .service(Files::new("/", "./static").index_file("index.html"))
.service(authentication::register)
.service(authentication::login)
.service(authentication::logout)
.service(authentication::delete)
.service(
scope("/api/auth")
.service(resource("/register").route(post().to(authentication::register)))
.service(resource("/login").route(post().to(authentication::login)))
.service(resource("/logout").route(post().to(authentication::logout)))
.service(resource("/delete").route(delete().to(authentication::delete))),
)
.service(Files::new("/", "./static").index_file("index.html"))
})
.bind(address)?
.run()