Virtual metadata managment
This commit is contained in:
parent
d6542a09b8
commit
7506dc7479
|
@ -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
|
||||
|
|
|
@ -82,7 +82,10 @@ public function update()
|
|||
}
|
||||
}
|
||||
|
||||
$this->bundle->metadata()->set('virtualMetadata', ['wikidata/included']);
|
||||
|
||||
$this->bundle->save();
|
||||
$this->bundle->repair();
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
Loading…
Reference in New Issue
Block a user