Skip to main content

openleadr_wire/
target.rs

1//! Types to filter resources
2
3use crate::Identifier;
4use derive_more::FromStr;
5use serde::{Deserialize, Serialize};
6use std::fmt::Display;
7
8/// User generated target string.
9#[derive(
10    Clone, Debug, PartialEq, Serialize, Deserialize, Hash, Eq, FromStr, sqlx::Type, PartialOrd, Ord,
11)]
12#[sqlx(transparent)]
13pub struct Target(pub(crate) Identifier);
14
15impl Display for Target {
16    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
17        write!(f, "{}", self.0)
18    }
19}
20
21impl Target {
22    pub fn as_str(&self) -> &str {
23        self.0.as_str()
24    }
25}