Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
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
124 changes: 124 additions & 0 deletions .drone.yml
Original file line number Diff line number Diff line change
Expand Up @@ -333,6 +333,41 @@ trigger:
- pull_request
- push

---
kind: pipeline
name: int-sqlite-command

steps:
- name: integration-command
image: nextcloudci/php7.3:php7.3-5
environment:
APP_NAME: spreed
CORE_BRANCH: master
DATABASEHOST: sqlite
commands:
- bash tests/drone-run-integration-tests.sh || exit 0
- wget https://raw.githubusercontent.com/nextcloud/travis_ci/master/before_install.sh
- bash ./before_install.sh $APP_NAME $CORE_BRANCH $DATABASEHOST
- cd ../server
- ./occ app:enable $APP_NAME
- cd apps/$APP_NAME

# Run integration tests
- cd tests/integration/
- bash run.sh features/command

services:
- name: cache
image: redis

trigger:
branch:
- master
- stable*
event:
- pull_request
- push

---
kind: pipeline
name: int-sqlite-conversation
Expand Down Expand Up @@ -493,6 +528,51 @@ trigger:
# - pull_request
- push

---
kind: pipeline
name: int-mysql-command

steps:
- name: integration-command
image: nextcloudci/php7.3:php7.3-5
environment:
APP_NAME: spreed
CORE_BRANCH: master
DATABASEHOST: mysql
commands:
- bash tests/drone-run-integration-tests.sh || exit 0
- wget https://raw.githubusercontent.com/nextcloud/travis_ci/master/before_install.sh
- bash ./before_install.sh $APP_NAME $CORE_BRANCH $DATABASEHOST
- cd ../server
- ./occ app:enable $APP_NAME
- cd apps/$APP_NAME

# Run integration tests
- cd tests/integration/
- bash run.sh features/command

services:
- name: cache
image: redis
- name: mysql
image: mysql:5.7.22
environment:
MYSQL_ROOT_PASSWORD: owncloud
MYSQL_USER: oc_autotest
MYSQL_PASSWORD: owncloud
MYSQL_DATABASE: oc_autotest
command: [ "--innodb_large_prefix=true", "--innodb_file_format=barracuda", "--innodb_file_per_table=true" ]
tmpfs:
- /var/lib/mysql

trigger:
branch:
- master
- stable*
event:
# - pull_request
- push

---
kind: pipeline
name: int-mysql-conversation
Expand Down Expand Up @@ -671,6 +751,50 @@ trigger:
# - pull_request
- push

---
kind: pipeline
name: int-pgsql-command

steps:
- name: integration-command
image: nextcloudci/php7.3:php7.3-5
environment:
APP_NAME: spreed
CORE_BRANCH: master
DATABASEHOST: pgsql
commands:
- bash tests/drone-run-integration-tests.sh || exit 0
- wget https://raw.githubusercontent.com/nextcloud/travis_ci/master/before_install.sh
- bash ./before_install.sh $APP_NAME $CORE_BRANCH $DATABASEHOST
- cd ../server
- ./occ app:enable $APP_NAME
- cd apps/$APP_NAME

# Run integration tests
- cd tests/integration/
- bash run.sh features/command

services:
- name: cache
image: redis
- name: pgsql
image: postgres:10
environment:
POSTGRES_USER: oc_autotest
POSTGRES_DB: oc_autotest_dummy
POSTGRES_HOST_AUTH_METHOD: trust
POSTGRES_PASSWORD:
tmpfs:
- /var/lib/postgresql/data

trigger:
branch:
- master
- stable*
event:
# - pull_request
- push

---
kind: pipeline
name: int-pgsql-conversation
Expand Down
2 changes: 1 addition & 1 deletion appinfo/info.xml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ And in the works for the [coming versions](https://github.com/nextcloud/spreed/m

]]></description>

<version>11.0.0-dev.2</version>
<version>11.0.0-dev.6</version>
<licence>agpl</licence>

