schemas and fields
This commit is contained in:
@@ -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,
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user