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
*/
public function reset2FASecret(Reset2FASecretRequest $request, User $user) {
// note: could invalidate other sessions for increased security
if ($user->has2FA()) {
Log::warning('SECURITY: Disabling two factor authentication (admin initiated)', [
'initiator' => $request->user()->email,

View File

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