Skip to content

Commit 335091e

Browse files
committed
Implemented disabledFeatures for create API.
1 parent b3829a6 commit 335091e

File tree

4 files changed

+25
-7
lines changed

4 files changed

+25
-7
lines changed

composer.json

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,9 +32,8 @@
3232
"require-dev": {
3333
"phpunit/phpunit": "^9.5",
3434
"fakerphp/faker": "^1.17",
35-
"friendsofphp/php-cs-fixer": "^3.8.0",
36-
"squizlabs/php_codesniffer": "^3.7",
37-
"php-coveralls/php-coveralls": "^2.5.2"
35+
"friendsofphp/php-cs-fixer": "^3.9.2",
36+
"squizlabs/php_codesniffer": "^3.7.1"
3837
},
3938
"scripts": {
4039
"test": "./vendor/bin/phpunit",

src/Parameters/CreateMeetingParameters.php

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -316,11 +316,9 @@ class CreateMeetingParameters extends MetaParameters
316316
private $preUploadedPresentationOverrideDefault;
317317

318318
/**
319-
* @var
320-
*
321-
* @todo
319+
* @var array
322320
*/
323-
private $disabledFeatures;
321+
private $disabledFeatures = [];
324322

325323
/**
326324
* @var
@@ -1419,6 +1417,18 @@ public function setPreUploadedPresentationOverrideDefault(bool $preUploadedPrese
14191417
return $this;
14201418
}
14211419

1420+
public function getDisabledFeatures(): array
1421+
{
1422+
return $this->disabledFeatures;
1423+
}
1424+
1425+
public function setDisabledFeatures(array $disabledFeatures): CreateMeetingParameters
1426+
{
1427+
$this->disabledFeatures = $disabledFeatures;
1428+
1429+
return $this;
1430+
}
1431+
14221432
/**
14231433
* @return array
14241434
*/
@@ -1532,6 +1542,7 @@ public function getHTTPQuery()
15321542
'meetingExpireIfNoUserJoinedInMinutes' => $this->meetingExpireIfNoUserJoinedInMinutes,
15331543
'meetingExpireWhenLastUserLeftInMinutes' => $this->meetingExpireWhenLastUserLeftInMinutes,
15341544
'preUploadedPresentationOverrideDefault' => $this->preUploadedPresentationOverrideDefault,
1545+
'disabledFeatures' => join(',', $this->disabledFeatures),
15351546
];
15361547

15371548
// Add breakout rooms parameters only if the meeting is a breakout room

tests/Parameters/CreateMeetingParametersTest.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,7 @@ public function testCreateMeetingParameters()
8282
$this->assertEquals($params['meetingEndedURL'], $createMeetingParams->getMeetingEndedURL());
8383
$this->assertEquals($params['meetingLayout'], $createMeetingParams->getMeetingLayout());
8484
$this->assertEquals($params['userCameraCap'], $createMeetingParams->getUserCameraCap());
85+
$this->assertEquals($params['meetingCameraCap'], $createMeetingParams->getMeetingCameraCap());
8586
$this->assertEquals($params['meetingExpireIfNoUserJoinedInMinutes'], $createMeetingParams->getMeetingExpireIfNoUserJoinedInMinutes());
8687
$this->assertEquals($params['meetingExpireWhenLastUserLeftInMinutes'], $createMeetingParams->getMeetingExpireWhenLastUserLeftInMinutes());
8788
$this->assertEquals($params['preUploadedPresentationOverrideDefault'], $createMeetingParams->isPreUploadedPresentationOverrideDefault());

tests/TestCase.php

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020

2121
namespace BigBlueButton;
2222

23+
use BigBlueButton\Enum\Feature;
2324
use BigBlueButton\Enum\GuestPolicy;
2425
use BigBlueButton\Enum\MeetingLayout;
2526
use BigBlueButton\Enum\Role;
@@ -178,6 +179,7 @@ protected function generateCreateParams()
178179
'meetingExpireIfNoUserJoinedInMinutes' => $this->faker->numberBetween(1, 10),
179180
'meetingExpireWhenLastUserLeftInMinutes' => $this->faker->numberBetween(5, 15),
180181
'preUploadedPresentationOverrideDefault' => $this->faker->boolean,
182+
'disabledFeatures' => $this->faker->randomElements(Feature::getValues()),
181183
'meta_presenter' => $this->faker->name,
182184
'meta_endCallbackUrl' => $this->faker->url,
183185
'meta_bbb-recording-ready-url' => $this->faker->url,
@@ -256,6 +258,11 @@ protected function getCreateMock($params)
256258
->setMeetingLayout($params['meetingLayout'])
257259
->setAllowRequestsWithoutSession($params['allowRequestsWithoutSession'])
258260
->setUserCameraCap($params['userCameraCap'])
261+
->setMeetingCameraCap($params['meetingCameraCap'])
262+
->setMeetingExpireIfNoUserJoinedInMinutes($params['meetingExpireIfNoUserJoinedInMinutes'])
263+
->setMeetingExpireWhenLastUserLeftInMinutes($params['meetingExpireWhenLastUserLeftInMinutes'])
264+
->setPreUploadedPresentationOverrideDefault($params['preUploadedPresentationOverrideDefault'])
265+
->disabledFeatures($params['disabledFeatures'])
259266
->addMeta('presenter', $params['meta_presenter'])
260267
->addMeta('bbb-recording-ready-url', $params['meta_bbb-recording-ready-url'])
261268
;

0 commit comments

Comments
 (0)