This commit is contained in:
Naden
2026-04-25 04:41:23 +07:00
commit 7e9668a552
195 changed files with 20254 additions and 0 deletions

View File

@@ -0,0 +1,146 @@
<?php
/**
* @copyright https://github.com/UsabilityDynamics/zoom-api-php-client/blob/master/LICENSE
*/
namespace Zoom\Endpoint;
use Zoom\Interfaces\Request;
/**
* Class Meetings
* @package Zoom\Endpoint
*/
class Meetings extends Request {
/**
* Meetings constructor.
* @param $apiKey
* @param $apiSecret
*/
public function __construct($apiKey, $apiSecret) {
parent::__construct($apiKey, $apiSecret);
}
/**
* List
*
* @param $userId
* @param array $query
* @return array|mixed
*/
public function list(string $userId, array $query = []) {
return $this->get("users/{$userId}/meetings", $query);
}
public function userInfo(string $email) {
return $this->get("users/me");
}
/**
* Create
*
* @param $userId
* @param array $data
* @return array|mixed
*/
public function create(string $userId, array $data = null) {
return $this->post("users/{$userId}/meetings", $data);
}
/**
* Meeting
*
* @param $meetingId
* @return array|mixed
*/
public function meeting(string $meetingId) {
return $this->get("meetings/{$meetingId}");
}
/**
* Remove
*
* @param $meetingId
* @return array|mixed
*/
public function remove(string $meetingId) {
return $this->delete("meetings/{$meetingId}");
}
/**
* Update
*
* @param $meetingId
* @param array $data
* @return array|mixed
*/
public function update(string $meetingId, array $data = []) {
return $this->patch("meetings/{$meetingId}", $data);
}
/**
* Status
*
* @param $meetingId
* @param array $data
* @return mixed
*/
public function status(string $meetingId, array $data = []) {
return $this->put("meetings/{$meetingId}/status", $data);
}
/**
* List Registrants
*
* @param $meetingId
* @param array $query
* @return array|mixed
*/
public function listRegistrants(string $meetingId, array $query = []) {
return $this->get("meetings/{$meetingId}/registrants", $query);
}
/**
* Add Registrant
*
* @param $meetingId
* @param array $data
* @return array|mixed
*/
public function addRegistrant(string $meetingId, $data = []) {
return $this->post("meetings/{$meetingId}/registrants", $data);
}
/**
* Update Registrant Status
*
* @param $meetingId
* @param array $data
* @return array|mixed
*/
public function updateRegistrantStatus(string $meetingId, array $data = []) {
return $this->put("meetings/{$meetingId}/registrants/status", $data);
}
/**
* Past Meeting
*
* @param $meetingUUID
* @return array|mixed
*/
public function pastMeeting(string $meetingUUID) {
return $this->get("past_meetings/{$meetingUUID}");
}
/**
* Past Meeting Participants
*
* @param $meetingUUID
* @param array $query
* @return array|mixed
*/
public function pastMeetingParticipants(string $meetingUUID, array $query = []) {
return $this->get("past_meetings/{$meetingUUID}/participants", $query);
}
}

View File

@@ -0,0 +1,96 @@
<?php
/**
* @copyright https://github.com/UsabilityDynamics/zoom-api-php-client/blob/master/LICENSE
*/
namespace Zoom\Endpoint;
use Zoom\Interfaces\Request;
/**
* Class Recordings
* @package Zoom\Endpoint
*/
class Recordings extends Request {
/**
* Recordings constructor.
* @param $apiKey
* @param $apiSecret
*/
public function __construct($apiKey, $apiSecret) {
parent::__construct($apiKey, $apiSecret);
}
/**
* List
*
* @param $userId
* @param array $query
* @return array|mixed
*/
public function listAll(string $userId, array $query = []) {
return $this->get("users/{$userId}/recordings", $query);
}
/**
* Meeting
*
* @param $meetingId
* @return array|mixed
*/
public function meeting(string $meetingId) {
return $this->get("meetings/{$meetingId}/recordings");
}
public function download(string $meetingId) {
return $this->get($meetingId);
}
/**
* Remove All
*
* @param $meetingId
* @param array $query
* @return array|mixed
*/
public function removeAll(string $meetingId, array $query = [ 'action' => 'trash' ]) {
return $this->delete("meetings/{$meetingId}/recordings", $query);
}
/**
* Remove
*
* @param $meetingId
* @param $recordingId
* @param array $query
* @return array|mixed
*/
public function remove(string $meetingId, string $recordingId, array $query = [ 'action' => 'trash' ]) {
return $this->delete("meetings/{$meetingId}/recordings/{$recordingId}", $query);
}
/**
* Recover All
*
* @param $meetingId
* @param array $data
* @return array|mixed
*/
public function recoverAll(string $meetingId, array $data = [ 'action' => 'recover' ]) {
return $this->put("meetings/{$meetingId}/recordings/status", $data);
}
/**
* Recover
*
* @param $meetingId
* @param $recordingId
* @param array $data
* @return array|mixed
*/
public function recover(string $meetingId, string $recordingId, array $data = [ 'action' => 'recover' ]) {
return $this->put("meetings/{$meetingId}/recordings/{$recordingId}/status", $data);
}
}

