<?php
namespace App\Http\Controllers\Api;
use Illuminate\Support\Facades\Hash;
use Illuminate\Http\Request;
use App\Models\Api\ApiUser;
use App\Http\Controllers\Controller;
class ApiAuthController extends Controller
{
public function register(Request $request)
{
$user = new ApiUser;
$user->name = $request->name;
$user->email = $request->email;
$user->password = password_hash($request->password,PASSWORD_DEFAULT);
$user->api_token = str_random(100);
$user->save();
return response()->json($user, 200);
}
public function login(Request $request)
{
$data = [];
$user = ApiUser::where('email',$request->email)->first();
if($user == null){
return response()->json("User Tidak Ditemukan", 401);
} else if(Hash::check($request->password,$user->password)){
$user->api_token = str_random(100);
$user->save();
$data['user'] = [
'id'=>$user->id,
'name'=>$user->name,
'email'=>$user->email,
'no_telepon'=>$user->no_telepon,
'password'=>$user->password,
'api_token'=>$user->api_token,
'uid'=>$user->uid,
'expires_in'=>24 * 60 * 60,
'avatar'=>$user->avatar,
];
} else {
return response()->json("Error", 500);
}
\App\Models\UserLog::create(['user_id'=>$user->id,'keterangan'=>'Login aplikasi mobile']);
return response()->json($data, 200);
}
public function userProfil(Request $request)
{
$token = $request->bearerToken();
$user = ApiUser::where('api_token',$token)->first();
return response()->json($user, 200);
}
public function updateSession(Request $request)
{
$user = ApiUser::where('uid',$_GET['uid'])->update(['status'=>$_GET['status']]);
return response()->json($user, 200);
}
public function updateProfil(Request $request)
{
$token = $request->bearerToken();
$user = ApiUser::where('api_token',$token)->first();
if($user){
$user->name = $request->name;
$user->email = $request->email;
$user->no_telepon = $request->no_telepon;
if($request->password_baru != null){
$user->password = password_hash($request->password_baru,PASSWORD_DEFAULT);
}
$user->save();
$data = [
'id'=>$user->id,
'name'=>$user->name,
'email'=>$user->email,
'password'=>$user->password,
'no_telepon'=>$user->no_telepon,
'api_token'=>$user->api_token,
'expires_in'=>24 * 60 * 60,
'uid'=>$user->uid,
'avatar'=>$user->avatar,
];
return response()->json($data, 200);
\App\Models\UserLog::create(['user_id'=>$user->id,'keterangan'=>'Update profil di aplikasi mobile']);
} else {
return response()->json("User Tidak Ditemukan", 401);
}
}
}
Anons79 File Manager Version 1.0, Coded By Anons79
Email: [email protected]