@@ -4,20 +4,20 @@ use crate::{
44 email_client:: EmailClient ,
55 routes:: {
66 admin_dashboard, change_password, change_password_form, confirm, health_check, home,
7- log_out, login, login_form, publish_newsletter, subscribe,
7+ log_out, login, login_form, publish_newsletter, publish_newsletter_form , subscribe,
88 } ,
99} ;
1010use actix_session:: storage:: RedisSessionStore ;
1111use actix_session:: SessionMiddleware ;
1212use actix_web:: { cookie:: Key , dev:: Server , web, App , HttpServer } ;
1313use actix_web_flash_messages:: storage:: CookieMessageStore ;
1414use actix_web_flash_messages:: FlashMessagesFramework ;
15+ use actix_web_lab:: middleware:: from_fn;
1516use secrecy:: { ExposeSecret , Secret } ;
1617use sqlx:: postgres:: PgPoolOptions ;
1718use sqlx:: PgPool ;
1819use std:: net:: TcpListener ;
1920use tracing_actix_web:: TracingLogger ;
20- use actix_web_lab:: middleware:: from_fn;
2121
2222pub struct Application {
2323 port : u16 ,
@@ -104,7 +104,6 @@ async fn run(
104104 . route ( "/health_check" , web:: get ( ) . to ( health_check) )
105105 . route ( "/subscriptions" , web:: post ( ) . to ( subscribe) )
106106 . route ( "/subscriptions/confirm" , web:: get ( ) . to ( confirm) )
107- . route ( "/newsletters" , web:: post ( ) . to ( publish_newsletter) )
108107 . route ( "/" , web:: get ( ) . to ( home) )
109108 . route ( "/login" , web:: get ( ) . to ( login_form) )
110109 . route ( "/login" , web:: post ( ) . to ( login) )
@@ -114,7 +113,9 @@ async fn run(
114113 . route ( "/dashboard" , web:: get ( ) . to ( admin_dashboard) )
115114 . route ( "/password" , web:: get ( ) . to ( change_password_form) )
116115 . route ( "/password" , web:: post ( ) . to ( change_password) )
117- . route ( "/logout" , web:: post ( ) . to ( log_out) ) ,
116+ . route ( "/logout" , web:: post ( ) . to ( log_out) )
117+ . route ( "/newsletters" , web:: post ( ) . to ( publish_newsletter) )
118+ . route ( "/newsletters" , web:: get ( ) . to ( publish_newsletter_form) ) ,
118119 )
119120 . app_data ( db_pool. clone ( ) )
120121 . app_data ( email_client. clone ( ) )
0 commit comments