refactor: remove n+1 query from application admin notification

Signed-off-by: miguel456 <me@nogueira.codes>
This commit is contained in:
Miguel Nogueira 2022-10-21 08:17:45 +01:00
parent d5521030a0
commit cfc1d1038b
No known key found for this signature in database
GPG Key ID: 3C6A7E29AF26D370
2 changed files with 7 additions and 6 deletions

View File

@ -534,7 +534,7 @@ class UserController extends Controller
* @return \Illuminate\Http\RedirectResponse * @return \Illuminate\Http\RedirectResponse
*/ */
public function reset2FASecret(Reset2FASecretRequest $request, User $user) { public function reset2FASecret(Reset2FASecretRequest $request, User $user) {
// note: could invalidate other sessions for increased security
if ($user->has2FA()) { if ($user->has2FA()) {
Log::warning('SECURITY: Disabling two factor authentication (admin initiated)', [ Log::warning('SECURITY: Disabling two factor authentication (admin initiated)', [
'initiator' => $request->user()->email, 'initiator' => $request->user()->email,

View File

@ -94,11 +94,12 @@ class ApplicationService
'applicant' => $applicant->name 'applicant' => $applicant->name
]); ]);
foreach (User::all() as $user) { User::whereHas('roles', function ($q) {
if ($user->hasRole('admin')) { $q->where('name', 'admin');
$user->notify((new NewApplicant($application, $vacancy->first()))); })->get()->each(function ($user, $key) use ($application, $vacancy) {
} $user->notify((new NewApplicant($application, $vacancy->first())));
} });
$application->user->notify(new ApplicationConfirmed($application)); $application->user->notify(new ApplicationConfirmed($application));
return true; return true;