Perbaiki login api
This commit is contained in:
parent
6e4d6f561c
commit
bf163bce1e
@ -8,7 +8,6 @@ use Illuminate\Http\Request;
|
|||||||
use Tymon\JWTAuth\Facades\JWTFactory;
|
use Tymon\JWTAuth\Facades\JWTFactory;
|
||||||
use Illuminate\Support\Facades\Hash;
|
use Illuminate\Support\Facades\Hash;
|
||||||
use App\Models\User;
|
use App\Models\User;
|
||||||
use Carbon\Carbon;
|
|
||||||
use GuzzleHttp\Client;
|
use GuzzleHttp\Client;
|
||||||
use Illuminate\Support\Facades\Auth;
|
use Illuminate\Support\Facades\Auth;
|
||||||
use Illuminate\Support\Facades\DB;
|
use Illuminate\Support\Facades\DB;
|
||||||
@ -23,7 +22,6 @@ use Laravolt\Indonesia\Models\Village;
|
|||||||
use Pusher\Pusher;
|
use Pusher\Pusher;
|
||||||
use Tymon\JWTAuth\Facades\JWTAuth;
|
use Tymon\JWTAuth\Facades\JWTAuth;
|
||||||
|
|
||||||
|
|
||||||
class LoginApiController extends Controller
|
class LoginApiController extends Controller
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
@ -37,16 +35,16 @@ class LoginApiController extends Controller
|
|||||||
*
|
*
|
||||||
* @return \Illuminate\Http\JsonResponse
|
* @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))) {
|
$token = Auth::guard('api')->attempt($credentials);
|
||||||
return response()->json(['error' => 'Unauthorized'], 401);
|
if (!$token) {
|
||||||
}
|
return response()->json(['error' => 'Email atau password salah'], 401);
|
||||||
|
}
|
||||||
return $this->respondWithToken($token);
|
|
||||||
|
|
||||||
|
return $this->respondWithToken($token);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -125,8 +123,8 @@ class LoginApiController extends Controller
|
|||||||
if ($request->hasFile('ktp') && $request->hasFile('wajah')) {
|
if ($request->hasFile('ktp') && $request->hasFile('wajah')) {
|
||||||
$fileKtp = $request->file('ktp');
|
$fileKtp = $request->file('ktp');
|
||||||
$fileWajah = $request->file('wajah');
|
$fileWajah = $request->file('wajah');
|
||||||
$foto_ktp = 'Foto-KTP-'.$email. '.' . $fileKtp->getClientOriginalExtension();
|
$foto_ktp = 'Foto-KTP-' . $email . '.' . $fileKtp->getClientOriginalExtension();
|
||||||
$foto_wajah = 'Foto-Wajah'.$email.'.' . $fileWajah->getClientOriginalExtension();
|
$foto_wajah = 'Foto-Wajah' . $email . '.' . $fileWajah->getClientOriginalExtension();
|
||||||
$pathKtp = 'foto-ktp/' . $foto_ktp;
|
$pathKtp = 'foto-ktp/' . $foto_ktp;
|
||||||
$pathWajah = 'foto-wajah/' . $foto_wajah;
|
$pathWajah = 'foto-wajah/' . $foto_wajah;
|
||||||
|
|
||||||
@ -142,52 +140,52 @@ class LoginApiController extends Controller
|
|||||||
'multipart' => [
|
'multipart' => [
|
||||||
[
|
[
|
||||||
'name' => 'image',
|
'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,
|
'filename' => $foto_ktp,
|
||||||
],
|
],
|
||||||
],
|
],
|
||||||
'verify' => false
|
'verify' => false,
|
||||||
]);
|
]);
|
||||||
|
|
||||||
$result = $response->getBody()->getContents();
|
$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;
|
$nikKTP = $nik;
|
||||||
$persentaseNama = 0;
|
$persentaseNama = 0;
|
||||||
$persentaseNik = 0;
|
$persentaseNik = 0;
|
||||||
|
|
||||||
foreach($lines['result'] as $line){
|
foreach ($lines['result'] as $line) {
|
||||||
$teks = str_replace(' ','',strtolower($line));
|
$teks = str_replace(' ', '', strtolower($line));
|
||||||
$persentaseNamaSementara = 0;
|
$persentaseNamaSementara = 0;
|
||||||
$persentaseNikSementara = 0;
|
$persentaseNikSementara = 0;
|
||||||
similar_text($teks,$namaKTP,$persentaseNamaSementara);
|
similar_text($teks, $namaKTP, $persentaseNamaSementara);
|
||||||
similar_text($teks,$nikKTP,$persentaseNikSementara);
|
similar_text($teks, $nikKTP, $persentaseNikSementara);
|
||||||
|
|
||||||
if($persentaseNamaSementara > 0){
|
if ($persentaseNamaSementara > 0) {
|
||||||
if($persentaseNamaSementara > $persentaseNama){
|
if ($persentaseNamaSementara > $persentaseNama) {
|
||||||
$persentaseNama = $persentaseNamaSementara;
|
$persentaseNama = $persentaseNamaSementara;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if($persentaseNikSementara > 0){
|
if ($persentaseNikSementara > 0) {
|
||||||
if($persentaseNikSementara > $persentaseNik){
|
if ($persentaseNikSementara > $persentaseNik) {
|
||||||
$persentaseNik = $persentaseNikSementara;
|
$persentaseNik = $persentaseNikSementara;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$persentase_kemiripan = ($persentaseNama + $persentaseNik)/2;
|
$persentase_kemiripan = ($persentaseNama + $persentaseNik) / 2;
|
||||||
|
|
||||||
$status = 'Progress';
|
$status = 'Progress';
|
||||||
|
|
||||||
if($persentase_kemiripan >= 50){
|
if ($persentase_kemiripan >= 50) {
|
||||||
$status = 'Finished';
|
$status = 'Finished';
|
||||||
}else if($persentase_kemiripan <= 35){
|
} elseif ($persentase_kemiripan <= 35) {
|
||||||
return response()->json([
|
return response()->json([
|
||||||
'status' => false,
|
'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,
|
'gender' => $gender,
|
||||||
'kode_kelurahan' => $kode_kelurahan,
|
'kode_kelurahan' => $kode_kelurahan,
|
||||||
'remember_token' => Str::random(10),
|
'remember_token' => Str::random(10),
|
||||||
'status' => $status
|
'status' => $status,
|
||||||
]);
|
]);
|
||||||
|
|
||||||
DB::commit();
|
DB::commit();
|
||||||
@ -229,12 +227,12 @@ class LoginApiController extends Controller
|
|||||||
|
|
||||||
$pusher->trigger('chanel-update-notifikasi-untuk-admin', 'event-update-notifikasi-untuk-admin', $payload);
|
$pusher->trigger('chanel-update-notifikasi-untuk-admin', 'event-update-notifikasi-untuk-admin', $payload);
|
||||||
|
|
||||||
if($status == 'Finished'){
|
if ($status == 'Finished') {
|
||||||
return response()->json([
|
return response()->json([
|
||||||
'status' => true,
|
'status' => true,
|
||||||
'message' => 'Akun anda sudah terdaftar dan dapat digunakan',
|
'message' => 'Akun anda sudah terdaftar dan dapat digunakan',
|
||||||
]);
|
]);
|
||||||
}else{
|
} else {
|
||||||
return response()->json([
|
return response()->json([
|
||||||
'status' => true,
|
'status' => true,
|
||||||
'message' => 'Akun anda sudah terdaftar dan butuh verifikasi hingga maksimal 1 hari kerja',
|
'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');
|
$email = $request->input('email');
|
||||||
$code = $request->input('code');
|
$code = $request->input('code');
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user