|
1 | 1 | use async_trait::async_trait; |
2 | | -use serde::Serialize; |
3 | 2 | use thiserror::Error; |
4 | 3 |
|
5 | 4 | use crate::user_management::{OrganizationMembership, OrganizationMembershipId, UserManagement}; |
6 | 5 | use crate::{ResponseExt, WorkOsError, WorkOsResult}; |
7 | 6 |
|
8 | | -/// The parameters for [`DeactivateOrganizationMembership`]. |
9 | | -#[derive(Debug, Serialize)] |
10 | | -pub struct DeactivateOrganizationMembershipParams<'a> { |
11 | | - /// The unique ID of the organization membership. |
12 | | - pub organization_membership_id: &'a OrganizationMembershipId, |
13 | | -} |
14 | | - |
15 | 7 | /// An error returned from [`DeactivateOrganizationMembership`]. |
16 | 8 | #[derive(Debug, Error)] |
17 | 9 | pub enum DeactivateOrganizationMembershipError {} |
@@ -43,35 +35,34 @@ pub trait DeactivateOrganizationMembership { |
43 | 35 | /// |
44 | 36 | /// let organization_membership = workos |
45 | 37 | /// .user_management() |
46 | | - /// .deactivate_organization_membership(&DeactivateOrganizationMembershipParams { |
47 | | - /// organization_membership_id: &OrganizationMembershipId::from("om_01E4ZCR3C56J083X43JQXF3JK5"), |
48 | | - /// }) |
| 38 | + /// .deactivate_organization_membership(&OrganizationMembershipId::from( |
| 39 | + /// "om_01E4ZCR3C56J083X43JQXF3JK5" |
| 40 | + /// )) |
49 | 41 | /// .await?; |
50 | 42 | /// # Ok(()) |
51 | 43 | /// # } |
52 | 44 | /// ``` |
53 | 45 | async fn deactivate_organization_membership( |
54 | 46 | &self, |
55 | | - params: &DeactivateOrganizationMembershipParams<'_>, |
| 47 | + organization_membership_id: &OrganizationMembershipId, |
56 | 48 | ) -> WorkOsResult<OrganizationMembership, DeactivateOrganizationMembershipError>; |
57 | 49 | } |
58 | 50 |
|
59 | 51 | #[async_trait] |
60 | 52 | impl DeactivateOrganizationMembership for UserManagement<'_> { |
61 | 53 | async fn deactivate_organization_membership( |
62 | 54 | &self, |
63 | | - params: &DeactivateOrganizationMembershipParams<'_>, |
| 55 | + organization_membership_id: &OrganizationMembershipId, |
64 | 56 | ) -> WorkOsResult<OrganizationMembership, DeactivateOrganizationMembershipError> { |
65 | 57 | let url = self.workos.base_url().join(&format!( |
66 | | - "/user_management/organization_memberships/{id}/deactivate", |
67 | | - id = params.organization_membership_id |
| 58 | + "/user_management/organization_memberships/{organization_membership_id}/deactivate", |
68 | 59 | ))?; |
| 60 | + |
69 | 61 | let organization_membership = self |
70 | 62 | .workos |
71 | 63 | .client() |
72 | 64 | .post(url) |
73 | 65 | .bearer_auth(self.workos.key()) |
74 | | - .json(¶ms) |
75 | 66 | .send() |
76 | 67 | .await? |
77 | 68 | .handle_unauthorized_or_generic_error() |
@@ -129,11 +120,9 @@ mod test { |
129 | 120 |
|
130 | 121 | let organization_membership = workos |
131 | 122 | .user_management() |
132 | | - .deactivate_organization_membership(&DeactivateOrganizationMembershipParams { |
133 | | - organization_membership_id: &OrganizationMembershipId::from( |
134 | | - "om_01E4ZCR3C56J083X43JQXF3JK5", |
135 | | - ), |
136 | | - }) |
| 123 | + .deactivate_organization_membership(&OrganizationMembershipId::from( |
| 124 | + "om_01E4ZCR3C56J083X43JQXF3JK5", |
| 125 | + )) |
137 | 126 | .await |
138 | 127 | .unwrap(); |
139 | 128 |
|
|
0 commit comments