
<?php

use Illuminate\Http\Request;
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\Website\zendeskController;
use App\Http\Controllers\Api\LoginController;
use App\Http\Controllers\Api\RegisterController;
use App\Http\Controllers\Website\leadController;
use App\Http\Controllers\ZendeskfollowupController;
use App\Http\Controllers\DialerController;
use App\Http\Controllers\WhatsappTemplateController;
use App\Http\Controllers\Admin\LeadManagementCandidateController;

/*
|--------------------------------------------------------------------------
| API Routes
|--------------------------------------------------------------------------
|
| Here is where you can register API routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| is assigned the "api" middleware group. Enjoy building your API!
|
*/

// Route::middleware('auth:api')->get('/user', function (Request $request) {
//     return $request->user();
// });

include(base_path('routes/dashboard/v1.php'));

Route::get('/profile_complete/{candidate_id}',[LeadManagementCandidateController::class,'profile_complete']);
Route::get('/getTickets/{number}',[zendeskController::class,'getTickets']);

// Route::post('/create-ticket',[zendeskController::class,'createTicketRequest']);

Route::post('/register',[RegisterController::class,'register'])->name('api.register');
Route::post('/verify_otp',[RegisterController::class,'verify_otp']);
Route::get('/resend_otp',[RegisterController::class,'resend_otp']);
Route::post('/forgot_password',[RegisterController::class,'forgot_password']);
Route::post('/confirm_forgot_password',[RegisterController::class,'confirm_forgot_password']);

Route::post('/login',[LoginController::class,'login']);

// Route::group(['middleware'=>'api'],function(){
    
// });


Route::group(['middleware' => ['jwt.verify']], function() {
        Route::get('/logout', [LoginController::class, 'logout']);
        Route::get('/get_onboard',[LoginController::class, 'get_onboard']);
        Route::post('/change_password',[LoginController::class, 'change_password']);
        Route::post('/store_onboard',[LoginController::class, 'store_onboard']);

        Route::get('/get_states/{country_id}', [LoginController::class, 'get_states']);
        Route::get('/get_cities/{state_id}', [LoginController::class, 'get_cities']);
        Route::get('/delete_education/{education_id}', [LoginController::class, 'delete_education']);
        Route::get('/get_diploma_boards', [LoginController::class, 'get_diploma_boards']);

        Route::get('/delete_documents/{document_id}', [LoginController::class, 'delete_documents']);
        Route::get('/get_documents', [LoginController::class, 'get_documents']);
        Route::post('/documents_upload',[LoginController::class, 'documents_upload']);
        Route::post('/update-highest-education',[LoginController::class, 'update_highest_education']);
});

// Route::prefix('zendesk')->group(function () {
//         Route::get('/profile', [ZendeskfollowupController::class, 'profile'])->name('profile');
// });

Route::any('meta-webhook',[leadController::class , 'metaWebhook'])->name('metaWebhook');

Route::any('webhook',[WhatsappTemplateController::class , 'webhook'])->name('webhook');

Route::post('booksession',[leadController::class , 'booksessionMobile'])->name('booksession');



Route::prefix('zendesk')->group(function () {
        Route::get('/followup',[ZendeskfollowupController::class,'folloup']);
        // Route::post('/customerfolloup', [ZendeskfollowupController::class,'storeFollowup'])->name('zendesk-followup');
        Route::post('/customerfolloup/{id}', [ZendeskfollowupController::class,'storeFollowup'])->name('zendesk-followup');      
        Route::get('/editFollowup', [ZendeskfollowupController::class,'editFollowup'])->name('zendesk-followup-edit');

        Route::get('/candidate',[ZendeskfollowupController::class,'candidateEdit']);
        Route::get('candidate/{candidate_id}', [ZendeskfollowupController::class, 'candidateEdit']);
        Route::put('candidate/update/{candidate_id}', [ZendeskfollowupController::class, 'candidateUpdate'])->name('address.candidateUpdate');

        Route::get('/profile', [ZendeskfollowupController::class, 'profile'])->name('profile');
        Route::post('/sendWhatsapp', [ZendeskfollowupController::class, 'sendWhatsapp'])->name('sendWhatsapp');

        Route::any('/candidate/get_documents', [ZendeskfollowupController::class, 'get_documents'])->name('candidate.get_documents');
        Route::post('/candidate/delete_documents', [ZendeskfollowupController::class, 'delete_documents'])->name('candidate.delete_documents');
        Route::post('/candidate/documents_upload', [ZendeskfollowupController::class, 'documents_upload'])->name('candidate.documents_upload');
});

Route::prefix('address')->group(function () {
        Route::post('/citylist',  [ZendeskfollowupController::class, 'getCityList'])->name('api.GetCityByCountry');
        Route::post('/statelist',  [ZendeskfollowupController::class, 'getStateList'])->name('api.GetStateByCountry');
});


Route::prefix('dialer')->controller(DialerController::class)->name('dialer.')->group(function () {
        Route::get('/call_accepted','call_accepted');
        Route::get('/call_completed','call_completed');
        // Route::get('/outgoing_call_accepted','outgoing_call_accepted');
        // Route::get('/outgoing_call_completed','outgoing_call_completed');
        Route::get('/get_agent_id_by_number','get_agent_id_by_number');
        Route::get('/mark_dialout','mark_dialout');
});

include(base_path('routes/mobile-app-api/v1.php'));
include(base_path('routes/ielts-grad-api/v1.php'));