fix(s3-storage): optimize team admin notification query

This commit is contained in:
Andras Bacsai
2025-02-13 09:55:24 +01:00
parent 3c538e00dd
commit be1742a85c

View File

@@ -53,13 +53,14 @@ class S3Storage extends BaseModel
$mail = new MailMessage; $mail = new MailMessage;
$mail->subject('Coolify: S3 Storage Connection Error'); $mail->subject('Coolify: S3 Storage Connection Error');
$mail->view('emails.s3-connection-error', ['name' => $this->name, 'reason' => $e->getMessage(), 'url' => route('storage.show', ['storage_uuid' => $this->uuid])]); $mail->view('emails.s3-connection-error', ['name' => $this->name, 'reason' => $e->getMessage(), 'url' => route('storage.show', ['storage_uuid' => $this->uuid])]);
$users = collect([]);
$members = $this->team->members()->get(); // Load the team with its members and their roles explicitly
foreach ($members as $user) { $team = $this->team()->with(['members' => function ($query) {
if ($user->isAdmin()) { $query->withPivot('role');
$users->push($user); }])->first();
}
} // Get admins directly from the pivot relationship for this specific team
$users = $team->members()->wherePivotIn('role', ['admin', 'owner'])->get(['users.id', 'users.email']);
foreach ($users as $user) { foreach ($users as $user) {
send_user_an_email($mail, $user->email); send_user_an_email($mail, $user->email);
} }