@@ -218,18 +218,20 @@ public function deleteUser($userId)
218218 *
219219 * @param string $userId User ID
220220 * @param string $organizationId Organization ID
221+ * @param string|null $roleSlug Role Slug
221222 *
222223 * @throws Exception\WorkOSException
223224 *
224225 * @return Resource\OrganizationMembership
225226 */
226- public function createOrganizationMembership ($ userId , $ organizationId )
227+ public function createOrganizationMembership ($ userId , $ organizationId, $ roleSlug = null )
227228 {
228229 $ path = "user_management/organization_memberships " ;
229230
230231 $ params = [
231232 "organization_id " => $ organizationId ,
232- "user_id " => $ userId
233+ "user_id " => $ userId ,
234+ "role_slug " => $ roleSlug
233235 ];
234236
235237 $ response = Client::request (
@@ -239,6 +241,9 @@ public function createOrganizationMembership($userId, $organizationId)
239241 $ params ,
240242 true
241243 );
244+ if (!is_null ($ roleSlug ) && !is_string ($ roleSlug )) {
245+ throw new \InvalidArgumentException ("roleSlug must be a string or null " );
246+ }
242247
243248 return Resource \OrganizationMembership::constructFromResponse ($ response );
244249 }
@@ -295,18 +300,18 @@ public function deleteOrganizationMembership($organizationMembershipId)
295300 * Update a User organization membership.
296301 *
297302 * @param string $organizationMembershipId Organization Membership ID
298- * @param string $role_slug The unique role identifier.
303+ * @param string|null $role_slug The unique role identifier.
299304 *
300305 * @throws Exception\WorkOSException
301306 *
302307 * @return Resource\OrganizationMembership
303308 */
304- public function updateOrganizationMembership ($ organizationMembershipId , $ role_slug )
309+ public function updateOrganizationMembership ($ organizationMembershipId , $ roleSlug = null )
305310 {
306311 $ path = "user_management/organization_memberships/ {$ organizationMembershipId }" ;
307312
308313 $ params = [
309- "role_slug " => $ role_slug
314+ "role_slug " => $ roleSlug
310315 ];
311316
312317 $ response = Client::request (
@@ -316,6 +321,9 @@ public function updateOrganizationMembership($organizationMembershipId, $role_sl
316321 $ params ,
317322 true
318323 );
324+ if (!is_null ($ roleSlug ) && !is_string ($ roleSlug )) {
325+ throw new \InvalidArgumentException ("roleSlug must be a string or null " );
326+ }
319327
320328 return Resource \OrganizationMembership::constructFromResponse ($ response );
321329 }
0 commit comments