update dependencies and fix deprecations
This commit is contained in:
parent
165d68ca50
commit
b067be722d
866
Cargo.lock
generated
866
Cargo.lock
generated
File diff suppressed because it is too large
Load Diff
@ -7,22 +7,32 @@ default-run = "terminwahl_back"
|
|||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
futures = "*"
|
futures = "*"
|
||||||
actix-web = "4.3"
|
actix-web = "4.5"
|
||||||
actix-rt = "2.8"
|
actix-rt = "2.8"
|
||||||
actix-files = "0.6.2"
|
actix-files = "0.6.2"
|
||||||
actix-session = { version = "0.7", features = ["cookie-session"] }
|
actix-session = { version = "0.9", features = ["cookie-session"] }
|
||||||
# sqlx is currently on version 0.3.5 in this project due to breaking changes introduced in versions
|
# sqlx is currently on version 0.3.5 in this project due to breaking changes introduced in versions
|
||||||
# beyond 0.4.0, which changed the return type of 'exectute' to a 'Done'. Also the row parsing related
|
# beyond 0.4.0, which changed the return type of 'exectute' to a 'Done'. Also the row parsing related
|
||||||
# traits have been altered. The overall architecture of this CRUD can still be reproduced with a
|
# traits have been altered. The overall architecture of this CRUD can still be reproduced with a
|
||||||
# newer version of sqlx, and the version will be updated in the future.
|
# newer version of sqlx, and the version will be updated in the future.
|
||||||
sqlx = { version = "0.6.2", features = ["sqlite", "runtime-actix-rustls", "chrono"] }
|
sqlx = { version = "0.7", features = [
|
||||||
|
"sqlite",
|
||||||
|
"runtime-tokio-rustls",
|
||||||
|
"chrono",
|
||||||
|
] }
|
||||||
uuid = { version = "1.2", features = ["serde", "v4"] }
|
uuid = { version = "1.2", features = ["serde", "v4"] }
|
||||||
dotenv = "*"
|
dotenv = "*"
|
||||||
env_logger = "0.10"
|
env_logger = "0.11"
|
||||||
log = "*"
|
log = "*"
|
||||||
lettre = {version="0.10", default-features = false, features = ["smtp-transport", "tokio1-rustls-tls", "hostname", "builder", "pool"]}
|
lettre = { version = "0.11", default-features = false, features = [
|
||||||
|
"smtp-transport",
|
||||||
|
"tokio1-rustls-tls",
|
||||||
|
"hostname",
|
||||||
|
"builder",
|
||||||
|
"pool",
|
||||||
|
] }
|
||||||
rand = "*"
|
rand = "*"
|
||||||
handlebars = {version="4.3", features=["dir_source"]}
|
handlebars = { version = "5.1", features = ["dir_source"] }
|
||||||
glob = "*"
|
glob = "*"
|
||||||
|
|
||||||
terminwahl_typen = { path = "../terminwahl_typen/" }
|
terminwahl_typen = { path = "../terminwahl_typen/" }
|
||||||
|
@ -1,26 +1,32 @@
|
|||||||
use actix_files::NamedFile;
|
use actix_files::NamedFile;
|
||||||
use actix_web::{dev, middleware::ErrorHandlerResponse, Result};
|
use actix_web::{dev, middleware::ErrorHandlerResponse, Responder as _, Result};
|
||||||
|
|
||||||
pub fn bad_request<B>(res: dev::ServiceResponse<B>) -> Result<ErrorHandlerResponse<B>> {
|
pub fn bad_request<B>(res: dev::ServiceResponse<B>) -> Result<ErrorHandlerResponse<B>> {
|
||||||
let new_resp = NamedFile::open("static/errors/400.html")?
|
let new_resp = NamedFile::open("static/errors/400.html")?
|
||||||
.set_status_code(res.status())
|
.customize()
|
||||||
.into_response(res.request())
|
.with_status(actix_web::http::StatusCode::OK)
|
||||||
|
.respond_to(res.request())
|
||||||
|
.map_into_boxed_body()
|
||||||
.map_into_right_body();
|
.map_into_right_body();
|
||||||
Ok(ErrorHandlerResponse::Response(res.into_response(new_resp)))
|
Ok(ErrorHandlerResponse::Response(res.into_response(new_resp)))
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn not_found<B>(res: dev::ServiceResponse<B>) -> Result<ErrorHandlerResponse<B>> {
|
pub fn not_found<B>(res: dev::ServiceResponse<B>) -> Result<ErrorHandlerResponse<B>> {
|
||||||
let new_resp = NamedFile::open("static/errors/404.html")?
|
let new_resp = NamedFile::open("static/errors/404.html")?
|
||||||
.set_status_code(res.status())
|
.customize()
|
||||||
.into_response(res.request())
|
.with_status(actix_web::http::StatusCode::OK)
|
||||||
|
.respond_to(res.request())
|
||||||
|
.map_into_boxed_body()
|
||||||
.map_into_right_body();
|
.map_into_right_body();
|
||||||
Ok(ErrorHandlerResponse::Response(res.into_response(new_resp)))
|
Ok(ErrorHandlerResponse::Response(res.into_response(new_resp)))
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn internal_server_error<B>(res: dev::ServiceResponse<B>) -> Result<ErrorHandlerResponse<B>> {
|
pub fn internal_server_error<B>(res: dev::ServiceResponse<B>) -> Result<ErrorHandlerResponse<B>> {
|
||||||
let new_resp = NamedFile::open("static/errors/500.html")?
|
let new_resp = NamedFile::open("static/errors/500.html")?
|
||||||
.set_status_code(res.status())
|
.customize()
|
||||||
.into_response(res.request())
|
.with_status(actix_web::http::StatusCode::OK)
|
||||||
|
.respond_to(res.request())
|
||||||
|
.map_into_boxed_body()
|
||||||
.map_into_right_body();
|
.map_into_right_body();
|
||||||
Ok(ErrorHandlerResponse::Response(res.into_response(new_resp)))
|
Ok(ErrorHandlerResponse::Response(res.into_response(new_resp)))
|
||||||
}
|
}
|
||||||
|
55
terminwahl_back/src/api/errors_alt.rs
Normal file
55
terminwahl_back/src/api/errors_alt.rs
Normal file
@ -0,0 +1,55 @@
|
|||||||
|
use std::io::Read as _;
|
||||||
|
|
||||||
|
use actix_files::NamedFile;
|
||||||
|
use actix_web::{
|
||||||
|
body::MessageBody,
|
||||||
|
dev::{self, ServiceResponse},
|
||||||
|
middleware::ErrorHandlerResponse,
|
||||||
|
Responder, Result,
|
||||||
|
};
|
||||||
|
|
||||||
|
pub fn bad_request<B: MessageBody>(
|
||||||
|
mut res: dev::ServiceResponse<B>,
|
||||||
|
) -> Result<ErrorHandlerResponse<B>> {
|
||||||
|
let mut new_resp = NamedFile::open("static/errors/400.html")?;
|
||||||
|
let mut body = String::new();
|
||||||
|
new_resp.read_to_string(&mut body);
|
||||||
|
|
||||||
|
res.response_mut().set_body(body);
|
||||||
|
|
||||||
|
/* let (req, res) = res.into_parts();
|
||||||
|
res.set_body(body);
|
||||||
|
|
||||||
|
let response = ServiceResponse::new(req, res)
|
||||||
|
.map_into_boxed_body()
|
||||||
|
.map_into_right_body(); */
|
||||||
|
|
||||||
|
Ok(ErrorHandlerResponse::Response(
|
||||||
|
res.map_into_boxed_body().map_into_right_body(),
|
||||||
|
))
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn not_found<B>(res: dev::ServiceResponse<B>) -> Result<impl Responder> {
|
||||||
|
let new_resp = NamedFile::open("static/errors/404.html")?
|
||||||
|
.customize()
|
||||||
|
.with_status(res.status())
|
||||||
|
.respond_to(res.request());
|
||||||
|
|
||||||
|
Ok(new_resp)
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn internal_server_error<B: MessageBody>(
|
||||||
|
res: dev::ServiceResponse<B>,
|
||||||
|
) -> Result<ErrorHandlerResponse<B>> {
|
||||||
|
let mut new_resp = NamedFile::open("static/errors/500.html")?;
|
||||||
|
let mut body = String::new();
|
||||||
|
new_resp.read_to_string(&mut body);
|
||||||
|
let (req, res) = res.into_parts();
|
||||||
|
res.set_body(body);
|
||||||
|
|
||||||
|
let response = ServiceResponse::new(req, res)
|
||||||
|
.map_into_boxed_body()
|
||||||
|
.map_into_right_body();
|
||||||
|
|
||||||
|
Ok(ErrorHandlerResponse::Response(response))
|
||||||
|
}
|
@ -7,11 +7,11 @@ use actix_web::{
|
|||||||
web, App, HttpServer,
|
web, App, HttpServer,
|
||||||
};
|
};
|
||||||
use dotenv::dotenv;
|
use dotenv::dotenv;
|
||||||
use handlebars::Handlebars;
|
use handlebars::{DirectorySourceOptions, Handlebars};
|
||||||
use lettre::{transport::smtp::authentication::Credentials, AsyncSmtpTransport, Tokio1Executor};
|
use lettre::{transport::smtp::authentication::Credentials, AsyncSmtpTransport, Tokio1Executor};
|
||||||
use log::debug;
|
use log::debug;
|
||||||
use std::env;
|
use std::env;
|
||||||
use terminwahl_back::{api, db, handlebars_helper::TimeOfDate, views, CssPath};
|
use terminwahl_back::{api, db, views, CssPath};
|
||||||
|
|
||||||
#[actix_web::main]
|
#[actix_web::main]
|
||||||
async fn main() -> std::io::Result<()> {
|
async fn main() -> std::io::Result<()> {
|
||||||
@ -40,9 +40,12 @@ async fn main() -> std::io::Result<()> {
|
|||||||
.build();
|
.build();
|
||||||
|
|
||||||
let mut handlebars = Handlebars::new();
|
let mut handlebars = Handlebars::new();
|
||||||
handlebars.register_helper("time_of", Box::new(TimeOfDate));
|
let handlebars_source = DirectorySourceOptions {
|
||||||
|
tpl_extension: ".hbs".to_string(),
|
||||||
|
..Default::default()
|
||||||
|
};
|
||||||
handlebars
|
handlebars
|
||||||
.register_templates_directory(".hbs", handlebars_templates)
|
.register_templates_directory(handlebars_templates, handlebars_source)
|
||||||
.unwrap();
|
.unwrap();
|
||||||
|
|
||||||
log::info!("starting HTTP server at http://localhost:8080");
|
log::info!("starting HTTP server at http://localhost:8080");
|
||||||
|
@ -194,7 +194,7 @@ impl Component for App {
|
|||||||
<div class="section">
|
<div class="section">
|
||||||
{
|
{
|
||||||
if let Some(dates) = self.dates.as_ref(){
|
if let Some(dates) = self.dates.as_ref(){
|
||||||
if let Some(date) = self.selected_date.as_ref(){
|
if let Some(_date) = self.selected_date.as_ref(){
|
||||||
if let Some(_saved) = self.successfully_saved.as_ref(){
|
if let Some(_saved) = self.successfully_saved.as_ref(){
|
||||||
self.view_dank_dialog(ctx)
|
self.view_dank_dialog(ctx)
|
||||||
} else if self.nutzer.is_none(){
|
} else if self.nutzer.is_none(){
|
||||||
|
Loading…
x
Reference in New Issue
Block a user