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)
{
if ($this->IsValidEntity($args['entity']))
if ($this->IsValidEntity($args['entity']) && !$this->IsEntityWithPreventedListing($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)
{
if ($this->IsValidEntity($args['entity']))
if ($this->IsValidEntity($args['entity']) && !$this->IsEntityWithPreventedListing($args['entity']))
{
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);
}
private function IsEntityWithPreventedListing($entity)
{
return in_array($entity, $this->OpenApiSpec->components->internalSchemas->ExposedEntitiesPreventListing->enum);
}
}

View File

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