128 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			128 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
	
	
	
<?php
 | 
						|
 | 
						|
 | 
						|
namespace Twilio\Jwt\Grants;
 | 
						|
 | 
						|
 | 
						|
class ChatGrant implements Grant {
 | 
						|
    private $serviceSid;
 | 
						|
    private $endpointId;
 | 
						|
    private $deploymentRoleSid;
 | 
						|
    private $pushCredentialSid;
 | 
						|
 | 
						|
    /**
 | 
						|
     * Returns the service sid
 | 
						|
     *
 | 
						|
     * @return string the service sid
 | 
						|
     */
 | 
						|
    public function getServiceSid() {
 | 
						|
        return $this->serviceSid;
 | 
						|
    }
 | 
						|
 | 
						|
    /**
 | 
						|
     * Set the service sid of this grant
 | 
						|
     *
 | 
						|
     * @param string $serviceSid service sid of the grant
 | 
						|
     *
 | 
						|
     * @return $this updated grant
 | 
						|
     */
 | 
						|
    public function setServiceSid($serviceSid) {
 | 
						|
        $this->serviceSid = $serviceSid;
 | 
						|
        return $this;
 | 
						|
    }
 | 
						|
 | 
						|
    /**
 | 
						|
     * Returns the endpoint id of the grant
 | 
						|
     *
 | 
						|
     * @return string the endpoint id
 | 
						|
     */
 | 
						|
    public function getEndpointId() {
 | 
						|
        return $this->endpointId;
 | 
						|
    }
 | 
						|
 | 
						|
    /**
 | 
						|
     * Set the endpoint id of the grant
 | 
						|
     *
 | 
						|
     * @param string $endpointId endpoint id of the grant
 | 
						|
     *
 | 
						|
     * @return $this updated grant
 | 
						|
     */
 | 
						|
    public function setEndpointId($endpointId) {
 | 
						|
        $this->endpointId = $endpointId;
 | 
						|
        return $this;
 | 
						|
    }
 | 
						|
 | 
						|
    /**
 | 
						|
     * Returns the deployment role sid of the grant
 | 
						|
     *
 | 
						|
     * @return string the deployment role sid
 | 
						|
     */
 | 
						|
    public function getDeploymentRoleSid() {
 | 
						|
        return $this->deploymentRoleSid;
 | 
						|
    }
 | 
						|
 | 
						|
    /**
 | 
						|
     * Set the role sid of the grant
 | 
						|
     *
 | 
						|
     * @param string $deploymentRoleSid role sid of the grant
 | 
						|
     *
 | 
						|
     * @return $this updated grant
 | 
						|
     */
 | 
						|
    public function setDeploymentRoleSid($deploymentRoleSid) {
 | 
						|
        $this->deploymentRoleSid = $deploymentRoleSid;
 | 
						|
        return $this;
 | 
						|
    }
 | 
						|
 | 
						|
    /**
 | 
						|
     * Returns the push credential sid of the grant
 | 
						|
     *
 | 
						|
     * @return string the push credential sid
 | 
						|
     */
 | 
						|
    public function getPushCredentialSid() {
 | 
						|
        return $this->pushCredentialSid;
 | 
						|
    }
 | 
						|
 | 
						|
    /**
 | 
						|
     * Set the credential sid of the grant
 | 
						|
     *
 | 
						|
     * @param string $pushCredentialSid push credential sid of the grant
 | 
						|
     *
 | 
						|
     * @return $this updated grant
 | 
						|
     */
 | 
						|
    public function setPushCredentialSid($pushCredentialSid) {
 | 
						|
        $this->pushCredentialSid = $pushCredentialSid;
 | 
						|
        return $this;
 | 
						|
    }
 | 
						|
 | 
						|
    /**
 | 
						|
     * Returns the grant type
 | 
						|
     *
 | 
						|
     * @return string type of the grant
 | 
						|
     */
 | 
						|
    public function getGrantKey() {
 | 
						|
        return "chat";
 | 
						|
    }
 | 
						|
 | 
						|
    /**
 | 
						|
     * Returns the grant data
 | 
						|
     *
 | 
						|
     * @return array data of the grant
 | 
						|
     */
 | 
						|
    public function getPayload() {
 | 
						|
        $payload = array();
 | 
						|
        if ($this->serviceSid) {
 | 
						|
            $payload['service_sid'] = $this->serviceSid;
 | 
						|
        }
 | 
						|
        if ($this->endpointId) {
 | 
						|
            $payload['endpoint_id'] = $this->endpointId;
 | 
						|
        }
 | 
						|
        if ($this->deploymentRoleSid) {
 | 
						|
            $payload['deployment_role_sid'] = $this->deploymentRoleSid;
 | 
						|
        }
 | 
						|
        if ($this->pushCredentialSid) {
 | 
						|
            $payload['push_credential_sid'] = $this->pushCredentialSid;
 | 
						|
        }
 | 
						|
 | 
						|
        return $payload;
 | 
						|
    }
 | 
						|
} |