use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct Robot {
#[serde(rename = "id", skip_serializing_if = "Option::is_none")]
pub id: Option<i64>,
#[serde(rename = "name", skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(rename = "description", skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
#[serde(rename = "secret", skip_serializing_if = "Option::is_none")]
pub secret: Option<String>,
#[serde(rename = "level", skip_serializing_if = "Option::is_none")]
pub level: Option<String>,
#[serde(rename = "duration", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub duration: Option<Option<i64>>,
#[serde(rename = "editable", skip_serializing_if = "Option::is_none")]
pub editable: Option<bool>,
#[serde(rename = "disable", skip_serializing_if = "Option::is_none")]
pub disable: Option<bool>,
#[serde(rename = "expires_at", skip_serializing_if = "Option::is_none")]
pub expires_at: Option<i64>,
#[serde(rename = "permissions", skip_serializing_if = "Option::is_none")]
pub permissions: Option<Vec<models::RobotPermission>>,
#[serde(rename = "creator_type", skip_serializing_if = "Option::is_none")]
pub creator_type: Option<String>,
#[serde(rename = "creator_ref", skip_serializing_if = "Option::is_none")]
pub creator_ref: Option<i32>,
#[serde(rename = "creation_time", skip_serializing_if = "Option::is_none")]
pub creation_time: Option<String>,
#[serde(rename = "update_time", skip_serializing_if = "Option::is_none")]
pub update_time: Option<String>,
}
impl Robot {
pub fn new() -> Robot {
Robot {
id: None,
name: None,
description: None,
secret: None,
level: None,
duration: None,
editable: None,
disable: None,
expires_at: None,
permissions: None,
creator_type: None,
creator_ref: None,
creation_time: None,
update_time: None,
}
}
}