unioil-mobile-api/app/Http/Controllers/API/FuelTrackerController.php

177 lines
5.0 KiB
PHP

<?php
namespace App\Http\Controllers\API;
use App\Contracts\FuelTrackerResourceInterface;
use App\Contracts\LcardActionLogsInterface;
use App\FuelTracker;
use App\Http\Requests\FuelTrackerFormValidation;
use App\Http\Requests\TopUpFormValidation;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use App\Libraries\ParameterHelper;
use App\Helpers\HttpStatusCode;
use App\Http\Resources\TopUpResource;
use App\Helpers\CurrentUserHelper;
class FuelTrackerController extends Controller
{
public $fuel_tracker;
public $lcard_logs;
protected $format;
const MODULE = 'FUELTRACKER';
public function __construct(HttpStatusCode $httpStatusCode, FuelTrackerResourceInterface $fuel_tracker,LcardActionLogsInterface $lcard_logs)
{
$this->lcard_logs = $lcard_logs;
$this->fuel_tracker = $fuel_tracker;
$this->format = $httpStatusCode;
$this->module = "FuelTracker";
$this->model = "FuelTracker";
}
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index(Request $request)
{
$member_details = CurrentUserHelper::get_currentMember();
$list = $this->fuel_tracker->listing($member_details->lcard_id);
if(count($list)){
$this->lcard_logs->log(0 ,self::MODULE,'VIEW','View Fuel Tracker');
return $this->format->mobile_success('Success',$list);
}else{
return $this->format->mobile_error('Empty');
}
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function create()
{
//
return "create";
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(FuelTrackerFormValidation $request)
{
$member_details = CurrentUserHelper::get_currentMember();
if($member_details->lcard_id){
$request->lcard_id = $member_details->lcard_id;
$return = $this->fuel_tracker->store($request) ? $this->fuel_tracker->store($request) : false;
$this->lcard_logs->log($return ,self::MODULE,'STORE','Added Fuel Tracker');
return $this->format->mobile_success('Success Added',[]);
}
return $this->format->mobile_error('Empty');
}
/**
* Display the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function show($uuid)
{
$member_details = CurrentUserHelper::get_currentMember();
$details = FuelTracker::where(['fueltracker_uuid' => $uuid,'lcard_id' => $member_details->lcard_id, 'is_active' => 1])->first();
if ($details){
$this->lcard_logs->log($details->fueltracker_id ,self::MODULE,'VIEW','View Fuel Tracker');
return $this->format->mobile_success('Success',$details);
}
return $this->format->mobile_error('Empty');
}
/**
* Show the form for editing the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function edit($id)
{
//
return "edit";
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param int $id
* @return \Illuminate\Http\Response
*/
public function update(FuelTrackerFormValidation $request, $uuid)
{
$member_details = CurrentUserHelper::get_currentMember();
if ($uuid == null && empty($uuid)) {
return $this->format->notFound();
}
$request->lcard_id = $member_details->lcard_id;
$request->fueltracker_uuid = $uuid;
$details = $this->fuel_tracker->update($request);
if ($details){
$this->lcard_logs->log($details['fueltracker_id'],self::MODULE,'UPDATE','Update Fuel Tracker');
return $this->format->mobile_success('Success',$details);
}
return $this->format->mobile_error('Error');
}
/**
* Remove the specified resource from storage.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function destroy($uuid)
{
$member_details = CurrentUserHelper::get_currentMember();
$details = $this->fuel_tracker->getByFieldAndLcardId('fueltracker_uuid',$uuid,$member_details->lcard_id);
if (!$details){
return $this->format->mobile_error('not found');
}
if(isset($details['0']))
{
$details = $details['0'];
$fueltrack_id = $this->fuel_tracker->delete($uuid);
if($fueltrack_id)
{
$this->lcard_logs->log($fueltrack_id,self::MODULE,'DELETE','Delete Fuel Tracker');
return $this->format->mobile_success('Success',null);
}
}
return $this->format->mobile_error('not found');
}
}