Use DB-backed whitelist in TokenValueResolver; add whitelist merge test
This commit is contained in:
@@ -19,8 +19,12 @@ public function resolve(array $tokens, DocumentTemplate $template, Contract $con
|
||||
{
|
||||
$values = [];
|
||||
$unresolved = [];
|
||||
$globalWhitelist = config('documents.whitelist', []);
|
||||
$templateEntities = $template->entities ?: array_keys($globalWhitelist);
|
||||
// Retrieve whitelist from DB settings (if present) and merge with config baseline (config acts as baseline; DB can add or override entity arrays)
|
||||
$settingsWhitelist = app(\App\Services\Documents\DocumentSettings::class)->get()->whitelist ?? [];
|
||||
$configWhitelist = config('documents.whitelist', []);
|
||||
// Merge preserving DB additions/overrides
|
||||
$globalWhitelist = array_replace($configWhitelist, $settingsWhitelist);
|
||||
$templateEntities = $template->entities ?: array_keys($globalWhitelist);
|
||||
foreach ($tokens as $token) {
|
||||
[$entity,$attr] = explode('.', $token, 2);
|
||||
if ($entity === 'generation') {
|
||||
|
||||
Reference in New Issue
Block a user