diff --git a/CHANGELOG.md b/CHANGELOG.md index 952e5d4..418b6f2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,9 @@ # Changelog +## [0.24.0] - 2025-09-09 +### Added +- Se ha añadido la funcionalidad/servicio para poder eliminar un repositorio GIT + +--- ## [0.23.0] - 2025-09-08 ### Added - Se ha añadido la funcionalidad/servicio para poder realizar backups a repositorios GIT diff --git a/config/api_platform/ImageRepository.yaml b/config/api_platform/ImageRepository.yaml index 711cd87..f2cc348 100644 --- a/config/api_platform/ImageRepository.yaml +++ b/config/api_platform/ImageRepository.yaml @@ -128,7 +128,15 @@ resources: input: App\Dto\Input\CreateBackupInput uriTemplate: /image-repositories/server/git/{uuid}/create-backup controller: App\Controller\OgRepository\Git\CreateBackupAction - + + git_repository_delete: + shortName: OgRepository Server + description: Delete a repository in a Git repository + class: ApiPlatform\Metadata\Post + method: POST + input: App\Dto\Input\DeleteRepositoryInput + uriTemplate: /image-repositories/server/git/{uuid}/delete + controller: App\Controller\OgRepository\Git\DeleteAction properties: App\Entity\ImageRepository: diff --git a/src/Controller/OgRepository/Git/DeleteAction.php b/src/Controller/OgRepository/Git/DeleteAction.php new file mode 100644 index 0000000..2d77207 --- /dev/null +++ b/src/Controller/OgRepository/Git/DeleteAction.php @@ -0,0 +1,27 @@ +createRequest('DELETE', 'http://'.$repository->getIp().':8006/ogrepository/v1/git/repositories/'.$input->repository, [ + ]); + + if (isset($content['error']) && $content['code'] === Response::HTTP_INTERNAL_SERVER_ERROR) { + throw new BadRequestHttpException('Error deleting repository'); + } + + return new JsonResponse(data: [], status: Response::HTTP_OK); + } +} \ No newline at end of file diff --git a/src/Dto/Input/DeleteRepositoryInput.php b/src/Dto/Input/DeleteRepositoryInput.php new file mode 100644 index 0000000..3ff1a48 --- /dev/null +++ b/src/Dto/Input/DeleteRepositoryInput.php @@ -0,0 +1,13 @@ +