fix(api): used ssh keys can be deleted

This commit is contained in:
peaklabs-dev 2025-04-03 14:07:11 +02:00
parent 0130e72722
commit 34699129f4
No known key found for this signature in database

View file

@ -368,6 +368,20 @@ public function update_key(Request $request)
response: 404,
description: 'Private Key not found.',
),
new OA\Response(
response: 422,
description: 'Private Key is in use and cannot be deleted.',
content: [
new OA\MediaType(
mediaType: 'application/json',
schema: new OA\Schema(
type: 'object',
properties: [
'message' => ['type' => 'string', 'example' => 'Private Key is in use and cannot be deleted.'],
]
)
),
]),
]
)]
public function delete_key(Request $request)
@ -384,6 +398,14 @@ public function delete_key(Request $request)
if (is_null($key)) {
return response()->json(['message' => 'Private Key not found.'], 404);
}
if ($key->isInUse()) {
return response()->json([
'message' => 'Private Key is in use and cannot be deleted.',
'details' => 'This private key is currently being used by servers, applications, or Git integrations.',
], 422);
}
$key->forceDelete();
return response()->json([