fix: testing email

fix: expired invitiation link
This commit is contained in:
Andras Bacsai 2023-09-11 12:16:26 +02:00
parent dc4f412227
commit 50527cf0a3
4 changed files with 35 additions and 31 deletions

View File

@ -2,12 +2,14 @@
namespace App\Console\Commands; namespace App\Console\Commands;
use App\Jobs\SendConfirmationForWaitlistJob;
use App\Models\Application; use App\Models\Application;
use App\Models\ApplicationPreview; use App\Models\ApplicationPreview;
use App\Models\ScheduledDatabaseBackup; use App\Models\ScheduledDatabaseBackup;
use App\Models\StandalonePostgresql; use App\Models\StandalonePostgresql;
use App\Models\TeamInvitation; use App\Models\TeamInvitation;
use App\Models\User; use App\Models\User;
use App\Models\Waitlist;
use App\Notifications\Application\DeploymentFailed; use App\Notifications\Application\DeploymentFailed;
use App\Notifications\Application\DeploymentSuccess; use App\Notifications\Application\DeploymentSuccess;
use App\Notifications\Application\StatusChanged; use App\Notifications\Application\StatusChanged;
@ -19,6 +21,7 @@ use Exception;
use Illuminate\Console\Command; use Illuminate\Console\Command;
use Illuminate\Mail\Message; use Illuminate\Mail\Message;
use Illuminate\Notifications\Messages\MailMessage; use Illuminate\Notifications\Messages\MailMessage;
use Illuminate\Support\Facades\Process;
use Mail; use Mail;
use Str; use Str;
@ -148,23 +151,20 @@ class TestEmail extends Command
case 'waitlist-invitation-link': case 'waitlist-invitation-link':
$this->mail = new MailMessage(); $this->mail = new MailMessage();
$this->mail->view('emails.waitlist-invitation', [ $this->mail->view('emails.waitlist-invitation', [
'email' => 'test2@example.com', 'loginLink' => 'https://coolify.io',
'password' => "supersecretpassword",
]); ]);
$this->mail->subject('Congratulations! You are invited to join Coolify Cloud.'); $this->mail->subject('Congratulations! You are invited to join Coolify Cloud.');
$this->sendEmail(); $this->sendEmail();
break; break;
case 'waitlist-confirmation': case 'waitlist-confirmation':
$this->mail = new MailMessage(); $found = Waitlist::where('email', $this->email)->first();
$this->mail->view( if ($found) {
'emails.waitlist-confirmation', SendConfirmationForWaitlistJob::dispatch($this->email, $found->uuid);
[
'confirmation_url' => 'http://example.com', } else {
'cancel_url' => 'http://example.com', throw new Exception('Waitlist not found');
] }
);
$this->mail->subject('You are on the waitlist!');
$this->sendEmail();
break; break;
} }
} }

View File

@ -91,8 +91,6 @@ class WaitlistInvite extends Command
$loginLink = route('auth.link', ['token' => $token]); $loginLink = route('auth.link', ['token' => $token]);
$mail = new MailMessage(); $mail = new MailMessage();
$mail->view('emails.waitlist-invitation', [ $mail->view('emails.waitlist-invitation', [
'email' => $this->next_patient->email,
'password' => $this->password,
'loginLink' => $loginLink, 'loginLink' => $loginLink,
]); ]);
$mail->subject('Congratulations! You are invited to join Coolify Cloud.'); $mail->subject('Congratulations! You are invited to join Coolify Cloud.');

View File

@ -27,7 +27,7 @@ class CleanupInstanceStuffsJob implements ShouldQueue, ShouldBeUnique
public function handle(): void public function handle(): void
{ {
try { try {
$this->cleanup_waitlist(); // $this->cleanup_waitlist();
} catch (\Exception $e) { } catch (\Exception $e) {
send_internal_notification('CleanupInstanceStuffsJob failed with error: ' . $e->getMessage()); send_internal_notification('CleanupInstanceStuffsJob failed with error: ' . $e->getMessage());
ray($e->getMessage()); ray($e->getMessage());

View File

@ -181,11 +181,17 @@ Route::get('/waitlist/confirm', function () {
ray($email, $confirmation_code); ray($email, $confirmation_code);
try { try {
$found = Waitlist::where('uuid', $confirmation_code)->where('email', $email)->first(); $found = Waitlist::where('uuid', $confirmation_code)->where('email', $email)->first();
if ($found && !$found->verified && $found->created_at > now()->subMinutes(config('constants.waitlist.expiration'))) { if ($found) {
if (!$found->verified) {
if ($found->created_at > now()->subMinutes(config('constants.waitlist.expiration'))) {
$found->verified = true; $found->verified = true;
$found->save(); $found->save();
send_internal_notification('Waitlist confirmed: ' . $email); send_internal_notification('Waitlist confirmed: ' . $email);
return 'Thank you for confirming your email address. We will notify you when you are next in line.'; return 'Thank you for confirming your email address. We will notify you when you are next in line.';
} else {
return 'Your confirmation code has expired. Please sign up again.';
}
}
} }
return redirect()->route('dashboard'); return redirect()->route('dashboard');
} catch (error) { } catch (error) {