<?php

use Illuminate\Http\Request;
use Illuminate\Support\Facades\Route;

/*
|--------------------------------------------------------------------------
| API Routes
|--------------------------------------------------------------------------
|
| Here is where you can register API routes for your application. These
| routes are loaded by the RouteServiceProvider and all of them will
| be assigned to the "api" middleware group. Make something great!
|
*/

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

Route::post('/tokens/create', 'App\Http\Controllers\Api\ApiTokenController@createToken')->name('api.token.create');
Route::post('/cwo/register', 'App\Http\Controllers\Api\CwoController@register')->name('api.cwo.register');
Route::post('/cwo/login', 'App\Http\Controllers\Api\CwoController@login')->name('api.cwo.login');
Route::post('/cwo/forgot-password', 'App\Http\Controllers\Api\CwoController@forgotPassword')->name('api.cwo.forgotpassword');
Route::post('/cwo/total-car-washed', 'App\Http\Controllers\Api\CarWashController@totalCarWashed')->name('api.cwo.totalcarwashed')->middleware('auth:sanctum');
Route::post('/cwo/total-revenue', 'App\Http\Controllers\Api\CarWashController@totalRevenue')->name('api.cwo.totalrevenue')->middleware('auth:sanctum');
Route::post('/cwo/user-permissions', 'App\Http\Controllers\Api\CwoPermissionController@userPermission')->name('api.cwo.userpermission')->middleware('auth:sanctum');
Route::post('/cwo/car-washed-list/today', 'App\Http\Controllers\Api\CarWashController@todayCarWashedList')->name('api.cwo.todaycarwashedlist')->middleware('auth:sanctum');
Route::post('/cwo/car-washed-list/month-to-date', 'App\Http\Controllers\Api\CarWashController@monthToDateCarWashedList')->name('api.cwo.monthtodatecarwashedlist')->middleware('auth:sanctum');
Route::post('/cwo/car-washed-list/year-to-date', 'App\Http\Controllers\Api\CarWashController@yearToDateCarWashedList')->name('api.cwo.yeartodatecarwashedlist')->middleware('auth:sanctum');
Route::post('/cwo/car-search-list', 'App\Http\Controllers\Api\SearchController@carSearchList')->name('api.cwo.carSearchlist')->middleware('auth:sanctum');
Route::post('/cwo/user/detail', 'App\Http\Controllers\Api\UserController@detail')->name('api.cwo.userdetail')->middleware('auth:sanctum');
Route::post('/cwo/user/update', 'App\Http\Controllers\Api\UserController@update')->name('api.cwo.userupdate')->middleware('auth:sanctum');
Route::post('/terms-and-conditions', 'App\Http\Controllers\Api\CmsController@index')->name('api.termsandconditions')->middleware('auth:sanctum');
Route::post('/contact-support', 'App\Http\Controllers\Api\ContactController@index')->name('api.contactsupport')->middleware('auth:sanctum');
Route::post('/cwo/wash-category', 'App\Http\Controllers\Api\WashCayegoryController@index')->name('api.cwo.washcategory')->middleware('auth:sanctum');
Route::post('/cwo/loyalty', 'App\Http\Controllers\Api\LoyaltyController@index')->name('api.cwo.loyalty')->middleware('auth:sanctum');
Route::post('/car/manual-entry', 'App\Http\Controllers\Api\CarController@manualEntry')->name('api.car.manualentry')->middleware('auth:sanctum');
Route::post('/car/update-car-image', 'App\Http\Controllers\Api\CarController@updateCarImage')->name('api.car.updateCarImage')->middleware('auth:sanctum');
Route::post('/cwo/cars-in-queue', 'App\Http\Controllers\Api\CarController@carsInQueue')->name('api.cwo.carsinqueue')->middleware('auth:sanctum');
Route::post('/wash-status/change', 'App\Http\Controllers\Api\CarWashController@changeWashStatus')->name('api.changewashstatus')->middleware('auth:sanctum');
Route::post('/carwash-all-status', 'App\Http\Controllers\Api\CarWashController@carWashAllStatus')->name('api.carwashstatus')->middleware('auth:sanctum');
Route::post('/get-wash-status', 'App\Http\Controllers\Api\CarWashController@getWashStatus')->name('api.getwashstatus')->middleware('auth:sanctum');
Route::post('/add-driver-details', 'App\Http\Controllers\Api\CarController@addDriverDetails')->name('api.adddriverdetails')->middleware('auth:sanctum');
Route::post('/get-body-types', 'App\Http\Controllers\Api\CarController@getBodyTypes')->name('api.getbodytypes')->middleware('auth:sanctum');
Route::post('/payment-status/change', 'App\Http\Controllers\Api\CarWashController@changePaymentStatus')->name('api.changepaymentstatus')->middleware('auth:sanctum');
Route::post('/car/scan', 'App\Http\Controllers\Api\CarController@scan')->name('api.car.scan')->middleware('auth:sanctum');
Route::post('/get-all-subscriptions', 'App\Http\Controllers\Api\SubscriptionController@index')->name('api.getallsubscriptions')->middleware('auth:sanctum');
Route::post('/cwo/add-car-wash', 'App\Http\Controllers\Api\CarWashController@addCarWash')->name('api.cwo.addcarwash')->middleware('auth:sanctum');
Route::get('/cwo/add-car-wash-test', 'App\Http\Controllers\Api\CarWashController@addCarWashTest')->name('api.cwo.addcarwash.test');
Route::post('/cwo/subscription/add', 'App\Http\Controllers\Api\CwoController@addSubscription')->name('api.cwo.addsubscription')->middleware('auth:sanctum');
Route::post('/cwo/details', 'App\Http\Controllers\Api\CwoController@details')->name('api.cwo.details')->middleware('auth:sanctum');
Route::post('/cwo/user/add', 'App\Http\Controllers\Api\CwoController@addUser')->name('api.cwo.adduser')->middleware('auth:sanctum');
Route::post('/car/body-type/add', 'App\Http\Controllers\Api\CarController@addBodyType')->name('api.car.addbodytype')->middleware('auth:sanctum');
Route::post('/cwo/user/password/change', 'App\Http\Controllers\Api\UserController@changePassword')->name('api.cwo.userchangepassword')->middleware('auth:sanctum');

