aboutsummaryrefslogtreecommitdiffhomepage
path: root/Digitigrade/Timeline/HomeTimeline.php
diff options
context:
space:
mode:
Diffstat (limited to 'Digitigrade/Timeline/HomeTimeline.php')
-rw-r--r--Digitigrade/Timeline/HomeTimeline.php26
1 files changed, 26 insertions, 0 deletions
diff --git a/Digitigrade/Timeline/HomeTimeline.php b/Digitigrade/Timeline/HomeTimeline.php
new file mode 100644
index 0000000..c2baf3d
--- /dev/null
+++ b/Digitigrade/Timeline/HomeTimeline.php
@@ -0,0 +1,26 @@
+<?php
+namespace Digitigrade\Timeline;
+
+use Digitigrade\Model\UserAccount;
+
+class HomeTimeline extends Timeline {
+ private UserAccount $user;
+
+ public function __construct(UserAccount $user) {
+ $this->user = $user;
+ }
+
+ protected function getItems(int $limit, int $offset): array {
+ return array_map(
+ fn(HomeTimelineItem $hti) => $hti->toTimelineItem(),
+ HomeTimelineItem::findAllForUser($this->user, $limit, $offset)
+ );
+ }
+
+ public function getItemsSince(\DateTimeInterface $when, ?int $limit = null, int $offset = 0): array {
+ return array_map(
+ fn(HomeTimelineItem $hti) => $hti->toTimelineItem(),
+ HomeTimelineItem::findAllForUser($this->user, $limit, $offset, $when)
+ );
+ }
+} \ No newline at end of file