record servicce update

This commit is contained in:
2024-01-11 22:57:57 +02:00
parent 089ad75f29
commit 196a7b0215
+5 -3
View File
@@ -57,15 +57,17 @@ readonly class RecordService
} }
$uploadResult = FileService::create($schema, $uploadFromUrl, $file); $uploadResult = FileService::create($schema, $uploadFromUrl, $file);
$newRecordId = empty($id) ? Id::new() : $id;
$uniqueEdges = collect($edges) $uniqueEdges = collect($edges)
->map(function ($edge, $index) { ->map(function ($edge, $index) use ($newRecordId, $schemaName) {
$edge['source'] = $newRecordId;
$edge['sourceSchema'] = $schemaName;
$edge["rank"] = $index; $edge["rank"] = $index;
return (array)(new Edge(...$edge)); return (array)(new Edge(...$edge));
}) })
->unique(fn($e) => $e['field'] . $e['source'] . $e['target'] . $e['sourceSchema']) ->unique(fn($e) => $e['field'] . $e['source'] . $e['target'] . $e['sourceSchema'])
->values()->toArray(); ->values()->toArray();
$uniqueEdgesCollection = EdgeCollection::fromArray($uniqueEdges); $uniqueEdgesCollection = EdgeCollection::fromArray($uniqueEdges);
if ($uploadResult->isDuplicate) { if ($uploadResult->isDuplicate) {
$this->edgeService->update($uploadResult->duplicateId, $uniqueEdgesCollection); $this->edgeService->update($uploadResult->duplicateId, $uniqueEdgesCollection);
@@ -73,7 +75,7 @@ readonly class RecordService
} }
$record = new Record( $record = new Record(
id: empty($id) ? Id::new() : $id, id: $newRecordId,
schema: $schema->name, schema: $schema->name,
status: Status::from($status), status: Status::from($status),
_sys: System::newRecord($this->authService->currentUserId()), _sys: System::newRecord($this->authService->currentUserId()),