use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct Link {
#[serde(rename = "resource")]
pub resource: String,
#[serde(rename = "verb")]
pub verb: Verb,
#[serde(rename = "title", skip_serializing_if = "Option::is_none")]
pub title: Option<String>,
#[serde(rename = "type", skip_serializing_if = "Option::is_none")]
pub r#type: Option<String>,
}
impl Link {
pub fn new(resource: String, verb: Verb) -> Link {
Link {
resource,
verb,
title: None,
r#type: None,
}
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Verb {
#[serde(rename = "GET")]
Get,
}
impl Default for Verb {
fn default() -> Verb {
Self::Get
}
}