auth simpel
unknown
php
a month ago
5.2 kB
4
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