tracking_fields = []; $this->settings = new MeetingSettings(); } /** * {@inheritdoc} */ public function itemClass($propertyName) { if ('tracking_fields' === $propertyName) { return TrackingField::class; } throw new Exception("no such array property $propertyName"); } /** * Creates a meeting on the server and returns the resulting MeetingInfoGet. * * @throws Exception describing the error (message and code) * * @return MeetingInfoGet meeting */ public function create($userId = null) { $userId = empty($userId) ? 'me' : $userId; return MeetingInfoGet::fromJson( Client::getInstance()->send('POST', "users/$userId/meetings", [], $this) ); } /** * Creates a Meeting instance from a topic. * * @param string $topic * @param int $type * * @return static */ public static function fromTopicAndType($topic, $type = self::TYPE_SCHEDULED) { $instance = new static(); $instance->topic = $topic; $instance->type = $type; return $instance; } }