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.');
 | 
					        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.
 | 
					     * 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.'),
 | 
					                'point'  => new external_value(PARAM_URL, 'The service\'s endpoint.'),
 | 
				
			||||||
                'status' => new external_value(PARAM_BOOL, 'The service\'s status.'),
 | 
					                'status' => new external_value(PARAM_BOOL, 'The service\'s status.'),
 | 
				
			||||||
                'token'  => new external_value(PARAM_RAW, 'The service\'s secret key.'),
 | 
					                '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);
 | 
					        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.
 | 
					     * Testing external get record's data.
 | 
				
			||||||
     *
 | 
					     *
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user