fix: predefined content for files
This commit is contained in:
parent
58e3bb2571
commit
9701c65297
@ -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);
|
||||||
}
|
}
|
||||||
|
@ -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());
|
||||||
|
@ -36,8 +36,8 @@ public function fqdns(): Attribute
|
|||||||
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
public function getFilesFromServer()
|
public function getFilesFromServer(bool $isInit = false)
|
||||||
{
|
{
|
||||||
getFilesystemVolumesFromServer($this);
|
getFilesystemVolumesFromServer($this, $isInit);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -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)) {
|
||||||
|
Loading…
Reference in New Issue
Block a user