aboutsummaryrefslogtreecommitdiffhomepage
path: root/Digitigrade/Model/FetchableModel.php
diff options
context:
space:
mode:
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);