$publicPage]); } public function subscribe(SubscribePublicPageRequest $request, PreregistrationPage $publicPage): JsonResponse { abort_if(now()->lt($publicPage->start_date) || now()->gt($publicPage->end_date), 403); $validated = $request->validated(); $exists = $publicPage->subscribers() ->where('email', $validated['email']) ->exists(); if ($exists) { return response()->json([ 'success' => false, 'message' => __('You are already registered for this event.'), ], 422); } $publicPage->subscribers()->create($validated); // Mailwizz sync will be wired up in Phase 4 if ($publicPage->mailwizzConfig) { // SyncSubscriberToMailwizz::dispatch($subscriber); } return response()->json([ 'success' => true, 'message' => $publicPage->thank_you_message ?? __('Thank you for registering!'), ]); } }