map(fn ($s) => [ 'id' => $s->id, 'name' => $s->name, 'slug' => $s->slug, 'shortDescription' => $s->short_description, 'description' => $s->description, 'icon' => $s->icon, 'opportunitiesCount' => $s->opportunities_count, 'url' => $s->url, 'specializations' => $s->specializations, ]); return response()->json(['success' => true, 'data' => $sectors]); } public function show(string $slug): JsonResponse { $sector = Sector::with(['opportunities' => fn ($q) => $q->published()]) ->where('slug', $slug)->firstOrFail(); $sector->setRelation('opportunities', SectorOrganization::opportunities($sector)->get()); return response()->json(['success' => true, 'data' => $sector, 'canonical_url' => SectorOrganization::href($slug), 'specialization_of' => $slug === 'fintech' ? 'mercado-financeiro' : null]); } }