Generalized flex index creation

This commit is contained in:
Matias Griese
2019-03-06 10:19:47 +02:00
parent 1c725c02f0
commit 85d5b6e889
2 changed files with 6 additions and 10 deletions

View File

@@ -100,12 +100,10 @@ class UserIndex extends FlexIndex
return $this->load('');
}
protected static function getIndexData($key, ?array $row)
protected static function updateIndexData(array &$entry, array $data)
{
return [
'key' => mb_strtolower($row['username'] ?? $key),
'email' => mb_strtolower($row['email'] ?? ''),
];
$entry['key'] = mb_strtolower($data['username'] ?? $data['email'] ?? $entry['key']);
$entry['email'] = mb_strtolower($data['email']) ?? null;
}
protected static function getIndexFile(FlexStorageInterface $storage)

View File

@@ -530,7 +530,8 @@ class FlexIndex extends ObjectIndex implements FlexCollectionInterface, FlexInde
$updated = $added = [];
foreach ($rows as $key => $row) {
if (null !== $row) {
$entry = $entries[$key] + static::getIndexData($key, $row);
$entry = ['key' => $key] + $entries[$key];
static::updateIndexData($entry, $row);
if (isset($row['__error'])) {
$entry['__error'] = true;
static::onException(new \RuntimeException(sprintf('Object failed to load: %s (%s)', $key, $row['__error'])));
@@ -563,11 +564,8 @@ class FlexIndex extends ObjectIndex implements FlexCollectionInterface, FlexInde
return $index;
}
protected static function getIndexData($key, ?array $row)
protected static function updateIndexData(array &$entry, array $data)
{
return [
'key' => $key,
];
}
protected static function loadEntriesFromIndex(FlexStorageInterface $storage)