Signed-off-by: Joas Schilling <coding@schilljs.com>
This commit is contained in:
Joas Schilling 2020-11-30 12:09:57 +01:00
Родитель e0c4fd1b12
Коммит 671ded5486
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 7076EA9751AACDDA
5 изменённых файлов: 30 добавлений и 1 удалений

Просмотреть файл

@ -52,5 +52,8 @@ title: Capabilities
* `conversation-v2` - The conversations API v2 is less load heavy and should be used by clients when available. Check the difference in the [Conversation API documentation](conversation.md).
* `chat-reference-id` - an optional referenceId can be sent with a chat message to be able to identify it in parallel get requests to earlier fade out a temporary message
## 10.0
* `sip-support` - Whether conversations API v3 exists and SIP can be configured and enabled by moderators. The conversations API will come with some new values `sipEnabled` which signals whether this conversation has SIP configured as well as `canEnableSIP` to see if a user can enable it. When it is enabled `attendeePin` will contain the unique dial-in code for this user.
## 11.0
* `config => previews => max-gif-size` - Maximum size in bytes below which a GIF can be embedded directly in the page at render time. Bigger files will be rendered statically using the preview endpoint instead. Can be set with `occ config:app:set spreed max-gif-size --value=X` where X is the new value in bytes. Defaults to 3 MB.

Просмотреть файл

@ -31,6 +31,7 @@
`displayName` | string | * | `name` if non empty, otherwise it falls back to a list of participants
`participantType` | int | * | Permissions level of the current user
`attendeeId` | int | v3 | Unique attendee id
`attendeePin` | string | v3 | Unique dial-in authentication code for this user, when the conversation has SIP enabled (see `sipEnabled` attribute)
`actorType` | string | v3 | Currently known `users|guests|emails|groups`
`actorId` | string | v3 | The unique identifier for the given actor type
`participantInCall` | bool | 🏴 v1 | Flag if the current user is in the call (deprecated, use `participantFlags` instead)
@ -50,6 +51,8 @@
`notificationLevel` | int | * | The notification level for the user (one of `Participant::NOTIFY_*` (1-3))
`lobbyState` | int | * | Webinary lobby restriction (0-1), if the participant is a moderator they can always join the conversation (only available with `webinary-lobby` capability)
`lobbyTimer` | int | * | Timestamp when the lobby will be automatically disabled (only available with `webinary-lobby` capability)
`sipEnabled` | int | v3 | SIP enable status (0-1)
`canEnableSIP` | int | v3 | Whether the given user can enable SIP for this conversation. Note that when the token is not-numeric only, SIP can not be enabled even if the user is permitted and a moderator of the conversation
`unreadMessages` | int | * | Number of unread chat messages in the conversation (only available with `chat-v2` capability)
`unreadMention` | bool | * | Flag if the user was mentioned since their last visit
`lastReadMessage` | int | * | ID of the last read message in a room (only available with `chat-read-marker` capability)

Просмотреть файл

@ -1,6 +1,6 @@
# Webinar management
Group and public conversations can be used to host webinaries. Those online meetings can have a lobby, which come with the following restrictions:
Group and public conversations can be used to host webinars. Those online meetings can have a lobby, which come with the following restrictions:
* Only moderators can start/join a call
* Only moderators can read and write chat messages
@ -28,3 +28,23 @@ Base endpoint is: `/ocs/v2.php/apps/spreed/api/v1`
+ `400 Bad Request` When the given timestamp is invalid
+ `403 Forbidden` When the current user is not a moderator/owner
+ `404 Not Found` When the conversation could not be found for the participant
## Enabled or disable SIP dial-in
* Required capability: `sip-support`
* Method: `PUT`
* Endpoint: `/room/{token}/webinar/sip`
* Data:
field | type | Description
------|------|------------
`state` | int | New SIP state for the conversation (0 = disabled, 1 = enabled)
* Response:
- Status code:
+ `200 OK`
+ `400 Bad Request` When the state was invalid or the same
+ `401 Unauthorized` When the user can not enabled SIP
+ `403 Forbidden` When the current user is not a moderator/owner
+ `404 Not Found` When the conversation could not be found for the participant
+ `412 Precondition Failed` When SIP is not configured on the server

Просмотреть файл

@ -80,6 +80,7 @@ class Capabilities implements IPublicCapability {
'chat-replies',
'circles-support',
'force-mute',
'sip-support',
],
'config' => [
'attachments' => [

Просмотреть файл

@ -99,6 +99,7 @@ class CapabilitiesTest extends TestCase {
'chat-replies',
'circles-support',
'force-mute',
'sip-support',
],
'config' => [
'attachments' => [
@ -196,6 +197,7 @@ class CapabilitiesTest extends TestCase {
'circles-support',
'force-mute',
'chat-reference-id',
'sip-support',
],
'config' => [
'attachments' => [