lucent config

This commit is contained in:
2023-10-06 13:07:09 +03:00
parent 341ad267a5
commit 9bbe5ee9b4
9 changed files with 95 additions and 71 deletions
+53
View File
@@ -0,0 +1,53 @@
<?php
namespace Lucent\Commands;
use DirectoryIterator;
use Illuminate\Console\Command;
class CompileSchemas extends Command
{
protected $signature = 'lucent:schemas';
protected $description = 'Compiles schemas';
public function __construct()
{
parent::__construct();
}
public function handle()
{
$configDir = base_path(config('lucent.schemas_path'));
$schemasDirIterator = new DirectoryIterator($configDir);
$schemas = [];
foreach ($schemasDirIterator as $file) {
if ($file->getExtension() !== "json") {
continue;
}
$schemaJson = file_get_contents($configDir . "/" . $file->getFilename());
$schema = json_decode($schemaJson, true);
if (empty($schema)) {
$this->error("Invalid JSON " . $file->getFilename());
return 0;
}
$schemas[] = $schema;
}
$schemas = collect($schemas)->sortBy("label")->values()->toArray();
if(!file_exists(storage_path("lucent"))){
mkdir(storage_path("lucent"));
}
file_put_contents(schemas_path(), json_encode($schemas));
$this->info("Lucent Schemas were updated");
}
}