where('requested_username', $normalized) ->where('context', $context) ->where('status', 'pending') ->when($user !== null, fn ($q) => $q->where('user_id', (int) $user->id), fn ($q) => $q->whereNull('user_id')) ->value('id'); if ($existingId) { return (int) $existingId; } return (int) DB::table('username_approval_requests')->insertGetId([ 'user_id' => $user?->id, 'requested_username' => $normalized, 'context' => $context, 'similar_to' => $similar, 'status' => 'pending', 'payload' => $payload === [] ? null : json_encode($payload), 'created_at' => now(), 'updated_at' => now(), ]); } }