'/test', 'as' => 'test'), function () { //$user = User::find(31)??auth()->user(); //$user->assignRole("admin"); //$role = Role::create(['name' => 'admin']); //$permission = Permission::create(['name' => 'delete articles']); //$role->givePermissionTo($permission); //$permission = Permission::create(['name' => 'products.publish']); //$permission = Permission::find(3); //$role = Role::find(3); //$user->givePermissionTo($permission); //$role->givePermissionTo($permission); //$user->assignRole("writer"); //$user->givePermissionTo('delete articles'); // them permison 1 luc nhieu bang //Permission::create(['name'=>'products,categories.create,update,view']); // add permison vao user //$user->givePermissionTo('products.publish'); //xoa role bang name //$user->removeRole('writer'); //$permissionNames = $user->getPermissionNames(); // collection of name strings //$permissions = $user->permissions; // collection of permission objects //$roles = $user->roles()->with("permissions")->get(); // collection of permission objects //$user->givePermissionTo('products,categories.create,update,view'); //dd([ $permissionNames,$permissions,$user->can('products.create'),$user->can('products.publish'),$roles]); //$x = Carbon::now()->format('Y-m-d'); //$x = Carbon::create()->year(2024)->month(1)->firstOfQuarter(); //$x = Carbon::create()->year(2024)->month(1)->endOfQuarter(); // $roomservice = app()->make(\App\Services\RoomTypeServices::class); // $request['checkin_at'] = "2024-05-16 00:00:00"; // $request['checkout_at'] ="2024-05-17 00:00:00"; // $rooms = $roomservice->getRoomType($request); // dd($rooms); return "ok"; }); Route::group(array('prefix' => '/v1'), function () { Route::group(array('prefix' => 'room-type', 'as' => 'room_type.'), function () { Route::get('/', [RoomTypeController::class, 'index'])->name('list'); Route::get('/create', function () { })->name('create'); Route::get('/edit/{code}', function () { })->name('edit'); Route::get('/{code}', [RoomTypeController::class, 'show'])->name('show'); Route::patch('/{code}', function () { })->name('patch'); Route::post('/', function () { })->name('store'); Route::delete('/{code}', function () { })->name('delete'); Route::group(array('prefix' => '{room_type_id}/room', 'as' => 'room.'), function () { }); }); Route::group(array('prefix' => 'amenities', 'as' => 'amenities.'), function () { Route::get('/', [AmenityController::class, 'index'])->name('list'); }); Route::group(array('prefix' => 'rating', 'as' => 'rating.'), function () { Route::get('/room/{roomTypeId}/packet/{packetId}', [RatingController::class, 'ratingRoom']) ->middleware('auth:api') ->name('ratingRoom'); Route::get('/', [RatingController::class, 'index'])->name('list'); Route::post('/', [RatingController::class, 'store']) ->middleware('auth:api') ->name('store'); }); Route::group(array('prefix' => 'user', 'as' => 'user.', 'middleware' => 'auth:api'), function () { Route::group(array('prefix' => '{customerId}/bookings', 'as' => 'bookings.'), function () { Route::get('/', [BookingController::class, 'index'])->name('index'); Route::get('/{bookingId}', [BookingController::class, 'show'])->name('show'); Route::patch('/{bookingId}', [BookingController::class, 'update'])->name('patch'); }); Route::group(array('prefix' => '{customerId}/wishlists', 'as' => 'wishlists.'), function () { Route::get('/', [UserController::class, 'indexWishlist'])->name('index'); Route::patch('/', [UserController::class, 'updateWishlist'])->name('patch'); }); Route::patch('/{id}', [UserController::class, 'update'])->name('patch'); }); Route::group(array('prefix' => 'payments', 'as' => 'payments.'), function () { }); Route::group(array('prefix' => 'checkout', 'as' => 'checkout.'), function () { Route::post('/', [BookingController::class, 'store'])->name('store'); }); Route::group(array('prefix' => 'packets', 'as' => 'packets.'), function () { Route::get('/', [PacketController::class, 'index'])->name('list'); }); Route::group(array('prefix' => 'benefits', 'as' => 'benefits.'), function () { }); Route::group(array('prefix' => 'images', 'as' => 'images.'), function () { Route::get('/{Id}', [BEImageController::class, 'show'])->name('show'); Route::post('/', [BEImageController::class, 'store'])->name('store'); Route::delete('/{Id}', [BEImageController::class, 'delete'])->name('delete'); }); Route::group(array('prefix' => 'admin','middleware' => [ 'auth:api','role:admin']), function () { Route::get('/dashboard', [DashBoardController::class, 'index'])->name('list'); Route::group(array('prefix' => 'bookings', 'as' => 'bookings.'), function () { Route::get('/', [BEBookingController::class, 'index'])->name('index'); Route::get('/{bookingId}', [BEBookingController::class, 'show'])->name('show'); Route::patch('/{bookingId}', [BEBookingController::class, 'update'])->name('patch'); Route::delete('/{Id}', [BEBookingController::class, 'delete'])->name('delete'); }); Route::group(array('prefix' => 'rooms', 'as' => 'rooms.'), function () { Route::get('/', [BERoomController::class, 'index'])->name('index'); Route::get('/{Id}', [BERoomController::class, 'show'])->name('show'); Route::post('/', [BERoomController::class, 'store'])->name('store'); Route::patch('/{Id}', [BERoomController::class, 'update'])->name('patch'); Route::delete('/{Id}', [BERoomController::class, 'delete'])->name('delete'); }); Route::group(array('prefix' => 'ratings', 'as' => 'ratings.'), function () { Route::get('/', [BERatingController::class, 'index'])->name('index'); Route::get('/{Id}', [BERatingController::class, 'show'])->name('show'); Route::patch('/{Id}', [BERatingController::class, 'update'])->name('patch'); }); Route::group(array('prefix' => 'packets', 'as' => 'packets.'), function () { Route::get('/', [BEPacketController::class, 'index'])->name('index'); Route::get('/{Id}', [BEPacketController::class, 'show'])->name('show'); Route::post('/', [BEPacketController::class, 'store'])->name('store'); Route::patch('/{Id}', [BEPacketController::class, 'update'])->name('patch'); Route::delete('/{Id}', [BEPacketController::class, 'delete'])->name('delete'); }); Route::group(array('prefix' => 'amenities', 'as' => 'amenities.'), function () { Route::get('/', [BEAmenityController::class, 'index'])->name('index'); Route::get('/{Id}', [BEAmenityController::class, 'show'])->name('show'); Route::post('/', [BEAmenityController::class, 'store'])->name('store'); Route::patch('/{Id}', [BEAmenityController::class, 'update'])->name('patch'); Route::delete('/{Id}', [BEAmenityController::class, 'delete'])->name('delete'); }); Route::group(array('prefix' => 'benefits', 'as' => 'amenities.'), function () { Route::get('/', [BEBenefitController::class, 'index'])->name('index'); Route::get('/{Id}', [BEBenefitController::class, 'show'])->name('show'); Route::post('/', [BEBenefitController::class, 'store'])->name('store'); Route::patch('/{Id}', [BEBenefitController::class, 'update'])->name('patch'); Route::delete('/{Id}', [BEBenefitController::class, 'delete'])->name('delete'); }); Route::group(array('prefix' => 'room-types', 'as' => 'room_type.'), function () { Route::get('/', [BERoomTypeController::class, 'index'])->name('index'); Route::get('/{Id}', [BERoomTypeController::class, 'show'])->name('show'); Route::post('/', [BERoomTypeController::class, 'store'])->name('store'); Route::patch('/{Id}', [BERoomTypeController::class, 'update'])->name('patch'); Route::delete('/{Id}', [BERoomTypeController::class, 'delete'])->name('delete'); }); Route::group(array('prefix' => 'users', 'as' => 'room_type.'), function () { Route::get('/', [BEUserController::class, 'index'])->name('index'); Route::get('/{Id}', [BEUserController::class, 'show'])->name('show'); Route::patch('/{Id}', [BEUserController::class, 'update'])->name('patch'); }); }); Route::group(['prefix' => '/auth'], function () { Route::post('/register', [AuthController::class, 'register'])->name('register'); Route::post('/login', [AuthController::class, 'login'])->name('login'); Route::post('/logout', [AuthController::class, 'logout'])->name('logout'); Route::post('/refresh', [AuthController::class, 'refresh'])->name('refresh'); Route::post('/change-password', [AuthController::class, 'changePassword'])->name('changePassword'); Route::post('/forgot-password', [AuthController::class, 'forgotPassword'])->name('forgotPassword'); Route::post('/me', [AuthController::class, 'me'])->name('me'); Route::get('/user-profile', [AuthController::class, 'userProfile'])->name('userProfile'); Route::post('/updatePass', [AuthController::class, 'updatePass'])->name('updatePass'); }); Route::get('/email/verify/notice', [VerificationController::class, 'notice'])->name('verification.notice'); Route::get('/email/verify/', [VerificationController::class, 'verify'])->name('verification.verify'); Route::post('/email/resend', [VerificationController::class, 'resend'])->name('verification.resend'); });