create document flow

This commit is contained in:
2024-03-23 22:15:06 +02:00
parent c649077e37
commit 322c48b78b
15 changed files with 230 additions and 129 deletions
+24 -10
View File
@@ -8,25 +8,39 @@ use Lucent\Record\FileInfo;
use Lucent\Record\Record;
use Lucent\Record\RecordData;
use Lucent\Record\System;
use PhpOption\Option;
readonly class Revision
{
/**
* @param string $id
* @param string $recordId
* @param string $schema
* @param System $_sys
* @param RecordData $data
* @param Option<EdgeCollection> $_edges
* @param Option<FileInfo> $_file
*/
function __construct(
public string $id,
public string $recordId,
public string $schema,
public System $_sys,
public RecordData $data,
public EdgeCollection $_edges,
public ?FileInfo $_file = null,
public string $id,
public string $recordId,
public string $schema,
public System $_sys,
public RecordData $data,
public Option $_edges,
public Option $_file,
)
{
}
public static function fromRecord(Record $record, EdgeCollection $edges): Revision
/**
* @param Record $record
* @param Option<EdgeCollection> $edges
* @return Revision
*/
public static function fromRecord(Record $record, Option $edges): Revision
{
return new Revision(
id: (string)Str::uuid(),
@@ -35,7 +49,7 @@ readonly class Revision
_sys: $record->_sys,
data: $record->data,
_edges: $edges,
_file: $record->_file
_file: empty($record->_file) ? none() : some($record->_file)
);
}