fmt
This commit is contained in:
@@ -73,7 +73,10 @@ impl Db {
|
||||
}
|
||||
|
||||
/// Retrieves the FCM token for a given device name (e.g. "Pixel 10").
|
||||
pub async fn get_token_by_device(&self, device_name: &str) -> Result<Option<String>, mysql_async::Error> {
|
||||
pub async fn get_token_by_device(
|
||||
&self,
|
||||
device_name: &str,
|
||||
) -> Result<Option<String>, mysql_async::Error> {
|
||||
let mut conn = self.pool.get_conn().await?;
|
||||
let token: Option<String> = conn
|
||||
.exec_first(
|
||||
@@ -88,7 +91,10 @@ impl Db {
|
||||
}
|
||||
|
||||
/// Retrieves full device details by device name.
|
||||
pub async fn get_device_by_name(&self, device_name: &str) -> Result<Option<Device>, mysql_async::Error> {
|
||||
pub async fn get_device_by_name(
|
||||
&self,
|
||||
device_name: &str,
|
||||
) -> Result<Option<Device>, mysql_async::Error> {
|
||||
let mut conn = self.pool.get_conn().await?;
|
||||
let row: Option<(i32, Option<String>, Option<String>, Option<i8>, Option<i32>, Option<i32>)> = conn
|
||||
.exec_first(
|
||||
@@ -99,14 +105,16 @@ impl Db {
|
||||
)
|
||||
.await?;
|
||||
|
||||
Ok(row.map(|(idtoken, device, token, active, pausefrom, pauseto)| Device {
|
||||
idtoken,
|
||||
device,
|
||||
token,
|
||||
active,
|
||||
pausefrom,
|
||||
pauseto,
|
||||
}))
|
||||
Ok(row.map(
|
||||
|(idtoken, device, token, active, pausefrom, pauseto)| Device {
|
||||
idtoken,
|
||||
device,
|
||||
token,
|
||||
active,
|
||||
pausefrom,
|
||||
pauseto,
|
||||
},
|
||||
))
|
||||
}
|
||||
|
||||
/// Retrieves all devices from the `device` table.
|
||||
|
||||
+4
-1
@@ -50,7 +50,10 @@ impl EmailService {
|
||||
let email = Message::builder()
|
||||
.from(self.email_address.parse()?)
|
||||
.to(self.recipient.parse()?)
|
||||
.subject(format!("[ALERT] FCM Notification Failed for {}", device_name))
|
||||
.subject(format!(
|
||||
"[ALERT] FCM Notification Failed for {}",
|
||||
device_name
|
||||
))
|
||||
.header(ContentType::TEXT_PLAIN)
|
||||
.body(format!(
|
||||
"FCM notification delivery failed.\n\nDevice: {}\nError: {}\n",
|
||||
|
||||
+4
-1
@@ -46,7 +46,10 @@ async fn main() -> Result<(), Box<dyn std::error::Error>> {
|
||||
if let Err(err) = service.send_notification(message).await {
|
||||
eprintln!("FCM notification failed: {}", err);
|
||||
if let Some(es) = &email_service {
|
||||
if let Err(e) = es.send_fcm_failure_alert(&device_name, &err.to_string()).await {
|
||||
if let Err(e) = es
|
||||
.send_fcm_failure_alert(&device_name, &err.to_string())
|
||||
.await
|
||||
{
|
||||
eprintln!("Failed to send alert email: {}", e);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user