<?php

use Illuminate\Support\Facades\Route;
use App\Http\Controllers\ListingsController;
use App\Http\Controllers\EventController;
use App\Http\Controllers\ParticularController;

/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/

Route::get('/', function () {
    return redirect('home');
});

Auth::routes(['register' => false]);

Route::get('/home', [App\Http\Controllers\ListingsController::class, 'index'])->name('home');

// Lists
        Route::get('lists',[App\Http\Controllers\ListingsController::class, 'index'])->name('lists');
        Route::get('particulars',[App\Http\Controllers\ListingsController::class, 'getParticulars'])->name('particulars');

        Route::get('createList',[App\Http\Controllers\ListingsController::class, 'createList'])->name('create-list');
        Route::post('saveList',[App\Http\Controllers\ListingsController::class, 'saveList'])->name('save-list');

        Route::get('viewList/{list_id}',[App\Http\Controllers\ListingsController::class, 'viewList'])->name('view-list');
        Route::get('editList/{list_id}',[App\Http\Controllers\ListingsController::class, 'editList'])->name('edit-list');
        Route::post('updateList/{list_id}',[App\Http\Controllers\ListingsController::class, 'updateList'])->name('update-list');

        Route::post('deleteList/{list_id}',[App\Http\Controllers\ListingsController::class, 'deleteList'])->name('delete-list');

        // Events
        Route::get('events',[App\Http\Controllers\EventController::class, 'index'])->name('events');

        Route::get('/events/filter/{list_id}',[App\Http\Controllers\EventController::class, 'filterByList'])->name('filter-events-by-list');

        Route::get('getListsByCity/{city}',[App\Http\Controllers\EventController::class, 'getListsByCity'])->name('get-lists-by-city');
        Route::get('createEvent',[App\Http\Controllers\EventController::class, 'createEvent'])->name('create-event');
        Route::post('saveEvent',[App\Http\Controllers\EventController::class, 'saveEvent'])->name('save-event');

        Route::get('viewEvent/{event_id}',[App\Http\Controllers\EventController::class, 'viewEvent'])->name('view-event');
        Route::get('editEvent/{event_id}',[App\Http\Controllers\EventController::class, 'editEvent'])->name('edit-event');
        Route::post('updateEvent/{event_id}',[App\Http\Controllers\EventController::class, 'updateEvent'])->name('update-event');

        Route::post('deleteEvent/{event_id}',[App\Http\Controllers\EventController::class, 'deleteEvent'])->name('delete-event');
        Route::get('getEventsByList/{list_id}',[App\Http\Controllers\EventController::class, 'getEventsByList'])->name('get-events-by-list');

        Route::get('/get-lists-by-city-request',[App\Http\Controllers\EventController::class, 'getListsByCityRequest']);

        //Particulars
        Route::get('particulars',[App\Http\Controllers\ParticularController::class, 'getParticulars'])->name('particulars');

        Route::get('getListsByCity/{city}',[App\Http\Controllers\ParticularController::class, 'getListsByCity'])->name('get-lists-by-city');
        Route::get('createParticular',[App\Http\Controllers\ParticularController::class, 'createParticular'])->name('create-particular');
        Route::post('saveParticular',[App\Http\Controllers\ParticularController::class, 'saveParticular'])->name('save-particular');

        Route::get('viewParticular/{particular_id}',[App\Http\Controllers\ParticularController::class, 'viewParticular'])->name('view-particular');
        Route::get('editParticular/{particular_id}',[App\Http\Controllers\ParticularController::class, 'editParticular'])->name('edit-particular');
        Route::put('updateParticular/{particular_id}',[App\Http\Controllers\ParticularController::class, 'updateParticular'])->name('update-particular');

        Route::post('deleteParticular/{particular_id}',[App\Http\Controllers\ParticularController::class, 'deleteParticular'])->name('delete-particular');

        
        Route::get('getParticularsByEvent/{event_id}',[App\Http\Controllers\ParticularController::class, 'getParticularsByEvent'])->name('get-particulars-by-event');
        Route::get('getParticular/{id}',[App\Http\Controllers\ParticularController::class, 'getParticular'])->name('get-particular');

        Route::post('/saveParticular',[App\Http\Controllers\ParticularController::class, 'saveParticular'])->name('saveParticular');
        Route::get('/getParticular/{id}',[App\Http\Controllers\ParticularController::class, 'getParticular'])->name('getParticular');