Route::post('/cwo/renew', 'App\Http\Controllers\Api\CwoController@renew')->name('api.cwo.renew');

Route::post('/wash-status/cancel', 'App\Http\Controllers\Api\CarWashController@cancelWash')->name('api.cancelwash')->middleware('auth:sanctum');

Route::post('/cleaner/list', 'App\Http\Controllers\Api\CleanerController@index')->name('api.cleaner.list')->middleware('auth:sanctum');
Route::post('/cleaner/assign', 'App\Http\Controllers\Api\CleanerController@assignCleaner')->name('api.cleaner.assign')->middleware('auth:sanctum');
Route::post('/cwo/delete', 'App\Http\Controllers\Api\CwoController@delete')->name('api.cwo.delete');

Route::post('/cwo/cars-completed', 'App\Http\Controllers\Api\CarController@carsCompleted')->name('api.cwo.carscompleted')->middleware('auth:sanctum');


Route::post('/cwo/add-temp-wash', 'App\Http\Controllers\Api\TempWashController@addTempWash')->name('api.cwo.addtempwash')->middleware('auth:sanctum');
Route::post('/cwo/temp-wash/detail', 'App\Http\Controllers\Api\TempWashController@getWashDetail')->name('api.cwo.temp.getwash')->middleware('auth:sanctum');
Route::post('/cwo/add-car-wash-from-temp', 'App\Http\Controllers\Api\TempWashController@addCarWashFromTemp')->name('api.cwo.addcarwashfromtemp')->middleware('auth:sanctum');

Route::post('/cwo/app/registration', 'App\Http\Controllers\Api\CwoRegistrationController@appregistration')->name('api.cwo.appregistration');

Route::post('/cwo/review-reply/add', 'App\Http\Controllers\Api\CwoReviewController@addReviewReply')->name('api.cwo.addreviewreply')->middleware('auth:sanctum');
Route::post('/cwo/get-reviews', 'App\Http\Controllers\Api\CwoReviewController@getReviews')->name('api.cwo.getreviews')->middleware('auth:sanctum');
Route::post('/cwo/delete-review', 'App\Http\Controllers\Api\CwoReviewController@deleteReview')->name('api.cwo.deletereview')->middleware('auth:sanctum');

Route::post('/cwo/daily-summary-report', 'App\Http\Controllers\Api\CwoReportController@dailySummaryReport')->name('api.cwo.dailysummaryreport')->middleware('auth:sanctum');



