diff --git a/app/Http/Controllers/AuthMobile/AuthController.php b/app/Http/Controllers/AuthMobile/AuthController.php index e11cf393..d70c7106 100644 --- a/app/Http/Controllers/AuthMobile/AuthController.php +++ b/app/Http/Controllers/AuthMobile/AuthController.php @@ -13,7 +13,6 @@ use Illuminate\Support\Facades\Validator; class AuthController extends Controller { public function register(Request $request) { - $validator = Validator::make($request->all(), [ 'name' => 'required|string', 'username' => 'required|string|unique:users', @@ -23,17 +22,19 @@ class AuthController extends Controller 'register_agree' => 'required|integer' ]); - $errors = [ - 'success' => "error", - 'message' => $validator->errors() - ]; + if ($validator->fails()) { + $errors = [ + 'success' => "error", + 'message' => $validator->errors() + ]; return response($errors, 201); } // Retrieve the validated input... $fields = $validator->validated(); + $currentdate = Carbon::now(); $currentdate = $currentdate->toDateString(); @@ -46,16 +47,17 @@ class AuthController extends Controller $user->register_agree = $fields['register_agree']; $user->t_daftar = $currentdate; $user->user_type = 2; //type 2 = pembida - $images = $request->images; + if($user->save()) { + $images = $request->images; foreach($images as $img) { $file = new File; $file->user_id = $user->id; - $file->file_type = $img->file_type; - $file->filename = $img->filename; + $file->file_type = $img['file_type']; + $file->filename = $img['filename']; $file->save(); } } @@ -66,12 +68,7 @@ class AuthController extends Controller 'user' => $user, 'token' => $token ]; - - // return back() - - // ->with('success','You have successfully upload image.') - - // ->with('image',$imageName); + return response($response, 201); } diff --git a/app/Http/Controllers/CartController.php b/app/Http/Controllers/CartController.php new file mode 100644 index 00000000..6844171c --- /dev/null +++ b/app/Http/Controllers/CartController.php @@ -0,0 +1,141 @@ +get(); + + foreach($carts as $cart) + { + $arraycart = []; + $lelongbid = LelongBid::where('id',$cart->lelongbid_id)->first(); + $marhun = LelongBidMarhun::where('lelongbid_id','=',$lelongbid->id)->get(); + $lelongbid->marhun = $marhun; + $cart->lelongbid = $lelongbid; + } + + if(sizeof($carts)!=0) + { + return response()->json([ + 'success' => true, + 'carts' => $carts + ]); + } + else + { + return response()->json([ + 'success' => false, + 'message' => 'No Data', + ], 401); + } + } + + public function addToCart(Request $request) + { + $item = new Cart; + $item->user_id = $request->user_id; + $item->lelongbid_id = $request->lelongbid_id; + $item->hargabida = $request->hargabida; + + if($item->save()) + { + $carts = Cart::where('user_id','=', $request->user_id)->get(); + + foreach($carts as $cart) + { + $arraycart = []; + $lelongbid = LelongBid::where('id',$cart->lelongbid_id)->first(); + $marhun = LelongBidMarhun::where('lelongbid_id','=',$lelongbid->id)->get(); + $lelongbid->marhun = $marhun; + $cart->lelongbid = $lelongbid; + } + return response()->json([ + 'success' => true, + 'carts' => $carts + ]); + } + else + { + return response()->json([ + 'success' => false, + 'message' => 'Error! Cannot save.', + ], 401); + } + } + + public function updateItem (Request $request) + { + $cart = Cart::where('id','=',$request->id)->first(); + + $cart->hargabida = $request->hargabida; + if($cart->save()) + { + return response()->json([ + 'success' => true, + 'cart' => $cart + ]); + } + else + { + return response()->json([ + 'success' => false, + 'message' => 'Error! Cannot save.', + ], 401); + } + } + + public function deleteCart($id) + { + $cart = Cart::where('id','=',$id)->first(); + if($cart->delete()) + { + return response()->json([ + 'success' => true, + 'message' => 'Delete Success' + ]); + } + else + { + return response()->json([ + 'success' => false, + 'message' => 'Error! Cannot save.', + ], 401); + } + } + + +} + \ No newline at end of file diff --git a/app/Http/Controllers/SimulasiController.php b/app/Http/Controllers/SimulasiController.php index 901c0270..aeba9a3f 100644 --- a/app/Http/Controllers/SimulasiController.php +++ b/app/Http/Controllers/SimulasiController.php @@ -56,7 +56,6 @@ class SimulasiController extends Controller $t_lelong = Carbon::parse($request->tarikh_lelong); $bulan = round($request->jbg,0); $jbgadai = ($t_lelong->subMonths($bulan))->toDateString(); - // dd($jbgadai); $surat = Gadai::where('t_gadai','<=',$jbgadai) ->where('sttebus','=',0) @@ -114,7 +113,7 @@ class SimulasiController extends Controller $simulasibid->caw_id = $caw->id; $simulasibid->kodcaw = $data->kodcaw; $simulasibid->norujukan = $data->norujukan; - $simulasibid->t_lelong = $t_lelong; + $simulasibid->t_lelong = $request->tarikh_lelong; $simulasibid->hargaasas = 0.00; $simulasibid->hargajual = 0.00; $simulasibid->jbg = $data->jbg; @@ -200,7 +199,7 @@ class SimulasiController extends Controller $simulasibid->caw_id = $caw->id; $simulasibid->kodcaw = $data->kodcaw; $simulasibid->norujukan = $data->norujukan; - $simulasibid->t_lelong = $t_lelong; + $simulasibid->t_lelong = $request->tarikh_lelong; $simulasibid->hargaasas = 0.00; $simulasibid->hargajual = 0.00; $simulasibid->jbg = $data->jbg; diff --git a/app/Models/Cart.php b/app/Models/Cart.php index c18a8ac3..5d7fbd02 100644 --- a/app/Models/Cart.php +++ b/app/Models/Cart.php @@ -8,4 +8,13 @@ use Illuminate\Database\Eloquent\Model; class Cart extends Model { use HasFactory; + + protected $table = 'carts'; + + protected $fillable = [ + 'user_id', + 'lelongbid_id', + 'hargabida' + ]; + } diff --git a/database/migrations/2022_01_13_064027_create_file_table.php b/database/migrations/2022_01_13_064027_create_file_table.php index 7a03117e..05757333 100644 --- a/database/migrations/2022_01_13_064027_create_file_table.php +++ b/database/migrations/2022_01_13_064027_create_file_table.php @@ -17,7 +17,7 @@ class CreateFileTable extends Migration $table->bigIncrements('id'); $table->unsignedBigInteger('user_id')->unsigned(); $table->string('file_type'); - $table->string('filename'); + $table->binary('filename'); $table->datetime('deleted_at')->nullable(); $table->integer('deleted_by')->nullable(); $table->timestamps(); diff --git a/database/migrations/2022_01_17_031138_create_carts_table.php b/database/migrations/2022_01_17_031138_create_carts_table.php index cac9852f..82243a4c 100644 --- a/database/migrations/2022_01_17_031138_create_carts_table.php +++ b/database/migrations/2022_01_17_031138_create_carts_table.php @@ -14,8 +14,19 @@ class CreateCartsTable extends Migration public function up() { Schema::create('carts', function (Blueprint $table) { - $table->id(); + $table->bigIncrements('id'); + $table->unsignedBigInteger('user_id')->unsigned(); + $table->unsignedBigInteger('lelongbid_id')->unsigned(); + $table->decimal('hargabida', $precision = 9, $scale = 2); $table->timestamps(); + + $table->foreign('user_id') + ->references('id')->on('users') + ->onDelete('cascade'); + + $table->foreign('lelongbid_id') + ->references('id')->on('lelongbid') + ->onDelete('cascade'); }); } diff --git a/routes/api.php b/routes/api.php index 06b87474..50ba8233 100644 --- a/routes/api.php +++ b/routes/api.php @@ -4,6 +4,7 @@ use Illuminate\Http\Request; use Illuminate\Support\Facades\Route; use App\Http\Controllers\AuthMobile\AuthController; use App\Http\Controllers\AuthMobile\UserController; +use App\Http\Controllers\CartController; /* |-------------------------------------------------------------------------- @@ -20,12 +21,18 @@ use App\Http\Controllers\AuthMobile\UserController; Route::post('/register', [AuthController::class, 'register']); Route::post('/login', [AuthController::class, 'login']); Route::post('/forgotpassword', [ResetPassword::class, 'forgotpassword']); - +Route::post('/addToCart', [CartController::class, 'addToCart']); +Route::get('/cart/{userid}', [CartController::class, 'getCart']); //Protected routes Route::group(['middleware' => ['auth:sanctum']], function () { Route::post('/logout', [AuthController::class, 'logout']); Route::get('/user/profile/{nokp}', [UserController::class, 'getProfileUser']); + + + + Route::post('/updateItem', [CartController::class, 'updateItem']); + Route::get('/deleteItem/{id}', [CartController::class, 'deleteCart']); }); // Route::post('/login', function (Request $request) {