Added external function get the event's list
Signed-off-by: Valentin Popov <info@valentineus.link>
This commit is contained in:
		@@ -130,6 +130,51 @@ final class local_webhooks_external extends external_api {
 | 
			
		||||
        return new external_value(PARAM_BOOL, 'The result operation.');
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Get the event's list.
 | 
			
		||||
     *
 | 
			
		||||
     * @return array
 | 
			
		||||
     *
 | 
			
		||||
     * @throws \ReflectionException
 | 
			
		||||
     * @throws \dml_exception
 | 
			
		||||
     * @throws \invalid_parameter_exception
 | 
			
		||||
     * @throws \restricted_context_exception
 | 
			
		||||
     */
 | 
			
		||||
    public static function get_events(): array {
 | 
			
		||||
        $context = context_system::instance();
 | 
			
		||||
        self::validate_context($context);
 | 
			
		||||
 | 
			
		||||
        return api::get_events();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Returns description of the method parameters.
 | 
			
		||||
     *
 | 
			
		||||
     * @return \external_function_parameters
 | 
			
		||||
     */
 | 
			
		||||
    public static function get_events_parameters(): external_function_parameters {
 | 
			
		||||
        return new external_function_parameters([], '');
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Returns description of the method result value.
 | 
			
		||||
     *
 | 
			
		||||
     * @return \external_multiple_structure
 | 
			
		||||
     */
 | 
			
		||||
    public static function get_events_returns(): external_multiple_structure {
 | 
			
		||||
        return new external_multiple_structure(
 | 
			
		||||
            new external_single_structure([
 | 
			
		||||
                'action'      => new external_value(PARAM_ALPHANUMEXT, ''),
 | 
			
		||||
                'component'   => new external_value(PARAM_COMPONENT, ''),
 | 
			
		||||
                'crud'        => new external_value(PARAM_ALPHA, ''),
 | 
			
		||||
                'edulevel'    => new external_value(PARAM_INT, ''),
 | 
			
		||||
                'eventname'   => new external_value(PARAM_RAW, ''),
 | 
			
		||||
                'objecttable' => new external_value(PARAM_RAW, ''),
 | 
			
		||||
                'target'      => new external_value(PARAM_RAW, ''),
 | 
			
		||||
            ], ''), ''
 | 
			
		||||
        );
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Get data by service.
 | 
			
		||||
     *
 | 
			
		||||
@@ -252,7 +297,7 @@ final class local_webhooks_external extends external_api {
 | 
			
		||||
                'point'  => new external_value(PARAM_URL, 'The service\'s endpoint.'),
 | 
			
		||||
                'status' => new external_value(PARAM_BOOL, 'The service\'s status.'),
 | 
			
		||||
                'token'  => new external_value(PARAM_RAW, 'The service\'s secret key.'),
 | 
			
		||||
            ], '')
 | 
			
		||||
            ], ''), ''
 | 
			
		||||
        );
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -141,6 +141,34 @@ final class local_webhooks_external_testcase extends externallib_advanced_testca
 | 
			
		||||
        self::assertInternalType('bool', $return);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Testing external function get the event's list.
 | 
			
		||||
     *
 | 
			
		||||
     * @throws \ReflectionException
 | 
			
		||||
     * @throws \dml_exception
 | 
			
		||||
     * @throws \invalid_parameter_exception
 | 
			
		||||
     * @throws \invalid_response_exception
 | 
			
		||||
     * @throws \restricted_context_exception
 | 
			
		||||
     */
 | 
			
		||||
    public function test_get_events() {
 | 
			
		||||
        $this->resetAfterTest();
 | 
			
		||||
        self::setAdminUser();
 | 
			
		||||
 | 
			
		||||
        $return = local_webhooks_external::get_events();
 | 
			
		||||
        $return = external_api::clean_returnvalue(local_webhooks_external::get_events_returns(), $return);
 | 
			
		||||
 | 
			
		||||
        self::assertInternalType('array', $return);
 | 
			
		||||
        self::assertCount(count(api::get_events()), $return);
 | 
			
		||||
 | 
			
		||||
        foreach ($return as $item) {
 | 
			
		||||
            self::assertInternalType('array', $item);
 | 
			
		||||
 | 
			
		||||
            self::assertEquals([
 | 
			
		||||
                'action', 'component', 'crud', 'edulevel', 'eventname', 'objecttable', 'target',
 | 
			
		||||
            ], array_keys($item));
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Testing external get record's data.
 | 
			
		||||
     *
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user