use std::collections::HashMap;
use serde::{Deserialize, Serialize};
use crate::{error::ApiErrorItem, operation::ApiOperation};
use super::ty::ApiModel;
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
pub struct ApiDocument {
pub ident: String,
pub name: String,
pub note: Option<String>,
pub version: Option<String>,
pub modules: HashMap<String, ApiModule>,
pub resources: Vec<ApiResource>,
pub operations: Vec<ApiOperation>,
pub models: HashMap<String, ApiModel>,
pub errors: Vec<ApiErrorItem>,
}
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
pub struct ApiModule {
pub ident: String,
pub name: String,
pub parent: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
pub struct ApiResource {
pub ident: String,
pub value: String,
}