diff options
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); } |
