schemas and fields

This commit is contained in:
2026-01-07 23:49:55 +02:00
parent 874ddd33e2
commit 53f9548966
17 changed files with 573 additions and 240 deletions
+32 -2
View File
@@ -1,9 +1,39 @@
<?php namespace Lucent\Core\Schema;
use Lucent\Core\Schema\Data\Schema;
use stdClass;
class SchemaModule
{
public function __construct()
public static function fromArray(array $data): Schema
{
// Constructor logic here
return new Schema(
id: $data["id"],
alias: $data["alias"],
name: $data["label"],
revisions: $data["revisions"],
fields: array_map(FieldModule::fromArray(...), $data["fields"]),
);
}
public static function fromDb(stdClass $data): Schema
{
return new Schema(
id: data_get($data, "id"),
alias: data_get($data, "alias"),
name: data_get($data, "name"),
revisions: data_get($data, "revisions"),
fields: [],
);
}
public static function toDb(Schema $schema): array
{
return [
"id" => $schema->id,
"alias" => $schema->alias,
"name" => $schema->name,
"revisions" => $schema->revisions,
];
}
}