<?php

    use Eae\Transformation\Transformer\RadioTransformer;
    use Eae\Transformation\Transformer\CategoryTransformer;

    class RadioController extends Controller
    {
        /**
         * Display the specified resource.
         *
         * @param  string $slug
         * @return Response
         */
        public function index()
        {
            $occurrences = Occurrence::full()
                ->where('is_on_radio', TRUE)
                ->select('*')
                ->with([
                    'categories' => function ($query) {
                        $query->full()
                            ->select('*')
                            ->orderBy('category_occurrence.position', 'asc');
                    },
                    'occurrenceImage'
                ])
                ->get();

            $categories = Category::full()
                ->where('is_on_radio', TRUE)
                ->select('*')
                ->get();

            if ($occurrences && $categories) {
                // Beautify result.
                $result['events'] = TransformService::transformCollection(
                    $occurrences,
                    new RadioTransformer())->toArray();

                $result['categories'] = TransformService::transformCollection(
                    $categories,
                    new CategoryTransformer())->toArray();

                return Response::json($result);
            }

            App::abort(404);
        }
    }
