1
0

Virtual metadata managment

This commit is contained in:
Richard Dern 2024-04-25 17:11:12 +02:00
parent d6542a09b8
commit 7506dc7479
2 changed files with 21 additions and 0 deletions

View File

@ -10,6 +10,7 @@
use Carbon\Carbon;
use Exception;
use Illuminate\Filesystem\FilesystemAdapter;
use Illuminate\Support\Collection;
use Illuminate\Support\Str;
use League\Flysystem\StorageAttributes;
@ -134,6 +135,23 @@ public function getSiteTitle(): string
return $title;
}
/**
* Return "virtual" metadata, which is a Collection of extended metadata,
* with additions and corrections from the "metadata.json" file
*/
public function virtualMetadata(): Collection
{
$mergedData = [];
foreach ($this->metadata()->get('virtualMetadata', []) as $additionalFile) {
$mergedData = array_merge_recursive($mergedData, $this->metadata($additionalFile)->all() ?? []);
}
$replacedData = array_replace_recursive($mergedData, $this->metadata('metadata')->all() ?? []);
return collect($replacedData);
}
/**
* Return a boolean value indicating if there already is a bundle in
* specified path

View File

@ -82,7 +82,10 @@ public function update()
}
}
$this->bundle->metadata()->set('virtualMetadata', ['wikidata/included']);
$this->bundle->save();
$this->bundle->repair();
}
/**