Viewing File: /home/ubuntu/vedadeals-backend-base/app/Http/Controllers/Api/LookupApiController.php
<?php
namespace App\Http\Controllers\Api;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use App\Helpers\Helper;
use DB, Exception, Setting, Hash, Storage;
use App\Models\{ User, StaticPage, ContactRequest };
class LookupApiController extends Controller
{
protected $loginUser;
protected $skip, $take;
public function __construct(Request $request) {
info(url()->current());
info("Request Data".print_r($request->all(), true));
$this->loginUser = User::find($request->id);
$this->skip = $request->skip ?: 0;
$this->take = $request->take ?: (Setting::get('admin_take_count') ?: TAKE_COUNT);
$this->timezone = $this->loginUser->timezone ?? "America/New_York";
$request->request->add(['timezone' => $this->timezone]);
}
/**
* @method static_pages()
*
* @uses to the static page details
*
* @created Karthick
*
* @updated
*
* @param
*
* @return
*/
public function static_pages(Request $request) {
try {
$rules = ['static_page_unique_id' => ['exists:static_pages,unique_id']];
$custom_errors = ['unique_id.exists' => api_error(1009, 'static page')];
Helper::custom_validator($request->all(), $rules, $custom_errors);
if($request->static_page_unique_id) {
$base_query = StaticPage::where('unique_id', $request->static_page_unique_id)->Approved()->orderBy('updated_at', 'desc');
} else {
$base_query = StaticPage::Approved()->orderBy('updated_at', 'desc');
}
$static_pages = $base_query->skip($this->skip)->take($this->take)->get();
$static_pages->each(function($static_page) {
$static_page->created_formatted = common_date($static_page->created_at, $this->timezone, 'd M Y');
$static_page->updated_formatted = common_date($static_page->updated_at, $this->timezone, 'd M Y');
});
$data['static_pages'] = $static_pages;
return $this->sendResponse("", "", $data);
} catch (Exception $e) {
return $this->sendError($e->getMessage(), $e->getCode());
}
}
/**
* @method static_pages_view()
*
* @uses to get the pages
*
* @created Arun
*
* @updated
*
* @param -
*
* @return JSON Response
*/
public function static_pages_view(Request $request) {
try {
$rules = [ 'static_page_unique_id' => 'required|exists:static_pages,unique_id' ];
Helper::custom_validator($request->all(), $rules, $custom_errors = []);
$static_page = StaticPage::Approved()->firstWhere('unique_id' , $request->static_page_unique_id);
$response_array = ['success' => true , 'data' => $static_page];
return response()->json($response_array);
} catch(Exception $e) {
return $this->sendError($e->getMessage(), $e->getCode());
}
}
/**
* @method contact_requests_save()
*
* @uses to save a contact request details
*
* @created Karthick
*
* @updated
*
* @param
*
*
* @return success / failure message
*/
public function contact_requests_save(Request $request) {
try {
$rules = [
'name' => ['required'],
'mobile' => ['nullable', 'digits_between:6,13'],
'email' => ['required', 'email'],
'query' => ['required']
];
$validated = Helper::custom_validator($request->all(), $rules, $custom_errors = []);
DB::beginTransaction();
$contact_request = ContactRequest::Create($validated);
if(!$contact_request) {
throw new Exception(api_error(104), 104);
}
DB::commit();
return $this->sendResponse(api_success(152), 152 , []);
} catch (Exception $e) {
DB::rollback();
return $this->sendError($e->getMessage(), $e->getCode());
}
}
}
Back to Directory
File Manager