<?php

use Illuminate\Support\Facades\Route;
use App\Http\Controllers\AuthController;
use App\Http\Controllers\DashboardController;
use App\Http\Controllers\DomainController;
use App\Http\Controllers\EmployeeController;
use App\Http\Controllers\MailController;
use App\Http\Controllers\MessageController;
use App\Http\Controllers\PromptController;
use App\Http\Controllers\ExcelController;

Route::get('/', function () {
    // return "";
    return view('dashboard.landing');
});

Route::get('/register', function () {
    return view('login/ragister');
})->name('register');

Route::post('/register', [AuthController::class, 'register'])->name('register.submit');


Route::get('/login', function () {
    return view('login.login');
})->name('login');

Route::post('/login', [AuthController::class, 'login'])->name('login');

Route::get('/email_app', function () {
    return view('email_app');
})->name('email_app_password');

Route::get('/dashboard', [DashboardController::class, 'index'])
    // ->middleware('auth')
    ->name('dashboard');
Route::get('/set-app-password', [DashboardController::class, 'set_app_password'])->name('set_app_password');
Route::post('/set-app-passwords', [DashboardController::class, 'save'])->name('save_password');

Route::post('/logout', function () {
    Auth::logout();
    return redirect()->route('login')->with('success', 'Logged out successfully!');
})->name('logout');

Route::get('/mail-info/{user_id?}', [MailController::class, 'show'])->name('mail.info');

Route::get('/mails/{type}/{user_id?}', [MailController::class, 'filterMails'])->name('mails.filter');

Route::get('/mails-show/{emial_id}/{is_sent?}/{user_id?}', [MailController::class, 'single_mail'])->name('mails.show');

Route::get('/mail/stats', [MailController::class, 'states'])->name('mail_states');
Route::get('/send-mail-py/{id}', [MailController::class, 'sendMailPy']);

Route::get('/store-new-email', [MailController::class, 'store_new_email'])->name('store_new_email');

Route::get('/settings', function () {
    return view('setting.index');
})->name('settings');

Route::get('/set_email', [MessageController::class, 'set_email'])->name('set_email');
Route::get('/update_set_email', [MessageController::class, 'updateImportantMails']);

Route::get('/add-email', [AuthController::class, 'newemail'])->name('add.route');
Route::get('/employee', [EmployeeController::class, 'index'])->name('employee');

Route::get('/domain', [DomainController::class, 'create'])->name('domain');
Route::post('/domain/store', [DomainController::class, 'store'])->name('domain.store');

//k0530 6-11-2025
Route::post('/prompt-form', [PromptController::class, 'store'])->name('prompt.store');
//k0530 6-11-2025

//k0530 7-18-2025
Route::get('/download-sample', [ExcelController::class, 'downloadSample'])->name('sample.download');
Route::post('/upload-bulk', [ExcelController::class, 'uploadBulk'])->name('bulk.upload');
//k0530 7-18-2025

Route::post('/show_all_mail', [MessageController::class, 'show_all_mail'])->name('show_all_mail');
//summary
Route::get('/fetchsummary', [MessageController::class, 'fetchSummary'])->name('summary');

//k0530 7-21-2025
Route::get('/admin-group/{id?}', [EmployeeController::class, 'showGroup'])->name('showGroup');;
Route::post('/employee/action/{id?}/{type?}', [EmployeeController::class, 'handleAction'])->name('employee.action');
Route::get('/team/{type}', [EmployeeController::class, 'team'])->name('team_member');
//k0530 7-21-2025

//k0530 7-22-2025
Route::get('/departments', [EmployeeController::class, 'showDepartments'])->name('departments.index');
Route::post('/departments', [EmployeeController::class, 'storeDepartment'])->name('departments.store');
Route::get('/departments/{id}/edit', [EmployeeController::class, 'editDepartment'])->name('departments.edit');
Route::put('/departments/{id}', [EmployeeController::class, 'updateDepartment'])->name('departments.update');
Route::delete('/departments/{id}', [EmployeeController::class, 'destroyDepartment'])->name('departments.destroy');
//k0530 7-22-2025

//testing for inserting email data our server hit on browser
Route::get('/testing_email_insertion_process', [MailController::class, 'store_new_email'])->name('store_new_emails');

Route::get('/common', [MailController::class, 'common'])->name('store_new_emails');
