<?php

use Illuminate\Support\Facades\Route;
use Modules\Admin\Http\Controllers\AdminController;
use Modules\Admin\Http\Controllers\AppreciationController;
use Modules\Admin\Http\Controllers\CalendarController;
use Modules\Admin\Http\Controllers\CityController;
use Modules\Admin\Http\Controllers\CompanyController;
use Modules\Admin\Http\Controllers\CompanyTypeController;
use Modules\Admin\Http\Controllers\ComplaintController;
use Modules\Admin\Http\Controllers\CountryController;
use Modules\Admin\Http\Controllers\DepartmentController;
use Modules\Admin\Http\Controllers\DesignationController;
use Modules\Admin\Http\Controllers\DistrictController;
use Modules\Admin\Http\Controllers\DropdownController;
use Modules\Admin\Http\Controllers\EventController;
use Modules\Admin\Http\Controllers\FieldController;
use Modules\Admin\Http\Controllers\HolidayController;
use Modules\Admin\Http\Controllers\MunicipalityController;
use Modules\Admin\Http\Controllers\NotificationController;
use Modules\Admin\Http\Controllers\ProgressStatusController;
use Modules\Admin\Http\Controllers\PromotionDemotionController;
use Modules\Admin\Http\Controllers\ProvinceController;
use Modules\Admin\Http\Controllers\ResignationController;
use Modules\Admin\Http\Controllers\TransferController;
use Modules\Admin\Http\Controllers\WarningController;
use Modules\Admin\Http\Controllers\WorkShiftController;

/*
|--------------------------------------------------------------------------
| 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::group([], function () {
    Route::resource('admin', AdminController::class)->names('admin');
    Route::resource('department', DepartmentController::class)->names('department');
    Route::resource('designation', DesignationController::class)->names('designation');
    Route::resource('promotion-demotion', PromotionDemotionController::class)->names('promotionDemotion');
    Route::resource('appreciation', AppreciationController::class)->names('appreciation');
    Route::resource('resignation', ResignationController::class)->names('resignation');
    Route::resource('complaint', ComplaintController::class)->names('complaint');
    Route::resource('transfer', TransferController::class)->names('transfer');
    Route::resource('warning', WarningController::class)->names('warning');
    Route::resource('company', CompanyController::class)->names('company');
    Route::resource('company-type', CompanyTypeController::class)->names('companyType');
    Route::resource('event', EventController::class)->names('event');
    Route::resource('holiday', HolidayController::class)->names('holiday');
    Route::resource('work-shift', WorkShiftController::class)->names('workShift');
    Route::resource('country', CountryController::class)->names('country');
    Route::resource('province', ProvinceController::class)->names('province');
    Route::resource('district', DistrictController::class)->names('district');
    Route::resource('municipality', MunicipalityController::class)->names('municipality');
    Route::resource('city', CityController::class)->names('city');
    // Route::resource('caste', CasteController::class)->names('caste');
    // Route::resource('gender', GenderController::class)->names('gender');
    // Route::resource('nationality', NationalityController::class)->names('nationality');
    // Route::resource('ethnicity', EthnicityController::class)->names('ethnicity');
    Route::resource('progress-status', ProgressStatusController::class)->names('ProgressStatus');
    Route::resource('dropdown', DropdownController::class)->names('dropdown');
    Route::resource('field', FieldController::class)->names('field');

    Route::get('notifications/markAsRead', [NotificationController::class, 'markAsRead'])->name('notification.markAsRead');
    Route::get('notifications/markAllAsRead', [NotificationController::class, 'markAllAsRead'])->name('notification.markAllAsRead');
    Route::resource('calendar', CalendarController::class)->names('calendar');
    Route::get('calendarByAjax', [CalendarController::class, 'calendarByAjax'])->name('calendar.getCalendarByAjax');
});