Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
75 commits
Select commit Hold shift + click to select a range
99dd713
Only use numeric tokens for conversations when sip is configured
nickvergessen Oct 8, 2020
688d3b1
Add a setting which groups can enable SIP in conversations
nickvergessen Oct 8, 2020
d955555
Add dial-in info and fix group display names
nickvergessen Oct 8, 2020
6ad483c
Add SIP status column to rooms table
nickvergessen Oct 12, 2020
ca9ebc2
Fix unit tests?
nickvergessen Oct 12, 2020
845c53f
More strict token generation
nickvergessen Oct 14, 2020
f76a2ad
Add a shared secret
nickvergessen Oct 14, 2020
ab2e30a
Allow the SIP bridge to get the room data
nickvergessen Oct 14, 2020
89bdbe0
Add an endpoint to enable the SIP per conversation
nickvergessen Oct 14, 2020
2ae9926
Check if the SIP is configured
nickvergessen Oct 14, 2020
c4a16e6
Add UI option to enable SIP
nickvergessen Oct 14, 2020
a4543ae
Notify the HPB about SIP changes
nickvergessen Oct 14, 2020
61504d5
Add a phone icon for SIP phone users
nickvergessen Oct 14, 2020
94cea96
Fix PHP CS
nickvergessen Oct 14, 2020
20bc007
No mix of _ and -
nickvergessen Oct 15, 2020
4706b55
401 Unauthorized when the SIP headers are provided but invalid
nickvergessen Oct 15, 2020
3b8299f
Split table of participants into attendees and sessions
nickvergessen Oct 15, 2020
eae9ad7
Move participants table in Manager to attendees
nickvergessen Oct 15, 2020
3c1cb1d
Remove updating-methods from Participant object
nickvergessen Oct 16, 2020
a961a26
Fix casting of values
nickvergessen Oct 19, 2020
c19f07c
Fix function usage
nickvergessen Oct 19, 2020
311aa4b
Currently ignore session handling in chat controller
nickvergessen Oct 19, 2020
1912c91
Fix joining a room for users
nickvergessen Oct 19, 2020
f2d5dac
Add a function to change the participant type
nickvergessen Oct 19, 2020
ccfd918
Fix loading a Room by session
nickvergessen Oct 19, 2020
f905186
Fix getting the list of participants
nickvergessen Oct 19, 2020
9fed7b6
Fix joining as a guest and leaving a conversation as a session
nickvergessen Oct 21, 2020
b76b92f
Fix creating conversations and adding participants
nickvergessen Oct 21, 2020
542c379
Further adjustments in the RoomController
nickvergessen Oct 22, 2020
6c20e59
Move Room::getParticipantUserIds() to participant service
nickvergessen Oct 22, 2020
b7c7838
Fix sharing code
nickvergessen Oct 22, 2020
cc93851
Move counting functions to participant service
nickvergessen Oct 22, 2020
c41b57b
Allow to include/ignore guest moderators
nickvergessen Oct 22, 2020
1062736
Fix adding participants to file rooms
nickvergessen Oct 22, 2020
9666866
Only use addUsers and joinRoom from Participant service
nickvergessen Oct 22, 2020
204d80f
Update the session correctly
nickvergessen Oct 22, 2020
ad6a3ae
Move changeInCall to particiant service
nickvergessen Oct 23, 2020
1acb100
Fix session handling so lobby can kick you correctly
nickvergessen Oct 23, 2020
b22912e
Remove users when they are denied (e.g. the share was removed)
nickvergessen Oct 23, 2020
8a5bcd1
Fix PHP CS
nickvergessen Oct 23, 2020
def9d73
Fix typo in function name
nickvergessen Oct 23, 2020
d590841
Fix searching for mention auto completes
nickvergessen Oct 23, 2020
86a3bb5
Fix chat code base
nickvergessen Oct 23, 2020
5c38932
!fixup Fix chat code base
nickvergessen Oct 23, 2020
d945483
Move some more functions to the services
nickvergessen Oct 23, 2020
b7a677e
Fix PHP cs
nickvergessen Oct 23, 2020
8cdcf5a
Only return rooms with an attendee match
nickvergessen Oct 26, 2020
ca16dca
Ignore "missing" doctrine classes
nickvergessen Oct 26, 2020
3bacf9c
Fix some more participant handling
nickvergessen Oct 26, 2020
696bb5e
Fix checking for Session class
nickvergessen Oct 26, 2020
3c61bd4
Move more functions to the services
nickvergessen Oct 26, 2020
a11b907
Remove last participant modifying functions from Room object
nickvergessen Oct 26, 2020
5577de7
Simplify query methods and inject the config on the method
nickvergessen Oct 26, 2020
c08b291
Fix commands
nickvergessen Oct 26, 2020
2861712
Start integration tests for commands
nickvergessen Oct 26, 2020
70599c2
Execute integration tests on drone
nickvergessen Oct 26, 2020
776bcd6
Add integration tests for creation (as that tests all parts of the se…
nickvergessen Oct 27, 2020
164da75
Remove talk:room:* unit tests as they don't work anymore and should b…
nickvergessen Oct 27, 2020
d24e523
Fix the unit tests
nickvergessen Oct 27, 2020
2891f29
===================================================
nickvergessen Oct 27, 2020
d907221
Add an endpoint to validate a PIN for a given conversation
nickvergessen Oct 27, 2020
c2f00e0
Generate a PIN when inviting an email address
nickvergessen Oct 27, 2020
7678eba
Fix PHP CS
nickvergessen Oct 28, 2020
4504cb6
Inject the room into the pin validation
nickvergessen Oct 28, 2020
b0b6cb9
Add API v3 with actor type and id
nickvergessen Oct 28, 2020
6b3f5e0
User v3 APIs to display email invites
nickvergessen Oct 28, 2020
a1cabcf
Only remove attendee in case of a guest for now (needs fixing in the …
nickvergessen Oct 29, 2020
b010a1f
last_joined_call is not a timestamp not a date field
nickvergessen Oct 29, 2020
6996121
Allow moderator interactions based on attendee id
nickvergessen Oct 29, 2020
fcc296a
Add an endpoint to delete a participant by attendee id
nickvergessen Oct 29, 2020
f1fdecc
userId is no more
nickvergessen Oct 29, 2020
e703520
Update the docs a bit
nickvergessen Oct 29, 2020
6cc98c5
Only use the Mapper in the Services
nickvergessen Oct 29, 2020
05e7cac
Add an empty display_name column as preparation to merge the oc_talk_…
nickvergessen Oct 29, 2020
13d5596
Temporary disable SIP UI parts
nickvergessen Oct 29, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Update the docs a bit
Signed-off-by: Joas Schilling <[email protected]>
  • Loading branch information
nickvergessen committed Oct 30, 2020
commit e703520180dc3883139d9276f75dc44d4f82f923
4 changes: 4 additions & 0 deletions docs/conversation.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

* Base endpoint for API v1 is: `/ocs/v2.php/apps/spreed/api/v1`
* Base endpoint for API v2 is: `/ocs/v2.php/apps/spreed/api/v2`
* Base endpoint for API v3 is: `/ocs/v2.php/apps/spreed/api/v3`

## Get user´s conversations

Expand Down Expand Up @@ -29,6 +30,9 @@
`name` | string | * | Name of the conversation (can also be empty)
`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
`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)
`participantFlags` | int | * | Flags of the current user (only available with `in-call-flags` capability)
`readOnly` | int | * | Read-only state for the current user (only available with `read-only-rooms` capability)
Expand Down
69 changes: 50 additions & 19 deletions docs/participant.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
# Participant API

Base endpoint is: `/ocs/v2.php/apps/spreed/api/v1`
* Base endpoint for API v1 is: `/ocs/v2.php/apps/spreed/api/v1`
* Base endpoint for API v2 is: `/ocs/v2.php/apps/spreed/api/v2`
* Base endpoint for API v3 is: `/ocs/v2.php/apps/spreed/api/v3`

## Get list of participants in a conversation

Expand All @@ -22,16 +24,19 @@ Base endpoint is: `/ocs/v2.php/apps/spreed/api/v1`
- Data:
Array of participants, each participant has at least:

field | type | Description
------|------|------------
`userId` | string | Is empty for guests
`displayName` | string | Can be empty for guests
`participantType` | int | Permissions level of the participant
`lastPing` | int | Timestamp of the last ping of the user (should be used for sorting)
`sessionId` | string | `'0'` if not connected, otherwise a 512 character long string
`status` | string | Optional: Only available with `includeStatus=true` and for users with a set status
`statusIcon` | string | Optional: Only available with `includeStatus=true` and for users with a set status
`statusMessage` | string | Optional: Only available with `includeStatus=true` and for users with a set status
field | type | API | Description
------|------|-----|------------
`userId` | string | v1 + v2| Is empty for guests
`attendeeId` | int | v3 | Unique attendee id
`actorType` | string | v3 | Currently known `users|guests|emails|groups`
`actorId` | string | v3 | The unique identifier for the given actor type
`displayName` | string | | Can be empty for guests
`participantType` | int | | Permissions level of the participant
`lastPing` | int | | Timestamp of the last ping of the user (should be used for sorting)
`sessionId` | string | | `'0'` if not connected, otherwise a 512 character long string
`status` | string | | Optional: Only available with `includeStatus=true` and for users with a set status
`statusIcon` | string | | Optional: Only available with `includeStatus=true` and for users with a set status
`statusMessage` | string | | Optional: Only available with `includeStatus=true` and for users with a set status

## Add a participant to a conversation

Expand Down Expand Up @@ -59,8 +64,30 @@ Base endpoint is: `/ocs/v2.php/apps/spreed/api/v1`
------|------|------------
`type` | int | In case the conversation type changed, the new value is returned

## Delete an attendee by id from a conversation

* API: Only `v3` or later
* Method: `DELETE`
* Endpoint: `/room/{token}/attendees`
* Data:

field | type | Description
------|------|------------
`attendeeId` | int | The participant to delete

* Response:
- Status code:
+ `200 OK`
+ `400 Bad Request` When the participant is a moderator or owner
+ `400 Bad Request` When there are no other moderators or owners left
+ `403 Forbidden` When the current user is not a moderator or owner
+ `403 Forbidden` When the participant to remove is an owner
+ `404 Not Found` When the conversation could not be found for the participant
+ `404 Not Found` When the participant to remove could not be found

## Delete a participant from a conversation

* API: Only `v1` and `v2`
* Method: `DELETE`
* Endpoint: `/room/{token}/participants`
* Data:
Expand Down Expand Up @@ -92,6 +119,7 @@ Base endpoint is: `/ocs/v2.php/apps/spreed/api/v1`

## Remove a guest from a conversation

* API: Only `v1` and `v2`
* Method: `DELETE`
* Endpoint: `/room/{token}/participants/guests`
* Data:
Expand Down Expand Up @@ -156,10 +184,11 @@ Base endpoint is: `/ocs/v2.php/apps/spreed/api/v1`
* Endpoint: `/room/{token}/moderators`
* Data:

field | type | Description
------|------|------------
`participant` | string or null | User to promote
`sessionId` | string or null | Guest session to promote
field | type | API | Description
------|------|-----|------------
`participant` | string or null | v1 + v2 | User to demote
`sessionId` | string or null | v1 + v2 | Guest session to demote
`attendeeId` | int or null | v3 | Attendee id can be used for guests and users

* Response:
- Status code:
Expand All @@ -176,10 +205,11 @@ Base endpoint is: `/ocs/v2.php/apps/spreed/api/v1`
* Endpoint: `/room/{token}/moderators`
* Data:

field | type | Description
------|------|------------
`participant` | string or null | User to demote
`sessionId` | string or null | Guest session to demote
field | type | API | Description
------|------|-----|------------
`participant` | string or null | v1 + v2 | User to demote
`sessionId` | string or null | v1 + v2 | Guest session to demote
`attendeeId` | int or null | v3 | Attendee id can be used for guests and users

* Response:
- Status code:
Expand All @@ -194,6 +224,7 @@ Base endpoint is: `/ocs/v2.php/apps/spreed/api/v1`

Note: This is only allowed with validate SIP bridge requests

* API: Only `v3` or later
* Method: `GET`
* Endpoint: `/room/{token}/pin/{pin}`

Expand Down