fix: predefined content for files

This commit is contained in:
Andras Bacsai 2023-10-02 18:02:32 +02:00
parent 58e3bb2571
commit 9701c65297
5 changed files with 14 additions and 10 deletions

View File

@ -33,9 +33,6 @@ public function mount()
$this->serviceDatabase = $this->service->databases()->whereName($this->parameters['service_name'])->first(); $this->serviceDatabase = $this->service->databases()->whereName($this->parameters['service_name'])->first();
$this->serviceDatabase->getFilesFromServer(); $this->serviceDatabase->getFilesFromServer();
} }
if (is_null($service)) {
throw new \Exception("Service not found.");
}
} catch(\Throwable $e) { } catch(\Throwable $e) {
return handleError($e, $this); return handleError($e, $this);
} }

View File

@ -287,7 +287,10 @@ public function parse(bool $isNew = false): Collection
$isDirectory = (bool) data_get($volume, 'isDirectory', false); $isDirectory = (bool) data_get($volume, 'isDirectory', false);
$foundConfig = $savedService->fileStorages()->whereMountPath($target)->first(); $foundConfig = $savedService->fileStorages()->whereMountPath($target)->first();
if ($foundConfig) { if ($foundConfig) {
$content = data_get($foundConfig, 'content'); $contentNotNull = data_get($foundConfig, 'content');
if ($contentNotNull) {
$content = $contentNotNull;
}
$isDirectory = (bool) data_get($foundConfig, 'is_directory'); $isDirectory = (bool) data_get($foundConfig, 'is_directory');
} }
} }
@ -343,7 +346,7 @@ public function parse(bool $isNew = false): Collection
] ]
); );
} }
$savedService->getFilesFromServer(); $savedService->getFilesFromServer(isInit: true);
return $volume; return $volume;
}); });
data_set($service, 'volumes', $serviceVolumes->toArray()); data_set($service, 'volumes', $serviceVolumes->toArray());

View File

@ -36,8 +36,8 @@ public function fqdns(): Attribute
); );
} }
public function getFilesFromServer() public function getFilesFromServer(bool $isInit = false)
{ {
getFilesystemVolumesFromServer($this); getFilesystemVolumesFromServer($this, $isInit);
} }
} }

View File

@ -26,8 +26,8 @@ public function fileStorages()
{ {
return $this->morphMany(LocalFileVolume::class, 'resource'); return $this->morphMany(LocalFileVolume::class, 'resource');
} }
public function getFilesFromServer() public function getFilesFromServer(bool $isInit = false)
{ {
getFilesystemVolumesFromServer($this); getFilesystemVolumesFromServer($this, $isInit);
} }
} }

View File

@ -64,7 +64,7 @@ function serviceStatus(Service $service)
} }
return 'exited'; return 'exited';
} }
function getFilesystemVolumesFromServer(ServiceApplication|ServiceDatabase $oneService) function getFilesystemVolumesFromServer(ServiceApplication|ServiceDatabase $oneService, bool $isInit = false)
{ {
// TODO: make this async // TODO: make this async
try { try {
@ -87,6 +87,10 @@ function getFilesystemVolumesFromServer(ServiceApplication|ServiceDatabase $oneS
} }
$isFile = instant_remote_process(["test -f $fileLocation && echo OK || echo NOK"], $server); $isFile = instant_remote_process(["test -f $fileLocation && echo OK || echo NOK"], $server);
$isDir = instant_remote_process(["test -d $fileLocation && echo OK || echo NOK"], $server); $isDir = instant_remote_process(["test -d $fileLocation && echo OK || echo NOK"], $server);
if ($isFile === 'NOK' &&!$fileVolume->is_directory && $isInit) {
$fileVolume->saveStorageOnServer($oneService);
continue;
}
if ($isFile == 'OK' && !$fileVolume->is_directory) { if ($isFile == 'OK' && !$fileVolume->is_directory) {
$filesystemContent = instant_remote_process(["cat $fileLocation"], $server); $filesystemContent = instant_remote_process(["cat $fileLocation"], $server);
if (base64_encode($filesystemContent) != base64_encode($content)) { if (base64_encode($filesystemContent) != base64_encode($content)) {