diff --git a/lib/UserManagement.php b/lib/UserManagement.php index e21eae6a..eae733a2 100644 --- a/lib/UserManagement.php +++ b/lib/UserManagement.php @@ -218,18 +218,20 @@ public function deleteUser($userId) * * @param string $userId User ID * @param string $organizationId Organization ID + * @param string|null $roleSlug Role Slug * * @throws Exception\WorkOSException * * @return Resource\OrganizationMembership */ - public function createOrganizationMembership($userId, $organizationId) + public function createOrganizationMembership($userId, $organizationId, $roleSlug = null) { $path = "user_management/organization_memberships"; $params = [ "organization_id" => $organizationId, - "user_id" => $userId + "user_id" => $userId, + "role_slug" => $roleSlug ]; $response = Client::request( @@ -295,18 +297,18 @@ public function deleteOrganizationMembership($organizationMembershipId) * Update a User organization membership. * * @param string $organizationMembershipId Organization Membership ID - * @param string $role_slug The unique role identifier. + * @param string|null $role_slug The unique role identifier. * * @throws Exception\WorkOSException * * @return Resource\OrganizationMembership */ - public function updateOrganizationMembership($organizationMembershipId, $role_slug) + public function updateOrganizationMembership($organizationMembershipId, $roleSlug = null) { $path = "user_management/organization_memberships/{$organizationMembershipId}"; $params = [ - "role_slug" => $role_slug + "role_slug" => $roleSlug ]; $response = Client::request( diff --git a/tests/WorkOS/UserManagementTest.php b/tests/WorkOS/UserManagementTest.php index 9a2b74aa..83b81063 100644 --- a/tests/WorkOS/UserManagementTest.php +++ b/tests/WorkOS/UserManagementTest.php @@ -837,13 +837,15 @@ public function testCreateOrganizationMembership() { $userId = "user_01H7X1M4TZJN5N4HG4XXMA1234"; $orgId = "org_01EHQMYV6MBK39QC5PZXHY59C3"; + $roleSlug = "admin"; $path = "user_management/organization_memberships"; $result = $this->organizationMembershipResponseFixture(); $params = [ "organization_id" => $orgId, - "user_id" => $userId + "user_id" => $userId, + "role_slug" => $roleSlug ]; $this->mockRequest( @@ -857,7 +859,8 @@ public function testCreateOrganizationMembership() $organizationMembership = $this->organizationMembershipFixture(); - $response = $this->userManagement->createOrganizationMembership($userId, $orgId); + $response = $this->userManagement->createOrganizationMembership($userId, $orgId, $roleSlug); + $this->assertSame($organizationMembership, $response->toArray()); }