aboutsummaryrefslogtreecommitdiffhomepage
path: root/Digitigrade/Model/FetchableModel.php
diff options
context:
space:
mode:
authorwinter2024-12-20 17:57:36 +0000
committerwinter2024-12-20 18:01:26 +0000
commit8ca2452dd05f614d55d2fd3ce188d9d04f44d285 (patch)
tree7c850737c216df179ce00fa874b1de508894eb71 /Digitigrade/Model/FetchableModel.php
parent583b1f8a865935dd4ae1b0c9fa40a4b347ea3d4d (diff)
implement deletion/tombstones?
Diffstat (limited to 'Digitigrade/Model/FetchableModel.php')
-rw-r--r--Digitigrade/Model/FetchableModel.php10
1 files changed, 10 insertions, 0 deletions
diff --git a/Digitigrade/Model/FetchableModel.php b/Digitigrade/Model/FetchableModel.php
index 5e4d1e8..e14cc2e 100644
--- a/Digitigrade/Model/FetchableModel.php
+++ b/Digitigrade/Model/FetchableModel.php
@@ -62,6 +62,16 @@ abstract class FetchableModel extends Model implements RemoteFetchable {
if ($data === null)
return null;
+ if (($data->type ?? null) == 'tombstone') {
+ // handle deletes
+ $obj = static::findWhere('uri = ?', [$data->self]);
+ if ($obj == null)
+ return null;
+ $obj->deleted = true;
+ $obj->save();
+ return null;
+ }
+
$obj = static::createFromJson($data, $autoSave, $uri);
$obj->finaliseAfterFetch($uri);