/home/mip/mip/app/Modules/Api/Controllers/PagesController.php
<?php

namespace QxCMS\Modules\Api\Controllers;

use Auth;
use Carbon\Carbon;

use Illuminate\Http\Request;
use QxCMS\Http\Controllers\Controller;

use QxCMS\Modules\Client\Repositories\Pages\FAQRepositoryInterface as FAQ;
use QxCMS\Modules\Client\Repositories\Pages\AboutUsRepositoryInterface as AboutUs;
use QxCMS\Modules\Client\Repositories\Pages\ContactUsRepositoryInterface as ContactUs;

class PagesController extends Controller
{
	protected $faq;
    protected $about_us;
    protected $contact_us;

	public function __construct(FAQ $faq, AboutUs $about_us, ContactUs $contact_us)
	{
		$this->faq = $faq;
        $this->about_us = $about_us;
        $this->contact_us = $contact_us;
	}

    public function getFAQ(Request $request)
    {
        $faqs = $this->faq->apiGetFAQ($request->all());
        $responses = array();
        foreach ($faqs as $key => $faq) {
            $responses[] =   array(
                                'id'                     => $faq->id,
                                'question'               => $faq->title,
                                'answer'                 => $faq->content,
                                'status'                 => $faq->status,
                                'slug'                   => $faq->slug,
                            );
        }
        return response()->json($responses)->withCallback($request->input('callback'));
    }

    public function getAboutUs(Request $request)
    {
        $abouts = $this->about_us->apiGetAboutUs($request->all());
        $responses = array();
        foreach ($abouts as $key => $about_us) {
            $responses[] =   array(
                                'id'                     => $about_us->id,
                                'title'                  => $about_us->title,
                                'content'                => $about_us->content,
                                'status'                 => $about_us->status,
                                'slug'                   => $about_us->slug,
                            );
        }
        return response()->json($responses)->withCallback($request->input('callback'));
    }

    public function getContactUs(Request $request)
    {
        $contacts = $this->contact_us->apiGetContactUs($request->all());
        $responses = array();
        foreach ($contacts as $key => $contact_us) {
            $responses[] =  array(
                                'id'                        => $contact_us->id,
                                'name'                      => $contact_us->name,
                                'email'                     => $contact_us->email,
                                'contact'                   => $contact_us->contact,
                                'building_name'             => $contact_us->building_name,
                                'building_floor'            => $contact_us->building_floor,
                                'number'                    => $contact_us->rec_number,
                                'street'                    => $contact_us->rec_street,
                                'city'                      => $contact_us->rec_city,
                                'building'                  => $contact_us->building_floor.($contact_us->building_floor && $contact_us->building_name ? ', ' : '').$contact_us->building_name,
                                'recruitment_address'       => $contact_us->rec_number.' '.$contact_us->rec_street.', '.$contact_us->rec_city,
                            );
        }
        return response()->json($responses)->withCallback($request->input('callback'));
    }
}