*/ public function toArray(Request $request): array { $locale = $request->query(config('locales.query_parameter')) ?? app()->getLocale(); return [ 'id' => $this->id, 'locale' => $locale, 'title' => $this->title, 'language' => $this->language, ...TranslatablePayload::resolve($this->resource, $this->translatable, $locale), 'event' => $this->event, 'city' => $this->city, 'held_at' => $this->held_at?->toDateString(), 'video_url' => $this->video_url, 'slides_url' => $this->slides_url, 'member_id' => $this->member_id, 'project_id' => $this->project_id, 'is_public' => (bool) $this->is_public, 'created_at' => $this->created_at?->toIso8601String(), 'updated_at' => $this->updated_at?->toIso8601String(), 'translations' => $this->when( in_array('translations', explode(',', (string) $request->query('with')), true), fn () => TranslatablePayload::all($this->resource, $this->translatable), ), ]; } }