Fix API keys cannot be deleted (fixes #99)

This commit is contained in:
Bernd Bestel 2018-10-26 20:12:48 +02:00
parent b84e6da0dd
commit cd7b6b686d
No known key found for this signature in database
GPG Key ID: 71BD34C0D4891300
2 changed files with 15 additions and 3 deletions

View File

@ -6,7 +6,7 @@ class GenericEntityApiController extends BaseApiController
{ {
public function GetObjects(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args) public function GetObjects(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
{ {
if ($this->IsValidEntity($args['entity'])) if ($this->IsValidEntity($args['entity']) && !$this->IsEntityWithPreventedListing($args['entity']))
{ {
return $this->ApiResponse($this->Database->{$args['entity']}()); return $this->ApiResponse($this->Database->{$args['entity']}());
} }
@ -18,7 +18,7 @@ class GenericEntityApiController extends BaseApiController
public function GetObject(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args) public function GetObject(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args)
{ {
if ($this->IsValidEntity($args['entity'])) if ($this->IsValidEntity($args['entity']) && !$this->IsEntityWithPreventedListing($args['entity']))
{ {
return $this->ApiResponse($this->Database->{$args['entity']}($args['objectId'])); return $this->ApiResponse($this->Database->{$args['entity']}($args['objectId']));
} }
@ -77,4 +77,9 @@ class GenericEntityApiController extends BaseApiController
{ {
return in_array($entity, $this->OpenApiSpec->components->internalSchemas->ExposedEntity->enum); return in_array($entity, $this->OpenApiSpec->components->internalSchemas->ExposedEntity->enum);
} }
private function IsEntityWithPreventedListing($entity)
{
return in_array($entity, $this->OpenApiSpec->components->internalSchemas->ExposedEntitiesPreventListing->enum);
}
} }

View File

@ -1679,7 +1679,14 @@
"tasks", "tasks",
"task_categories", "task_categories",
"product_groups", "product_groups",
"equipment" "equipment",
"api_keys"
]
},
"ExposedEntitiesPreventListing": {
"type": "string",
"enum": [
"api_keys"
] ]
}, },
"StockTransactionType": { "StockTransactionType": {