mirror of https://github.com/sualko/cloud_bbb
53 lines
1.3 KiB
PHP
53 lines
1.3 KiB
PHP
<?php
|
|
|
|
namespace OCA\BigBlueButton\Db;
|
|
|
|
use JsonSerializable;
|
|
|
|
use OCP\AppFramework\Db\Entity;
|
|
|
|
/**
|
|
* @method int getRoomId()
|
|
* @method int getMaxRooms()
|
|
* @method string getRoomTypes()
|
|
* @method int getMaxParticipants()
|
|
* @method bool getAllowRecording()
|
|
* @method void setRoomId(string $id)
|
|
* @method void setMaxRooms(int $number)
|
|
* @method void setMaxParticipants(int $number)
|
|
* @method void setAllowRecording(bool $allow)
|
|
* @method void setGroupName(string $groupName)
|
|
*/
|
|
class Restriction extends Entity implements JsonSerializable {
|
|
public const ALL_ID = '';
|
|
|
|
protected $groupId;
|
|
protected $groupName;
|
|
protected $maxRooms = -1;
|
|
protected $roomTypes = '[]';
|
|
protected $maxParticipants = -1;
|
|
protected $allowRecording = true;
|
|
|
|
public function __construct() {
|
|
$this->addType('maxRooms', 'integer');
|
|
$this->addType('maxParticipants', 'integer');
|
|
$this->addType('allowRecording', 'boolean');
|
|
}
|
|
|
|
public function setGroupName(?string $groupName) {
|
|
$this->groupName = $groupName ?? '';
|
|
}
|
|
|
|
public function jsonSerialize(): array {
|
|
return [
|
|
'id' => $this->id,
|
|
'groupId' => $this->groupId,
|
|
'groupName' => $this->groupName,
|
|
'maxRooms' => (int) $this->maxRooms,
|
|
'roomTypes' => \json_decode($this->roomTypes),
|
|
'maxParticipants' => (int) $this->maxParticipants,
|
|
'allowRecording' => boolval($this->allowRecording),
|
|
];
|
|
}
|
|
}
|