summaryrefslogtreecommitdiff
path: root/src/api/ops.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/api/ops.rs')
-rw-r--r--src/api/ops.rs20
1 files changed, 18 insertions, 2 deletions
diff --git a/src/api/ops.rs b/src/api/ops.rs
index 018743c..d947e64 100644
--- a/src/api/ops.rs
+++ b/src/api/ops.rs
@@ -1,9 +1,14 @@
-use actix_web::{http::StatusCode, post, web, HttpResponse, ResponseError, Scope};
+use std::str::FromStr;
+
+use actix_web::{get, http::StatusCode, post, web, HttpResponse, ResponseError, Scope};
use raise::yeet;
use serde::Deserialize;
use sqlx::MySqlPool;
+use tera::Tera;
use thiserror::Error;
+use unic_langid::subtags::Language;
+use crate::resources::{languages, templates};
use crate::services::db;
/// A request to login
@@ -60,6 +65,17 @@ async fn login(
Ok(response)
}
+#[get("/login")]
+async fn login_page(
+ tera: web::Data<Tera>,
+ translations: web::Data<languages::Translations>,
+) -> HttpResponse {
+ // TODO find a better way of doing this
+ let language = Language::from_str("en").unwrap();
+ let page = templates::login_page(&tera, language, translations.get_ref().clone()).unwrap();
+ HttpResponse::Ok().content_type("text/html").body(page)
+}
+
pub fn service() -> Scope {
- web::scope("").service(login)
+ web::scope("").service(login).service(login_page)
}