use serde::{Deserialize, Serialize};
use crate::models;
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct PushRegistrationRequestModel {
#[serde(rename = "deviceId", alias = "DeviceId")]
pub device_id: String,
#[serde(rename = "pushToken", alias = "PushToken")]
pub push_token: String,
#[serde(rename = "userId", alias = "UserId")]
pub user_id: String,
#[serde(rename = "type", alias = "R#type")]
pub r#type: models::DeviceType,
#[serde(rename = "identifier", alias = "Identifier")]
pub identifier: String,
#[serde(
rename = "organizationIds",
alias = "OrganizationIds",
skip_serializing_if = "Option::is_none"
)]
pub organization_ids: Option<Vec<String>>,
#[serde(
rename = "installationId",
alias = "InstallationId",
skip_serializing_if = "Option::is_none"
)]
pub installation_id: Option<uuid::Uuid>,
}
impl PushRegistrationRequestModel {
pub fn new(
device_id: String,
push_token: String,
user_id: String,
r#type: models::DeviceType,
identifier: String,
) -> PushRegistrationRequestModel {
PushRegistrationRequestModel {
device_id,
push_token,
user_id,
r#type,
identifier,
organization_ids: None,
installation_id: None,
}
}
}