~goorzhel/sota-slack-spotter

f5b4a7f22695c427519f027c7bf43ef5a838a774 — Antonio Gurgel a month ago e9d507c
Turns out order of attributes matters
2 files changed, 4 insertions(+), 4 deletions(-)

M src/sota/alert.rs
M src/sota/spot.rs
M src/sota/alert.rs => src/sota/alert.rs +2 -2
@@ 8,7 8,7 @@ use std::{
use anyhow::{anyhow, Result};
use reqwest::blocking::get;
use serde::{Deserialize, Serialize};
use serde_with::serde_as;
use serde_with::{serde_as, NoneAsEmptyString};
use time::{format_description::parse as parse_format, OffsetDateTime};

use crate::callsign::Callsign;


@@ 30,8 30,8 @@ pub fn all_alerts() -> Result<Vec<Alert>> {
///
/// An alert is something like a future spot: it states that the named operator
/// plans to activate a summit at the given time.
#[derive(Debug, Clone, Deserialize, Serialize, Eq)]
#[serde_as]
#[derive(Debug, Clone, Deserialize, Serialize, Eq)]
#[serde(rename_all = "camelCase")]
pub struct Alert {
    pub activating_callsign: Callsign,

M src/sota/spot.rs => src/sota/spot.rs +2 -2
@@ 9,7 9,7 @@ use std::{
use anyhow::{anyhow, Result};
use reqwest::blocking::get;
use serde::{Deserialize, Serialize};
use serde_with::serde_as;
use serde_with::{serde_as, NoneAsEmptyString};
use time::{format_description::parse as parse_format, OffsetDateTime};

use crate::{


@@ 28,8 28,8 @@ pub fn all_spots(hours: u8) -> Result<Vec<Spot>> {
}

/// A SOTA spot.
#[derive(Debug, Clone, Deserialize, Serialize, Eq)]
#[serde_as]
#[derive(Debug, Clone, Deserialize, Serialize, Eq)]
#[serde(rename_all = "camelCase")]
pub struct Spot {
    pub activator_callsign: Callsign,