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

Commit a316b28

Browse files
fix(user-management): use RoleSlug (#158)
1 parent e281807 commit a316b28

3 files changed

Lines changed: 12 additions & 7 deletions

File tree

src/user_management/operations/create_organization_membership.rs

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ use serde::Serialize;
33
use thiserror::Error;
44

55
use crate::organizations::OrganizationId;
6+
use crate::roles::RoleSlug;
67
use crate::user_management::{OrganizationMembership, UserId, UserManagement};
78
use crate::{ResponseExt, WorkOsError, WorkOsResult};
89

@@ -18,7 +19,7 @@ pub struct CreateOrganizationMembershipParams<'a> {
1819
/// The unique role identifier.
1920
///
2021
/// Defaults to `member`.
21-
pub role_slug: Option<&'a str>,
22+
pub role_slug: Option<&'a RoleSlug>,
2223
}
2324

2425
/// An error returned from [`CreateOrganizationMembership`].
@@ -45,6 +46,7 @@ pub trait CreateOrganizationMembership {
4546
/// ```
4647
/// # use workos::WorkOsResult;
4748
/// # use workos::organizations::OrganizationId;
49+
/// # use workos::roles::RoleSlug;
4850
/// # use workos::user_management::*;
4951
/// use workos::{ApiKey, WorkOs};
5052
///
@@ -56,7 +58,7 @@ pub trait CreateOrganizationMembership {
5658
/// .create_organization_membership(&CreateOrganizationMembershipParams {
5759
/// user_id: &UserId::from("user_01E4ZCR3C5A4QZ2Z2JQXGKZJ9E"),
5860
/// organization_id: &OrganizationId::from("org_01E4ZCR3C56J083X43JQXF3JK5"),
59-
/// role_slug: Some("admin"),
61+
/// role_slug: Some(&RoleSlug::from("admin")),
6062
/// })
6163
/// .await?;
6264
/// # Ok(())
@@ -141,7 +143,7 @@ mod test {
141143
.create_organization_membership(&CreateOrganizationMembershipParams {
142144
user_id: &UserId::from("user_01E4ZCR3C5A4QZ2Z2JQXGKZJ9E"),
143145
organization_id: &OrganizationId::from("org_01E4ZCR3C56J083X43JQXF3JK5"),
144-
role_slug: Some("admin"),
146+
role_slug: Some(&RoleSlug::from("admin")),
145147
})
146148
.await
147149
.unwrap();

src/user_management/operations/send_invitation.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ use serde::Serialize;
33
use thiserror::Error;
44

55
use crate::organizations::OrganizationId;
6+
use crate::roles::RoleSlug;
67
use crate::user_management::{Invitation, UserId, UserManagement};
78
use crate::{ResponseExt, WorkOsError, WorkOsResult};
89

@@ -24,7 +25,7 @@ pub struct SendInvitationParams<'a> {
2425
pub inviter_user_id: Option<&'a UserId>,
2526

2627
/// The role that the recipient will receive when they join the organization in the invitation.
27-
pub role_slug: Option<&'a str>,
28+
pub role_slug: Option<&'a RoleSlug>,
2829
}
2930

3031
/// An error returned from [`SendInvitation`].

src/user_management/operations/update_organization_membership.rs

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ use async_trait::async_trait;
22
use serde::Serialize;
33
use thiserror::Error;
44

5+
use crate::roles::RoleSlug;
56
use crate::user_management::{OrganizationMembership, OrganizationMembershipId, UserManagement};
67
use crate::{ResponseExt, WorkOsError, WorkOsResult};
78

@@ -13,7 +14,7 @@ pub struct UpdateOrganizationMembershipParams<'a> {
1314
pub organization_membership_id: &'a OrganizationMembershipId,
1415

1516
/// The unique role identifier.
16-
pub role_slug: &'a str,
17+
pub role_slug: &'a RoleSlug,
1718
}
1819

1920
/// An error returned from [`UpdateOrganizationMembership`].
@@ -37,6 +38,7 @@ pub trait UpdateOrganizationMembership {
3738
///
3839
/// ```
3940
/// # use workos::WorkOsResult;
41+
/// # use workos::roles::RoleSlug;
4042
/// # use workos::user_management::*;
4143
/// use workos::{ApiKey, WorkOs};
4244
///
@@ -47,7 +49,7 @@ pub trait UpdateOrganizationMembership {
4749
/// .user_management()
4850
/// .update_organization_membership(&UpdateOrganizationMembershipParams {
4951
/// organization_membership_id: &OrganizationMembershipId::from("om_01E4ZCR3C56J083X43JQXF3JK5"),
50-
/// role_slug: "admin",
52+
/// role_slug: &RoleSlug::from("admin"),
5153
/// })
5254
/// .await?;
5355
/// # Ok(())
@@ -136,7 +138,7 @@ mod test {
136138
organization_membership_id: &OrganizationMembershipId::from(
137139
"om_01E4ZCR3C56J083X43JQXF3JK5",
138140
),
139-
role_slug: "admin",
141+
role_slug: &RoleSlug::from("admin"),
140142
})
141143
.await
142144
.unwrap();

0 commit comments

Comments
 (0)