From f9a906619c094745e9fb8e2f23cc9a849afe4ff1 Mon Sep 17 00:00:00 2001 From: Pierre Jarriges <pierre.jarriges@tutanota.com> Date: Sat, 6 Nov 2021 17:42:29 +0100 Subject: [PATCH] crud articles --- public/views/admin-panel/index.html | 1 - src/main.rs | 14 ++++++++++---- src/model.rs | 2 ++ src/service.rs | 5 ++++- src/service/admin_auth.rs | 6 +++--- 5 files changed, 19 insertions(+), 9 deletions(-) diff --git a/public/views/admin-panel/index.html b/public/views/admin-panel/index.html index b9fc1fe..0baba8f 100644 --- a/public/views/admin-panel/index.html +++ b/public/views/admin-panel/index.html @@ -15,7 +15,6 @@ FORM: update/delete article </main> </body> - <script src="/v/admin-panel/assets/script.js"></script> </html> \ No newline at end of file diff --git a/src/main.rs b/src/main.rs index 4b3b905..205600b 100644 --- a/src/main.rs +++ b/src/main.rs @@ -21,7 +21,7 @@ use app_state::AppState; use env::get_log_level; use env_logger::Env; use middleware::AuthenticatedAdminMiddleware; -use service::admin_auth::admin_auth; +use service::*; use standard_static_files::{favicon, robots, sitemap}; use std::env::var as env_var; use tls::get_tls_config; @@ -79,9 +79,15 @@ async fn main() -> std::io::Result<()> { }, ]))) .wrap(NormalizePath::new(TrailingSlash::Trim)) - .service(admin_auth) - // Allow json payload to have size until ~32MB - // .app_data(JsonConfig::default().limit(1 << 25u8)) + // .app_data(JsonConfig::default().limit(1 << 25u8)) // Allow json payload to have size until ~32MB + ///////////////////////////////////////////////////////////////////////////////////////////////////////////// + // REST API ///////////////////////////////////////////////////////////////////////////////////////////////// + .service(admin_authentication) + .service(post_article) + .service(update_article) + .service(delete_article) + .service(get_articles_by_category) + .service(get_article) ///////////////////////////////////////////////////////////////////////////////////////////////////////////// // STANDARD FILES /////////////////////////////////////////////////////////////////////////////////////////// .service(resource("/favicon.ico").route(get().to(favicon))) diff --git a/src/model.rs b/src/model.rs index b1c6c6f..6df3c2b 100644 --- a/src/model.rs +++ b/src/model.rs @@ -1,2 +1,4 @@ mod administrator; +mod article; pub use administrator::*; +pub use article::*; diff --git a/src/service.rs b/src/service.rs index ee031a2..91376c0 100644 --- a/src/service.rs +++ b/src/service.rs @@ -1 +1,4 @@ -pub mod admin_auth; +mod admin_auth; +mod articles; +pub use admin_auth::*; +pub use articles::*; diff --git a/src/service/admin_auth.rs b/src/service/admin_auth.rs index 989c22f..f3313cd 100644 --- a/src/service/admin_auth.rs +++ b/src/service/admin_auth.rs @@ -9,7 +9,7 @@ use actix_web::{ /// If the authentication succeed, a cookie with an auth token is returned /// If not, 401 is returned and if an auth cookie is found it is deleted. #[post("/admin-auth")] -pub async fn admin_auth<'a>( +pub async fn admin_authentication<'a>( app_state: Data<AppState>, auth_mw: Data<AuthenticatedAdminMiddleware<'a>>, req: HttpRequest, @@ -77,7 +77,7 @@ mod test_admin_auth { .app_data(Data::new(AuthenticatedAdminMiddleware::new( "kuadrado-admin-auth", ))) - .service(admin_auth), + .service(admin_authentication), ) .await; @@ -103,7 +103,7 @@ mod test_admin_auth { .app_data(Data::new(AuthenticatedAdminMiddleware::new( "kuadrado-admin-auth", ))) - .service(admin_auth), + .service(admin_authentication), ) .await; -- GitLab