pub struct CreateUserRequest {
pub id: Uuid,
pub telegram_id: Option<i64>,
pub email: Option<String>,
pub phone: Option<String>,
}Expand description
Request to create a new user.
Contains the minimal data required to create a user record.
Additional profile data can be added later via UpdateProfileRequest.
§Fields
| Field | Type | Description |
|---|---|---|
id | Uuid | Pre-generated user ID (auto-generated if not provided) |
telegram_id | Option<i64> | Telegram user ID |
email | Option<String> | Email address |
phone | Option<String> | Phone number |
§Validation
telegram_id: Must be positive (≥ 1)email: Must be valid email format
§Examples
use revelation_user::CreateUserRequest;
use validator::Validate;
// Valid request
let req = CreateUserRequest::telegram(123456789);
assert!(req.validate().is_ok());
// Manual construction
let req = CreateUserRequest {
id: uuid::Uuid::now_v7(),
telegram_id: Some(123),
email: None,
phone: None
};Fields§
§id: UuidPre-generated user ID.
Defaults to a new UUIDv7 if not provided during deserialization.
telegram_id: Option<i64>Telegram user ID from bot callback.
Must be a positive integer.
email: Option<String>Email address from email authentication.
Must be a valid email format.
phone: Option<String>Phone number from phone authentication.
Should be in E.164 format (e.g., +14155551234).
Implementations§
Source§impl CreateUserRequest
impl CreateUserRequest
Sourcepub fn telegram(telegram_id: i64) -> Self
pub fn telegram(telegram_id: i64) -> Self
Create request for Telegram authentication.
§Arguments
telegram_id- The Telegram user ID from login callback
§Examples
use revelation_user::CreateUserRequest;
let req = CreateUserRequest::telegram(123456789);
assert_eq!(req.telegram_id, Some(123456789));
assert!(req.email.is_none());
assert!(req.phone.is_none());Trait Implementations§
Source§impl Clone for CreateUserRequest
impl Clone for CreateUserRequest
Source§fn clone(&self) -> CreateUserRequest
fn clone(&self) -> CreateUserRequest
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for CreateUserRequest
impl Debug for CreateUserRequest
Source§impl<'de> Deserialize<'de> for CreateUserRequest
impl<'de> Deserialize<'de> for CreateUserRequest
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Serialize for CreateUserRequest
impl Serialize for CreateUserRequest
Source§impl Validate for CreateUserRequest
impl Validate for CreateUserRequest
Source§impl<'v_a> ValidateArgs<'v_a> for CreateUserRequest
impl<'v_a> ValidateArgs<'v_a> for CreateUserRequest
Auto Trait Implementations§
impl Freeze for CreateUserRequest
impl RefUnwindSafe for CreateUserRequest
impl Send for CreateUserRequest
impl Sync for CreateUserRequest
impl Unpin for CreateUserRequest
impl UnwindSafe for CreateUserRequest
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more