Perbaiki login api

This commit is contained in:
Muhammad Raihan Surya 2023-12-19 15:03:28 +07:00
parent 6e4d6f561c
commit bf163bce1e

View File

@ -8,7 +8,6 @@ use Illuminate\Http\Request;
use Tymon\JWTAuth\Facades\JWTFactory;
use Illuminate\Support\Facades\Hash;
use App\Models\User;
use Carbon\Carbon;
use GuzzleHttp\Client;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\DB;
@ -23,7 +22,6 @@ use Laravolt\Indonesia\Models\Village;
use Pusher\Pusher;
use Tymon\JWTAuth\Facades\JWTAuth;
class LoginApiController extends Controller
{
/**
@ -37,16 +35,16 @@ class LoginApiController extends Controller
*
* @return \Illuminate\Http\JsonResponse
*/
public function login()
public function login(Request $request)
{
$credentials = request(['email', 'password']);
$credentials = $request->only(['email', 'password']);
if (!($token = Auth::guard('api')->attempt($credentials))) {
return response()->json(['error' => 'Unauthorized'], 401);
$token = Auth::guard('api')->attempt($credentials);
if (!$token) {
return response()->json(['error' => 'Email atau password salah'], 401);
}
return $this->respondWithToken($token);
}
/**
@ -125,8 +123,8 @@ class LoginApiController extends Controller
if ($request->hasFile('ktp') && $request->hasFile('wajah')) {
$fileKtp = $request->file('ktp');
$fileWajah = $request->file('wajah');
$foto_ktp = 'Foto-KTP-'.$email. '.' . $fileKtp->getClientOriginalExtension();
$foto_wajah = 'Foto-Wajah'.$email.'.' . $fileWajah->getClientOriginalExtension();
$foto_ktp = 'Foto-KTP-' . $email . '.' . $fileKtp->getClientOriginalExtension();
$foto_wajah = 'Foto-Wajah' . $email . '.' . $fileWajah->getClientOriginalExtension();
$pathKtp = 'foto-ktp/' . $foto_ktp;
$pathWajah = 'foto-wajah/' . $foto_wajah;
@ -142,52 +140,52 @@ class LoginApiController extends Controller
'multipart' => [
[
'name' => 'image',
'contents' => fopen(public_path('storage/foto-ktp/'.$foto_ktp), 'r'),
'contents' => fopen(public_path('storage/foto-ktp/' . $foto_ktp), 'r'),
'filename' => $foto_ktp,
],
],
'verify' => false
'verify' => false,
]);
$result = $response->getBody()->getContents();
$lines = json_decode($result,true);
$lines = json_decode($result, true);
$namaKTP = str_replace(' ','',strtolower($nama_depan.$nama_belakang));
$namaKTP = str_replace(' ', '', strtolower($nama_depan . $nama_belakang));
$nikKTP = $nik;
$persentaseNama = 0;
$persentaseNik = 0;
foreach($lines['result'] as $line){
$teks = str_replace(' ','',strtolower($line));
foreach ($lines['result'] as $line) {
$teks = str_replace(' ', '', strtolower($line));
$persentaseNamaSementara = 0;
$persentaseNikSementara = 0;
similar_text($teks,$namaKTP,$persentaseNamaSementara);
similar_text($teks,$nikKTP,$persentaseNikSementara);
similar_text($teks, $namaKTP, $persentaseNamaSementara);
similar_text($teks, $nikKTP, $persentaseNikSementara);
if($persentaseNamaSementara > 0){
if($persentaseNamaSementara > $persentaseNama){
if ($persentaseNamaSementara > 0) {
if ($persentaseNamaSementara > $persentaseNama) {
$persentaseNama = $persentaseNamaSementara;
}
}
if($persentaseNikSementara > 0){
if($persentaseNikSementara > $persentaseNik){
if ($persentaseNikSementara > 0) {
if ($persentaseNikSementara > $persentaseNik) {
$persentaseNik = $persentaseNikSementara;
}
}
}
$persentase_kemiripan = ($persentaseNama + $persentaseNik)/2;
$persentase_kemiripan = ($persentaseNama + $persentaseNik) / 2;
$status = 'Progress';
if($persentase_kemiripan >= 50){
if ($persentase_kemiripan >= 50) {
$status = 'Finished';
}else if($persentase_kemiripan <= 35){
} elseif ($persentase_kemiripan <= 35) {
return response()->json([
'status' => false,
'message' => 'Sistem tidak dapat mendeteksi foto KTP. Kemungkinan foto tidak jelas atau buram, silahkan upload foto KTP yang jelas. Persentase kemiripan inputan : '.$persentase_kemiripan.'%'
'message' => 'Sistem tidak dapat mendeteksi foto KTP. Kemungkinan foto tidak jelas atau buram, silahkan upload foto KTP yang jelas. Persentase kemiripan inputan : ' . $persentase_kemiripan . '%',
]);
}
@ -211,7 +209,7 @@ class LoginApiController extends Controller
'gender' => $gender,
'kode_kelurahan' => $kode_kelurahan,
'remember_token' => Str::random(10),
'status' => $status
'status' => $status,
]);
DB::commit();
@ -229,12 +227,12 @@ class LoginApiController extends Controller
$pusher->trigger('chanel-update-notifikasi-untuk-admin', 'event-update-notifikasi-untuk-admin', $payload);
if($status == 'Finished'){
if ($status == 'Finished') {
return response()->json([
'status' => true,
'message' => 'Akun anda sudah terdaftar dan dapat digunakan',
]);
}else{
} else {
return response()->json([
'status' => true,
'message' => 'Akun anda sudah terdaftar dan butuh verifikasi hingga maksimal 1 hari kerja',
@ -252,7 +250,8 @@ class LoginApiController extends Controller
}
}
public function verificationCode(Request $request){
public function verificationCode(Request $request)
{
$email = $request->input('email');
$code = $request->input('code');