Update project dependencies
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
2025-10-29 14:53:29 +01:00
parent c44c6c3bf5
commit 58eceeda2d
10 changed files with 891 additions and 579 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -15,32 +15,32 @@ openssl = { version = "0.10.74" }
openssl-sys = "0.9.110" openssl-sys = "0.9.110"
libc = "0.2.177" libc = "0.2.177"
foreign-types-shared = "0.1.1" foreign-types-shared = "0.1.1"
asn1 = "0.22.0" asn1 = "0.23.0"
actix-web = { version = "4.11.0", features = ["openssl"] } actix-web = { version = "4.11.0", features = ["openssl"] }
futures = "0.3.31" futures = "0.3.31"
serde = { version = "1.0.228", features = ["derive"] } serde = { version = "1.0.228", features = ["derive"] }
reqwest = { version = "0.12.24", features = ["json"] } reqwest = { version = "0.12.24", features = ["json"] }
serde_json = "1.0.145" serde_json = "1.0.145"
rand = "0.9.2" rand = "0.10.0-rc.0"
actix = "0.13.5" actix = "0.13.5"
actix-identity = "0.8.0" actix-identity = "0.9.0"
actix-session = { version = "0.11.0", features = ["cookie-session"] } actix-session = { version = "0.11.0", features = ["cookie-session"] }
actix-cors = "0.7.1" actix-cors = "0.7.1"
actix-multipart = { version = "0.7.2", features = ["derive"] } actix-multipart = { version = "0.7.2", features = ["derive"] }
actix-remote-ip = "0.1.0" actix-remote-ip = "0.1.0"
futures-util = "0.3.31" futures-util = "0.3.31"
uuid = { version = "1.17.0", features = ["v4", "serde"] } uuid = { version = "1.18.1", features = ["v4", "serde"] }
semver = { version = "1.0.27", features = ["serde"] } semver = { version = "1.0.27", features = ["serde"] }
lazy-regex = "3.4.1" lazy-regex = "3.4.1"
tokio = { version = "1.47.1", features = ["full"] } tokio = { version = "1.48.0", features = ["full"] }
tokio_schedule = "0.3.2" tokio_schedule = "0.3.2"
mime_guess = "2.0.5" mime_guess = "2.0.5"
rust-embed = "8.7.2" rust-embed = "8.8.0"
jsonwebtoken = { version = "9.3.1", features = ["use_pem"] } jsonwebtoken = { version = "10.1.0", features = ["use_pem", "rust_crypto"] }
prettytable-rs = "0.10.0" prettytable-rs = "0.10.0"
chrono = "0.4.42" chrono = "0.4.42"
serde_yml = "0.0.12" serde_yml = "0.0.12"
bincode = "2.0.1" bincode = "2.0.1"
fs4 = { version = "0.13.1", features = ["sync"] } fs4 = { version = "0.13.1", features = ["sync"] }
zip = { version = "2.2.0", features = ["bzip2"] } zip = { version = "6.0.0", features = ["bzip2"] }
walkdir = "2.5.0" walkdir = "2.5.0"

View File

