mirror of
https://github.com/zulip/zulip.git
synced 2025-11-04 14:03:30 +00:00
api docs: Document POST /user_groups/{group_id}/members endpoint.
This commit is contained in:
committed by
Tim Abbott
parent
7677ba2d2b
commit
0b77525814
28
templates/zerver/api/update-user-group-members.md
Normal file
28
templates/zerver/api/update-user-group-members.md
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
# Update user group members
|
||||||
|
|
||||||
|
{generate_api_description(/user_groups/{user_group_id}/members:post)}
|
||||||
|
|
||||||
|
## Usage examples
|
||||||
|
|
||||||
|
{start_tabs}
|
||||||
|
{tab|python}
|
||||||
|
|
||||||
|
{generate_code_example(python)|/user_groups/{user_group_id}/members:post|example}
|
||||||
|
|
||||||
|
{tab|curl}
|
||||||
|
|
||||||
|
{generate_code_example(curl, exclude=["delete"])|/user_groups/{user_group_id}/members:post|example}
|
||||||
|
|
||||||
|
{end_tabs}
|
||||||
|
|
||||||
|
## Parameters
|
||||||
|
|
||||||
|
{generate_api_arguments_table|zulip.yaml|/user_groups/{user_group_id}/members:post}
|
||||||
|
|
||||||
|
## Response
|
||||||
|
|
||||||
|
#### Example response
|
||||||
|
|
||||||
|
A typical successful JSON response may look like:
|
||||||
|
|
||||||
|
{generate_code_example|/user_groups/{user_group_id}/members:post|fixture(200)}
|
||||||
@@ -47,6 +47,7 @@
|
|||||||
* [Create a user group](/api/create-user-group)
|
* [Create a user group](/api/create-user-group)
|
||||||
* [Update a user group](/api/update-user-group)
|
* [Update a user group](/api/update-user-group)
|
||||||
* [Delete a user group](/api/remove-user-group)
|
* [Delete a user group](/api/remove-user-group)
|
||||||
|
* [Update user group members](/api/update-user-group-members)
|
||||||
|
|
||||||
#### Server & organizations
|
#### Server & organizations
|
||||||
|
|
||||||
|
|||||||
@@ -1127,7 +1127,7 @@ def remove_user_group(client: Client, user_group_id: int) -> None:
|
|||||||
@openapi_test_function("/user_groups/{user_group_id}/members:post")
|
@openapi_test_function("/user_groups/{user_group_id}/members:post")
|
||||||
def update_user_group_members(client: Client, user_group_id: int) -> None:
|
def update_user_group_members(client: Client, user_group_id: int) -> None:
|
||||||
ensure_users([8, 10, 11], ['cordelia', 'hamlet', 'iago'])
|
ensure_users([8, 10, 11], ['cordelia', 'hamlet', 'iago'])
|
||||||
|
# {code_example|start}
|
||||||
request = {
|
request = {
|
||||||
'group_id': user_group_id,
|
'group_id': user_group_id,
|
||||||
'delete': [8, 10],
|
'delete': [8, 10],
|
||||||
@@ -1135,8 +1135,8 @@ def update_user_group_members(client: Client, user_group_id: int) -> None:
|
|||||||
}
|
}
|
||||||
|
|
||||||
result = client.update_user_group_members(request)
|
result = client.update_user_group_members(request)
|
||||||
|
# {code_example|end}
|
||||||
assert result['result'] == 'success'
|
validate_against_openapi_schema(result, '/user_groups/{group_id}/members', 'post', '200')
|
||||||
|
|
||||||
def test_invalid_api_key(client_with_invalid_key: Client) -> None:
|
def test_invalid_api_key(client_with_invalid_key: Client) -> None:
|
||||||
result = client_with_invalid_key.list_subscriptions()
|
result = client_with_invalid_key.list_subscriptions()
|
||||||
|
|||||||
@@ -8100,6 +8100,44 @@ paths:
|
|||||||
"code": "BAD_REQUEST",
|
"code": "BAD_REQUEST",
|
||||||
"msg": "Invalid user ID: 500",
|
"msg": "Invalid user ID: 500",
|
||||||
}
|
}
|
||||||
|
/user_groups/{user_group_id}/members:
|
||||||
|
post:
|
||||||
|
operationId: update_user_group_members
|
||||||
|
tags: ["users"]
|
||||||
|
description: |
|
||||||
|
Update the members of a [user group](/help/user-groups).
|
||||||
|
|
||||||
|
`POST {{ api_url }}/v1/user_groups/{user_group_id}/members`
|
||||||
|
parameters:
|
||||||
|
- $ref: "#/components/parameters/UserGroupId"
|
||||||
|
example: 1
|
||||||
|
- name: delete
|
||||||
|
in: query
|
||||||
|
description: |
|
||||||
|
The list of user ids to be removed from the user group.
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
type: array
|
||||||
|
items:
|
||||||
|
type: integer
|
||||||
|
example: [10]
|
||||||
|
required: false
|
||||||
|
- name: add
|
||||||
|
in: query
|
||||||
|
description: |
|
||||||
|
The list of user ids to be added to the user group.
|
||||||
|
content:
|
||||||
|
application/json:
|
||||||
|
schema:
|
||||||
|
type: array
|
||||||
|
items:
|
||||||
|
type: integer
|
||||||
|
example: [12, 13]
|
||||||
|
required: false
|
||||||
|
responses:
|
||||||
|
"200":
|
||||||
|
$ref: "#/components/responses/SimpleSuccess"
|
||||||
/user_groups/{user_group_id}:
|
/user_groups/{user_group_id}:
|
||||||
patch:
|
patch:
|
||||||
operationId: update_user_group
|
operationId: update_user_group
|
||||||
|
|||||||
@@ -292,7 +292,6 @@ class OpenAPIArgumentsTest(ZulipTestCase):
|
|||||||
'/calls/zoom/create',
|
'/calls/zoom/create',
|
||||||
|
|
||||||
#### Documented endpoints not properly detected by tooling.
|
#### Documented endpoints not properly detected by tooling.
|
||||||
'/user_groups/{user_group_id}/members',
|
|
||||||
# Regex with an unnamed capturing group.
|
# Regex with an unnamed capturing group.
|
||||||
'/users/(?!me/)(?P<email>[^/]*)/presence',
|
'/users/(?!me/)(?P<email>[^/]*)/presence',
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user