Skip to content

Commit 0bb3e06

Browse files
M4.2: External APIs: update to use new base classes
This commit adds back the commit 0a47d77 and 7e67d5e
1 parent 71245dd commit 0bb3e06

File tree

2 files changed

+28
-24
lines changed

2 files changed

+28
-24
lines changed

classes/external/get_users.php

Lines changed: 21 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,12 @@
1616

1717
namespace report_customsql\external;
1818

19-
defined('MOODLE_INTERNAL') || die();
20-
21-
global $CFG;
22-
require_once($CFG->libdir . '/externallib.php');
19+
use core_external\external_api;
20+
use core_external\external_description;
21+
use core_external\external_function_parameters;
22+
use core_external\external_multiple_structure;
23+
use core_external\external_single_structure;
24+
use core_external\external_value;
2325

2426
/**
2527
* Web service used by form autocomplete to get a list of users with a given capability.
@@ -28,16 +30,16 @@
2830
* @copyright 2020 The Open University
2931
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
3032
*/
31-
class get_users extends \external_api {
33+
class get_users extends external_api {
3234
/**
3335
* Parameter declaration.
3436
*
35-
* @return \external_function_parameters Parameters
37+
* @return external_function_parameters Parameters
3638
*/
37-
public static function execute_parameters(): \external_function_parameters {
38-
return new \external_function_parameters([
39-
'query' => new \external_value(PARAM_RAW, 'Contents of the search box.'),
40-
'capability' => new \external_value(PARAM_CAPABILITY, 'Return only users with this capability in the system context.'),
39+
public static function execute_parameters(): external_function_parameters {
40+
return new external_function_parameters([
41+
'query' => new external_value(PARAM_RAW, 'Contents of the search box.'),
42+
'capability' => new external_value(PARAM_CAPABILITY, 'Return only users with this capability in the system context.'),
4143
]);
4244
}
4345

@@ -136,16 +138,16 @@ public static function prepare_result_object(\stdClass $user, array $extrafields
136138
/**
137139
* Returns type for declaration.
138140
*
139-
* @return \external_description Result type
141+
* @return external_description Result type
140142
*/
141-
public static function execute_returns(): \external_description {
142-
return new \external_multiple_structure(
143-
new \external_single_structure([
144-
'id' => new \external_value(PARAM_INT, 'User id.'),
145-
'fullname' => new \external_value(PARAM_RAW, 'User full name.'),
146-
'identity' => new \external_value(PARAM_RAW, 'Additional user identifying info.'),
147-
'hasidentity' => new \external_value(PARAM_BOOL, 'Whether identity is non-blank.'),
148-
'profileimageurlsmall' => new \external_value(PARAM_RAW, 'URL of the user profile image.'),
143+
public static function execute_returns(): external_description {
144+
return new external_multiple_structure(
145+
new external_single_structure([
146+
'id' => new external_value(PARAM_INT, 'User id.'),
147+
'fullname' => new external_value(PARAM_RAW, 'User full name.'),
148+
'identity' => new external_value(PARAM_RAW, 'Additional user identifying info.'),
149+
'hasidentity' => new external_value(PARAM_BOOL, 'Whether identity is non-blank.'),
150+
'profileimageurlsmall' => new external_value(PARAM_RAW, 'URL of the user profile image.'),
149151
]));
150152
}
151153
}

tests/external/external_get_users_test.php

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@
1616

1717
namespace report_customsql\external;
1818

19+
use core_external\external_api;
20+
1921
defined('MOODLE_INTERNAL') || die();
2022

2123
global $CFG;
@@ -79,7 +81,7 @@ public function test_get_users_site_config(): void {
7981
[$admin] = $this->setup_users();
8082

8183
$result = get_users::execute('', 'moodle/site:config');
82-
$result = \external_api::clean_returnvalue(get_users::execute_returns(), $result);
84+
$result = external_api::clean_returnvalue(get_users::execute_returns(), $result);
8385

8486
$this->assertEquals([
8587
[
@@ -99,7 +101,7 @@ public function test_get_users_site_viewreports(): void {
99101
[$admin, $manager] = $this->setup_users();
100102

101103
$result = get_users::execute('', 'moodle/site:viewreports');
102-
$result = \external_api::clean_returnvalue(get_users::execute_returns(), $result);
104+
$result = external_api::clean_returnvalue(get_users::execute_returns(), $result);
103105

104106
$this->assertEquals([
105107
[
@@ -126,7 +128,7 @@ public function test_get_users_customsql_view(): void {
126128
[$admin, $manager, $coursecreateor] = $this->setup_users();
127129

128130
$result = get_users::execute('', 'report/customsql:view');
129-
$result = \external_api::clean_returnvalue(get_users::execute_returns(), $result);
131+
$result = external_api::clean_returnvalue(get_users::execute_returns(), $result);
130132

131133
$this->assertEquals([
132134
[
@@ -162,7 +164,7 @@ public function test_get_users_serch_without_admins(): void {
162164
[, $manager] = $this->setup_users();
163165

164166
$result = get_users::execute('Man', 'report/customsql:view');
165-
$result = \external_api::clean_returnvalue(get_users::execute_returns(), $result);
167+
$result = external_api::clean_returnvalue(get_users::execute_returns(), $result);
166168

167169
$this->assertEquals([
168170
[
@@ -182,7 +184,7 @@ public function test_get_users_serch_with_admin(): void {
182184
[$admin] = $this->setup_users();
183185

184186
$result = get_users::execute('n U', 'report/customsql:view');
185-
$result = \external_api::clean_returnvalue(get_users::execute_returns(), $result);
187+
$result = external_api::clean_returnvalue(get_users::execute_returns(), $result);
186188

187189
$this->assertEquals([
188190
[

0 commit comments

Comments
 (0)