1 <?php 2 // This file is part of Moodle - http://moodle.org/ 3 // 4 // Moodle is free software: you can redistribute it and/or modify 5 // it under the terms of the GNU General Public License as published by 6 // the Free Software Foundation, either version 3 of the License, or 7 // (at your option) any later version. 8 // 9 // Moodle is distributed in the hope that it will be useful, 10 // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 // GNU General Public License for more details. 13 // 14 // You should have received a copy of the GNU General Public License 15 // along with Moodle. If not, see <http://www.gnu.org/licenses/>. 16 17 namespace communication_matrix\local\spec\features\synapse; 18 19 use communication_matrix\local\command; 20 use GuzzleHttp\Psr7\Response; 21 22 /** 23 * Synapse API feature to invite a user into a room. 24 * 25 * https://matrix-org.github.io/synapse/latest/admin_api/room_membership.html#edit-room-membership-api 26 * 27 * @package communication_matrix 28 * @copyright 2023 Andrew Lyons <andrew@nicols.co.uk> 29 * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later 30 * @codeCoverageIgnore 31 * This code does not warrant being tested. Testing offers no discernible benefit given its usage is tested. 32 */ 33 trait invite_member_to_room_v1 { 34 /** 35 * Join a user to a room. 36 * 37 * Note: This joins the user, and does not invite them. 38 * 39 * @param string $roomid 40 * @param string $userid 41 * @return Response 42 */ 43 public function invite_member_to_room(string $roomid, string $userid): Response { 44 $params = [ 45 ':roomid' => $roomid, 46 'user_id' => $userid, 47 ]; 48 49 return $this->execute(new command( 50 $this, 51 method: 'POST', 52 endpoint: '_synapse/admin/v1/join/:roomid', 53 params: $params, 54 )); 55 } 56 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body