diff options
| author | winter | 2024-12-20 17:57:36 +0000 |
|---|---|---|
| committer | winter | 2024-12-20 18:01:26 +0000 |
| commit | 8ca2452dd05f614d55d2fd3ce188d9d04f44d285 (patch) | |
| tree | 7c850737c216df179ce00fa874b1de508894eb71 /Digitigrade/Model/FetchableModel.php | |
| parent | 583b1f8a865935dd4ae1b0c9fa40a4b347ea3d4d (diff) | |
implement deletion/tombstones?
Diffstat (limited to 'Digitigrade/Model/FetchableModel.php')
| -rw-r--r-- | Digitigrade/Model/FetchableModel.php | 10 |
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); |
