covert-types 0.1.3

Covert type definitions
Documentation
use serde::{Deserialize, Serialize};

use crate::entity::EntityAlias;

#[derive(Debug, Deserialize, Serialize)]
pub struct CreateEntityParams {
    pub name: String,
}

#[derive(Debug, Deserialize, Serialize)]
pub struct CreateEntityResponse {
    pub entity: EntityWithPolicyAndAlias,
}

#[derive(Debug, Deserialize, Serialize)]
pub struct AttachEntityPolicyParams {
    pub name: String,
    pub policy_names: Vec<String>,
}

#[derive(Debug, Deserialize, Serialize)]
pub struct AttachEntityPolicyResponse {
    pub entity: EntityWithPolicyAndAlias,
}

#[derive(Debug, Deserialize, Serialize)]
pub struct AttachEntityAliasParams {
    pub name: String,
    pub aliases: Vec<EntityAlias>,
}

#[derive(Debug, Deserialize, Serialize)]
pub struct AttachEntityAliasResponse {
    pub entity: EntityWithPolicyAndAlias,
}

#[derive(Debug, Deserialize, Serialize)]
pub struct RemoveEntityPolicyParams {
    pub policy_name: String,
}

#[derive(Debug, Deserialize, Serialize)]
pub struct RemoveEntityPolicyResponse {
    pub entity: EntityWithPolicyAndAlias,
}

#[derive(Debug, Deserialize, Serialize)]
pub struct RemoveEntityAliasParams {
    pub alias: EntityAlias,
}

#[derive(Debug, Deserialize, Serialize)]
pub struct RemoveEntityAliasResponse {
    pub entity: EntityWithPolicyAndAlias,
}

#[derive(Debug, Deserialize, Serialize)]
pub struct ListEntitiesResponse {
    pub entities: Vec<EntityWithPolicyAndAlias>,
}

#[derive(Debug, Deserialize, Serialize, PartialEq, Eq)]
pub struct EntityWithPolicyAndAlias {
    pub name: String,
    pub policies: Vec<String>,
    pub aliases: Vec<EntityAlias>,
}