View File

@@ -0,0 +1,36 @@
<?php
/**
* @copyright https://github.com/UsabilityDynamics/zoom-api-php-client/blob/master/LICENSE
*/
namespace Zoom\Endpoint;
use Zoom\Interfaces\Request;
/**
* Class Reports
* @package Zoom\Interfaces
*/
class Reports extends Request {
/**
* Meetings constructor.
* @param $apiKey
* @param $apiSecret
*/
public function __construct($apiKey, $apiSecret) {
parent::__construct($apiKey, $apiSecret);
}
/**
* Meeting Participants
*
* @param $meetingUUID
* @param array $query
* @return array|mixed
*/
public function meetingParticipants(string $meetingUUID, array $query = []) {
return $this->get("report/meetings/{$meetingUUID}/participants", $query);
}
}

View File

@@ -0,0 +1,76 @@
<?php
/**
* @copyright https://github.com/UsabilityDynamics/zoom-api-php-client/blob/master/LICENSE
*/
namespace Zoom\Endpoint;
use Zoom\Interfaces\Request;
/**
* Class Users
* @package Zoom\Interfaces
*/
class Users extends Request {
/**
* Users constructor.
* @param $apiKey
* @param $apiSecret
*/
public function __construct($apiKey, $apiSecret) {
parent::__construct($apiKey, $apiSecret);
}
/**
* List
*
* @param array $query
* @return array|mixed
*/
public function list( array $query = [] ) {
return $this->get( "users", $query );
}
/**
* Create
*
* @param array|null $data
* @return array|mixed
*/
public function create( array $data = null ) {
return $this->post( "users", $data );
}
/**
* Retrieve
*
* @param $userID
* @param array $query
* @return array|mixed
*/
public function retrieve( string $userID, array $query = [] ) {
return $this->get( "users/{$userID}", $query );
}
/**
* Remove
*
* @param $userId
* @return array|mixed
*/
public function remove( string $userId ) {
return $this->delete( "users/{$userId}" );
}
/**
* Update
*
* @param $userId
* @param array $data
* @return array|mixed
*/
public function update( string $userId, array $data = [] ) {
return $this->patch( "users/{$userId}", $data );
}
}

View File

@@ -0,0 +1,143 @@
<?php
/**
* @copyright https://github.com/UsabilityDynamics/zoom-api-php-client/blob/master/LICENSE
*/
namespace Zoom\Endpoint;
use Zoom\Interfaces\Request;
/**
* Class Webinars
* @package Zoom\Endpoint
*/
class Webinars extends Request {
/**
* webinars constructor.
* @param $apiKey
* @param $apiSecret
*/
public function __construct($apiKey, $apiSecret) {
parent::__construct($apiKey, $apiSecret);
}
/**
* List
*
* @param $userId
* @param array $query
* @return array|mixed
*/
public function list(string $userId, array $query = []) {
return $this->get("users/{$userId}/webinars", $query);
}
/**
* Create
*
* @param $userId
* @param array $data
* @return array|mixed
*/
public function create(string $userId, array $data = null) {
return $this->post("users/{$userId}/webinars", $data);
}
/**
* Meeting
*
* @param $meetingId
* @return array|mixed
*/
public function meeting(string $meetingId) {
return $this->get("webinars/{$meetingId}");
}
/**
* Remove
*
* @param $meetingId
* @return array|mixed
*/
public function remove(string $meetingId) {
return $this->delete("webinars/{$meetingId}");
}
/**
* Update
*
* @param $meetingId
* @param array $data
* @return array|mixed
*/
public function update(string $meetingId, array $data = []) {
return $this->patch("webinars/{$meetingId}", $data);
}
/**
* Status
*
* @param $meetingId
* @param array $data
* @return mixed
*/
public function status(string $meetingId, array $data = []) {
return $this->put("webinars/{$meetingId}/status", $data);
}
/**
* List Registrants
*
* @param $meetingId
* @param array $query
* @return array|mixed
*/
public function listRegistrants(string $meetingId, array $query = []) {
return $this->get("webinars/{$meetingId}/registrants", $query);
}
/**
* Add Registrant
*
* @param $meetingId
* @param array $data
* @return array|mixed
*/
public function addRegistrant(string $meetingId, $data = []) {
return $this->post("webinars/{$meetingId}/registrants", $data);
}
/**
* Update Registrant Status
*
* @param $meetingId
* @param array $data
* @return array|mixed
*/
public function updateRegistrantStatus(string $meetingId, array $data = []) {
return $this->put("webinars/{$meetingId}/registrants/status", $data);
}
/**
* Past Meeting
*
* @param $meetingUUID
* @return array|mixed
*/
public function pastMeeting(string $meetingUUID) {
return $this->get("past_webinars/{$meetingUUID}");
}
/**
* Past Meeting Participants
*
* @param $meetingUUID
* @param array $query
* @return array|mixed
*/
public function pastMeetingParticipants(string $meetingUUID, array $query = []) {
return $this->get("past_webinars/{$meetingUUID}/participants", $query);
}
}