Current File : /home/inlingua/www/crm.vprotectindia.com/app/Http/Controllers/API/UserController_old_23_1_25.php |
<?php
namespace App\Http\Controllers\API;
use Illuminate\Support\Facades\Hash;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use App\Model\Customer\Customer;
use App\User;
use App\Model\OutstandingReport;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\DB;
use Validator;
class UserController extends Controller
{
public $successStatus = 200;
/**
* login api
*
* @return \Illuminate\Http\Response
*/
public function login(){
// return response()->json(['Sucess'=>request('email').'=>'.request('password')], 200);
if(Auth::attempt(['email' => request('email'), 'password' => request('password')])){
$user = Auth::user();
$success['token'] = $user->createToken('MyApp')->accessToken;
return response()->json(['success' => $success], $this->successStatus);
}
else{
return response()->json(['error'=>'Unauthorised'], 401);
}
}
public function customer_login(Request $request){
// return response()->json(['Sucess'=>request('email').'=>'.request('password')], 200);
if(Auth::guard('customers')->attempt(['email' => request('email'), 'password' => request('password')])){
$customer = Auth::guard('customers')->user();
$date=time();
$password = Hash::make($date);
$query=DB::table('customers')
->where('id', $customer->id)
->update(['remember_token' => $password]);
$success['status']='success';
$success['token']=$password;
return response()->json(['success' => $success], 200);
}
else{
return response()->json(['error'=>'Unauthorised'], 401);
exit;
}
}
/**
* Register api
*
* @return \Illuminate\Http\Response
*/
public function register(Request $request)
{
//return response()->json(['sucess'=>$request], 401);
$validator = Validator::make($request->all(), [
'name' => 'required',
'email' => 'required|email',
'password' => 'required',
'c_password' => 'required|same:password',
]);
if ($validator->fails()) {
return response()->json(['error'=>$validator->errors()], 401);
}
$input = $request->all();
$input['password'] = bcrypt($input['password']);
$user = User::create($input);
$success['token'] = $user->createToken('MyApp')->accessToken;
$success['name'] = $user->name;
return response()->json(['success'=>$success], $this->successStatus);
}
/**
* details api
*
* @return \Illuminate\Http\Response
*/
public function details()
{
$user = Auth::user();
return response()->json(['success' => $user], $this->successStatus);
}
public function getpayments(Request $request)
{
$request->header('Authorization');
$splittoke=explode(" ",$request->header('Authorization'));
$token=$splittoke[1];
$exists =$this->varify_user_token($token);
if($exists===null){
return response()->json(['error'=>'Unauthorised'], 401);
}else{
//return($query);
$customer_number=$exists->ACCOUNT_NUMBER;
$report=OutstandingReport::query()->where('customer_number',$customer_number)->orderBy('id', 'DESC')->get();
return response()->json(['success' => $report], $this->successStatus);
}
}
public function varify_user_token($token){
$query=DB::table('customers')
->where('remember_token', $token)
->first();
return $query;
}
public function deshboard_count(Request $request)
{
$request->header('Authorization');
$splittoke=explode(" ",$request->header('Authorization'));
$token=$splittoke[1];
$exists =$this->varify_user_token($token);
if($exists===null){
return response()->json(['error'=>'Unauthorised'], 401);
}else{
//return($query);
$customer_number=$exists->ACCOUNT_NUMBER;
$paid=0;
$unpaid=0;
$totalamt=0;
$recamt=0;
//$id = Auth::user()->user_name;
//$cust_id=CustomerMasterModel::where('customer_code',$id)->first()->id;
//$customer_number=Auth::guard('customers')->user()->ACCOUNT_NUMBER;
$Subscriptionquery = 0;
//$Invoicequery = InvoiceMasters::get(['id']);
//$customer_number='10000096';
$Invoicequery= DB::table('outstanding_reports')
->where('customer_number',$customer_number)
->get();
$total_recamt=DB::table('outstanding_reports')
->where('customer_number',$customer_number)
->where('txn_status','0')
->sum('bal_func_amt');
foreach ($Invoicequery as $row) {
//$totalamt = isset(InvoiceMasters::find($row->id)->ledgers()->first()->amount)?InvoiceMasters::find($row->id)->ledgers()->first()->amount:"0";
//$recamt =InvoiceMasters::find($row->id)->receipt()->sum('amount');
if($row->txn_status=='1')
{
$paid++;
}
else{
$unpaid ++;
}
}
$report= array(
'subscription' =>0,
'invoice'=>$Invoicequery->count(),
'paid'=>$paid,
'unpaid'=>$unpaid,
'balance'=>$total_recamt,
);
}
//$report=OutstandingReport::query()->where('customer_number',$customer_number)->orderBy('id', 'DESC')->get();
return response()->json(['success' => $report], $this->successStatus);
}
}