vn-core 0.11.0

VNDB for Rust
Documentation
use serde::{Deserialize, Serialize};
use strum::{Display, EnumString};

#[remain::sorted]
#[derive(Clone, Debug, Deserialize, Serialize)]
#[cfg_attr(feature = "specta", derive(specta::Type))]
pub struct AuthInfo {
  pub id: String,
  pub permissions: Vec<TokenPermission>,
  pub username: String,
}

#[non_exhaustive]
#[remain::sorted]
#[derive(Clone, Copy, Debug, Deserialize, Serialize, Display, EnumString)]
#[cfg_attr(feature = "specta", derive(specta::Type))]
pub enum TokenPermission {
  #[serde(rename = "listread")]
  #[strum(serialize = "listread")]
  ListRead,

  #[serde(rename = "listwrite")]
  #[strum(serialize = "listwrite")]
  ListWrite,
}