use crate::line_liff::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
#[allow(non_camel_case_types)]
pub enum LiffScope {
#[serde(rename = "openid")]
Openid,
#[serde(rename = "email")]
Email,
#[serde(rename = "profile")]
Profile,
#[serde(rename = "chat_message.write")]
ChatMessageWrite,
}
impl std::fmt::Display for LiffScope {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
match self {
Self::Openid => write!(f, "openid"),
Self::Email => write!(f, "email"),
Self::Profile => write!(f, "profile"),
Self::ChatMessageWrite => write!(f, "chat_message.write"),
}
}
}
impl Default for LiffScope {
fn default() -> LiffScope {
Self::Openid
}
}