<author>Daniel Calviño Sánchez</author>
Expand Down
81 changes: 59 additions & 22 deletions appinfo/routes.php
Original file line number Diff line number Diff line change
Expand Up @@ -180,23 +180,23 @@
'url' => '/api/{apiVersion}/room',
'verb' => 'GET',
'requirements' => [
'apiVersion' => 'v(1|2)',
'apiVersion' => 'v(1|2|3)',
],
],
[
'name' => 'Room#createRoom',
'url' => '/api/{apiVersion}/room',
'verb' => 'POST',
'requirements' => [
'apiVersion' => 'v(1|2)',
'apiVersion' => 'v(1|2|3)',
],
],
[
'name' => 'Room#getSingleRoom',
'url' => '/api/{apiVersion}/room/{token}',
'verb' => 'GET',
'requirements' => [
'apiVersion' => 'v(1|2)',
'apiVersion' => 'v(1|2|3)',
'token' => '^[a-z0-9]{4,30}$',
],
],
Expand All @@ -205,7 +205,7 @@
'url' => '/api/{apiVersion}/room/{token}',
'verb' => 'PUT',
'requirements' => [
'apiVersion' => 'v(1|2)',
'apiVersion' => 'v(1|2|3)',
'token' => '^[a-z0-9]{4,30}$',
],
],
Expand All @@ -214,7 +214,7 @@
'url' => '/api/{apiVersion}/room/{token}',
'verb' => 'DELETE',
'requirements' => [
'apiVersion' => 'v(1|2)',
'apiVersion' => 'v(1|2|3)',
'token' => '^[a-z0-9]{4,30}$',
],
],
Expand All @@ -223,7 +223,7 @@
'url' => '/api/{apiVersion}/room/{token}/public',
'verb' => 'POST',
'requirements' => [
'apiVersion' => 'v(1|2)',
'apiVersion' => 'v(1|2|3)',
'token' => '^[a-z0-9]{4,30}$',
],
],
Expand All @@ -232,7 +232,7 @@
'url' => '/api/{apiVersion}/room/{token}/public',
'verb' => 'DELETE',
'requirements' => [
'apiVersion' => 'v(1|2)',
'apiVersion' => 'v(1|2|3)',
'token' => '^[a-z0-9]{4,30}$',
],
],
Expand All @@ -241,7 +241,7 @@
'url' => '/api/{apiVersion}/room/{token}/read-only',
'verb' => 'PUT',
'requirements' => [
'apiVersion' => 'v(1|2)',
'apiVersion' => 'v(1|2|3)',
'token' => '^[a-z0-9]{4,30}$',
],
],
Expand All @@ -250,7 +250,7 @@
'url' => '/api/{apiVersion}/room/{token}/password',
'verb' => 'PUT',
'requirements' => [
'apiVersion' => 'v(1|2)',
'apiVersion' => 'v(1|2|3)',
'token' => '^[a-z0-9]{4,30}$',
],
],
Expand All @@ -259,7 +259,7 @@
'url' => '/api/{apiVersion}/room/{token}/participants',
'verb' => 'GET',
'requirements' => [
'apiVersion' => 'v(1|2)',
'apiVersion' => 'v(1|2|3)',
'token' => '^[a-z0-9]{4,30}$',
],
],
Expand All @@ -268,7 +268,7 @@
'url' => '/api/{apiVersion}/room/{token}/participants',
'verb' => 'POST',
'requirements' => [
'apiVersion' => 'v(1|2)',
'apiVersion' => 'v(1|2|3)',
'token' => '^[a-z0-9]{4,30}$',
],
],
Expand All @@ -277,7 +277,7 @@
'url' => '/api/{apiVersion}/room/{token}/participants',
'verb' => 'DELETE',
'requirements' => [
'apiVersion' => 'v(1|2)',
'apiVersion' => 'v(1|2|3)',
'token' => '^[a-z0-9]{4,30}$',
],
],
Expand All @@ -286,7 +286,7 @@
'url' => '/api/{apiVersion}/room/{token}/participants/self',
'verb' => 'DELETE',
'requirements' => [
'apiVersion' => 'v(1|2)',
'apiVersion' => 'v(1|2|3)',
'token' => '^[a-z0-9]{4,30}$',
],
],
Expand All @@ -295,7 +295,16 @@
'url' => '/api/{apiVersion}/room/{token}/participants/guests',
'verb' => 'DELETE',
'requirements' => [
'apiVersion' => 'v(1|2)',
'apiVersion' => 'v(1|2|3)',
'token' => '^[a-z0-9]{4,30}$',
],
],
[
'name' => 'Room#removeAttendeeFromRoom',
'url' => '/api/{apiVersion}/room/{token}/attendees',
'verb' => 'DELETE',
'requirements' => [
'apiVersion' => 'v3',
'token' => '^[a-z0-9]{4,30}$',
],
],
Expand All @@ -304,7 +313,7 @@
'url' => '/api/{apiVersion}/room/{token}/participants/active',
'verb' => 'POST',
'requirements' => [
'apiVersion' => 'v(1|2)',
'apiVersion' => 'v(1|2|3)',
'token' => '^[a-z0-9]{4,30}$',
],
],
Expand All @@ -313,7 +322,7 @@
'url' => '/api/{apiVersion}/room/{token}/participants/active',
'verb' => 'DELETE',
'requirements' => [
'apiVersion' => 'v(1|2)',
'apiVersion' => 'v(1|2|3)',
'token' => '^[a-z0-9]{4,30}$',
],
],
Expand All @@ -322,7 +331,7 @@
'url' => '/api/{apiVersion}/room/{token}/moderators',
'verb' => 'POST',
'requirements' => [
'apiVersion' => 'v(1|2)',
'apiVersion' => 'v(1|2|3)',
'token' => '^[a-z0-9]{4,30}$',
],
],
Expand All @@ -331,7 +340,7 @@
'url' => '/api/{apiVersion}/room/{token}/moderators',
'verb' => 'DELETE',
'requirements' => [
'apiVersion' => 'v(1|2)',
'apiVersion' => 'v(1|2|3)',
'token' => '^[a-z0-9]{4,30}$',
],
],
Expand All @@ -340,7 +349,7 @@
'url' => '/api/{apiVersion}/room/{token}/favorite',
'verb' => 'POST',
'requirements' => [
'apiVersion' => 'v(1|2)',
'apiVersion' => 'v(1|2|3)',
'token' => '^[a-z0-9]{4,30}$',
],
],
Expand All @@ -349,16 +358,26 @@
'url' => '/api/{apiVersion}/room/{token}/favorite',
'verb' => 'DELETE',
'requirements' => [
'apiVersion' => 'v(1|2)',
'apiVersion' => 'v(1|2|3)',
'token' => '^[a-z0-9]{4,30}$',
],
],
[
'name' => 'Room#getParticipantByDialInPin',
'url' => '/api/{apiVersion}/room/{token}/pin/{pin}',
'verb' => 'GET',
'requirements' => [
'apiVersion' => 'v(2|3)', // FIXME v3 only?
'token' => '^[a-z0-9]{4,30}$',
'pin' => '^\d{7,32}$',
],
],
[
'name' => 'Room#setNotificationLevel',
'url' => '/api/{apiVersion}/room/{token}/notify',
'verb' => 'POST',
'requirements' => [
'apiVersion' => 'v(1|2)',
'apiVersion' => 'v(1|2|3)',
'token' => '^[a-z0-9]{4,30}$',
],
],
Expand Down Expand Up @@ -493,10 +512,28 @@
'token' => '^[a-z0-9]{4,30}$',
],
],
[
'name' => 'Webinar#setSIPEnabled',
'url' => '/api/{apiVersion}/room/{token}/{webinar}/sip',
'verb' => 'PUT',
'requirements' => [
'apiVersion' => 'v(1|2)',// FIXME v2 only?
'webinar' => 'webinary?',
'token' => '^[a-z0-9]{4,30}$',
],
],

/**
* UserSettings
* Settings
*/
[
'name' => 'Settings#setSIPSettings',
'url' => '/api/{apiVersion}/settings/sip',
'verb' => 'POST',
'requirements' => [
'apiVersion' => 'v1',
],
],
[
'name' => 'Settings#setUserSetting',
'url' => '/api/{apiVersion}/settings/user',
Expand Down
Loading