Skip to content
This repository was archived by the owner on May 13, 2026. It is now read-only.

Commit f98fa9b

Browse files
feat: URL encode external IDs
1 parent 0f4a991 commit f98fa9b

4 files changed

Lines changed: 14 additions & 1 deletion

File tree

Cargo.lock

Lines changed: 7 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ serde = { version = "1.0.219", features = ["derive"] }
2323
serde_json = "1.0.140"
2424
thiserror = "2.0.0"
2525
url = { version = "2.5.4", features = ["serde"] }
26+
urlencoding = "2.1.3"
2627

2728
[dev-dependencies]
2829
matches = "0.1.10"

src/organizations/operations/get_organization_by_external_id.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,8 @@ impl GetOrganizationByExternalId for Organizations<'_> {
5050
&self,
5151
external_id: &str,
5252
) -> WorkOsResult<Organization, GetOrganizationByExternalIdError> {
53+
let external_id = urlencoding::encode(external_id);
54+
5355
let url = self
5456
.workos
5557
.base_url()

src/user_management/operations/get_user_by_external_id.rs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,10 +50,13 @@ impl GetUserByExternalId for UserManagement<'_> {
5050
&self,
5151
external_id: &str,
5252
) -> WorkOsResult<User, GetUserByExternalIdError> {
53+
let external_id = urlencoding::encode(external_id);
54+
5355
let url = self
5456
.workos
5557
.base_url()
5658
.join(&format!("/user_management/users/external_id/{external_id}"))?;
59+
5760
let user = self
5861
.workos
5962
.client()
@@ -80,7 +83,7 @@ mod test {
8083
use super::*;
8184

8285
#[tokio::test]
83-
async fn it_calls_the_get_user_endpoint() {
86+
async fn it_calls_the_get_user_by_external_id_endpoint() {
8487
let mut server = mockito::Server::new_async().await;
8588

8689
let workos = WorkOs::builder(&ApiKey::from("sk_example_123456789"))

0 commit comments

Comments
 (0)