CLI: API templates
This commit is contained in:
@@ -248,7 +248,7 @@ abstract class Request {
|
||||
|
||||
// Check for permission
|
||||
$req = new \Core\API\Permission\Check($this->context);
|
||||
$this->success = $req->execute(array("method" => self::getEndpoint()));
|
||||
$this->success = $req->execute(["method" => self::getEndpoint()]);
|
||||
$this->lastError = $req->getLastError();
|
||||
if (!$this->success) {
|
||||
return false;
|
||||
@@ -336,11 +336,19 @@ abstract class Request {
|
||||
return null;
|
||||
}
|
||||
|
||||
$isNestedAPI = $reflectionClass->getParentClass()->getName() !== Request::class;
|
||||
$parentClass = $reflectionClass->getParentClass();
|
||||
if ($parentClass === false) {
|
||||
return null;
|
||||
}
|
||||
|
||||
$isNestedAPI = $parentClass->getName() !== Request::class;
|
||||
if (!$isNestedAPI) {
|
||||
# e.g. /api/stats or /api/info
|
||||
$methodName = $reflectionClass->getShortName();
|
||||
return $prefix . lcfirst($methodName);
|
||||
} else if ($parentClass->getName() === \TestRequest::class) {
|
||||
$methodName = $reflectionClass->getShortName();
|
||||
return $prefix . "/e2e-test/" . lcfirst($methodName);
|
||||
} else {
|
||||
# e.g. /api/user/login
|
||||
$methodClass = $reflectionClass;
|
||||
@@ -348,6 +356,10 @@ abstract class Request {
|
||||
while (!endsWith($nestedClass->getName(), "API")) {
|
||||
$methodClass = $nestedClass;
|
||||
$nestedClass = $nestedClass->getParentClass();
|
||||
|
||||
if (!$nestedClass) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
$nestedAPI = substr(lcfirst($nestedClass->getShortName()), 0, -3);
|
||||
|
||||
@@ -102,7 +102,7 @@ namespace Core\API {
|
||||
if ($count === 1) {
|
||||
return $string;
|
||||
} else {
|
||||
return "the next $count ${string}s";
|
||||
return "the next $count {$string}s";
|
||||
}
|
||||
}
|
||||
|
||||
@@ -222,7 +222,7 @@ namespace Core\API\User {
|
||||
|
||||
public function __construct(Context $context, $externalCall = false) {
|
||||
parent::__construct($context, $externalCall,
|
||||
self::getPaginationParameters(['id', 'name', 'fullName', 'email', 'groups', 'registeredAt', 'confirmed'],
|
||||
self::getPaginationParameters(['id', 'name', 'fullName', 'email', 'groups', 'registeredAt', 'active', 'confirmed'],
|
||||
'id', 'asc')
|
||||
);
|
||||
}
|
||||
|
||||
@@ -510,7 +510,7 @@ class RowIteratorMySQL extends RowIterator {
|
||||
return $row;
|
||||
}
|
||||
|
||||
public function rewind() {
|
||||
public function rewind(): void {
|
||||
if ($this->useCache) {
|
||||
$this->rowIndex = 0;
|
||||
} else if ($this->rowIndex !== 0) {
|
||||
|
||||
@@ -21,15 +21,15 @@ abstract class RowIterator implements \Iterator {
|
||||
protected abstract function getNumRows(): int;
|
||||
protected abstract function fetchRow(int $index): array;
|
||||
|
||||
public function current() {
|
||||
public function current(): array {
|
||||
return $this->fetchRow($this->rowIndex);
|
||||
}
|
||||
|
||||
public function next() {
|
||||
public function next(): void {
|
||||
$this->rowIndex++;
|
||||
}
|
||||
|
||||
public function key() {
|
||||
public function key(): int {
|
||||
return $this->rowIndex;
|
||||
}
|
||||
|
||||
|
||||
@@ -68,4 +68,20 @@ return [
|
||||
"color" => "Farbe",
|
||||
"logged_in_as" => "Eingeloggt als",
|
||||
"active" => "Aktiv",
|
||||
"group" => "Gruppe",
|
||||
|
||||
# dialogs
|
||||
"fetch_group_members_error" => "Fehler beim Holen der Gruppenmitglieder",
|
||||
"remove_group_member_error" => "Fehler beim Entfernen des Gruppenmitglieds",
|
||||
"add_group_member_error" => "Fehler beim Hinzufügen des Gruppenmitglieds",
|
||||
"create_group_error" => "Fehler beim Erstellen der Gruppe",
|
||||
"update_group_error" => "Error beim Aktualisieren der Gruppe",
|
||||
"delete_group_error" => "Error beim Löschen der Gruppe",
|
||||
"search_users_error" => "Fehler beim Suchen des Benutzers",
|
||||
"delete_group_title" => "Gruppe löschen",
|
||||
"delete_group_text" => "Möchten Sie diese Gruppe wirklich löschen? Dies kann nicht rückgängig gemacht werden.",
|
||||
"remove_group_member_title" => "Mitglied entfernen",
|
||||
"remove_group_member_text" => "Möchten Sie wirklich den Benutzer '%s' von dieser Gruppe entfernen?",
|
||||
"add_group_member_title" => "Mitglied hinzufügen",
|
||||
"add_group_member_text" => "Einen Benutzer suchen um ihn der Gruppe hinzuzufügen",
|
||||
];
|
||||
@@ -38,4 +38,6 @@ return [
|
||||
"remove_route_error" => "Fehler beim Entfernen der Route",
|
||||
"regenerate_router_cache_error" => "Fehler beim Erzeugen des Router Caches",
|
||||
"regenerate_router_cache_success" => "Router Cache erfolgreich erzeugt",
|
||||
"delete_route_title" => "Route löschen",
|
||||
"delete_route_text" => "Möchten Sie wirklich die folgende Route löschen?",
|
||||
];
|
||||
@@ -68,4 +68,20 @@ return [
|
||||
"color" => "Color",
|
||||
"logged_in_as" => "Logged in as",
|
||||
"active" => "Active",
|
||||
"group" => "Group",
|
||||
|
||||
# dialogs
|
||||
"fetch_group_members_error" => "Error fetching group members",
|
||||
"remove_group_member_error" => "Error removing group member",
|
||||
"add_group_member_error" => "Error adding member",
|
||||
"create_group_error" => "Error creating group",
|
||||
"update_group_error" => "Error updating group",
|
||||
"delete_group_error" => "Error deleting group",
|
||||
"search_users_error" => "Error searching users",
|
||||
"delete_group_title" => "Delete Group",
|
||||
"delete_group_text" => "Do you really want to delete this group? This action cannot be undone.",
|
||||
"remove_group_member_title" => "Remove member",
|
||||
"remove_group_member_text" => "Do you really want to remove user '%s' from this group?",
|
||||
"add_group_member_title" => "Add member",
|
||||
"add_group_member_text" => "Search a user to add to the group",
|
||||
];
|
||||
@@ -38,4 +38,6 @@ return [
|
||||
"remove_route_error" => "Error removing route",
|
||||
"regenerate_router_cache_error" => "Error regenerating router cache",
|
||||
"regenerate_router_cache_success" => "Router cache successfully regenerated",
|
||||
"delete_route_title" => "Delete Route",
|
||||
"delete_route_text" => "Do you really want to delete the following route?",
|
||||
];
|
||||
Reference in New Issue
Block a user