Skip to content

Commit

Permalink
MDL-76583 core_external: Migrate service management to util
Browse files Browse the repository at this point in the history
  • Loading branch information
andrewnicols committed Jan 18, 2023
1 parent caddb45 commit 0392551
Show file tree
Hide file tree
Showing 2 changed files with 29 additions and 12 deletions.
28 changes: 28 additions & 0 deletions lib/external/classes/util.php
Expand Up @@ -586,4 +586,32 @@ public static function validate_format($format) {
return $format;
}

/**
* Delete all pre-built services (+ related tokens) and external functions information defined in the specified component.
*
* @param string $component name of component (moodle, mod_assignment, etc.)
*/
public static function delete_service_descriptions($component) {
global $DB;

$params = array($component);

$DB->delete_records_select(
'external_tokens',
"externalserviceid IN (SELECT id FROM {external_services} WHERE component = ?)",
$params
);
$DB->delete_records_select(
'external_services_users',
"externalserviceid IN (SELECT id FROM {external_services} WHERE component = ?)",
$params
);
$DB->delete_records_select(
'external_services_functions',
"functionname IN (SELECT name FROM {external_functions} WHERE component = ?)",
$params
);
$DB->delete_records('external_services', array('component' => $component));
$DB->delete_records('external_functions', array('component' => $component));
}
}
13 changes: 1 addition & 12 deletions lib/externallib.php
Expand Up @@ -102,18 +102,7 @@ function external_create_service_token($servicename, $contextid) {
* @param string $component name of component (moodle, mod_assignment, etc.)
*/
function external_delete_descriptions($component) {
global $DB;

$params = array($component);

$DB->delete_records_select('external_tokens',
"externalserviceid IN (SELECT id FROM {external_services} WHERE component = ?)", $params);
$DB->delete_records_select('external_services_users',
"externalserviceid IN (SELECT id FROM {external_services} WHERE component = ?)", $params);
$DB->delete_records_select('external_services_functions',
"functionname IN (SELECT name FROM {external_functions} WHERE component = ?)", $params);
$DB->delete_records('external_services', array('component'=>$component));
$DB->delete_records('external_functions', array('component'=>$component));
util::delete_service_descriptions($component);
}

/**
Expand Down

0 comments on commit 0392551

Please sign in to comment.