Current Path : C:/xampp/htdocs/moodle/repository/onedrive/classes/ |
Current File : C:/xampp/htdocs/moodle/repository/onedrive/classes/rest.php |
<?php // This file is part of Moodle - http://moodle.org/ // // Moodle is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // Moodle is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with Moodle. If not, see <http://www.gnu.org/licenses/>. /** * Microsoft Graph API Rest Interface. * * @package repository_onedrive * @copyright 2017 Damyon Wiese * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ namespace repository_onedrive; defined('MOODLE_INTERNAL') || die(); /** * Microsoft Graph API Rest Interface. * * @copyright 2017 Damyon Wiese * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ class rest extends \core\oauth2\rest { /** * Define the functions of the rest API. * * @return array Example: * [ 'listFiles' => [ 'method' => 'get', 'endpoint' => 'http://...', 'args' => [ 'folder' => PARAM_STRING ] ] ] */ public function get_api_functions() { return [ 'list' => [ 'endpoint' => 'https://graph.microsoft.com/v1.0/me/drive/{parent}/children', 'method' => 'get', 'args' => [ '$select' => PARAM_RAW, '$expand' => PARAM_RAW, 'parent' => PARAM_RAW, '$skip' => PARAM_INT, '$skipToken' => PARAM_RAW, '$count' => PARAM_INT ], 'response' => 'json' ], 'search' => [ 'endpoint' => 'https://graph.microsoft.com/v1.0/me/drive/{parent}/search(q=\'{search}\')', 'method' => 'get', 'args' => [ 'search' => PARAM_NOTAGS, '$select' => PARAM_RAW, 'parent' => PARAM_RAW, '$skip' => PARAM_INT, '$skipToken' => PARAM_RAW, '$count' => PARAM_INT ], 'response' => 'json' ], 'get' => [ 'endpoint' => 'https://graph.microsoft.com/v1.0/me/drive/items/{fileid}', 'method' => 'get', 'args' => [ 'fileid' => PARAM_RAW, '$select' => PARAM_RAW, '$expand' => PARAM_RAW ], 'response' => 'json' ], 'create_permission' => [ 'endpoint' => 'https://graph.microsoft.com/v1.0/me/drive/items/{fileid}/invite', 'method' => 'post', 'args' => [ 'fileid' => PARAM_RAW ], 'response' => 'json' ], 'create_upload' => [ 'endpoint' => 'https://graph.microsoft.com/v1.0/me/drive/items/{parentid}:/{filename}:/createUploadSession', 'method' => 'post', 'args' => [ 'parentid' => PARAM_RAW, 'filename' => PARAM_RAW ], 'response' => 'json' ], 'get_file_by_path' => [ 'endpoint' => 'https://graph.microsoft.com/v1.0/me/drive/root:/{fullpath}', 'method' => 'get', 'args' => [ 'fullpath' => PARAM_RAW, '$select' => PARAM_RAW ], 'response' => 'json' ], 'create_folder' => [ 'endpoint' => 'https://graph.microsoft.com/v1.0/me/drive/items/{parentid}/children', 'method' => 'post', 'args' => [ 'parentid' => PARAM_RAW ], 'response' => 'json' ], 'create_link' => [ 'endpoint' => 'https://graph.microsoft.com/v1.0/me/drive/items/{fileid}/createLink', 'method' => 'post', 'args' => [ 'fileid' => PARAM_RAW ], 'response' => 'json' ], 'delete_file_by_path' => [ 'endpoint' => 'https://graph.microsoft.com/v1.0/me/drive/root:/{fullpath}', 'method' => 'delete', 'args' => [ 'fullpath' => PARAM_RAW, ], 'response' => 'json' ], 'delete_permission' => [ 'endpoint' => 'https://graph.microsoft.com/v1.0/me/drive/items/{fileid}/permissions/{permissionid}', 'method' => 'delete', 'args' => [ 'fileid' => PARAM_RAW, 'permissionid' => PARAM_RAW ], 'response' => 'json' ], ]; } }