build(deps): upgrade dependencies

This commit is contained in:
Max Hohlfeld 2025-04-22 18:49:11 +02:00
parent a09a35ece2
commit 60c7d16392
30 changed files with 608 additions and 450 deletions

967
Cargo.lock generated

File diff suppressed because it is too large Load Diff

View File

@ -3,7 +3,7 @@ members = [ "cli", "config", "macros", "web", ]
resolver = "2"
default-members = ["web"]
[profile.dev.package.rinja_derive]
[profile.dev.package.askama_derive]
opt-level = 3
[profile.dev.package.sqlx-macros]

View File

@ -9,7 +9,7 @@ publish = false
[dependencies]
sqlx = { version = "^0.8", features = ["runtime-async-std-rustls", "postgres", "chrono"] }
actix-web = { version = "4" }
serde = { version = "1.0.164", features = ["derive"] }
serde = { version = "1", features = ["derive"] }
argon2 = { version = "0.5.0", features = [ "std"]}
anyhow = "1.0.71"
actix-session = { version = "0.10.1", features = ["cookie-session"] }
@ -19,7 +19,7 @@ actix-files = "0.6.5"
futures-util = "0.3.30"
serde_json = "1.0.114"
pico-args = "0.5.0"
rand = { version = "0.8.5", features = ["getrandom"] }
rand = { version = "0.9", features = ["os_rng"] }
lettre = { version = "0.11.11", default-features = false, features = ["builder", "smtp-transport", "async-std1-rustls-tls"] }
quick-xml = { version = "0.37", features = ["serde", "serialize"] }
actix-web-static-files = "4.0"
@ -29,9 +29,9 @@ thiserror = "2"
brass-macros = { path = "../macros" }
brass-config = { path = "../config" }
actix-http = "3.9.0"
rinja = "0.3.5"
garde = { version = "0.21.0", features = ["derive", "email"] }
maud = "0.26.0"
askama = "0.13.0"
garde = { version = "0.22.0", features = ["derive", "email"] }
maud = "0.27.0"
[build-dependencies]
built = "0.7.4"
@ -40,5 +40,5 @@ change-detection = "1.2.0"
[dev-dependencies]
insta = { version = "1.41.1", features = ["yaml", "filters"] }
fake = { version = "3.0.1", features = ["chrono", "derive"]}
fake = { version = "4", features = ["chrono", "derive"]}
regex = "1.11.1"

View File

@ -4,7 +4,7 @@ pub mod get_edit;
pub mod post_edit;
pub mod delete;
use rinja::Template;
use askama::Template;
use serde::Deserialize;
use crate::models::{Area, Role, User};

View File

