From eb0c5d947a2e2755fac4a9b34d9dee6c2987afbb Mon Sep 17 00:00:00 2001 From: Dawid Rycerz Date: Mon, 14 Jul 2025 20:52:55 +0300 Subject: feat: Add dockerfile and docker-compose --- src/lib.rs | 105 +++++++++++++++++++++++++++++++++---------------------------- 1 file changed, 57 insertions(+), 48 deletions(-) (limited to 'src/lib.rs') diff --git a/src/lib.rs b/src/lib.rs index 900b4dc..d96556a 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -10,6 +10,9 @@ use sqlx::SqlitePool; mod auth; +use crate::notifications::{NtfySettingsInput, SmtpSettingsInput}; +use crate::weather_thresholds::WeatherThresholdUpdateInput; + fn error_response(status: StatusCode, message: &str) -> axum::response::Response { (status, Json(json!({"error": message}))).into_response() } @@ -265,15 +268,15 @@ mod thresholds_api { Json(payload): Json, ) -> Result, String> { let repo = WeatherThresholdRepository { db: &pool }; - repo.update_threshold( + repo.update_threshold(WeatherThresholdUpdateInput { id, - payload.user_id, - payload.condition_type, - payload.threshold_value, - payload.operator, - payload.enabled, - payload.description, - ) + user_id: payload.user_id, + condition_type: payload.condition_type, + threshold_value: payload.threshold_value, + operator: payload.operator, + enabled: payload.enabled, + description: payload.description, + }) .await .map(Json) .map_err(|e| e.to_string()) @@ -342,15 +345,15 @@ mod notifications_api { Json(payload): Json, ) -> Result, String> { let repo = NtfySettingsRepository { db: &pool }; - repo.create( - payload.user_id, - payload.enabled, - payload.topic, - payload.server_url, - payload.priority, - payload.title_template, - payload.message_template, - ) + repo.create(NtfySettingsInput { + user_id: payload.user_id, + enabled: payload.enabled, + topic: payload.topic, + server_url: payload.server_url, + priority: payload.priority, + title_template: payload.title_template, + message_template: payload.message_template, + }) .await .map(Json) .map_err(|e| e.to_string()) @@ -364,12 +367,15 @@ mod notifications_api { let repo = NtfySettingsRepository { db: &pool }; repo.update( id, - payload.enabled, - payload.topic, - payload.server_url, - payload.priority, - payload.title_template, - payload.message_template, + NtfySettingsInput { + user_id: 0, // user_id is not updated here, but struct requires it + enabled: payload.enabled, + topic: payload.topic, + server_url: payload.server_url, + priority: payload.priority, + title_template: payload.title_template, + message_template: payload.message_template, + }, ) .await .map(Json) @@ -432,20 +438,20 @@ mod notifications_api { Json(payload): Json, ) -> Result, String> { let repo = SmtpSettingsRepository { db: &pool }; - repo.create( - payload.user_id, - payload.enabled, - payload.email, - payload.smtp_server, - payload.smtp_port, - payload.username, - payload.password, - payload.use_tls, - payload.from_email, - payload.from_name, - payload.subject_template, - payload.body_template, - ) + repo.create(SmtpSettingsInput { + user_id: payload.user_id, + enabled: payload.enabled, + email: payload.email, + smtp_server: payload.smtp_server, + smtp_port: payload.smtp_port, + username: payload.username, + password: payload.password, + use_tls: payload.use_tls, + from_email: payload.from_email, + from_name: payload.from_name, + subject_template: payload.subject_template, + body_template: payload.body_template, + }) .await .map(Json) .map_err(|e| e.to_string()) @@ -459,17 +465,20 @@ mod notifications_api { let repo = SmtpSettingsRepository { db: &pool }; repo.update( id, - payload.enabled, - payload.email, - payload.smtp_server, - payload.smtp_port, - payload.username, - payload.password, - payload.use_tls, - payload.from_email, - payload.from_name, - payload.subject_template, - payload.body_template, + SmtpSettingsInput { + user_id: 0, // user_id is not updated here, but struct requires it + enabled: payload.enabled, + email: payload.email, + smtp_server: payload.smtp_server, + smtp_port: payload.smtp_port, + username: payload.username, + password: payload.password, + use_tls: payload.use_tls, + from_email: payload.from_email, + from_name: payload.from_name, + subject_template: payload.subject_template, + body_template: payload.body_template, + }, ) .await .map(Json) -- cgit v1.2.3