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_id: &str,
identifiers: Vec<Identifier>,
groups: Vec<Group>,
role: Option<&str>,
) -> Result<String, VortexError>
pub fn generate_jwt( &self, user_id: &str, identifiers: Vec<Identifier>, groups: Vec<Group>, role: Option<&str>, ) -> Result<String, VortexError>
Generate a JWT token for the given user data
This uses the same algorithm as the Node.js SDK to ensure complete compatibility with React providers.
§Arguments
user_id- Unique identifier for the useridentifiers- List of identifiers (email, sms)groups- List of groups the user belongs torole- Optional user role
§Example
use vortex_sdk::{VortexClient, Identifier, Group};
// API key format: VRTX.base64_encoded_uuid.secret_key
let client = VortexClient::new("VRTX.AAAAAAAAAAAAAAAAAAAAAA.test_secret_key".to_string());
let jwt = client.generate_jwt(
"user-123",
vec![Identifier::new("email", "user@example.com")],
vec![Group::new("team", "team-1", "Engineering")],
Some("admin")
).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>,
target: InvitationTarget,
) -> Result<Invitation, VortexError>
pub async fn accept_invitations( &self, invitation_ids: Vec<String>, target: InvitationTarget, ) -> Result<Invitation, VortexError>
Accept multiple invitations
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