validated(); $subscription = NewsletterSubscription::withoutGlobalScopes()->updateOrCreate( [ 'portal' => $validated['portal'], 'email' => mb_strtolower($validated['email']), ], [ 'user_id' => $request->user()->id, 'salutation_key' => $validated['salutation_key'] ?? null, 'first_name' => $validated['first_name'] ?? null, 'last_name' => $validated['last_name'] ?? null, 'ip_address' => $request->ip(), 'is_confirmed' => false, 'confirmation_token' => Str::random(32), 'subscribed_at' => now(), 'unsubscribed_at' => null, ], ); return response()->json([ 'message' => 'Newsletter subscription created.', 'data' => [ 'id' => $subscription->id, 'portal' => $subscription->portal->value, 'email' => $subscription->email, 'is_confirmed' => $subscription->is_confirmed, ], ], 201); } }