pub struct VortexClient { /* private fields */ }Expand description
Vortex Rust SDK Client
Provides JWT generation and Vortex API integration for Rust applications. Compatible with React providers and follows the same paradigms as other Vortex SDKs.
Implementations§
Source§impl VortexClient
impl VortexClient
Sourcepub fn with_base_url(api_key: String, base_url: String) -> Self
pub fn with_base_url(api_key: String, base_url: String) -> Self
Create a new Vortex client with a custom base URL
§Arguments
api_key- Your Vortex API keybase_url- Custom base URL for the Vortex API
Sourcepub fn generate_jwt(
&self,
user: &User,
extra: Option<HashMap<String, Value>>,
) -> Result<String, VortexError>
pub fn generate_jwt( &self, user: &User, extra: Option<HashMap<String, Value>>, ) -> Result<String, VortexError>
Generate a JWT token for a user
§Arguments
user- User object with id, email, and optional admin_scopesextra- Optional additional properties to include in the JWT payload
§Example
use vortex_sdk::{VortexClient, User};
use std::collections::HashMap;
let client = VortexClient::new("VRTX.AAAAAAAAAAAAAAAAAAAAAA.test_secret_key".to_string());
// Simple usage
let user = User::new("user-123", "user@example.com")
.with_admin_scopes(vec!["autojoin".to_string()]);
let jwt = client.generate_jwt(&user, None).unwrap();
// With additional properties
let mut extra = HashMap::new();
extra.insert("role".to_string(), serde_json::json!("admin"));
let jwt = client.generate_jwt(&user, Some(extra)).unwrap();Sourcepub async fn get_invitations_by_target(
&self,
target_type: &str,
target_value: &str,
) -> Result<Vec<Invitation>, VortexError>
pub async fn get_invitations_by_target( &self, target_type: &str, target_value: &str, ) -> Result<Vec<Invitation>, VortexError>
Get invitations by target (email or sms)
Sourcepub async fn get_invitation(
&self,
invitation_id: &str,
) -> Result<Invitation, VortexError>
pub async fn get_invitation( &self, invitation_id: &str, ) -> Result<Invitation, VortexError>
Get a specific invitation by ID
Sourcepub async fn revoke_invitation(
&self,
invitation_id: &str,
) -> Result<(), VortexError>
pub async fn revoke_invitation( &self, invitation_id: &str, ) -> Result<(), VortexError>
Revoke (delete) an invitation
Sourcepub async fn accept_invitations(
&self,
invitation_ids: Vec<String>,
param: impl Into<AcceptInvitationParam>,
) -> Result<Invitation, VortexError>
pub async fn accept_invitations( &self, invitation_ids: Vec<String>, param: impl Into<AcceptInvitationParam>, ) -> Result<Invitation, VortexError>
Accept multiple invitations
§Arguments
invitation_ids- Vector of invitation IDs to acceptparam- User data (preferred) or legacy target format
§New User Format (Preferred)
use vortex_sdk::{VortexClient, AcceptUser};
let client = VortexClient::new("VRTX.key.secret".to_string());
let user = AcceptUser::new().with_email("user@example.com");
let result = client.accept_invitations(vec!["inv-123".to_string()], user).await;§Legacy Target Format (Deprecated)
use vortex_sdk::{VortexClient, InvitationTarget};
let client = VortexClient::new("VRTX.key.secret".to_string());
let target = InvitationTarget::new("email", "user@example.com");
let result = client.accept_invitations(vec!["inv-123".to_string()], target).await;Sourcepub async fn delete_invitations_by_group(
&self,
group_type: &str,
group_id: &str,
) -> Result<(), VortexError>
pub async fn delete_invitations_by_group( &self, group_type: &str, group_id: &str, ) -> Result<(), VortexError>
Delete all invitations for a specific group
Sourcepub async fn get_invitations_by_group(
&self,
group_type: &str,
group_id: &str,
) -> Result<Vec<Invitation>, VortexError>
pub async fn get_invitations_by_group( &self, group_type: &str, group_id: &str, ) -> Result<Vec<Invitation>, VortexError>
Get all invitations for a specific group
Sourcepub async fn reinvite(
&self,
invitation_id: &str,
) -> Result<Invitation, VortexError>
pub async fn reinvite( &self, invitation_id: &str, ) -> Result<Invitation, VortexError>
Reinvite a user (send invitation again)
Auto Trait Implementations§
impl Freeze for VortexClient
impl !RefUnwindSafe for VortexClient
impl Send for VortexClient
impl Sync for VortexClient
impl Unpin for VortexClient
impl !UnwindSafe for VortexClient
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