<commit_before><commit_msg>Added SAMLModel.php<commit_after><?php
/**
 * This Driver is based entirely on official documentation of the Mattermost Web
 * Services API and you can extend it by following the directives of the documentation.
 *
 * God bless this mess.
 *
 * @author <NAME> <<EMAIL>>
 * @link https://api.mattermost.com/
 */

namespace Gnello\Mattermost\Models;

/**
 * Class SAMLModel
 *
 * @package Gnello\MattermostRestApi\Models
 */
class SAMLModel extends AbstractModel
{
    /**
     * @var string
     */
    private static $endpoint = '/saml';

    /**
     * @return \Psr\Http\Message\ResponseInterface
     */
    public function getMetadata()
    {
        return $this->client->get(self::$endpoint . '/metadata');
    }

    /**
     * @param array $requestOptions
     * @return \Psr\Http\Message\ResponseInterface
     */
    public function uploadIDPCertificate(array $requestOptions)
    {
        return $this->client->post(self::$endpoint . '/certificate/idp', $requestOptions, 'multipart');
    }

    /**
     * @return \Psr\Http\Message\ResponseInterface
     */
    public function removeIDPCertificate()
    {
        return $this->client->delete(self::$endpoint . '/certificate/idp');
    }

    /**
     * @param array $requestOptions
     * @return \Psr\Http\Message\ResponseInterface
     */
    public function uploadPublicCertificate(array $requestOptions)
    {
        return $this->client->post(self::$endpoint . '/certificate/public', $requestOptions, 'multipart');
    }

    /**
     * @return \Psr\Http\Message\ResponseInterface
     */
    public function removePublicCertificate()
    {
        return $this->client->delete(self::$endpoint . '/certificate/public');
    }

    /**
     * @param array $requestOptions
     * @return \Psr\Http\Message\ResponseInterface
     */
    public function uploadPrivateCertificate(array $requestOptions)
    {
        return $this->client->post(self::$endpoint . '/certificate/private', $requestOptions, 'multipart');
    }

    /**
     * @return \Psr\Http\Message\ResponseInterface
     */
    public function removePrivateCertificate()
    {
        return $this->client->delete(self::$endpoint . '/certificate/private');
    }

    /**
     * @return \Psr\Http\Message\ResponseInterface
     */
    public function getCertificateStatus()
    {
        return $this->client->get(self::$endpoint . '/certificate/status');
    }
}

{'fraction_non_alphanumeric': 0.140321914981428, 'fraction_numerical': 0.0, 'mean_word_length': 2.7875, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 22, 'https://': 1, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6685272', 'n_tokens_mistral': 692, 'n_tokens_neox': 684, 'n_words': 135}