<?php

use Illuminate\Support\Facades\Route;

use App\Http\Controllers\API\Company\Employee\InviteController;
use App\Http\Controllers\API\Company\User\BatchInvitationLinkController;
use App\Http\Controllers\API\Company\User\CompanyUsersController;
use App\Http\Controllers\API\Company\User\InviteUserController;

// company users
Route::group(['middleware' => ['checkcompanyuserrole:Users']], function () {
    Route::get('/company-batch-invitation-link', [BatchInvitationLinkController::class, 'index']);
    Route::post('/company-batch-invitation-link', [BatchInvitationLinkController::class, 'store']);
    Route::post('/company-batch-invitation-link/edit', [BatchInvitationLinkController::class, 'edit']);
    Route::post('/company-batch-invitation-link/toggle/{id}', [BatchInvitationLinkController::class, 'toggle']);
    Route::post('/company-batch-invitation-link/remove/{id}', [BatchInvitationLinkController::class, 'destroy']);
    
    Route::get('/company-pending-verification', [ CompanyUsersController::class, 'fetchPendingVerification']);
    Route::get('/company-users', [ CompanyUsersController::class, 'index']);
    Route::get('/company-users/{user}', [ CompanyUsersController::class, 'show']);
    Route::post('/company-users', [ CompanyUsersController::class, 'store']);
    Route::post('/company-users/resend-invite/{id}', [ CompanyUsersController::class, 'resendInvitation']);
    Route::post('/company-users/remove-invite/{id}', [ CompanyUsersController::class, 'cancelInvitation']);
    Route::post('/company-users/{user}', [ CompanyUsersController::class, 'update']);
    Route::put('/company-users/change-status/{user}', [ CompanyUsersController::class, 'updateActiveStatus']);
    Route::put('/company-users/reset-password/{user}', [ CompanyUsersController::class, 'recoverPassword']);
    Route::post('/user/send-invitation', [InviteUserController::class, 'index']);

    Route::post('/verify-as-admin', [InviteUserController::class, 'verifyAsAdmin']);

    //File Invitation API's for Users
    Route::post('/user-upload-invitation', [InviteUserController::class, 'fileInvitation']);
    Route::get('/user-invitation-file', [InviteUserController::class, 'getSampleFileFormat']);
});


