Files
lucent-laravel/src/Revision/Revision.php
T

50 lines
1.0 KiB
PHP
Raw Normal View History

2023-10-02 23:10:49 +03:00
<?php
namespace Lucent\Revision;
use Illuminate\Support\Str;
2024-03-30 13:42:38 +02:00
use Lucent\Graph\Data\FieldData;
use Lucent\Graph\Edge\EdgeCollection;
use Lucent\Graph\Record\Record;
use Lucent\Graph\Record\System;
2023-10-02 23:10:49 +03:00
readonly class Revision
{
2024-03-23 22:15:06 +02:00
/**
* @param string $id
* @param string $recordId
* @param System $_sys
2024-03-30 13:42:38 +02:00
* @param FieldData $data
2024-03-25 21:26:21 +02:00
* @param EdgeCollection $_edges
2024-03-23 22:15:06 +02:00
*/
2023-10-02 23:10:49 +03:00
function __construct(
2024-03-30 13:42:38 +02:00
public string $id,
public string $recordId,
public System $_sys,
public FieldData $data,
public EdgeCollection $_edges,
2023-10-02 23:10:49 +03:00
2023-10-15 19:14:07 +03:00
)
2023-10-02 23:10:49 +03:00
{
}
2024-03-23 22:15:06 +02:00
/**
* @param Record $record
2024-03-25 21:26:21 +02:00
* @param EdgeCollection $edges
2024-03-23 22:15:06 +02:00
* @return Revision
*/
2024-03-25 21:26:21 +02:00
public static function fromRecord(Record $record, EdgeCollection $edges): Revision
2023-10-02 23:10:49 +03:00
{
return new Revision(
id: (string)Str::uuid(),
recordId: $record->id,
_sys: $record->_sys,
data: $record->data,
2023-10-15 19:14:07 +03:00
_edges: $edges,
2023-10-02 23:10:49 +03:00
);
}
}