@@ -4,20 +4,20 @@ use crate::{
4
4
email_client:: EmailClient ,
5
5
routes:: {
6
6
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,
8
8
} ,
9
9
} ;
10
10
use actix_session:: storage:: RedisSessionStore ;
11
11
use actix_session:: SessionMiddleware ;
12
12
use actix_web:: { cookie:: Key , dev:: Server , web, App , HttpServer } ;
13
13
use actix_web_flash_messages:: storage:: CookieMessageStore ;
14
14
use actix_web_flash_messages:: FlashMessagesFramework ;
15
+ use actix_web_lab:: middleware:: from_fn;
15
16
use secrecy:: { ExposeSecret , Secret } ;
16
17
use sqlx:: postgres:: PgPoolOptions ;
17
18
use sqlx:: PgPool ;
18
19
use std:: net:: TcpListener ;
19
20
use tracing_actix_web:: TracingLogger ;
20
- use actix_web_lab:: middleware:: from_fn;
21
21
22
22
pub struct Application {
23
23
port : u16 ,
@@ -104,7 +104,6 @@ async fn run(
104
104
. route ( "/health_check" , web:: get ( ) . to ( health_check) )
105
105
. route ( "/subscriptions" , web:: post ( ) . to ( subscribe) )
106
106
. route ( "/subscriptions/confirm" , web:: get ( ) . to ( confirm) )
107
- . route ( "/newsletters" , web:: post ( ) . to ( publish_newsletter) )
108
107
. route ( "/" , web:: get ( ) . to ( home) )
109
108
. route ( "/login" , web:: get ( ) . to ( login_form) )
110
109
. route ( "/login" , web:: post ( ) . to ( login) )
@@ -114,7 +113,9 @@ async fn run(
114
113
. route ( "/dashboard" , web:: get ( ) . to ( admin_dashboard) )
115
114
. route ( "/password" , web:: get ( ) . to ( change_password_form) )
116
115
. 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) ) ,
118
119
)
119
120
. app_data ( db_pool. clone ( ) )
120
121
. app_data ( email_client. clone ( ) )
0 commit comments