Root Zanli
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
home
/
o5t6x7pgljbm
/
public_html
/
admin
/
app
/
Http
/
Controllers
/
Api
/
V2
/
Filename :
V2CommonController.php
back
Copy
<?php namespace App\Http\Controllers\Api\V2; use App\Libraries\Helpers; use App\V2\Dtos\SearchDTO; use App\V2\Resources\RewardResource; use App\V2\Resources\TaskResource; use Illuminate\Http\Request; use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Log; class V2CommonController extends V2BaseController { private $taskResource; private $rewardResource; public function __construct() { parent::__construct(); $this->taskResource = new TaskResource(); $this->rewardResource = new RewardResource(); } /** * global search supported for Task and Rewards for now */ public function search(Request $request) { //Input Validations - start $error_if_any = Helpers::validatorErrorResponse( $request, [], [ 'q' => 'required|string', 'limit' => 'numeric', 'page' => 'numeric', 'entity_type' => ['string', 'in:'. implode(",", ['TASK','REWARD']) ], 'required_for' => ['string', 'in:'. implode(",", ['CHILD','PARENT']) ] ]); if($error_if_any['flag'] != 0){ return $error_if_any['response']; } [$currentUser, $currentStore, $currentGroup] = $this->getContextualDetails($request); $currentRole = $currentUser->getCurrentRole(); //Input Validations - end $searchDto = SearchDTO::builder() ->user($currentUser) ->store($currentStore) ->group($currentGroup) ->q($request->q) ->entityType($request->has('entity_type') ? $request->entity_type : null) ->limit($request->has('limit') ? $request->limit : 10) ->page_no($request->has('page') ? $request->page : 1 ) ->required_for($request->has('required_for') ? $request->required_for : ($currentRole == 'CHILD' ? 'CHILD' : 'PARENT') ) ->build(); [$tasks, $rewards] = $this->commonService->search($searchDto); $response_data = []; $response_data['tasks'] = $this->taskResource->toShortArray($tasks); $response_data['rewards'] = $this->rewardResource->toShortArray($rewards); return Helpers::successResponse(['data' => $response_data], 200, 'Data fetched successfully.'); } public function appview(Request $request){ // if(!Auth::user()){ // return redirect()->route('admin.login'); // } $error_if_any = Helpers::validatorErrorResponse( $request, [], [ 'reward_id' => 'required|numeric' ]); if($error_if_any['flag'] != 0){ return $error_if_any['response']; } Log::debug("Headers: ". print_r($request->header(), true)); // return redirect("products/".$request->reward_id."/edit"); return redirect()->away("www.coinsforcollege.com/reward/".$request->reward_id); } } ?>