/*CO api starts*/
Route::post('/co/register', 'App\Http\Controllers\Api\CoController@register')->name('api.co.register');
Route::post('/co/login', 'App\Http\Controllers\Api\CoController@login')->name('api.co.login');
Route::post('/co/add-car', 'App\Http\Controllers\Api\CoCarController@addCar')->name('api.co.addcar')->middleware('auth:sanctum');
Route::post('/co/get-cars', 'App\Http\Controllers\Api\CoCarController@getCars')->name('api.co.getcars')->middleware('auth:sanctum');
Route::post('/co/details', 'App\Http\Controllers\Api\CoController@details')->name('api.co.details')->middleware('auth:sanctum');
Route::post('/co/update', 'App\Http\Controllers\Api\CoController@update')->name('api.co.update')->middleware('auth:sanctum');
Route::post('/co/change-password', 'App\Http\Controllers\Api\CoController@changePassword')->name('api.co.changepassword')->middleware('auth:sanctum');
Route::post('/co/forgot-password', 'App\Http\Controllers\Api\CoController@forgotPassword')->name('api.co.forgotpassword')->middleware('auth:sanctum');
Route::post('/co/getcwofromlatlong', 'App\Http\Controllers\Api\CoCwoController@getCwoFromLatLong')->name('api.co.getcwofromlatlong')->middleware('auth:sanctum');
Route::post('/co/get-wash-types', 'App\Http\Controllers\Api\CoCwoController@getWashTypes')->name('api.co.getwashtypes')->middleware('auth:sanctum');
Route::post('/co/update-car', 'App\Http\Controllers\Api\CoCarController@updateCar')->name('api.co.updatecar')->middleware('auth:sanctum');
Route::post('/co/update-fcm', 'App\Http\Controllers\Api\CoController@updateFcm')->name('api.co.updatefcm')->middleware('auth:sanctum');
Route::post('/co/cwo-details', 'App\Http\Controllers\Api\CoCwoController@cwoDetails')->name('api.co.cwodetails')->middleware('auth:sanctum');
Route::post('/co/contact-support', 'App\Http\Controllers\Api\CoContactController@index')->name('api.co.contactsupport')->middleware('auth:sanctum');
Route::post('/co/get-latest-cars', 'App\Http\Controllers\Api\CoCarController@getLatestCars')->name('api.co.getlatestcars')->middleware('auth:sanctum');
Route::post('/co/get-images', 'App\Http\Controllers\Api\CoImageController@getImages')->name('api.co.getimages');
Route::post('/co/search-cwo', 'App\Http\Controllers\Api\CoCwoController@searchCwo')->name('api.co.searchcwo')->middleware('auth:sanctum');
Route::post('/co/total-records', 'App\Http\Controllers\Api\CoCarController@totalRecords')->name('api.co.totalrecords')->middleware('auth:sanctum');
Route::post('/co/terms-and-conditions', 'App\Http\Controllers\Api\CoCmsController@index')->name('api.co.termsandconditions')->middleware('auth:sanctum');
Route::post('/co/track-car', 'App\Http\Controllers\Api\CoCarController@trackCar')->name('api.co.trackcar')->middleware('auth:sanctum');
Route::post('/co/car-wash-history', 'App\Http\Controllers\Api\CoCarController@carWashHistory')->name('api.co.carwashhistory')->middleware('auth:sanctum');
Route::post('/co/car/get-loyalty', 'App\Http\Controllers\Api\CoCarController@getCarLoyalty')->name('api.co.getcarloyalty')->middleware('auth:sanctum');
Route::post('/co/car/remove', 'App\Http\Controllers\Api\CoCarController@removeCar')->name('api.co.removeCar')->middleware('auth:sanctum');
Route::post('/co/rating/add', 'App\Http\Controllers\Api\CoRatingController@addRating')->name('api.co.addrating')->middleware('auth:sanctum');
Route::post('/co/all-car-wash-history', 'App\Http\Controllers\Api\CoCarController@allCarWashHistory')->name('api.co.allcarwashhistory')->middleware('auth:sanctum');
Route::post('/review/details', 'App\Http\Controllers\Api\CoRatingController@reviewDetails')->name('api.co.reviewdetails')->middleware('auth:sanctum');
Route::post('/co/testing', 'App\Http\Controllers\Api\CoCarController@testing')->name('api.co.testing')->middleware('auth:sanctum');
Route::post('/co/review/update', 'App\Http\Controllers\Api\CoRatingController@updateReview')->name('api.co.updatereview')->middleware('auth:sanctum');
/*CO api ends*/

Route::get('/wash-count-update', 'App\Http\Controllers\Api\CarWashController@updateWashCount')->name('api.updatewashcount');
Route::get('/loyalty-utilized-update', 'App\Http\Controllers\Api\CarWashUpdateController@updateLoyaltyUtilized')->name('api.updateloyaltyutilized');

Route::get('/test-fcm', 'App\Http\Controllers\Api\CoFcmController@testFcm')->name('api.testfcm');

