Your IP : 216.73.217.77


Current Path : /home/users/unlimited/www/api.xalonx.com/app/Http/Controllers/v1/
Upload File :
Current File : /home/users/unlimited/www/api.xalonx.com/app/Http/Controllers/v1/RegisterRequestController.php

<?php

namespace App\Http\Controllers\v1;

use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use App\Models\RegisterRequest;
use App\Models\Cities;
use App\Models\Category;
use Validator;

class RegisterRequestController extends Controller
{
    public function getById(Request $request)
    {
        $validator = Validator::make($request->all(), [
            'id' => 'required',
        ]);
        if ($validator->fails()) {
            $response = [
                'success' => false,
                'message' => 'Validation Error.',
                $validator->errors(),
                'status' => 500
            ];
            return response()->json($response, 404);
        }

        $data = RegisterRequest::find($request->id);

        if (is_null($data)) {
            $response = [
                'success' => false,
                'message' => 'Data not found.',
                'status' => 404
            ];
            return response()->json($response, 404);
        }

        $response = [
            'data' => $data,
            'success' => true,
            'status' => 200,
        ];
        return response()->json($response, 200);
    }
    public function save(Request $request)
    {
        $validator = Validator::make($request->all(), [
            'first_name' => 'required',
            'last_name' => 'required',
            'country_code' => 'required',
            'mobile' => 'required',
            'cover' => 'required',
            'gender' => 'required',
            'type' => 'required',
            'zipcode' => 'required',
            'categories' => 'required',
            'email' => 'required',
            'password' => 'required',
            'address' => 'required',
            'lat' => 'required',
            'lng' => 'required',
            'name' => 'required',
            'about' => 'required',
            'fee_start' => 'required',
            'cid' => 'required',
        ]);
        if ($validator->fails()) {
            $response = [
                'success' => false,
                'message' => 'Validation Error.',
                $validator->errors(),
                'status' => 500
            ];
            return response()->json($response, 404);
        }
        $emailValidation = RegisterRequest::where('email', $request->email)->first();
        if (is_null($emailValidation) || !$emailValidation) {

            $matchThese = ['country_code' => $request->country_code, 'mobile' => $request->mobile];
            $data = RegisterRequest::where($matchThese)->first();
            if (is_null($data) || !$data) {

                $data = RegisterRequest::create($request->all());
                if (is_null($data)) {
                    $response = [
                        'data' => $data,
                        'message' => 'error',
                        'status' => 500,
                    ];
                    return response()->json($response, 200);
                }
                $response = [
                    'data' => $data,
                    'success' => true,
                    'status' => 200,
                ];
                return response()->json($response, 200);
            }

            $response = [
                'success' => false,
                'message' => 'Mobile is already registered.',
                'status' => 500
            ];
            return response()->json($response, 500);
        }
        $response = [
            'success' => false,
            'message' => 'Email is already taken',
            'status' => 500
        ];
        return response()->json($response, 500);
        // $data = RegisterRequest::create($request->all());
        // if (is_null($data)) {
        //     $response = [
        //     'data'=>$data,
        //     'message' => 'error',
        //     'status' => 500,
        // ];
        // return response()->json($response, 200);
        // }
        // $response = [
        //     'data'=>$data,
        //     'success' => true,
        //     'status' => 200,
        // ];
        // return response()->json($response, 200);
    }
    public function update(Request $request)
    {
        $validator = Validator::make($request->all(), [
            'id' => 'required',
        ]);
        if ($validator->fails()) {
            $response = [
                'success' => false,
                'message' => 'Validation Error.',
                $validator->errors(),
                'status' => 500
            ];
            return response()->json($response, 404);
        }
        $data = RegisterRequest::find($request->id)->update($request->all());
        if (is_null($data)) {
            $response = [
                'success' => false,
                'message' => 'Data not found.',
                'status' => 404
            ];
            return response()->json($response, 404);
        }
        $response = [
            'data' => $data,
            'success' => true,
            'status' => 200,
        ];
        return response()->json($response, 200);
    }
    public function delete(Request $request)
    {
        $validator = Validator::make($request->all(), [
            'id' => 'required',
        ]);
        if ($validator->fails()) {
            $response = [
                'success' => false,
                'message' => 'Validation Error.',
                $validator->errors(),
                'status' => 500
            ];
            return response()->json($response, 404);
        }
        $data = RegisterRequest::find($request->id);
        if ($data) {
            $data->delete();
            $response = [
                'data' => $data,
                'success' => true,
                'status' => 200,
            ];
            return response()->json($response, 200);
        }
        $response = [
            'success' => false,
            'message' => 'Data not found.',
            'status' => 404
        ];
        return response()->json($response, 404);
    }
    public function getAll()
    {
        $data = RegisterRequest::all();
        if ($data) {
            $response = [
                'data' => $data,
                'success' => true,
                'status' => 200,
            ];
            return response()->json($response, 200);
        }
        $response = [
            'success' => false,
            'message' => 'Data not found.',
            'status' => 404
        ];
        return response()->json($response, 404);
    }

    public function getSalonRequest(Request $request)
    {
        $data = RegisterRequest::where('type', 'salon')->get();
        foreach ($data as $loop) {
            if ($loop && $loop->categories && $loop->categories != null) {
                $ids = explode(',', $loop->categories);
                $cats = Category::WhereIn('id', $ids)->get();
                $loop->web_cates_data = $cats;
            }
            if ($loop && $loop->cid && $loop->cid != null) {
                $loop->city_data = Cities::find($loop->cid);
            }

        }
        if (is_null($data)) {
            $response = [
                'success' => false,
                'message' => 'Data not found.',
                'status' => 404
            ];
            return response()->json($response, 404);
        }

        $response = [
            'data' => $data,
            'success' => true,
            'status' => 200,
        ];
        return response()->json($response, 200);
    }

    public function getIndividualRequest(Request $request)
    {
        $data = RegisterRequest::where('type', 'individual')->get();
        foreach ($data as $loop) {
            if ($loop && $loop->categories && $loop->categories != null) {
                $ids = explode(',', $loop->categories);
                $cats = Category::WhereIn('id', $ids)->get();
                $loop->web_cates_data = $cats;
            }
            if ($loop && $loop->cid && $loop->cid != null) {
                $loop->city_data = Cities::find($loop->cid);
            }

        }
        if (is_null($data)) {
            $response = [
                'success' => false,
                'message' => 'Data not found.',
                'status' => 404
            ];
            return response()->json($response, 404);
        }

        $response = [
            'data' => $data,
            'success' => true,
            'status' => 200,
        ];
        return response()->json($response, 200);
    }
}