Release Tagging / release (push) Successful in 48s
Rust Build / Rustfmt (push) Successful in 35s
Rust Build / Test Suite (push) Successful in 1m26s
Rust Build / Clippy (push) Successful in 1m27s
Rust Build / build (push) Successful in 1m29s
Rust Build / Check (push) Successful in 1m12s
textsender_models PR / Rustfmt (pull_request) Successful in 54s
textsender_models PR / Check (pull_request) Successful in 1m20s
Release Tagging / release (pull_request) Successful in 37s
textsender_models PR / Clippy (pull_request) Successful in 1m5s
Reviewed-on: phoenix/textsender_models#29
20 lines
666 B
Rust
20 lines
666 B
Rust
#[derive(
|
|
Clone, Debug, Default, serde::Deserialize, serde::Serialize, sqlx::FromRow, utoipa::ToSchema,
|
|
)]
|
|
pub struct Contact {
|
|
#[serde(skip_serializing_if = "crate::init::is_uuid_nil")]
|
|
pub id: Option<uuid::Uuid>,
|
|
// empty?
|
|
#[serde(skip_serializing_if = "Option::is_none")]
|
|
pub firstname: Option<String>,
|
|
// empty?
|
|
#[serde(skip_serializing_if = "Option::is_none")]
|
|
pub lastname: Option<String>,
|
|
// empty?
|
|
#[serde(skip_serializing_if = "Option::is_none")]
|
|
pub nickname: Option<String>,
|
|
pub phone_number: String,
|
|
#[serde(skip_serializing_if = "crate::init::is_uuid_nil")]
|
|
pub user_id: Option<uuid::Uuid>,
|
|
}
|