From 886b0d0a5fe9df7f92c9a91e961f58607febe2ea Mon Sep 17 00:00:00 2001 From: Sam Light Date: Thu, 10 Apr 2025 23:52:34 +0100 Subject: Created trait to add relationships to user model for auth logs --- src/HasAuthLogs.php | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 src/HasAuthLogs.php (limited to 'src/HasAuthLogs.php') diff --git a/src/HasAuthLogs.php b/src/HasAuthLogs.php new file mode 100644 index 0000000..543b580 --- /dev/null +++ b/src/HasAuthLogs.php @@ -0,0 +1,41 @@ +hasMany(AuthLog::class) + ->orderBy('created_at', 'desc'); + } + + public function successfulAuthLogs(): HasMany + { + return $this->authLogs() + ->where('status', Status::LoginSuccess); + } + + public function successfulAuthLog(): HasOne + { + return $this->successfulAuthLogs()->one(); + } + + public function lastLogin(): Attribute + { + return Attribute::get( + fn(): ?DateTimeInterface => $this->successfulAuthLog?->created_at + ); + } + +} -- cgit v1.2.3