@@ -5,7 +5,7 @@ use crate::server::custom_error::HttpResult;
use crate::server::devices_api::jwt_parser::JWTRequest; use crate::server::devices_api::jwt_parser::JWTRequest;
use actix_web::{HttpResponse, web}; use actix_web::{HttpResponse, web};
#[derive(Debug, serde::Deserialize)] #[derive(Debug, serde::Deserialize, Clone)]
pub struct LogRequest { pub struct LogRequest {
severity: LogSeverity, severity: LogSeverity,
message: String, message: String,

View File

@@ -30,7 +30,7 @@ pub struct JWTRequest {
} }
impl JWTRequest { impl JWTRequest {
pub async fn parse_jwt<E: DeserializeOwned>( pub async fn parse_jwt<E: DeserializeOwned + std::clone::Clone>(
&self, &self,
actor: WebEnergyActor, actor: WebEnergyActor,
) -> anyhow::Result<(Device, E)> { ) -> anyhow::Result<(Device, E)> {

View File

@@ -130,7 +130,7 @@ pub async fn get_certificate(query: web::Query<ReqWithDevID>, actor: WebEnergyAc
.body(cert)) .body(cert))
} }
#[derive(Debug, serde::Serialize, serde::Deserialize)] #[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
struct Claims { struct Claims {
info: DeviceInfo, info: DeviceInfo,
} }

View File

@@ -11,7 +11,7 @@ use crate::server::web_api::*;
use crate::server::web_app_controller; use crate::server::web_app_controller;
use actix_cors::Cors; use actix_cors::Cors;
use actix_identity::IdentityMiddleware; use actix_identity::IdentityMiddleware;
use actix_identity::config::LogoutBehaviour; use actix_identity::config::LogoutBehavior;
use actix_remote_ip::RemoteIPConfig; use actix_remote_ip::RemoteIPConfig;
use actix_session::SessionMiddleware; use actix_session::SessionMiddleware;
use actix_session::storage::CookieSessionStore; use actix_session::storage::CookieSessionStore;
@@ -84,7 +84,7 @@ pub async fn secure_server(energy_actor: EnergyActorAddr) -> anyhow::Result<()>
.build(); .build();
let identity_middleware = IdentityMiddleware::builder() let identity_middleware = IdentityMiddleware::builder()
.logout_behaviour(LogoutBehaviour::PurgeSession) .logout_behavior(LogoutBehavior::PurgeSession)
.visit_deadline(Some(Duration::from_secs( .visit_deadline(Some(Duration::from_secs(
constants::MAX_INACTIVITY_DURATION, constants::MAX_INACTIVITY_DURATION,
))) )))

File diff suppressed because it is too large Load Diff

View File

@@ -17,11 +17,11 @@
"@mdi/react": "^1.6.1", "@mdi/react": "^1.6.1",
"@mui/icons-material": "^7.3.4", "@mui/icons-material": "^7.3.4",
"@mui/material": "^7.3.4", "@mui/material": "^7.3.4",
"@mui/x-charts": "^7.29.1", "@mui/x-charts": "^8.15.0",
"@mui/x-date-pickers": "^7.29.4", "@mui/x-date-pickers": "^8.15.0",
"date-and-time": "^3.6.0", "date-and-time": "^4.1.0",
"dayjs": "^1.11.18", "dayjs": "^1.11.18",
"filesize": "^10.1.6", "filesize": "^11.0.13",
"react": "^19.2.0", "react": "^19.2.0",
"react-dom": "^19.2.0", "react-dom": "^19.2.0",
"react-router-dom": "^7.9.4", "react-router-dom": "^7.9.4",
@@ -33,13 +33,13 @@
"@types/semver": "^7.7.1", "@types/semver": "^7.7.1",
"@typescript-eslint/eslint-plugin": "^8.46.2", "@typescript-eslint/eslint-plugin": "^8.46.2",
"@typescript-eslint/parser": "^8.46.2", "@typescript-eslint/parser": "^8.46.2",
"@vitejs/plugin-react": "^4.7.0", "@vitejs/plugin-react": "^5.1.0",
"eslint": "^9.38.0", "eslint": "^9.38.0",
"eslint-plugin-react-hooks": "^5.2.0", "eslint-plugin-react-hooks": "^7.0.1",
"eslint-plugin-react-refresh": "^0.4.24", "eslint-plugin-react-refresh": "^0.4.24",
"globals": "^16.4.0", "globals": "^16.4.0",
"typescript": "^5.9.3", "typescript": "^5.9.3",
"typescript-eslint": "^8.46.2", "typescript-eslint": "^8.46.2",
"vite": "^6.4.1" "vite": "^7.1.12"
} }
} }

View File

@@ -106,7 +106,7 @@ export default function StatCard({
<Box sx={{ width: "100%", height: 100 }}> <Box sx={{ width: "100%", height: 100 }}>
{data && interval && ( {data && interval && (
<SparkLineChart <SparkLineChart
colors={[chartColor]} color={chartColor}
data={data} data={data}
area area
showHighlight showHighlight

View File

@@ -1,11 +1,11 @@
import { Tooltip } from "@mui/material"; import { Tooltip } from "@mui/material";
import date from "date-and-time"; import { format } from "date-and-time";
import { time } from "../utils/DateUtils"; import { time } from "../utils/DateUtils";
export function formatDate(time: number): string { export function formatDate(time: number): string {
const t = new Date(); const t = new Date();
t.setTime(1000 * time); t.setTime(1000 * time);
return date.format(t, "DD/MM/YYYY HH:mm:ss"); return format(t, "DD/MM/YYYY HH:mm:ss");
} }
export function timeDiff(a: number, b: number): string { export function timeDiff(a: number, b: number): string {