1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
use crate::error::TelescopeError;
use crate::templates::auth;
use crate::templates::page::Page;
use crate::web::services::auth::identity::Identity;
use actix_web::http::header::LOCATION;
use actix_web::{HttpRequest, HttpResponse};
#[get("/login")]
pub async fn login_page(req: HttpRequest) -> Result<Page, TelescopeError> {
auth::login().in_page(&req, "RCOS Login").await
}
#[get("/logout")]
pub async fn logout(identity: Identity) -> HttpResponse {
identity.forget();
HttpResponse::Found().header(LOCATION, "/").finish()
}