auth simpel
unknown
php
9 months ago
5.2 kB
6
Indexable
<?php
namespace App\Http\Controllers\BankSenggarah;
use App\Http\Requests\BankSenggarah\LoginBankSenggarahRequest;
use App\Http\Requests\BankSenggarah\RegisterBankSenggarahRequest;
use App\Models\BankSenggarah\UserBankSenggarah;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Hash;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
class AuthBankSenggarahController extends Controller
{
public function register(RegisterBankSenggarahRequest $request)
{
$user = UserBankSenggarah::create([
'name' => $request->name,
'email' => $request->email,
'password' => Hash::make($request->password),
'address' => $request->address,
'occupation' => $request->occupation,
'gaji_per_bulan' => $request->gaji_per_bulan,
]);
// Auto-login setelah registrasi
Auth::login($user);
return response()->json([
'message' => 'Registrasi berhasil',
'user' => $user,
], 201);
}
public function login(LoginBankSenggarahRequest $request)
{
$user = UserBankSenggarah::where('email', $request->email)->first();
if ($user && Hash::check($request->password, $user->password)) {
Auth::login($user); // Gunakan login manual jika Auth::attempt gagal
return response()->json([
'message' => 'Login berhasil',
'user' => $user,
]);
}
return response()->json([
'message' => 'Email atau password salah',
], 401);
}
public function logout(Request $request)
{
$userId = $request->input('id');
$user = UserBankSenggarah::find($userId);
if (!$user) {
return response()->json([
'message' => 'User tidak ditemukan'
], 404);
}
// Auth::logout();
return response()->json([
'message' => 'Logout berhasil',
]);
}
public function getUserDetail(Request $request)
{
$user = UserBankSenggarah::find($request->id);
if (!$user) {
return response()->json(['message' => 'User not found'], 404);
}
return response()->json([
'message' => 'User detail retrieved successfully',
'user' => [
'id' => $user->id,
'name' => $user->name,
'email' => $user->email,
'address' => $user->address,
'occupation' => $user->occupation,
'gaji_per_bulan' => (int) $user->gaji_per_bulan,
],
]);
}
}
models =
<?php
namespace App\Models\BankSenggarah;
use Illuminate\Foundation\Auth\User as Authenticatable;
class UserBankSenggarah extends Authenticatable
{
protected $table = 'users_bank_senggarah'; // Tambahkan ini
protected $fillable = [
'name',
'email',
'password',
'address',
'occupation',
'gaji_per_bulan',
];
protected $hidden = [
'password',
];
public function loans()
{
return $this->hasMany(LoanBankSenggarah::class);
}
}
routes =
// --------------------------------
// Sulton - Project Simulasi Pinjaman Bank Desa Senggarah
// ------------------------------------
Route::post('/register-bank-senggarah', [AuthBankSenggarahController::class, 'register']);
Route::post('/login-bank-senggarah', [AuthBankSenggarahController::class, 'login']);
Route::post('/logout-bank-senggarah', [AuthBankSenggarahController::class, 'logout']);
Route::post('/apply-loan-bank-senggarah', [LoanBankSenggarahController::class, 'applyLoan']);
Route::get('/loan-history-bank-senggarah', [LoanBankSenggarahController::class, 'getLoanHistory']);
Route::post('/edit-profile-bank-senggarah', [ProfileBankSenggarahController::class, 'editProfile']);
Route::post('/user-detail-bank-senggarah', [AuthBankSenggarahController::class, 'getUserDetail']);
Route::post('/get-loan-limit', [LoanBankSenggarahController::class, 'getLoanLimit']);
Route::post('/calculate-loan-payment', [LoanBankSenggarahController::class, 'calculateLoanPayment']);
migration =
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration {
public function up(): void
{
Schema::create('users_bank_senggarah', function (Blueprint $table) {
$table->id();
$table->string('name');
$table->string('email')->unique();
$table->string('password');
$table->string('address')->nullable();
$table->string('occupation')->nullable();
$table->decimal('gaji_per_bulan', 12, 2)->nullable();
$table->timestamps();
});
}
public function down(): void
{
Schema::dropIfExists('users_bank_senggarah');
}
};
Editor is loading...
Leave a Comment