use crate::line_manage_audience::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct CreateAudienceGroupResponse {
#[serde(rename = "audienceGroupId", skip_serializing_if = "Option::is_none")]
pub audience_group_id: Option<i64>,
#[serde(rename = "createRoute", skip_serializing_if = "Option::is_none")]
pub create_route: Option<CreateRoute>,
#[serde(rename = "type", skip_serializing_if = "Option::is_none")]
pub r#type: Option<models::AudienceGroupType>,
#[serde(rename = "description", skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
#[serde(rename = "created", skip_serializing_if = "Option::is_none")]
pub created: Option<i64>,
#[serde(rename = "permission", skip_serializing_if = "Option::is_none")]
pub permission: Option<Permission>,
#[serde(rename = "expireTimestamp", skip_serializing_if = "Option::is_none")]
pub expire_timestamp: Option<i64>,
#[serde(rename = "isIfaAudience", skip_serializing_if = "Option::is_none")]
pub is_ifa_audience: Option<bool>,
}
impl CreateAudienceGroupResponse {
pub fn new() -> CreateAudienceGroupResponse {
CreateAudienceGroupResponse {
audience_group_id: None,
create_route: None,
r#type: None,
description: None,
created: None,
permission: None,
expire_timestamp: None,
is_ifa_audience: None,
}
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
#[allow(non_camel_case_types)]
pub enum CreateRoute {
#[serde(rename = "MESSAGING_API")]
MessagingApi,
}
impl Default for CreateRoute {
fn default() -> CreateRoute {
Self::MessagingApi
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
#[allow(non_camel_case_types)]
pub enum Permission {
#[serde(rename = "READ")]
Read,
#[serde(rename = "READ_WRITE")]
ReadWrite,
}
impl Default for Permission {
fn default() -> Permission {
Self::Read
}
}