@ -1,4 +1,4 @@
use rinja::Template;
use askama::Template;
use crate::{
filters,

View File

@ -8,7 +8,7 @@ use crate::{
};
use actix_web::{web, HttpResponse, Responder};
use chrono::{NaiveDate, Utc};
use rinja::Template;
use askama::Template;
use serde::Deserialize;
use sqlx::PgPool;

View File

@ -1,5 +1,5 @@
use chrono::{NaiveDate, NaiveTime};
use rinja::Template;
use askama::Template;
use crate::filters;
use crate::models::{Availability, AvailabilityChangeset, AvailabilityTime, Role, User};

View File

@ -1,5 +1,5 @@
use actix_web::{web, HttpResponse, Responder};
use rinja::Template;
use askama::Template;
use sqlx::PgPool;
use crate::{

View File

@ -1,6 +1,6 @@
use crate::filters;
use chrono::NaiveDate;
use rinja::Template;
use askama::Template;
use crate::models::{Event, Location, Role, User};

View File

@ -1,6 +1,6 @@
use actix_web::{web, Responder};
use chrono::{NaiveDate, Utc};
use rinja::Template;
use askama::Template;
use sqlx::PgPool;
use crate::{

View File

@ -1,5 +1,5 @@
use actix_web::Responder;
use rinja::Template;
use askama::Template;
use crate::utils::{ApplicationError, TemplateResponse};

View File

@ -1,5 +1,5 @@
use actix_web::{web, Responder};
use rinja::Template;
use askama::Template;
use sqlx::PgPool;
use crate::{

View File

@ -1,4 +1,4 @@
use rinja::Template;
use askama::Template;
use serde::{Deserialize, Serialize};
use crate::models::{Area, Location, Role, User};

View File

@ -1,5 +1,5 @@
use actix_web::{web, Responder};
use rinja::Template;
use askama::Template;
use crate::{
models::User,

View File

@ -1,6 +1,6 @@
use actix_identity::Identity;
use actix_web::{http::header::LOCATION, web, HttpResponse, Responder};
use rinja::Template;
use askama::Template;
use serde::Deserialize;
use crate::utils::{ApplicationError, TemplateResponse};

View File

@ -5,7 +5,7 @@ use crate::{
};
use actix_web::{web, Responder};
use rinja::Template;
use askama::Template;
use sqlx::PgPool;
#[derive(Template)]

View File

@ -1,5 +1,5 @@
use actix_web::{web, Responder};
use rinja::Template;
use askama::Template;
use sqlx::PgPool;
use crate::{

View File

@ -1,6 +1,6 @@
use actix_identity::Identity;
use actix_web::{get, http::header::LOCATION, web, HttpResponse, Responder};
use rinja::Template;
use askama::Template;
use serde::Deserialize;
use sqlx::PgPool;

View File

@ -2,7 +2,7 @@ use crate::{
filters,
models::{Area, Role, User},
};
use rinja::Template;
use askama::Template;
use serde::Deserialize;
pub mod delete;

View File

@ -1,5 +1,5 @@
use actix_web::{web, Responder};
use rinja::Template;
use askama::Template;
use sqlx::PgPool;
use crate::{

View File

@ -1,4 +1,4 @@
use rinja::Template;
use askama::Template;
use serde::Deserialize;
use crate::models::{Role, User, Vehicle};

View File

@ -1,4 +1,4 @@
use rinja::Template;
use askama::Template;
use crate::models::{Event, Vehicle};

View File

@ -2,7 +2,7 @@ use maud::html;
use crate::models::UserFunction;
pub fn show_area_query(a: &Option<i32>, first: bool) -> rinja::Result<String> {
pub fn show_area_query(a: &Option<i32>, first: bool) -> askama::Result<String> {
let char = if first { '?' } else { '&' };
if let Some(a) = a {
@ -12,7 +12,7 @@ pub fn show_area_query(a: &Option<i32>, first: bool) -> rinja::Result<String> {
}
}
pub fn cond_show(show: &bool, text: &str) -> rinja::Result<String> {
pub fn cond_show(show: &bool, text: &str) -> askama::Result<String> {
if *show {
Ok(String::from(text))
} else {
@ -20,7 +20,7 @@ pub fn cond_show(show: &bool, text: &str) -> rinja::Result<String> {
}
}
pub fn insert_value(option: &Option<String>) -> rinja::Result<String> {
pub fn insert_value(option: &Option<String>) -> askama::Result<String> {
if let Some(val) = option {
let s = format!(r#"value="{val}""#);
return Ok(s);
@ -29,18 +29,18 @@ pub fn insert_value(option: &Option<String>) -> rinja::Result<String> {
Ok(String::new())
}
pub fn is_some_and_eq<T>(option: &Option<T>, other: &T) -> rinja::Result<bool>
pub fn is_some_and_eq<T>(option: &Option<T>, other: &T) -> askama::Result<bool>
where
T: Eq,
{
Ok(option.as_ref().is_some_and(|x| x == other))
}
pub fn invert(b: &bool) -> rinja::Result<bool> {
pub fn invert(b: &bool) -> askama::Result<bool> {
Ok(!b)
}
pub fn show_tree(f: &UserFunction) -> rinja::Result<String> {
pub fn show_tree(f: &UserFunction) -> askama::Result<String> {
let html = html! {
div class="tags" {
@if f.is_posten() {

View File

@ -2,7 +2,7 @@ use lettre::{
message::{Mailbox, MultiPart, SinglePart},
AsyncTransport, Message,
};
use rinja::Template;
use askama::Template;
use crate::{models::User, utils::ApplicationError};

View File

@ -2,7 +2,7 @@ use lettre::{
message::{Mailbox, MultiPart, SinglePart},
AsyncTransport, Message,
};
use rinja::Template;
use askama::Template;
use crate::{models::User, utils::ApplicationError};

View File

@ -2,7 +2,7 @@
use actix_session::storage::{LoadError, SaveError, SessionKey, SessionStore, UpdateError};
use actix_web::cookie::time::Duration;
use chrono::Utc;
use rand::{distributions::Alphanumeric, rngs::OsRng, Rng as _};
use rand::{distr::Alphanumeric, rng, Rng as _};
use serde_json::{self, Value};
use sqlx::{Pool, Postgres, Row};
use std::collections::HashMap;
@ -28,10 +28,7 @@ pub struct SqlxPostgresqlSessionStore {
}
fn generate_session_key() -> SessionKey {
let value = std::iter::repeat(())
.map(|()| OsRng.sample(Alphanumeric))
.take(64)
.collect::<Vec<_>>();
let value = rng().sample_iter(Alphanumeric).take(64).collect::<Vec<_>>();
// These unwraps will never panic because pre-conditions are always verified
// (i.e. length and character set)

View File

@ -25,7 +25,7 @@ pub enum ApplicationError {
#[error("hashfunction failed")]
Hash(#[from] argon2::password_hash::Error),
#[error("templating failed")]
Template(#[from] rinja::Error),
Template(#[from] askama::Error),
#[error("{}", inner.message)]
PasswordChange {
#[from]

View File

@ -1,12 +1,12 @@
use actix_web::{http::header::ContentType, HttpResponse};
use rinja::Template;
use askama::Template;
pub trait TemplateResponse {
fn to_response(&self) -> Result<HttpResponse, rinja::Error>;
fn to_response(&self) -> Result<HttpResponse, askama::Error>;
}
impl<T: Template> TemplateResponse for T {
fn to_response(&self) -> Result<HttpResponse, rinja::Error> {
fn to_response(&self) -> Result<HttpResponse, askama::Error> {
let rendered_template = self.render()?;
let response = HttpResponse::Ok()

View File

@ -6,7 +6,7 @@ use actix_web::{
dev::{Service, ServiceResponse},
test::init_service,
};
use rand::{distributions::Alphanumeric, thread_rng, Rng};
use rand::{distr::Alphanumeric, rng, Rng};
use crate::{create_app, mail::Mailer};
use brass_config::{load_config, Config, Environment};
@ -101,7 +101,7 @@ pub(crate) async fn prepare_db(url: &str) -> String {
}
pub(crate) fn build_test_db_name(base_name: &str) -> String {
let test_db_suffix: String = thread_rng()
let test_db_suffix: String = rng()
.sample_iter(&Alphanumeric)
.take(30)
.map(char::from)

View File

@ -1,9 +1,9 @@
use chrono::{NaiveDateTime, TimeDelta, Utc};
use rand::{distributions::Alphanumeric, rngs::OsRng, Rng};
use rand::{distr::Alphanumeric, rng, Rng};
pub fn generate_token_and_expiration(token_length_bytes: usize, validity: TimeDelta) -> (String, NaiveDateTime) {
let value = std::iter::repeat(())
.map(|()| OsRng.sample(Alphanumeric))
.map(|()| rng().sample(Alphanumeric))
.take(token_length_bytes)
.collect::<Vec<_>>();