use super::responses::{
CreateEntityAliasResponse, ListEntityAliasesByIdResponse, ReadEntityAliasByIdResponse,
};
use rustify_derive::Endpoint;
use std::{collections::HashMap, fmt::Debug};
#[derive(Builder, Debug, Default, Endpoint)]
#[endpoint(
path = "identity/entity-alias",
response = "CreateEntityAliasResponse",
method = "POST",
builder = "true"
)]
#[builder(setter(into, strip_option), default)]
pub struct CreateEntityAliasRequest {
pub name: String,
pub canonical_id: String,
pub mount_accessor: String,
pub id: Option<String>,
pub custom_metadata: Option<HashMap<String, String>>,
}
#[derive(Builder, Debug, Endpoint)]
#[endpoint(
path = "identity/entity-alias/id/{self.id}",
method = "GET",
builder = "true",
response = "ReadEntityAliasByIdResponse"
)]
#[builder(setter(into))]
pub struct ReadEntityAliasByIdRequest {
#[endpoint(skip)]
pub id: String,
}
#[derive(Builder, Debug, Default, Endpoint)]
#[endpoint(
path = "identity/entity-alias/id/{self.id}",
method = "POST",
builder = "true"
)]
#[builder(setter(into, strip_option), default)]
pub struct UpdateEntityAliasByIdRequest {
#[endpoint(skip)]
pub id: String,
pub name: Option<String>,
pub canonical_id: Option<String>,
pub mount_accessor: Option<String>,
pub custom_metadata: Option<HashMap<String, String>>,
}
#[derive(Builder, Debug, Default, Endpoint)]
#[endpoint(
path = "identity/entity-alias/id/{self.id}",
method = "DELETE",
builder = "true"
)]
#[builder(setter(into, strip_option), default)]
pub struct DeleteEntityAliasByIdRequest {
#[endpoint(skip)]
pub id: String,
}
#[derive(Builder, Debug, Endpoint, Default)]
#[endpoint(
path = "identity/entity-alias/id",
method = "LIST",
builder = "true",
response = "ListEntityAliasesByIdResponse"
)]
#[builder(setter(into, strip_option), default)]
pub struct ListEntityAliasesByIdRequest {}