
<?php

use Illuminate\Support\Facades\Route;

use App\Http\Modules\Admin\Controllers\Auth\LoginController;
use App\Http\Modules\Admin\Controllers\DashBoardController;
use App\Http\Modules\Admin\Controllers\StartupController;
use App\Http\Modules\Admin\Controllers\UserController;
use App\Http\Modules\Admin\Controllers\StartupLaunchController;
use App\Http\Modules\Admin\Controllers\EventTypeController;
use App\Http\Modules\Admin\Controllers\EventsController;
use App\Http\Modules\Admin\Controllers\ChatController;
use App\Http\Modules\Admin\Controllers\FormsController;
use App\Http\Modules\Admin\Controllers\CategoryMappingController;
use App\Http\Modules\Admin\Controllers\RevenueMasterController;
use App\Http\Modules\Admin\Controllers\SessionMasterController;
use App\Http\Modules\Admin\Controllers\ReportsController;
use App\Http\Modules\Admin\Controllers\MeetingController;
use App\Http\Modules\Admin\Controllers\MailConfigurationController;
use App\Http\Modules\Admin\Controllers\RatingTypeController;
use App\Http\Modules\Admin\Controllers\WebNoticeController;
use App\Http\Modules\Admin\Controllers\UserRolesController;
use App\Http\Modules\Admin\Controllers\DocCategoryController;
use App\Http\Modules\Admin\Controllers\DocSubCategoryController;
use App\Http\Modules\Admin\Controllers\DocUploadsDownloadsController;
use App\Http\Modules\Admin\Controllers\NewsTypeController;
use App\Http\Modules\Admin\Controllers\NewsAndUpdatesController;
use App\Http\Modules\Admin\Controllers\TimeTableController;
use App\Http\Modules\Admin\Controllers\IncubatorsController;
use App\Http\Modules\Admin\Controllers\AssignMentorAndInvestorController;
use App\Http\Modules\Admin\Controllers\VendorController;
use App\Http\Modules\Admin\Controllers\BenefitController;
use App\Http\Modules\Admin\Controllers\RequestController;
use App\Http\Modules\Admin\Controllers\CalendarController;
use App\Http\Modules\Admin\Controllers\NotificationsController;
use App\Http\Modules\Admin\Controllers\VCFundAssignController;
use App\Http\Modules\Admin\Controllers\AlotStartupsToInvestorsController;
use App\Http\Modules\Admin\Controllers\StartupAreaController;
use App\Http\Modules\Admin\Controllers\SharedStartupsController;
use App\Http\Modules\Admin\Controllers\CronJobController;
use App\Http\Modules\Admin\Controllers\InvestorFundController;
use App\Http\Modules\Admin\Controllers\AssignInvestorFundsController;
use App\Http\Modules\Admin\Controllers\PublicChatController;
use App\Http\Modules\Admin\Controllers\BroadcastingController;
use App\Http\Modules\Admin\Controllers\MailController;
use App\Http\Modules\Admin\Controllers\UserRegistrationLinkController;
use App\Http\Modules\Admin\Controllers\DueDiligenceController;
use App\Http\Modules\Admin\Controllers\MailSMTPConfigurationController;
use App\Http\Modules\Admin\Controllers\ProgramsController;
use App\Http\Modules\Admin\Controllers\CohortController;
use App\Http\Modules\Admin\Controllers\AllotMentorToStartupController;
use App\Http\Modules\Admin\Controllers\WebPageController;
use App\Http\Modules\Admin\Controllers\InvestorCreditsController;
use App\Http\Modules\Admin\Controllers\DocumentTypeController;
use App\Http\Modules\Admin\Controllers\AifOnboardController;
use App\Http\Modules\Admin\Controllers\BlogController;
Route::group([
  'namespace'  => 'App\Http\Modules\Admin\Controllers',
  'middleware' => 'admin',
  'module'     => 'Admin',
  'prefix'     => 'admin'
], 
function() 
{
  Route::get('/', [LoginController::class, 'loginForm'])->name('admin.login');
  Route::get('/login', [LoginController::class, 'loginForm'])->name('login');
  Route::post('/login', [LoginController::class, 'login'])->name('admin.loginAuth');
  Route::get('/logout', [LoginController::class, 'logout'])->name('admin.logout');
  Route::get('/', [DashBoardController::class, 'index'])->name('admin.dashboard');

  //Route::get('/test-multi-connect', [DashBoardController::class, 'testmultipleconnection'])->name('admin.tstmul');

  //----- master/startup_launch -----//
  Route::prefix('master/startup_launch')->group(
  function() 
  {
    Route::get('/', [StartupLaunchController::class, 'index'])->name('admin.master.startup_launch');
    Route::post('/store', 'StartupLaunchController@store')->name('admin.master.startup_launch.store');
    Route::post('/update', 'StartupLaunchController@update')->name('admin.master.startup_launch.update');
    Route::get('/add', 'StartupLaunchController@create')->name('admin.master.startup_launch.add');
    Route::get('/edit', 'StartupLaunchController@edit')->name('admin.master.startup_launch.edit');
    Route::get('/destroy', 'StartupLaunchController@destroy')->name('admin.master.startup_launch.destroy');
    Route::post('/banner_upload', 'StartupLaunchController@bannerUpload')->name('admin.master.startup_launch.banner_upload');
    Route::post('/banner_upload_update', 'StartupLaunchController@bannerUploadUpdate')->name('admin.master.startup_launch.banner_upload_update');
    Route::post('/remove_banner_dz', 'StartupLaunchController@removeBannerDZ')->name('admin.master.startup_launch.remove_banner_dz');
    Route::post('/banner_reorder', 'StartupLaunchController@bannerReorder')->name('admin.master.startup_launch.banner_reorder');
  });

  //----- master/event_type -----//
  Route::prefix('master/event_type')->group(
  function()
  {
    Route::get('/', [EventTypeController::class, 'index'])->name('admin.master.event_type');
    Route::post('/store', 'EventTypeController@store')->name('admin.master.event_type.store');
    Route::post('/update', 'EventTypeController@update')->name('admin.master.event_type.update');
    Route::get('/add', 'EventTypeController@create')->name('admin.master.event_type.add');
    Route::get('/edit', 'EventTypeController@edit')->name('admin.master.event_type.edit');
    Route::get('/destroy', 'EventTypeController@destroy')->name('admin.master.event_type.destroy');
  });

  //----- master/rating_type -----//
  Route::prefix('master/rating_type')->group(
  function() 
  {
    Route::get('/', [RatingTypeController::class, 'index'])->name('admin.master.rating_type');
    Route::post('/store', 'RatingTypeController@store')->name('admin.master.rating_type.store');
    Route::post('/update', 'RatingTypeController@update')->name('admin.master.rating_type.update');
    Route::get('/add', 'RatingTypeController@create')->name('admin.master.rating_type.add');
    Route::get('/edit', 'RatingTypeController@edit')->name('admin.master.rating_type.edit');
    Route::get('/destroy', 'RatingTypeController@destroy')->name('admin.master.rating_type.destroy');
    Route::post('/get_rating_type_validation', 'RatingTypeController@get_rating_type_validation')->name('admin.master.rating_type.get_rating_type_validation');
  });

  //----- master/event -----//
  Route::prefix('master/events')->group(
  function() 
  {
    Route::get('/', [EventsController::class, 'index'])->name('admin.master.events');
    Route::post('/store', 'EventsController@store')->name('admin.master.events.store');
    Route::post('/update', 'EventsController@update')->name('admin.master.events.update');
    Route::get('/add', 'EventsController@create')->name('admin.master.events.add');
    Route::get('/edit', 'EventsController@edit')->name('admin.master.events.edit');
    Route::post('/get_events_validation', 'EventsController@get_events_validation')->name('admin.master.events.get_events_validation');
    Route::get('/destroy', 'EventsController@destroy')->name('admin.master.events.destroy');
  });

  //----- master/category_mapping -----//
  Route::prefix('master/category_mapping')->group(
  function()
  {
    Route::get('/', [CategoryMappingController::class, 'index'])->name('admin.master.category_mapping');
    Route::post('/', [CategoryMappingController::class, 'index'])->name('admin.master.category_mapping');
    Route::post('/store', 'CategoryMappingController@store')->name('admin.master.category_mapping.store');
    Route::post('/get_startups_by_startup_category_id', [CategoryMappingController::class, 'getStartupsByStartupCategoryId'])->name('admin.master.get_startups_by_startup_category_id');
    Route::post('/get_category_mapping_trans_ids', [CategoryMappingController::class, 'getCategoryMappingTransIds'])->name('admin.master.get_category_mapping_trans_ids');
  });   

  //----- master/revenue master -----//
  Route::prefix('master/revenue_master')->group(
  function()
  {
    Route::get('/', [RevenueMasterController::class, 'index'])->name('admin.master.revenue_master');
    Route::get('/add', 'RevenueMasterController@create')->name('admin.master.revenue_master.add');
    Route::post('/store', 'RevenueMasterController@store')->name('admin.master.revenue_master.store');
    Route::get('/edit', 'RevenueMasterController@edit')->name('admin.master.revenue_master.edit');
    Route::post('/update', 'RevenueMasterController@update')->name('admin.master.revenue_master.update');
    Route::post('/get_revenue_validation', 'RevenueMasterController@get_revenue_validation')->name('admin.master.revenue_master.get_revenue_validation');
    Route::get('/destroy', 'RevenueMasterController@destroy')->name('admin.master.revenue_master.destroy');
  });   

  //----- master/session master -----//
  Route::prefix('master/session_master')->group(
  function()
  {
    Route::get('/', [SessionMasterController::class, 'index'])->name('admin.master.session_master');
    Route::get('/add', 'SessionMasterController@create')->name('admin.master.session_master.add');
    Route::post('/store', 'SessionMasterController@store')->name('admin.master.session_master.store');
    Route::get('/edit', 'SessionMasterController@edit')->name('admin.master.session_master.edit');
    Route::post('/update', 'SessionMasterController@update')->name('admin.master.session_master.update');
    Route::post('/get_session_validation', 'SessionMasterController@get_session_validation')->name('admin.master.revenue_master.get_session_validation');
    Route::get('/destroy', 'SessionMasterController@destroy')->name('admin.master.session_master.destroy');
  });

  Route::prefix('master/mail_configuration')->group(
  function() 
  {
    Route::get('/', [MailConfigurationController::class, 'index'])->name('admin.master.mail_configuration');
    Route::get('/add', 'MailConfigurationController@create')->name('admin.master.mail_configuration.add');
    Route::post('/store', 'MailConfigurationController@store')->name('admin.master.mail_configuration.store');
    Route::get('/edit', 'MailConfigurationController@edit')->name('admin.master.mail_configuration.edit');
    Route::get('/view', 'MailConfigurationController@view')->name('admin.master.mail_configuration.view');
    Route::post('/update', 'MailConfigurationController@update')->name('admin.master.mail_configuration.update');
    Route::get('/destroy', 'MailConfigurationController@destroy')->name('admin.master.mail_configuration.destroy');
  });

  //----- master/web_notice -----//
  Route::prefix('master/web_notice')->group(
  function()
  {
    Route::get('/', [WebNoticeController::class, 'index'])->name('admin.master.web_notice');
    Route::post('/store', 'WebNoticeController@store')->name('admin.master.web_notice.store');
    Route::post('/update', 'WebNoticeController@update')->name('admin.master.web_notice.update');
    Route::get('/add', 'WebNoticeController@create')->name('admin.master.web_notice.add');
    Route::get('/edit', 'WebNoticeController@edit')->name('admin.master.web_notice.edit');
    Route::get('/destroy', 'WebNoticeController@destroy')->name('admin.master.web_notice.destroy');
  });    

    //----- master/user_registration_link -----//
  Route::prefix('master/user_registration_link')->group(function()
  {
    Route::get('/', [UserRegistrationLinkController::class, 'index'])
    ->name('admin.master.user_registration_link');
    Route::get('/add', [UserRegistrationLinkController::class, 'add'])
    ->name('admin.master.user_registration_link.add');
    Route::post('/store', [UserRegistrationLinkController::class, 'store'])
    ->name('admin.master.user_registration_link.store');
    Route::get('/edit', [UserRegistrationLinkController::class, 'edit'])
    ->name('admin.master.user_registration_link.edit');
    Route::post('/update', [UserRegistrationLinkController::class, 'update'])
    ->name('admin.master.user_registration_link.update');
    Route::get('/destroy', [UserRegistrationLinkController::class, 'destroy'])
    ->name('admin.master.user_registration_link.destroy');
    Route::post('/get_list', [UserRegistrationLinkController::class, 'getRegisteredUserList'])
    ->name('admin.master.user_registration_link.get_list');
    Route::post('/get_add_user_form', [UserRegistrationLinkController::class, 'getAddUserForm'])
    ->name('admin.master.user_registration_link.get_add_user_form');
    Route::post('/store_user', [UserRegistrationLinkController::class, 'storeUser'])
    ->name('admin.master.user_registration_link.store_user');
    Route::post('/get_share_link_form', [UserRegistrationLinkController::class, 'getShareLinkForm'])
    ->name('admin.master.user_registration_link.get_share_link_form');
    Route::post('/store_share_link_form', [UserRegistrationLinkController::class, 'storeShareLinkForm'])
    ->name('admin.master.user_registration_link.store_share_link_form');
    Route::post('/get_link_sent_emails_list', [UserRegistrationLinkController::class, 'getLinkSentEmailsList'])
    ->name('admin.master.user_registration_link.get_link_sent_emails_list');
  }); 

  //----- master/due_diligence -----//

   Route::prefix('master/due_diligence')->group(function()
  {
    Route::get('/', [DueDiligenceController::class, 'index'])
    ->name('admin.master.due_diligence');
    Route::post('/add', [DueDiligenceController::class, 'add'])
    ->name('admin.master.due_diligence.add');
    Route::post('/store', [DueDiligenceController::class, 'store'])
    ->name('admin.master.due_diligence.store');
    Route::post('/edit', [DueDiligenceController::class, 'edit'])
    ->name('admin.master.due_diligence.edit');
    Route::post('/update', [DueDiligenceController::class, 'update'])
    ->name('admin.master.due_diligence.update');
    Route::post('/due_diligence_load_data_table', [DueDiligenceController::class, 'dueDiligenceGetDataTable'])
    ->name('admin.master.due_diligence_load_data_table');
    Route::post('/destroy', [DueDiligenceController::class, 'destroy'])
    ->name('admin.master.due_diligence.destroy');
    Route::post('/get_add_questions_form', [DueDiligenceController::class, 'getAddQuestionsForm'])
    ->name('admin.master.due_diligence.get_add_questions_form');
    Route::post('/store_question', [DueDiligenceController::class, 'storeQuestion'])
    ->name('admin.master.due_diligence.store_question');
     Route::post('/update_question', [DueDiligenceController::class, 'updateQuestion'])
    ->name('admin.master.due_diligence.update_question');
    Route::post('/view_question', [DueDiligenceController::class, 'viewQuestion'])
    ->name('admin.master.due_diligence.view_question');
    Route::post('/destroy_question', [DueDiligenceController::class, 'destroyQuestion'])
    ->name('admin.master.due_diligence.destroy_question');
    Route::post('/update_question_order', [DueDiligenceController::class, 'updateQuestionOrder'])
    ->name('admin.master.due_diligence.update_question_order');
    Route::post('/get_edit_questions_form', [DueDiligenceController::class, 'getEditQuestionsForm'])
    ->name('admin.master.due_diligence.get_edit_questions_form');
    Route::get('/due_diligence_form', [DueDiligenceController::class, 'getDueDiligenceForm'])
    ->name('admin.master.due_diligence.due_diligence_form');
    Route::post('/get_add_remark_form', [DueDiligenceController::class, 'getAddRemarkForm'])
    ->name('admin.master.due_diligence.get_add_remark_form');
    Route::post('/save_remark', [DueDiligenceController::class, 'saveRemark'])
    ->name('admin.master.due_diligence.save_remark');
    Route::post('/get_due_diligence_rights_form', [DueDiligenceController::class, 'getDueDiligenceRightsForm'])
    ->name('admin.master.due_diligence.get_due_diligence_rights_form');
    Route::post('/assign_rights', [DueDiligenceController::class, 'assignRights'])
    ->name('admin.master.due_diligence.assign_rights');
    Route::post('/get_assign_rights_user_records', [DueDiligenceController::class, 'getAssignRightsUserRecords'])
    ->name('admin.master.due_diligence.get_assign_rights_user_records');
    Route::post('/save_comment', [DueDiligenceController::class, 'saveComment'])
    ->name('admin.master.due_diligence.form.save_comment');
    Route::post('/add_view_comment', [DueDiligenceController::class, 'addViewComment'])
    ->name('admin.master.due_diligence.form.add_view_comment');
    Route::post('/delete_comment', [DueDiligenceController::class, 'deleteComment'])
    ->name('admin.master.due_diligence.form.delete_comment');
    Route::post('/store_edited_comment', [DueDiligenceController::class, 'storeEditedComment'])
    ->name('admin.master.due_diligence.form.store_edited_comment');
    Route::get('/download_File', [DueDiligenceController::class, 'downloadFileByName'])
    ->name('admin.master.due_diligence.download_File');
    Route::post('/get_duediligence_edit_view', [DueDiligenceController::class, 'getDueDiligenceEditView'])
    ->name('admin.master.due_diligence.form.get_duediligence_edit_view');
    Route::post('/store_due_diligence_answer', [DueDiligenceController::class, 'storeDueDiligenceAnswer'])
    ->name('admin.master.due_diligence.form.store_due_diligence_answer');

  }); 

  Route::prefix('master/programs')->group(function()
  {
    Route::get('/', [ProgramsController::class, 'index'])
    ->name('admin.master.programs');
    Route::post('/add', [ProgramsController::class, 'add'])
    ->name('admin.master.programs.add');
    Route::post('/store', [ProgramsController::class, 'store'])
    ->name('admin.master.programs.store');
    Route::post('/edit', [ProgramsController::class, 'edit'])
    ->name('admin.master.programs.edit');
    Route::post('/update', [ProgramsController::class, 'update'])
    ->name('admin.master.programs.update');
    Route::get('/destroy', [ProgramsController::class, 'destroy'])
    ->name('admin.master.programs.destroy');
    Route::post('/global_slct_fav_prog', [ProgramsController::class, 'globalSelectFavProgram'])
    ->name('admin.master.programs.global_slct_fav_prog');
   Route::post('/global_slct_fav_prog_store', [ProgramsController::class, 'globalSelectFavProgramStore'])
    ->name('admin.master.programs.global_slct_fav_prog_store');
  }); 
  

  Route::prefix('master/document_type')->group(function()
  {
    Route::get('/', [DocumentTypeController::class, 'index'])
      ->name('admin.master.document_type');
    Route::post('/store', [DocumentTypeController::class, 'store'])
      ->name('admin.master.document_type.store');
    Route::post('/edit', [DocumentTypeController::class, 'edit'])
      ->name('admin.master.document_type.edit');
    Route::post('/update', [DocumentTypeController::class, 'update'])
      ->name('admin.master.document_type.update');
    Route::get('/destroy', [DocumentTypeController::class, 'destroy'])
      ->name('admin.master.document_type.destroy');
  });

  Route::prefix('master/mail_smtp_configuration')->group(function()
  {
    Route::get('/', [MailSMTPConfigurationController::class, 'index'])
    ->name('admin.master.mail_smtp_configuration');
    Route::post('/load_data_table', [MailSMTPConfigurationController::class, 'getDataTable'])
    ->name('admin.master.mail_smtp_configuration.load_data_table');
    // Route::post('/store_configuration', [MailSMTPConfigurationController::class, 'storeConfiguration'])
    // ->name('admin.master.mail_smtp_configuration.store_configuration');
    Route::post('/add', [MailSMTPConfigurationController::class, 'add'])
    ->name('admin.master.mail_smtp_configuration.add');
    Route::post('/store', [MailSMTPConfigurationController::class, 'store'])
    ->name('admin.master.mail_smtp_configuration.store');
     Route::post('/destroy', [MailSMTPConfigurationController::class, 'destroy'])
    ->name('admin.master.mail_smtp_configuration.destroy');
    Route::post('/edit', [MailSMTPConfigurationController::class, 'edit'])
    ->name('admin.master.mail_smtp_configuration.edit');
    Route::post('/update', [MailSMTPConfigurationController::class, 'update'])
    ->name('admin.master.mail_smtp_configuration.update');
  }); 
  
  Route::prefix('/startups')->group(function()
  {
    Route::post('/get_due_diligence_share_form', [StartupController::class, 'getDueDiligenceShareForm'])->name('admin.startups.get_due_diligence_share_form');
    Route::post('/share_due_diligence', [StartupController::class, 'shareDueDiligence'])->name('admin.startups.share_due_diligence');
  });

  Route::prefix('/investor_credits')->group(function(){
    Route::post('/get_off_cnvs_invstr_crdit', [InvestorCreditsController::class, 'getOffCanvasInvestorCredit'])->name('admin.investor_credits.get_off_cnvs_invstr_crdit');
    Route::post('/store_investor_credit', [InvestorCreditsController::class, 'storeInvestorCredit'])->name('admin.investor_credits.store_investor_credit');
    Route::post('/get_confirm_invest_credit_view', [InvestorCreditsController::class, 'getConfirmInvestCreditView'])->name('admin.investor_credits.get_confirm_invest_credit_view');
    Route::get('/', [InvestorCreditsController::class, 'index'])->name('admin.investor_credits.index');
    Route::post('/get_off_cnvs_add_crdit', [InvestorCreditsController::class, 'getOffCanvasAddCredit'])->name('admin.investor_credits.get_off_cnvs_add_crdit');
    Route::post('/store_add_credit', [InvestorCreditsController::class, 'storeAddCredit'])->name('admin.investor_credits.store_add_credit');
    Route::post('/view_credits_history', [InvestorCreditsController::class, 'viewCreditsHistory'])->name('admin.investor_credits.view_credits_history');
    Route::post('/view_interested_investors', [InvestorCreditsController::class, 'viewInterestedInvestors'])->name('admin.investor_credits.view_interested_investors');
  });

  Route::get('/startups', [StartupController::class, 'index'])->name('admin.startups');
  Route::post('/startups', [StartupController::class, 'index'])->name('admin.startups');
  Route::post('/startups/startup_announcement', [StartupController::class, 'viewStartupAnnouncement'])->name('admin.startup.view_startup_announcement');

  Route::prefix('/startup-detail')->group(function(){
    Route::get('/', [StartupController::class, 'viewStartUpDetail'])->name('admin.startup.view');
    Route::post('/get_add_valuation_offcanvas', [StartupController::class, 'getAddValuationOffcanvas'])->name('admin.startup.view.get_add_valuation_offcanvas');
    Route::post('/store_valuation', [StartupController::class, 'storeValuation'])->name('admin.startup.view.store_valuation');
    Route::post('/view_valuation_history', [StartupController::class, 'viewValuationHistory'])->name('admin.startup.view.view_valuation_history');
    Route::post('/get_startups_docs', [StartupController::class, 'getStartupDocuments'])->name('admin.startup.view.get_startups_docs');
    Route::post('/get_startups_doc_upload_view', [StartupController::class, 'getStartupDocumnetsUploadView'])->name('admin.startup.view.get_startups_doc_upload_view');
    Route::post('/startups_doc_store', [StartupController::class, 'startupsDocStore'])->name('admin.startup.view.startups_doc_store');
    Route::post('/get_startups_doc_edit_view', [StartupController::class, 'getStartupDocumnetsEditView'])->name('admin.startup.view.get_startups_doc_edit_view');
    Route::get('/download_startup_document', [StartupController::class, 'downloadStartupDocument'])->name('admin.startup.view.download_startup_document');
    Route::post('/startups_doc_update', [StartupController::class, 'startupsDocUpdate'])->name('admin.startup.view.startups_doc_update');
    Route::post('/startups_doc_delete', [StartupController::class, 'startupsDocDelete'])->name('admin.startup.view.startups_doc_delete');
    Route::post('/get_document_request_view', [StartupController::class, 'getDocumentRequestView'])->name('admin.startup.view.get_document_request_view');
    Route::post('/snd_doc_req_to_strtp', [StartupController::class, 'sendDocumentRequestToStartup'])->name('admin.startup.view.snd_doc_req_to_strtp');
    Route::post('/view_doc_req', [StartupController::class, 'viewDocumentRequest'])->name('admin.startup.view.view_doc_req');
    Route::post('/upload_requested_doc', [StartupController::class, 'uploadRequestedDoc'])->name('admin.startup.view.upload_requested_doc');
  });
  
  Route::get('/change-status', [StartupController::class, 'changeStatus'])->name('admin.startups.changeStatus');
  Route::post('/send-master-form-email', [StartupController::class, 'sendMasterFormEmail'])->name('admin.startups.sendMasterFormEmail');
  Route::post('/send-welcome-email', [StartupController::class, 'sendWelcomeEmail'])->name('admin.startups.send-welcome-email');
  Route::post('/share-startup', [StartupController::class, 'shareStartup'])->name('admin.startups.share');
  Route::post('/get_category_mapping_trans_ids', [StartupController::class, 'getCategoryMappingTransIds'])->name('admin.startups.get_category_mapping_trans_ids');//
  Route::post('/get_responsive_sm_table', [StartupController::class, 'getResponsiveSmTable'])->name('admin.startups.get_responsive_sm_table');
  Route::post('/store_assigned_category', [StartupController::class, 'store_assigned_category'])->name('admin.startups.store_assigned_category');
  Route::get('/startups_change_status', [StartupController::class, 'startups_change_status'])->name('admin.startups.change_status');
  Route::get('/startups_change_status_bulk', [StartupController::class, 'startups_change_status_bulk'])->name('admin.startups.change_status_bulk');
  Route::get('/send_shortlisting_mail', [StartupController::class, 'send_shortlisting_mail'])->name('admin.startups.send_shortlisting_mail');
  Route::get('/total_startups', [StartupController::class, 'total_startups'])->name('admin.total_startups');
  Route::post('/total_startups', [StartupController::class, 'total_startups'])->name('admin.total_startups');

  Route::get('/portfolio', [StartupController::class, 'myPortfolio'])->name('admin.portfolio');
  Route::post('/portfolio', [StartupController::class, 'myPortfolio'])->name('admin.portfolio');
  
  Route::get('/add-rating', [StartupController::class, 'addRating'])->name('admin.startup.addRating');
  Route::get('/view-rating', [StartupController::class, 'viewRating'])->name('admin.startup.viewRating');
  Route::post('/save-rating', [StartupController::class, 'saveRating'])->name('admin.startup.saveRating');
  Route::post('/send-meeting-request', [StartupController::class, 'sendMeetingRequest'])->name('admin.startup.sendmeetingrequest');
  Route::post('/send-funding-history-request', [StartupController::class, 'sendFundingHistoryRequest'])->name('admin.startup.sendfundinghistoryrequest');

  Route::get('/shared-startsup-list', [StartupController::class, 'sharedStartsupList'])->name('admin.startup.shared-startsup-list');    
  Route::post('/shared-startsup-list', [StartupController::class, 'sharedStartsupList'])->name('admin.startup.shared-startsup-list');  
  Route::get('/view-startup', [StartupController::class, 'download_startup'])->name('admin.exportingThrive');
  Route::get('/export-startup', [StartupController::class, 'export_startup'])->name('admin.exportStartup'); 
  Route::get('/export-selected-startup', [StartupController::class, 'export_selected_startup'])->name('admin.export_selected_startup');  
  
  Route::post('/save-opinion', [StartupController::class, 'saveOpinion'])->name('admin.startup.saveOpinion');
  Route::post('/save-progress', [StartupController::class, 'saveProgress'])->name('admin.startup.saveProgress');
  Route::get('/view-metting', [StartupController::class, 'viewMeeting'])->name('admin.startup.viewMeeting');
  Route::post('/save-metting', [StartupController::class, 'saveMeeting'])->name('admin.startup.saveMeeting');

  //----- Users -----//
  Route::prefix('users')->group(
  function()
  {
    Route::get('/', 'UserController@index')->name('portal.users');
    Route::post('/', 'UserController@index')->name('portal.users');
    Route::get('/add', 'UserController@create')->name('portal.users.add');
    Route::post('/add', 'UserController@store')->name('portal.users.store');
    Route::post('/get-log-details', 'UserController@getLogDetails')->name('portal.users.getLogDetails');
    Route::get('/edit', 'UserController@edit')->name('portal.users.edit');
    Route::get('/edit-profile', 'UserController@editProfile')->name('portal.users.editProfile');
    Route::post('/edit-profile', 'UserController@editProfile')->name('portal.users.editProfile');
    Route::post('/update', 'UserController@update')->name('portal.users.update');
    Route::post('/update-users-status/{status}', 'UserController@updateUsersStatus')->name('portal.users.updateUsersStatus');
    Route::post('/delete', 'UserController@deleteUser')->name('portal.users.delete');
    Route::get('/delete', 'UserController@deleteUser')->name('portal.users.delete');
    Route::post('/destroy-users', 'UserController@destroyUsers')->name('portal.users.deleteUsers');
    Route::post('/check-duplicate-username/{id?}', 'UserController@checkDuplicateUsername')->name('portal.users.checkDuplicateUsername');
    Route::post('/check-duplicate-email/{id?}', 'UserController@checkDuplicateEmail')->name('portal.users.checkDuplicateEmail');
  });
  //----------------------//

  //----- User Roles -----//
  Route::prefix('user-roles')->group(
  function()
  {
    Route::any('/', 'UserRolesController@index')->name('admin.userroles');
    Route::get('/add', 'UserRolesController@addEdit')->name('admin.userroles.add');
    Route::get('/edit', 'UserRolesController@addEdit')->name('admin.userroles.edit');
    Route::post('/save', 'UserRolesController@save')->name('admin.userroles.save');
    Route::get('/delete', 'UserRolesController@delete')->name('admin.userroles.delete');
    Route::post('/check-duplicate-user-role-name', 'UserRolesController@checkDuplicateUserRolename')->name('admin.userroles.checkDuplicateUserRolename');
  });
  //----------------------//

  //----- Assign Rights to User Role -----//
  Route::get('/assign-role-rights', [UserRolesController::class, 'assignRightsToRole'])->name('admin.assignrolerights');
  Route::post('/get-module-links', [UserRolesController::class, 'getModuleLinks'])->name('admin.getmodulelinks');
  Route::post('/save-role-rights', [UserRolesController::class, 'saveRoleRights'])->name('admin.saverolerights');
  //----------------------//
  
  //----- Assign Role to A User
  Route::get('/assign-user-roles', [UserRolesController::class, 'assignRolesToUser'])->name('admin.assignrolestouser');
  Route::post('/get-roles-assigned-to-user', [UserRolesController::class, 'getRolesAssignedToUser'])->name('admin.getrolesassignedtouser');
  Route::post('/save-roles-to-user', [UserRolesController::class, 'saveRolesToUser'])->name('admin.saverolestouser');  
  //----------------------//

  //----- Time-Table -----//
  Route::get('/time-table', [TimeTableController::class, 'index'])->name('admin.timetable');
  Route::get('/batch-time-table', [TimeTableController::class, 'index'])->name('admin.timetable');
  Route::post('/get-time-table-events', [TimeTableController::class, 'getTimeTableEvents'])->name('admin.gettimetableevents');
  Route::post('/time-table-add-edit-event', [TimeTableController::class, 'timeTableAddEditEvent'])->name('admin.timetableaddeditevent');
  Route::post('/time-table-delete-event', [TimeTableController::class, 'timeTableDeleteEvent'])->name('admin.timetabledeleteevent');
  //----------------------//

  Route::prefix('cohort')->group(
  function()
  {
    Route::get('/', 'CohortController@index')->name('admin.cohort');
    Route::post('/add', 'CohortController@create')->name('admin.cohort.add');        
    Route::post('/store', 'CohortController@store')->name('admin.cohort.store');
    Route::get('/assign-members-form', 'CohortController@assignMembersForm')->name('admin.cohort.assign-members-form');
    Route::post('/assign-members', 'CohortController@assignMembers')->name('admin.cohort.assign-members');                
    Route::post('/store-meeting', 'CohortController@storeMeeting')->name('admin.cohort.store-meeting');
    Route::post('/get_startup_category',[CohortController::class,'getStartupCategory'])
    ->name('admin.cohort.get_startup_category');
    Route::post('/get_users', [CohortController::class, 'getUsers'])->name('admin.cohort.get_users');
    Route::post('/get_users_list', [CohortController::class, 'getUsersList'])->name('admin.cohort.get_users_list');
    Route::post('/edit', 'CohortController@edit')->name('admin.cohort.edit');   
    Route::post('/update', 'CohortController@update')->name('admin.cohort.update'); 
    Route::get('/destroy', 'CohortController@destroy')->name('admin.cohort.destroy');   
  });

  Route::prefix('mmeeting')->group(
  function()
  {
    Route::any('/', 'MMeetingController@index')->name('admin.mmeeting');
    Route::get('/add', 'MMeetingController@add')->name('admin.mmeeting.add');        
    Route::post('/store', 'MMeetingController@store')->name('admin.mmeeting.store');
    Route::post('/savemeeting', 'MMeetingController@saveMeeting')->name('admin.mmeeting.savemeeting');
    Route::post('/get_participant', 'MMeetingController@get_participant')->name('admin.mmeeting.get_participant');
    Route::get('/destroy', 'MMeetingController@destroy')->name('admin.mmeeting.destroy');
    Route::get('/edit', 'MMeetingController@edit')->name('admin.mmeeting.edit');
    Route::get('/edit_meeting_participants', 'MMeetingController@edit_meeting_participants')->name('admin.mmeeting.edit_meeting_participants');
    Route::post('/update_meeting_participants', 'MMeetingController@update_meeting_participants')->name('admin.mmeeting.update_meeting_participants');
    Route::post('/update', 'MMeetingController@updatee')->name('admin.mmeeting.update');
    Route::any('/upload-documents', 'MMeetingController@uploadDocuments')->name('admin.mmeeting.uploaddocuments');
    Route::any('/upload-documents-save', 'MMeetingController@uploadDocumentsSave')->name('admin.mmeeting.uploaddocuments.save');
    Route::any('/download-documents', 'MMeetingController@downloadDocuments')->name('admin.mmeeting.downloaddocuments');
    Route::any('/download-document-file', 'MMeetingController@downloadDocumentFile')->name('admin.mmeeting.downloaddocument.file');
    Route::any('/upload-document-delete', 'MMeetingController@uploadDocumentDelete')->name('admin.mmeeting.uploaddocument.delete');
  });

  Route::prefix('meetings')->group(function()
  {
    Route::get('/', 'MeetingController@index')->name('admin.meetings');
    Route::get('/participate', 'MeetingController@index_participate')->name('admin.meetings.index_participate');     
    Route::get('/add', 'MeetingController@add')->name('admin.meetings.add');
    Route::post('/store', 'MeetingController@store')->name('admin.meetings.store');
    Route::get('/destroy', 'MeetingController@destroy')->name('admin.meetings.destroy');
    Route::get('/edit', 'MeetingController@edit')->name('admin.meetings.edit');
    Route::post('/update', 'MeetingController@updatee')->name('admin.meetings.update');
    
    // Route::get('/get/{id}', 'MeetingController@_get');//temp
    // Route::get('/getlist', 'MeetingController@_getList');//temp
    // Route::get('/get_participents/{id}', 'MeetingController@_get_participents');//temp
  });

  Route::get('/change-password', [DashBoardController::class, 'changePassword'])->name('admin.change-password');
  Route::post('/change-password-update', [DashBoardController::class, 'updatePassword'])->name('admin.change-password-update');
  Route::post('/check-old-password/{id?}', 'DashBoardController@checkOldPassword')->name('admin.checkOldPassword');
  Route::get('/profile', [DashBoardController::class, 'profile'])->name('admin.profile');
  Route::post('/save_profile', [DashBoardController::class, 'saveProfile'])->name('admin.save_profile');
  Route::get('/dashboard', [DashBoardController::class, 'index'])->name('admin.dashboard');
  Route::get('/upcoming_events', [DashBoardController::class, 'upcoming_events'])->name('admin.dashboard.upcoming_events');
  Route::get('/upcoming_meetings', [DashBoardController::class, 'upcoming_meetings'])->name('admin.dashboard.upcoming_meetings');
  Route::get('/dashboard/add_meeting_rating', [DashBoardController::class, 'addMeetingRating'])->name('admin.dashboard.add_meeting_rating');
  Route::post('/dashboard/save_meeting_rating', [DashBoardController::class, 'saveMeetingRating'])->name('admin.dashboard.save_meeting_rating');
  Route::post('/dashboard/accept_general_meeting', [DashBoardController::class, 'accept_general_meeting'])->name('admin.dashboard.accept_general_meeting');
  Route::post('/dashboard/general_meeting_accepted_by', [DashBoardController::class, 'general_meeting_accepted_by'])->name('admin.dashboard.general_meeting_accepted_by');
  Route::post('/save_announcement', [DashBoardController::class, 'saveAnnouncement'])->name('admin.save_announcement');
  Route::post('/update_pitch_deck', [DashBoardController::class, 'updatePitchDeck'])->name('admin.update_pitch_deck');
  Route::post('/store_funding_history', [DashBoardController::class, 'storeFundingHistory'])->name('admin.store_funding_history');
  Route::get('/funding_history_destroy',[DashBoardController::class, 'destroyFundingHistory'])->name('admin.funding_history_destroy');
  Route::post('/funding_history_edit',[DashBoardController::class, 'editFundingHistory'])->name('admin.funding_history_edit');
  Route::post('/funding_history_update',[DashBoardController::class, 'updateFundingHistory'])->name('admin.funding_history_update');
  Route::get('/download_funding_history', [DashBoardController::class, 'DownloadFundingHistory'])->name('admin.download_funding_history');
  Route::post('/user_startups_seen', [DashBoardController::class, 'userStartupsSeen'])->name('admin.user_startups_seen');
  Route::post('/user_startups_seen', [DashBoardController::class, 'userStartupsSeen'])->name('admin.user_startups_seen');
  Route::post('/get_navbar_seach_data', [DashBoardController::class, 'getNavbarSeachData'])
    ->name('admin.get_navbar_seach_data');

  
  Route::get('/forms', [FormsController::class, 'index'])->name('admin.forms');
  Route::get('/reports', [ReportsController::class, 'index'])->name('admin.reports');
  Route::get('/startup-report', [ReportsController::class, 'startupReport'])->name('admin.startup-report');
  Route::post('/startup-report', [ReportsController::class, 'startupReport'])->name('admin.reports.startup-report');

  Route::prefix('/report')->group(function()
  {
    Route::prefix('/user_login_details')->group(function()
    {
      Route::get('/', [ReportsController::class, 'userLoginDetails'])->name('admin.report.user_login_details');
      Route::get('/export_report', [ReportsController::class, 'exportUserLoginDetailsReport'])->name('admin.report.user_login_details.export_report');
      Route::post('/get_user_rows', [ReportsController::class, 'getUserRows'])->name('admin.report.user_login_details.get_user_rows');
    });
  });
 
  //downloads start
  Route::prefix('/downloads')->group(function()
  {
    Route::prefix('/doc_category')->group(function(){
      Route::get('/', 'DocCategoryController@index')->name('admin.downloads.doc_category');
      Route::post('/store', 'DocCategoryController@store')->name('admin.downloads.doc_category.store');
      Route::post('/update', 'DocCategoryController@update')->name('admin.downloads.doc_category.update');
      Route::get('/add', 'DocCategoryController@create')->name('admin.downloads.doc_category.add');
      Route::get('/edit', 'DocCategoryController@edit')->name('admin.downloads.doc_category.edit');
      Route::get('/destroy', 'DocCategoryController@destroy')->name('admin.downloads.doc_category.destroy');
    });

    Route::prefix('/doc_sub_category')->group(function(){
      Route::get('/', 'DocSubCategoryController@index')->name('admin.downloads.doc_sub_category');
      Route::post('/store', 'DocSubCategoryController@store')->name('admin.downloads.doc_sub_category.store');
      Route::post('/update', 'DocSubCategoryController@update')->name('admin.downloads.doc_sub_category.update');
      Route::get('/add', 'DocSubCategoryController@create')->name('admin.downloads.doc_sub_category.add');
      Route::get('/edit', 'DocSubCategoryController@edit')->name('admin.downloads.doc_sub_category.edit');
      Route::get('/destroy', 'DocSubCategoryController@destroy')->name('admin.downloads.doc_sub_category.destroy');
      Route::post('/get_cat_name_html', 'DocSubCategoryController@getCatNameHtml')->name('admin.downloads.doc_sub_category.get_cat_name_html');
    });

    Route::prefix('/doc_uploads_downloads')->group(function(){
      Route::get('/', 'DocUploadsDownloadsController@index')->name('admin.downloads.doc_uploads_downloads');
      Route::post('/store', 'DocUploadsDownloadsController@store')
            ->name('admin.downloads.doc_uploads_downloads.store');
      Route::post('/update', 'DocUploadsDownloadsController@update')
           ->name('admin.downloads.doc_uploads_downloads.update');
      Route::get('/add', 'DocUploadsDownloadsController@create')
            ->name('admin.downloads.doc_uploads_downloads.add');
      Route::get('/edit', 'DocUploadsDownloadsController@edit')
            ->name('admin.downloads.doc_uploads_downloads.edit');
      Route::get('/destroy', 'DocUploadsDownloadsController@destroy')
              ->name('admin.downloads.doc_uploads_downloads.destroy');
      Route::get('/download_file', 'DocUploadsDownloadsController@DownloadFile')
              ->name('admin.downloads.doc_uploads_downloads.download_file');
      Route::post('/get_sub_category_html', 'DocUploadsDownloadsController@getSubCategoryHtml')
              ->name('admin.downloads.doc_uploads_downloads.get_sub_category_html');
    });

    Route::prefix('/shared_startups')->group(function(){
      Route::get('/', 'SharedStartupsController@index')
        ->name('admin.downloads.shared_startups');
      Route::post('/store', 'SharedStartupsController@store')
            ->name('admin.downloads.shared_startups.store');
      Route::post('/update', 'SharedStartupsController@update')
           ->name('admin.downloads.shared_startups.update');
      Route::get('/add', 'SharedStartupsController@create')
            ->name('admin.downloads.shared_startups.add');
      Route::get('/edit', 'SharedStartupsController@edit')
            ->name('admin.downloads.shared_startups.edit');
      Route::get('/destroy', 'SharedStartupsController@destroy')
              ->name('admin.downloads.shared_startups.destroy');
      Route::get('/download_file', 'SharedStartupsController@DownloadFile')
              ->name('admin.downloads.shared_startups.download_file');
      Route::post('/get_sub_category_html', 'SharedStartupsController@getSubCategoryHtml')
              ->name('admin.downloads.shared_startups.get_sub_category_html');
    });
  });
  //downloads end
  
  //news start
  Route::prefix('/news')->group(function()
  {
    Route::prefix('/news_type')->group(function(){
      Route::get('/', [NewsTypeController::class, 'index'])
            ->name('admin.news.news_type');
      Route::post('/store', [NewsTypeController::class, 'store'])
            ->name('admin.news.news_type.store');
      Route::post('/update',[NewsTypeController::class, 'update'])
            ->name('admin.news.news_type.update');
      Route::get('/add',[NewsTypeController::class, 'create'])
            ->name('admin.news.news_type.add');
      Route::get('/edit',[NewsTypeController::class, 'edit'])
            ->name('admin.news.news_type.edit');
      Route::get('/destroy',[NewsTypeController::class, 'destroy'])
            ->name('admin.news.news_type.destroy');
      Route::get('/duplicate_news_type_check',[NewsTypeController::class, 'duplicateNewsTypeCheck'])
            ->name('admin.news.news_type.duplicate_news_type_check');
    });
    Route::prefix('/news_and_updates')->group(function(){
      Route::any('/', [NewsAndUpdatesController::class, 'index'])->name('admin.news.news_and_updates');
      Route::post('/store', [NewsAndUpdatesController::class, 'store'])
            ->name('admin.news.news_and_updates.store');
      Route::post('/update',[NewsAndUpdatesController::class, 'update'])
            ->name('admin.news.news_and_updates.update');
      Route::get('/add',[NewsAndUpdatesController::class, 'create'])
            ->name('admin.news.news_and_updates.add');
      Route::get('/edit',[NewsAndUpdatesController::class, 'edit'])
            ->name('admin.news.news_and_updates.edit');
      Route::get('/destroy',[NewsAndUpdatesController::class, 'destroy'])
            ->name('admin.news.news_and_updates.destroy');
      Route::post('/get_news',[NewsAndUpdatesController::class, 'getNews'])
            ->name('admin.news.news_and_updates.get_news');
    });
  });
  //news end

  //incubators start
  Route::prefix('/startups')->group(function()
  {
    Route::prefix('/incubators')->group(function(){
      Route::get('/', [IncubatorsController::class, 'index'])->name('admin.startups.incubators');
      Route::post('/store', [IncubatorsController::class, 'store'])->name('admin.startups.incubators.store');
      Route::post('/update',[IncubatorsController::class, 'update'])->name('admin.startups.incubators.update');
      Route::get('/assign',[IncubatorsController::class, 'assign'])->name('admin.startups.incubators.assign');
      Route::post('/assign_store',[IncubatorsController::class, 'assignStore'])->name('admin.startups.incubators.assign.store');
      Route::post('/edit',[IncubatorsController::class, 'edit'])->name('admin.startups.incubators.edit');
      Route::get('/destroy',[IncubatorsController::class, 'destroy'])->name('admin.startups.incubators.destroy');
      Route::post('/get_startups',[IncubatorsController::class, 'getStartups'])->name('admin.startups.incubators.get_startups');
      Route::post('/view_assigned_startups',[IncubatorsController::class, 'viewAssignedStartups'])->name('admin.startups.incubators.view_assigned_startups');
    });
  });
  //incubators end

  Route::prefix('/vc_fund_assign')->group(function()
  {
    Route::get('/', [VCFundAssignController::class, 'index'])->name('admin.users.vc_fund_assign');
    Route::get('/assign', [VCFundAssignController::class, 'assign'])->name('admin.users.vc_fund_assign.assign');
    Route::post('/assign_store', [VCFundAssignController::class, 'assignStore'])->name('admin.users.vc_fund_assign.assign_store');
    Route::post('/get_startups', [VCFundAssignController::class, 'getStartups'])->name('admin.users.vc_fund_assign.get_startups');
    Route::post('/view_assigned_startups',[VCFundAssignController::class, 'viewAssignedStartups'])->name('admin.users.vc_fund_assign.view_assigned_startups');
  });
  
  //assign mentor and investor start
  Route::prefix('/assign_mentor_and_investor')->group(function()
  {
    Route::get('/', [AssignMentorAndInvestorController::class, 'index'])->name('admin.users.assign_mentor_and_investor');
    Route::post('/assign_store', [AssignMentorAndInvestorController::class, 'assignStore'])->name('admin.users.assign_mentor_and_investor.assign_store');
    Route::post('/get_users',[AssignMentorAndInvestorController::class, 'getUsers'])->name('admin.users.assign_mentor_and_investor.get_users');

    Route::post('/show_user_details',[AssignMentorAndInvestorController::class, 'showUserDetails'])->name('admin.users.assign_mentor_and_investor.show_user_details');

  });
  //assign mentor and investor end

  //allot startups to investors start
  Route::prefix('/alot-startups-to-investors')->group(function()
  {
    Route::any('/', [AlotStartupsToInvestorsController::class, 'index'])->name('admin.users.alotstartupstoinvestors');
    Route::any('/alot', [AlotStartupsToInvestorsController::class, 'alot'])->name('admin.users.alotstartupstoinvestors.alot');
    Route::any('/alot-store', [AlotStartupsToInvestorsController::class, 'alotStore'])->name('admin.users.alotstartupstoinvestors.alotstore');
    Route::any('/get-startups',[AlotStartupsToInvestorsController::class, 'getStartups'])->name('admin.users.alotstartupstoinvestors.getstartups');
    Route::post('/view-alloted-startups',[AlotStartupsToInvestorsController::class, 'viewAllotedStartups'])->name('admin.users.alotstartupstoinvestors.viewallotedstartups');
    Route::post('/get-investor-options', [AlotStartupsToInvestorsController::class, 'getInvestorsOptions'])->name('admin.users.alotstartupstoinvestors.get-investor-options');
  });
  //allot startups to investors end

  //allot mentor to startup
  Route::prefix('/allot_mentor_to_startup')->group(function(){
    Route::get('/', [AllotMentorToStartupController::class, 'index'])->name('admin.users.allot_mentor_to_startup');
    Route::get('/alot', [AllotMentorToStartupController::class, 'alot'])->name('admin.users.allot_mentor_to_startup.alot');
    Route::post('/get_mentors', [AllotMentorToStartupController::class, 'getMentors'])->name('admin.users.allot_mentor_to_startup.get_mentors');
    Route::post('/alot-store', [AllotMentorToStartupController::class, 'alotstore'])->name('admin.users.allot_mentor_to_startup.alotstore');
    Route::post('/alot-edit', [AllotMentorToStartupController::class, 'alotEdit'])->name('admin.users.allot_mentor_to_startup.alot_edit');
    Route::post('/alot-edit-store', [AllotMentorToStartupController::class, 'alotEditStore'])->name('admin.users.allot_mentor_to_startup.alot_edit_store');
    Route::post('/view-alloted-mentors', [AllotMentorToStartupController::class, 'viewAllotedMentors'])->name('admin.users.allot_mentor_to_startup.view_alloted_mentors');

  });
  //allot mentor to startup

  //utility and tools start
  Route::prefix('/utility_and_tools')->group(function()
  {
    //vendor
    Route::prefix('/vendor')->group(function(){
      Route::get('/', [VendorController::class, 'index'])
              ->name('admin.utility_and_tools.vendor');
      Route::post('/store', [VendorController::class, 'store'])
            ->name('admin.utility_and_tools.vendor.store');
      Route::post('/update',[VendorController::class, 'update'])
            ->name('admin.utility_and_tools.vendor.update');
      Route::get('/assign',[VendorController::class, 'assign'])
            ->name('admin.utility_and_tools.vendor.assign');
      Route::post('/assign_store',[VendorController::class, 'assignStore'])
            ->name('admin.utility_and_tools.vendor.assign_store');
      Route::post('/edit',[VendorController::class, 'edit'])
             ->name('admin.utility_and_tools.vendor.edit');
      Route::get('/destroy',[VendorController::class, 'destroy'])
            ->name('admin.utility_and_tools.vendor.destroy');
      Route::post('/get_vendors',[VendorController::class, 'getVendors'])
            ->name('admin.utility_and_tools.vendor.get_vendors');
    });

    //benefits
    Route::prefix('/benefits')->group(function(){
      Route::get('/', [BenefitController::class, 'index'])
              ->name('admin.utility_and_tools.benefit');
      Route::post('/store', [BenefitController::class, 'store'])
            ->name('admin.utility_and_tools.benefit.store');
      Route::post('/update',[BenefitController::class, 'update'])
            ->name('admin.utility_and_tools.benefit.update');
      Route::get('/assign',[BenefitController::class, 'assign'])
            ->name('admin.utility_and_tools.benefit.assign');
      Route::post('/assign_store',[BenefitController::class, 'assignStore'])
            ->name('admin.utility_and_tools.benefit.assign_store');
      Route::post('/edit',[BenefitController::class, 'edit'])
             ->name('admin.utility_and_tools.benefit.edit');
      Route::get('/destroy',[BenefitController::class, 'destroy'])
            ->name('admin.utility_and_tools.benefit.destroy');
      Route::post('/get_benefits',[BenefitController::class, 'getBenefits'])
            ->name('admin.utility_and_tools.benefit.get_benefits');
      Route::get('/mark_benefits',[BenefitController::class, 'markBenefits'])
            ->name('admin.utility_and_tools.benefit.mark_benefits');
      Route::post('/mark_benefits_store',[BenefitController::class, 'markBenefitsStore'])
            ->name('admin.utility_and_tools.benefit.mark_benefits_store');
      Route::post('/get_startups',[BenefitController::class, 'getStartups'])
            ->name('admin.utility_and_tools.benefit.get_startups');
      Route::post('/get_mark_benefit',[BenefitController::class, 'getMarkBenefit'])
            ->name('admin.utility_and_tools.benefit.get_mark_benefit');
       Route::post('/view_benefit',[BenefitController::class, 'viewBenefit'])
            ->name('admin.utility_and_tools.benefit.view_benefit');

    });
  });
  //utility and tools end

  //calendar start
  Route::prefix('/calendar')->group(function()
  {
    Route::get('/', [CalendarController::class, 'index'])->name('admin.calendar');
    Route::post('/get_events', [CalendarController::class, 'getEvents'])->name('admin.calendar.get_events');   
    Route::post('/get_events_list', [CalendarController::class, 'getEventsList'])->name('admin.calendar.get_events_list');

    Route::post('/get_meeting_detail', [CalendarController::class, 'getMeetingDetail'])->name('admin.calendar.get_meeting_detail');
    Route::post('/get_session_meeting_detail', [CalendarController::class, 'getSessionMeetingDetail'])->name('admin.calendar.get_session_meeting_detail');
    Route::post('/get_event_detail', [CalendarController::class, 'getEventDetail'])->name('admin.calendar.get_event_detail');

  });
  //calendar end

  //invester_funds start
  Route::prefix('/invester_funds')->group(function()
  {
    Route::get('/my_funds', [InvestorFundController::class, 'myFunds'])->name('admin.my_funds');
  });
  //invester_funds end

  //Startup Area Start

  Route::prefix('/startup-area')->group(function()
  {
    Route::get('/our-mentor', [StartupAreaController::class, 'ourMentor'])->name('admin.startuparea.ourmentor');
    Route::post('/send-meeting-request', [StartupAreaController::class, 'sendMeetingRequest'])->name('admin.startuparea.sendmeetingrequest');
    Route::post('/send-other-request', [StartupAreaController::class, 'sendOtherRequest'])->name('admin.startuparea.sendotherrequest');
    Route::get('/our-investor', [StartupAreaController::class, 'ourInvestor'])->name('admin.startuparea.ourinvestor');
    Route::get('/our-vendor', [StartupAreaController::class, 'ourVendor'])->name('admin.startuparea.ourvendor');
    Route::get('/startup-benefits', [StartupAreaController::class, 'startupBenefits'])->name('admin.startuparea.startupbenefits');
    Route::any('/job-requirements', [StartupAreaController::class, 'jobRequirements'])->name('admin.startuparea.jobrequirements');

    Route::post('/show_user_details',[StartupAreaController::class, 'showUserDetails'])->name('admin.startuparea.show_user_details');
  });
  //Startup Area End

  //Admin Area
  Route::any('/request-management', [RequestController::class, 'index'])->name('admin.requestmanagement');
  Route::any('/view-user-requests', [RequestController::class, 'viewUserWiseRequestList'])->name('admin.viewuserrequestlist');
  Route::post('/get-user-request-details', [RequestController::class, 'getUserRequestDetails'])->name('admin.getuserrequestdetails');
  Route::post('/get-user-request-response-count', [RequestController::class, 'getUserRequestResponseCount'])->name('admin.getuserrequestresponsecount');
  Route::post('/edit-request', [RequestController::class, 'editUserRequest'])->name('admin.edituserrequest');
  Route::post('/edit-request-save', [RequestController::class, 'editUserRequestSave'])->name('admin.edituserrequestsave');
  Route::post('/update-user-request-seen-by-admin', [RequestController::class, 'updateUserRequestSeenByAdmin'])->name('admin.updateuserrequestseenbyadmin');
  Route::post('/get-request-not-seen-by-admin-user-count', [RequestController::class, 'getUserRequestNotSeenByAdminCount'])->name('admin.getuserrequestnotseenbyadmincount');
  Route::any('/notifications', [NotificationsController::class, 'index'])->name('admin.notifications');
  Route::any('/get-navbar-notifications', [NotificationsController::class, 'getNavbarNotifications'])->name('admin.getnavbarnotifications');
  Route::any('/get-navbar-notification-count', [NotificationsController::class, 'getNavbarNotificationsCount'])->name('admin.getnavbarnotificationcounts');
  Route::post('/get-notification-details', [NotificationsController::class, 'getNotificationDetails'])->name('admin.getnotificationdetails');
  Route::any('/assign-investor-funds', [AssignInvestorFundsController::class, 'index'])->name('admin.assigninvestorfunds');
  Route::post('/assign-investor-funds/get-startups', [AssignInvestorFundsController::class, 'getStartUps'])->name('admin.assigninvestorfunds.getstartups');
  Route::post('/assign-investor-funds/save-startup-funds', [AssignInvestorFundsController::class, 'saveStartupFunds'])->name('admin.assigninvestorfunds.savestartupfunds');
  Route::post('/assign-investor-funds/delete-startup-fund', [AssignInvestorFundsController::class, 'deleteStartupFund'])->name('admin.assigninvestorfunds.deletestartupfund');
  Route::post('/assign-investor-funds/get-investor-options', [AssignInvestorFundsController::class, 'getInvestorsOptions'])->name('admin.assigninvestorfunds.get-investor-options');
  Route::post('/assign-investor-funds/view-investments', [AssignInvestorFundsController::class, 'viewInvestments'])->name('admin.assigninvestorfunds.view-investments');
  
  Route::prefix('broadcasting')->group(function()
  {
    Route::any('/', [BroadcastingController::class, 'index'])->name('admin.broadcasting.index');
    Route::post('/broadcast-message', [BroadcastingController::class, 'saveMessage'])->name('admin.broadcasting.message'); 
  });

  //Admin Area End

  //Common Start
  Route::prefix('chat')->group(function()
  {
    Route::any('/', [ChatController::class, 'index'])->name('admin.chat.index');
    Route::post('/save-chat-user-profile', [ChatController::class, 'saveChatUserProfile'])->name('admin.chat.save_chat_user_profile');
    Route::post('/get-recent-chats', [ChatController::class, 'getRecentChats'])->name('admin.chat.get_recent_chats');
    Route::post('/get-contacts', [ChatController::class, 'getContacts'])->name('admin.chat.get_contacts');
    Route::post('/get-chat-sidebar-right', [ChatController::class, 'getChatSidebarRight'])->name('admin.chat.get_chat_sidebar_right');
    Route::post('/get-chat-history', [ChatController::class, 'getChatHistory'])->name('admin.chat.get_chat_history');
    Route::post('/get-chat-message-list', [ChatController::class, 'getChatMessages'])->name('admin.chat.get_chat_msg_list');
    Route::post('/send-chat-message', [ChatController::class, 'sendChatMessage'])->name('admin.chat.sendchatmessage');
    Route::post('/get-chat-history-js', [ChatController::class, 'getChatHistoryJs'])->name('admin.chat.get_chat_history_js');
    Route::post('/get-chat-message-list-js', [ChatController::class, 'getChatMessageListJs'])->name('admin.chat.get_chat_message_list_js');
    Route::post('/save-chat-with-user-notificaion-mute', [ChatController::class, 'saveChatWithUserNotificaionMute'])->name('admin.chat.save_chat_with_user_notificaion_mute');
    Route::post('/clear-chat', [ChatController::class, 'clearChat'])->name('admin.chat.clear_chat');
  });
  //Common End

  //CRON Job start
  Route::get('/send_login_expire_mail_vc_fund', [CronJobController::class, 'sendLoginExpireMailVCFund'])->name('admin.send_login_expire_mail_vc_fund');
  //CRON Job End

  //public chat controller
  Route::prefix('public_chat')->group(function()
  {
    Route::post('/save_post', [PublicChatController::class, 'savePost'])->name('admin.public_chat.save_post');
    Route::post('/save_comment', [PublicChatController::class, 'saveComment'])->name('admin.public_chat.save_comment');
    Route::post('/save_reaction', [PublicChatController::class, 'saveReaction'])->name('admin.public_chat.save_reaction');
    Route::post('/remove_reaction', [PublicChatController::class, 'removeReaction'])->name('admin.public_chat.remove_reaction');
    Route::post('/get_comment_for_post', [PublicChatController::class, 'getCommentForPost'])->name('admin.public_chat.get_comment_for_post');
    Route::get('/destroy_post', [PublicChatController::class,'destroyPost'])->name('admin.public_chat.destroy_post');
    Route::post('/edit_post', [PublicChatController::class, 'editPost'])->name('admin.public_chat.edit_post');
    Route::post('/update_post', [PublicChatController::class, 'updatePost'])->name('admin.public_chat.update_post');
    Route::post('/remove_post_dz', [PublicChatController::class, 'removePostDZ'])->name('admin.public_chat.remove_post_dz');
    Route::post('/get_view_count', [PublicChatController::class, 'getViewCount'])->name('admin.public_chat.get_view_count');
    Route::post('/update_view_count', [PublicChatController::class, 'updateViewCount'])->name('admin.public_chat.update_view_count');
    Route::get('/{slug?}', [PublicChatController::class, 'index'])->name('admin.public_chat.index');
    Route::post('/save-notification-seen', [PublicChatController::class, 'saveNotificationSeen'])->name('admin.public_chat.save_notification_seen');
  });

  //public mail
  Route::prefix('mail')->group(function()
  {
    Route::get('/', [MailController::class, 'index'])->name('admin.mail.index');
    Route::post('/send_mail', [MailController::class, 'sendMail'])->name('admin.mail.send_mail');
    Route::post('/get_mail_list', [MailController::class, 'getMailList'])->name('admin.mail.get_mail_list');
    Route::post('/get_mail_view', [MailController::class, 'getMailView'])->name('admin.mail.get_mail_view');
    Route::post('/move_to_trash', [MailController::class, 'mailMoveToTrash'])->name('admin.mail.move_to_trash');
    Route::post('/bulk_move_to_trash', [MailController::class, 'mailBulkMoveToTrash'])->name('admin.mail.bulk_move_to_trash');
    Route::post('/bookmarked', [MailController::class, 'bookmarkedMail'])->name('admin.mail.bookmarked');
    Route::post('/restore', [MailController::class, 'mailRestore'])->name('admin.mail.restore');
    Route::post('/assign_mail_label_bulk', [MailController::class, 'assignMailLabelBulk'])->name('admin.mail.assign_mail_label_bulk');
    Route::post('/assign_mail_label', [MailController::class, 'assignMailLabel'])->name('admin.mail.assign_mail_label');
    Route::post('/get_compose_mail_form', [MailController::class, 'getComposeMailForm'])->name('admin.mail.get_compose_mail_form');
    Route::post('/get_searched_mail_list', [MailController::class, 'getSearchedMailList'])->name('admin.mail.get_searched_mail_list');
    Route::post('/get_from_contacts', [MailController::class, 'getFromContacts'])->name('admin.mail.get_from_contacts');
    Route::post('/get_from_contacts_users_list', [MailController::class, 'getFromContactsUsersList'])->name('admin.mail.get_from_contacts_users_list');
    Route::post('/add_more_label', [MailController::class, 'addMoreLabel'])->name('admin.mail.add_more_label');
    Route::post('/get_compose_edit_mail_form', [MailController::class, 'getComposeEditMailForm'])->name('admin.mail.get_compose_edit_mail_form');
    Route::post('/send_edit_mail', [MailController::class, 'sendEditMail'])->name('admin.mail.send_edit_mail');
    Route::post('/delete_attachment_dz', [MailController::class, 'deleteAttachmentDz'])->name('admin.mail.delete_attachment_dz');
  });


  Route::prefix('web_pages')->name('admin.web_pages.')->group(function(){
    Route::prefix('apply_now')->name('apply_now')->group(function(){
      Route::get('/',[WebPageController::class,'indexApplyNow'])->name('.index');
      Route::post('/store_or_update',[WebPageController::class,'storeOrUpdateApplyNow'])->name('.store_or_update');
      Route::post('/banner_upload',[WebPageController::class,'bannerUploadApplyNow'])->name('.banner_upload');
      Route::post('/banner_delete',[WebPageController::class,'bannerDeleteApplyNow'])->name('.banner_delete');
      Route::post('/banner_reorder',[WebPageController::class,'bannerReOrderApplyNow'])->name('.banner_reorder');
      Route::post('/get_other_launch_off_canvas_add',[WebPageController::class,'getOtherLaunchOffCanvasAdd'])->name('.get_other_launch_off_canvas_add');
      Route::post('/get_other_launch_off_canvas_edit',[WebPageController::class,'getOtherLaunchOffCanvasEdit'])->name('.get_other_launch_off_canvas_edit');
      Route::post('/other_launch_store',[WebPageController::class,'otherLaunchStore'])->name('.other_launch.store');
      Route::post('/other_launch_update',[WebPageController::class,'otherLaunchUpdate'])->name('.other_launch.update');
      Route::get('/other_launch_destroy',[WebPageController::class,'otherLaunchDestroy'])->name('.other_launch.destroy');
    });
  }); 

  Route::prefix('aif_onboard')->name('admin.aif_onboard.')->group(function(){
    Route::get('/',[AifOnboardController::class,'index'])->name('index');
    Route::get('/export',[AifOnboardController::class,'export'])->name('export');
    Route::get('/detail_view',[AifOnboardController::class,'detailView'])->name('detail_view');
    Route::post("change-status",[AifOnboardController::class,'changeStatus'])->name('change_status');
    Route::post("get-send-login-detail-view",[AifOnboardController::class,'getSendLoginDetailView'])->name('get_send_login_detail_view');
    Route::post("get-startups-list",[AifOnboardController::class,'getStartupsList'])->name('get_startups_list');
    Route::post("create-user",[AifOnboardController::class,'createUser'])->name('create_user');
    Route::post("get-send-login-detail-modal-view",[AifOnboardController::class,'getSendLoginDetailModalView'])->name('get_send_login_detail_modal_view');
    Route::get("send-login-details-via-mail",[AifOnboardController::class,'sendLoginDetailsViaMail'])->name('send_login_details_via_mail');
    Route::post("get-offcanvas-reason-of-reject-view",[AifOnboardController::class,'getOffcanvasReasonOfRejectView'])->name('get_offcanvas_reason_of_reject_view');
  });
  //program session
  Route::get('/dashboard/set-program-session', [DashBoardController::class, 'setProgramSession'])->name('admin.dashboard.set_program_session');

  // 

  Route::prefix('/startups')->group(function(){
    Route::post('/evaluation_add_view', [StartupController::class, 'getStartupEvaluationAddView'])->name('admin.startups.evaluation_add_view');
    Route::post('/evaluation_view', [StartupController::class, 'getStartupEvaluationView'])->name('admin.startups.evaluation_view');
    Route::post('/evaluation_store', [StartupController::class, 'storeStartupEvaluation'])->name('admin.startups.evaluation_store');
  });


  // blogs begin
    //Common Start
  Route::prefix('blogs')->group(function()
  {
    Route::get('/', [BlogController::class, 'index'])->name('admin.blogs.index');
    Route::get('/create', [BlogController::class, 'create'])->name('admin.blogs.create');
    Route::post('/store', [BlogController::class, 'store'])->name('admin.blogs.store');
    Route::get('/edit', [BlogController::class, 'edit'])->name('admin.blogs.edit');
    Route::post('/update', [BlogController::class, 'update'])->name('admin.blogs.update');
    Route::post('/change_status', [BlogController::class, 'changeStatus'])->name('admin.blogs.change_status');
  });
  //Common End
  //blogs end
});