use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct NewScriptAssetsInner {
#[serde(rename = "path")]
pub path: String,
#[serde(rename = "kind")]
pub kind: models::AssetKind,
#[serde(rename = "access_type", skip_serializing_if = "Option::is_none")]
pub access_type: Option<AccessType>,
#[serde(rename = "alt_access_type", skip_serializing_if = "Option::is_none")]
pub alt_access_type: Option<AltAccessType>,
}
impl NewScriptAssetsInner {
pub fn new(path: String, kind: models::AssetKind) -> NewScriptAssetsInner {
NewScriptAssetsInner {
path,
kind,
access_type: None,
alt_access_type: None,
}
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum AccessType {
#[serde(rename = "r")]
R,
#[serde(rename = "w")]
W,
#[serde(rename = "rw")]
Rw,
}
impl Default for AccessType {
fn default() -> AccessType {
Self::R
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum AltAccessType {
#[serde(rename = "r")]
R,
#[serde(rename = "w")]
W,
#[serde(rename = "rw")]
Rw,
}
impl Default for AltAccessType {
fn default() -> AltAccessType {
Self::R
}
}