1 Commits

Author SHA1 Message Date
86b2bde4d3 Update dependency eslint to ^9.27.0
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
2025-05-27 00:07:29 +00:00
12 changed files with 284 additions and 1527 deletions

View File

@ -724,9 +724,9 @@ dependencies = [
[[package]] [[package]]
name = "clap" name = "clap"
version = "4.5.41" version = "4.5.38"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "be92d32e80243a54711e5d7ce823c35c41c9d929dc4ab58e1276f625841aadf9" checksum = "ed93b9805f8ba930df42c2590f05453d5ec36cbb85d018868a5b24d31f6ac000"
dependencies = [ dependencies = [
"clap_builder", "clap_builder",
"clap_derive", "clap_derive",
@ -734,9 +734,9 @@ dependencies = [
[[package]] [[package]]
name = "clap_builder" name = "clap_builder"
version = "4.5.41" version = "4.5.38"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "707eab41e9622f9139419d573eca0900137718000c517d47da73045f54331c3d" checksum = "379026ff283facf611b0ea629334361c4211d1b12ee01024eec1591133b04120"
dependencies = [ dependencies = [
"anstream", "anstream",
"anstyle", "anstyle",
@ -746,9 +746,9 @@ dependencies = [
[[package]] [[package]]
name = "clap_derive" name = "clap_derive"
version = "4.5.41" version = "4.5.32"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ef4f52386a59ca4c860f7393bcf8abd8dfd91ecccc0f774635ff68e92eeef491" checksum = "09176aae279615badda0765c0c0b3f6ed53f4709118af73cf4655d85d1530cd7"
dependencies = [ dependencies = [
"heck", "heck",
"proc-macro2", "proc-macro2",
@ -948,9 +948,9 @@ dependencies = [
[[package]] [[package]]
name = "crypto-common" name = "crypto-common"
version = "0.2.0-rc.3" version = "0.2.0-rc.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8a23fa214dea9efd4dacee5a5614646b30216ae0f05d4bb51bafb50e9da1c5be" checksum = "170d71b5b14dec99db7739f6fc7d6ec2db80b78c3acb77db48392ccc3d8a9ea0"
dependencies = [ dependencies = [
"hybrid-array", "hybrid-array",
] ]
@ -1100,9 +1100,9 @@ dependencies = [
[[package]] [[package]]
name = "diesel" name = "diesel"
version = "2.2.12" version = "2.2.10"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "229850a212cd9b84d4f0290ad9d294afc0ae70fccaa8949dbe8b43ffafa1e20c" checksum = "ff3e1edb1f37b4953dd5176916347289ed43d7119cc2e6c7c3f7849ff44ea506"
dependencies = [ dependencies = [
"bitflags", "bitflags",
"byteorder", "byteorder",
@ -1159,13 +1159,13 @@ dependencies = [
[[package]] [[package]]
name = "digest" name = "digest"
version = "0.11.0-rc.0" version = "0.11.0-pre.10"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "460dd7f37e4950526b54a5a6b1f41b6c8e763c58eb9a8fc8fc05ba5c2f44ca7b" checksum = "6c478574b20020306f98d61c8ca3322d762e1ff08117422ac6106438605ea516"
dependencies = [ dependencies = [
"block-buffer 0.11.0-rc.4", "block-buffer 0.11.0-rc.4",
"const-oid 0.10.1", "const-oid 0.10.1",
"crypto-common 0.2.0-rc.3", "crypto-common 0.2.0-rc.2",
] ]
[[package]] [[package]]
@ -2304,7 +2304,7 @@ dependencies = [
"rust_xlsxwriter", "rust_xlsxwriter",
"serde", "serde",
"serde_json", "serde_json",
"sha2 0.11.0-rc.0", "sha2 0.11.0-pre.5",
"tempfile", "tempfile",
"thiserror 2.0.12", "thiserror 2.0.12",
"tokio", "tokio",
@ -3296,13 +3296,13 @@ dependencies = [
[[package]] [[package]]
name = "sha2" name = "sha2"
version = "0.11.0-rc.0" version = "0.11.0-pre.5"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "aa1d2e6b3cc4e43a8258a9a3b17aa5dfd2cc5186c7024bba8a64aa65b2c71a59" checksum = "19b4241d1a56954dce82cecda5c8e9c794eef6f53abe5e5216bac0a0ea71ffa7"
dependencies = [ dependencies = [
"cfg-if", "cfg-if",
"cpufeatures", "cpufeatures",
"digest 0.11.0-rc.0", "digest 0.11.0-pre.10",
] ]
[[package]] [[package]]

View File

@ -6,9 +6,9 @@ edition = "2024"
[dependencies] [dependencies]
env_logger = "0.11.8" env_logger = "0.11.8"
log = "0.4.27" log = "0.4.27"
diesel = { version = "2.2.12", features = ["postgres", "r2d2"] } diesel = { version = "2.2.10", features = ["postgres", "r2d2"] }
diesel_migrations = "2.2.0" diesel_migrations = "2.2.0"
clap = { version = "4.5.41", features = ["env", "derive"] } clap = { version = "4.5.38", features = ["env", "derive"] }
actix-web = "4.11.0" actix-web = "4.11.0"
actix-cors = "0.7.1" actix-cors = "0.7.1"
actix-multipart = "0.7.2" actix-multipart = "0.7.2"
@ -30,7 +30,7 @@ lazy-regex = "3.4.1"
jwt-simple = { version = "0.12.12", default-features = false, features = ["pure-rust"] } jwt-simple = { version = "0.12.12", default-features = false, features = ["pure-rust"] }
mime_guess = "2.0.5" mime_guess = "2.0.5"
rust-embed = { version = "8.7.2" } rust-embed = { version = "8.7.2" }
sha2 = "0.11.0-rc.0" sha2 = "0.11.0-pre.5"
base16ct = "0.2.0" base16ct = "0.2.0"
httpdate = "1.0.3" httpdate = "1.0.3"
chrono = "0.4.41" chrono = "0.4.41"

View File

@ -30,7 +30,7 @@ pub async fn create_bucket_if_required() -> anyhow::Result<()> {
log::warn!("The bucket does not seem to exists, trying to create it!") log::warn!("The bucket does not seem to exists, trying to create it!")
} }
Err(e) => { Err(e) => {
log::error!("Got unexpected error when querying bucket info: {e}"); log::error!("Got unexpected error when querying bucket info: {}", e);
return Err(BucketServiceError::FailedFetchBucketInfo.into()); return Err(BucketServiceError::FailedFetchBucketInfo.into());
} }
} }

View File

@ -50,7 +50,7 @@ impl FromRequest for AccountInPath {
Self::load_account_from_path(&auth, account_id) Self::load_account_from_path(&auth, account_id)
.await .await
.map_err(|e| { .map_err(|e| {
log::error!("Failed to extract account ID from URL! {e}"); log::error!("Failed to extract account ID from URL! {}", e);
actix_web::error::ErrorNotFound("Could not fetch account information!") actix_web::error::ErrorNotFound("Could not fetch account information!")
}) })
}) })

View File

@ -165,13 +165,13 @@ impl FromRequest for AuthExtractor {
// Update last use (if needed) // Update last use (if needed)
if token.shall_update_time_used() { if token.shall_update_time_used() {
if let Err(e) = tokens_service::update_time_used(&token).await { if let Err(e) = tokens_service::update_time_used(&token).await {
log::error!("Failed to refresh last usage of token! {e}"); log::error!("Failed to refresh last usage of token! {}", e);
} }
} }
// Handle tokens expiration // Handle tokens expiration
if token.is_expired() { if token.is_expired() {
log::error!("Attempted to use expired token! {token:?}"); log::error!("Attempted to use expired token! {:?}", token);
return Err(actix_web::error::ErrorBadRequest("Token has expired!")); return Err(actix_web::error::ErrorBadRequest("Token has expired!"));
} }

View File

@ -47,7 +47,7 @@ impl FromRequest for FileIdExtractor {
Self::load_file_from_path(&auth, file_id) Self::load_file_from_path(&auth, file_id)
.await .await
.map_err(|e| { .map_err(|e| {
log::error!("Failed to extract file ID from URL! {e}"); log::error!("Failed to extract file ID from URL! {}", e);
actix_web::error::ErrorNotFound("Could not fetch file information!") actix_web::error::ErrorNotFound("Could not fetch file information!")
}) })
}) })

View File

@ -50,7 +50,7 @@ impl FromRequest for InboxEntryInPath {
Self::load_inbox_entry_from_path(&auth, entry_id) Self::load_inbox_entry_from_path(&auth, entry_id)
.await .await
.map_err(|e| { .map_err(|e| {
log::error!("Failed to extract inbox entry ID from URL! {e}"); log::error!("Failed to extract inbox entry ID from URL! {}", e);
actix_web::error::ErrorNotFound("Could not fetch inbox entry information!") actix_web::error::ErrorNotFound("Could not fetch inbox entry information!")
}) })
}) })

View File

@ -57,7 +57,7 @@ impl FromRequest for MovementInPath {
Self::load_movement_from_path(&auth, account_id) Self::load_movement_from_path(&auth, account_id)
.await .await
.map_err(|e| { .map_err(|e| {
log::error!("Failed to extract movement ID from URL! {e}"); log::error!("Failed to extract movement ID from URL! {}", e);
actix_web::error::ErrorNotFound("Could not fetch movement information!") actix_web::error::ErrorNotFound("Could not fetch movement information!")
}) })
}) })

File diff suppressed because it is too large Load Diff

View File

@ -11,37 +11,37 @@
}, },
"dependencies": { "dependencies": {
"@emotion/react": "^11.14.0", "@emotion/react": "^11.14.0",
"@emotion/styled": "^11.14.1", "@emotion/styled": "^11.14.0",
"@fontsource/roboto": "^5.2.6", "@fontsource/roboto": "^5.2.5",
"@jsonjoy.com/base64": "^1.1.2", "@jsonjoy.com/base64": "^1.1.2",
"@mdi/js": "^7.4.47", "@mdi/js": "^7.4.47",
"@mdi/react": "^1.6.1", "@mdi/react": "^1.6.1",
"@mui/icons-material": "^7.1.2", "@mui/icons-material": "^7.1.0",
"@mui/material": "^7.1.2", "@mui/material": "^7.1.0",
"@mui/x-charts": "^8.7.0", "@mui/x-charts": "^8.4.0",
"@mui/x-data-grid": "^8.7.0", "@mui/x-data-grid": "^8.3.1",
"@mui/x-date-pickers": "^8.7.0", "@mui/x-date-pickers": "^8.3.1",
"date-and-time": "^3.6.0", "date-and-time": "^3.6.0",
"dayjs": "^1.11.13", "dayjs": "^1.11.13",
"filesize": "^10.1.6", "filesize": "^10.1.6",
"qrcode.react": "^4.2.0", "qrcode.react": "^4.2.0",
"react": "^19.1.0", "react": "^19.1.0",
"react-dom": "^19.1.0", "react-dom": "^19.1.0",
"react-router": "^7.6.3", "react-router": "^7.6.1",
"react-router-dom": "^7.6.3", "react-router-dom": "^7.6.0",
"ts-pattern": "^5.7.1" "ts-pattern": "^5.7.1"
}, },
"devDependencies": { "devDependencies": {
"@eslint/js": "^9.30.1", "@eslint/js": "^9.27.0",
"@types/react": "^19.1.8", "@types/react": "^19.1.5",
"@types/react-dom": "^19.1.6", "@types/react-dom": "^19.1.5",
"@vitejs/plugin-react": "^4.6.0", "@vitejs/plugin-react": "^4.4.1",
"eslint": "^9.26.0", "eslint": "^9.27.0",
"eslint-plugin-react-dom": "^1.49.0", "eslint-plugin-react-dom": "^1.49.0",
"eslint-plugin-react-hooks": "^5.2.0", "eslint-plugin-react-hooks": "^5.2.0",
"eslint-plugin-react-refresh": "^00.4.20", "eslint-plugin-react-refresh": "^00.4.20",
"eslint-plugin-react-x": "^1.52.3", "eslint-plugin-react-x": "^1.49.0",
"globals": "^16.2.0", "globals": "^16.1.0",
"typescript": "~5.8.3", "typescript": "~5.8.3",
"typescript-eslint": "^8.32.1", "typescript-eslint": "^8.32.1",
"vite": "^6.3.5" "vite": "^6.3.5"

View File

@ -31,21 +31,12 @@ export class APIClient {
return URL; return URL;
} }
/**
* Get the full URL at which the backend can be contacted
*/
static ActualBackendURL(): string {
const backendURL = this.backendURL();
if (backendURL.startsWith("/")) return `${location.origin}${backendURL}`;
else return backendURL;
}
/** /**
* Check out whether the backend is accessed through * Check out whether the backend is accessed through
* HTTPS or not * HTTPS or not
*/ */
static IsBackendSecure(): boolean { static IsBackendSecure(): boolean {
return this.ActualBackendURL().startsWith("https"); return this.backendURL().startsWith("https");
} }
/** /**

View File

@ -268,7 +268,7 @@ function CreatedToken(p: { token: TokenWithSecret }): React.ReactElement {
<div style={{ padding: "15px", backgroundColor: "white" }}> <div style={{ padding: "15px", backgroundColor: "white" }}>
<QRCodeCanvas <QRCodeCanvas
value={`moneymgr://api=${encodeURIComponent( value={`moneymgr://api=${encodeURIComponent(
APIClient.ActualBackendURL() APIClient.backendURL()
)}&id=${p.token.id}&secret=${p.token.token}`} )}&id=${p.token.id}&secret=${p.token.token}`}
/> />
</div> </div>