diff options
| author | winter | 2025-02-16 22:18:57 +0000 |
|---|---|---|
| committer | winter | 2025-02-16 22:18:57 +0000 |
| commit | 13999840c56e12e708432ee560ee83fe7c9ff361 (patch) | |
| tree | 30f0c159697a9b30ec0a60bd240a49c3fbc43ca0 /Digitigrade/Model | |
| parent | 00fc10a04f90e761edf2b1ddca04f0ec6bb030b5 (diff) | |
fix a freaky bug with note deletion and home timeline
Diffstat (limited to 'Digitigrade/Model')
| -rw-r--r-- | Digitigrade/Model/HomeTimelineItem.php | 6 | ||||
| -rw-r--r-- | Digitigrade/Model/Interaction.php | 2 | ||||
| -rw-r--r-- | Digitigrade/Model/Note.php | 2 |
3 files changed, 7 insertions, 3 deletions
diff --git a/Digitigrade/Model/HomeTimelineItem.php b/Digitigrade/Model/HomeTimelineItem.php index 7e2c062..249ba91 100644 --- a/Digitigrade/Model/HomeTimelineItem.php +++ b/Digitigrade/Model/HomeTimelineItem.php @@ -32,12 +32,16 @@ class HomeTimelineItem extends Model { return $hti; } - public function toTimelineItem(): TimelineItem { + public function toTimelineItem(): ?TimelineItem { $reason = null; if (isset($this->reasonKind)) { $reason = $this->reasonKind::fromJsonReference(json_decode($this->reasonData)); } $object = $this->itemKind::fromJsonReference(json_decode($this->itemData)); + if (!isset($object)) { + $this->remove(); // it's invalid anyway it shouldn't be here + return null; + } return new TimelineItem($object, $reason); } diff --git a/Digitigrade/Model/Interaction.php b/Digitigrade/Model/Interaction.php index e651f45..43d02a2 100644 --- a/Digitigrade/Model/Interaction.php +++ b/Digitigrade/Model/Interaction.php @@ -113,7 +113,7 @@ class Interaction extends PushableModel implements Notifyable { return $this->id; } - public static function fromJsonReference(mixed $reference): self { + public static function fromJsonReference(mixed $reference): ?self { return self::find($reference); } diff --git a/Digitigrade/Model/Note.php b/Digitigrade/Model/Note.php index ac9cc3c..94b8b60 100644 --- a/Digitigrade/Model/Note.php +++ b/Digitigrade/Model/Note.php @@ -316,7 +316,7 @@ class Note extends PushableModel implements TimelineIncludeable, Notifyable { return $this->id; } - public static function fromJsonReference(mixed $reference): self { + public static function fromJsonReference(mixed $reference): ?self { return self::find($reference); } |
