Updated ogBoot components view

feature/integration-ogboot
Manuel Aranda Rosales 2024-08-20 10:31:21 +02:00
parent fa2ee36cb9
commit 75ff3ff11c
6 changed files with 17 additions and 42 deletions

4
.env
View File

@ -24,8 +24,8 @@ APP_SECRET=e95c7f17da15ce1b03d77ad655379c34
# IMPORTANT: You MUST configure your server version, either here or in config/packages/doctrine.yaml
#
# DATABASE_URL="sqlite:///%kernel.project_dir%/var/data.db"
#DATABASE_URL="mysql://root:root@127.0.0.1:3336/dimio?serverVersion=8.0.32&charset=utf8mb4"
DATABASE_URL="mysql://root:root@ogcore-database:3306/ogcore?serverVersion=10.11.2-MariaDB&charset=utf8mb4"
DATABASE_URL="mysql://root:root@127.0.0.1:3336/dimio?serverVersion=8.0.32&charset=utf8mb4"
#DATABASE_URL="mysql://root:root@ogcore-database:3306/ogcore?serverVersion=10.11.2-MariaDB&charset=utf8mb4"
OG_1_DATABASE_URL="mysql://root:root@ogcore-database:3306/ogcore_old_og?serverVersion=10.11.2-MariaDB&charset=utf8mb4"
#DATABASE_URL="postgresql://app:!ChangeMe!@127.0.0.1:5432/app?serverVersion=16&charset=utf8"

View File

@ -23,7 +23,7 @@ resources:
ApiPlatform\Metadata\Post: ~
ApiPlatform\Metadata\Delete: ~
get_collection:
get_collection_oglives:
shortName: OgLive Server
description: Get collection of OgLive
class: ApiPlatform\Metadata\GetCollection
@ -32,7 +32,7 @@ resources:
uriTemplate: /og-lives/server/get-collection
controller: App\Controller\OgBoot\OgLive\GetCollectionAction
get:
get_oglive:
shortName: OgLive Server
description: Get OgLive
class: ApiPlatform\Metadata\Get

View File

@ -23,7 +23,7 @@ resources:
ApiPlatform\Metadata\Post: ~
ApiPlatform\Metadata\Delete: ~
get_collection:
get_all:
shortName: PxeBootFile Server
description: Get collection of PxeBootFile
class: ApiPlatform\Metadata\GetCollection

View File

@ -38,35 +38,6 @@ class GetIsosAction extends AbstractOgLiveController
$data = json_decode($response->getContent(), true);
if (!empty($data['downloads'])) {
$ogLivesInserted = $this->insertOglives($data);
}
return new JsonResponse( data: [ 'data' => $data, 'ogLivesInserted' => $ogLivesInserted], status: Response::HTTP_OK);
}
public function insertOglives(array $data): int
{
$count = 0;
foreach ($data['downloads'] as $ogLive ) {
$ogLiveEntity = $this->entityManager->getRepository(OgLive::class)->findOneBy(['name' => $ogLive['filename']]);
if ($ogLiveEntity) {
continue;
}
$ogLiveEntity = new OgLive();
$ogLiveEntity->setName($ogLive['filename']);
$ogLiveEntity->setInstalled($ogLive['installed']);
$ogLiveEntity->setFilename($ogLive['filename']);
$this->entityManager->persist($ogLiveEntity);
$count++;
}
$this->entityManager->flush();
return $count;
}
}

View File

@ -36,12 +36,14 @@ class InstallAction extends AbstractOgLiveController
]
]);
} catch (TransportExceptionInterface $e) {
return new JsonResponse( data: 'An error occurred', status: Response::HTTP_INTERNAL_SERVER_ERROR);
return new JsonResponse( data: $e->getMessage(), status: Response::HTTP_INTERNAL_SERVER_ERROR);
}
$data->setInstalled(true);
$entityManager->persist($data);
$entityManager->flush();
if ($response->getStatusCode() === Response::HTTP_OK) {
$data->setInstalled(true);
$entityManager->persist($data);
$entityManager->flush();
}
$data = json_decode($response->getContent(), true);

View File

@ -26,7 +26,7 @@ class SetDefaultAction extends AbstractOgLiveController
public function __invoke(OgLive $data, HttpClientInterface $httpClient, EntityManagerInterface $entityManager): JsonResponse
{
try {
$response = $httpClient->request('POST', $this->ogBootApiUrl.'/ogboot/v1/oglives/default', [
$response = $httpClient->request('PUT', $this->ogBootApiUrl.'/ogboot/v1/oglives/default', [
'headers' => [
'accept' => 'application/json',
],
@ -38,9 +38,11 @@ class SetDefaultAction extends AbstractOgLiveController
return new JsonResponse( data: 'An error occurred', status: Response::HTTP_INTERNAL_SERVER_ERROR);
}
$data->setDefault(true);
$entityManager->persist($data);
$entityManager->flush();
if ($response->getStatusCode() === Response::HTTP_OK) {
$data->setIsDefault(true);
$entityManager->persist($data);
$entityManager->flush();
}
$data = json_decode($response->getContent(), true);