MOON
Server: Apache
System: Linux ip-208-109-13-31.ip.secureserver.net 3.10.0-1160.119.1.el7.tuxcare.els4.x86_64 #1 SMP Sat Aug 31 06:58:57 UTC 2024 x86_64
User: durgeshpandey215 (1013)
PHP: 8.1.29
Disabled: NONE
Upload Files
File: /home/durgeshpandey215/public_html/subsidycrm/routes/api.php
<?php

use Illuminate\Support\Facades\Route;
use App\Http\Controllers\AuthController;
use App\Http\Controllers\BookingController;
use App\Http\Controllers\CustomerController;
use App\Http\Controllers\EnumStoreController;
use App\Http\Controllers\NotificationController;
use App\Http\Controllers\PaymentController;
use App\Http\Controllers\RoleController;
use App\Http\Controllers\StandardUacController;
use App\Http\Controllers\UserController;
use App\Http\Middleware\CheckUACPermission;

Route::group(['middleware' => 'api', 'prefix' => 'v1/auth'], function () {
    Route::post('/register', [AuthController::class, 'register'])->name('register');
    Route::post('/login', [AuthController::class, 'login'])->name('login');
    Route::post('/logout', [AuthController::class, 'logout'])->middleware('auth:api')->name('logout');
    Route::post('/refresh', [AuthController::class, 'refresh'])->middleware('auth:api')->name('refresh');
    Route::post('/me', [AuthController::class, 'me'])->middleware('auth:api')->name('me');
    Route::post('/reset-password', [AuthController::class, 'resetPassword'])->name('reset-password');
    Route::post('/change-password/{remember_token}', [AuthController::class, 'changePassword'])->name('change-password');
});

Route::group(['middleware' => ['auth:api', CheckUACPermission::class], 'prefix' => 'v1'], function () {
    //Role API routes
    Route::get('role', [RoleController::class, 'index'])->name('role-index');

    //Standard UAC routes
    Route::get('standard-uac/{role_id}', [StandardUacController::class, 'standardUac'])->name('standard-uac');
    Route::get('standard-uac-model-action-group/{role_id}/{model}/{action_group}', [StandardUacController::class, 'standardUacModelActionGroup'])->name('standard-uac-model-action-group');

    //Users API routes
    Route::get('user', [UserController::class, 'index'])->name('user-index');
    Route::get('user/{id}', [UserController::class, 'show'])->name('user-show');
    Route::post('user', [UserController::class, 'store'])->name('user-store');
    Route::put('user/{id}', [UserController::class, 'update'])->name('user-update');
    Route::delete('user/{id}', [UserController::class, 'destroy'])->name('user-destroy');

    // Customer API routes
    Route::get('customer', [CustomerController::class, 'index'])->name('customer-index');
    Route::get('customer/{id}', [CustomerController::class, 'show'])->name('customer-show');
    Route::post('customer', [CustomerController::class, 'store'])->name('customer-store');
    Route::put('customer/{id}', [CustomerController::class, 'update'])->name('customer-update');
    Route::delete('customer/{id}', [CustomerController::class, 'destroy'])->name('customer-destroy');
    Route::post('assign-customer', [CustomerController::class, 'assignCustomer'])->name('assign-customer');
    Route::get('customer/{id}/booking', [CustomerController::class, 'customerBooking'])->name('customer-booking');


    //Enum API routes
    Route::get('enum-store-type/{type}', [EnumStoreController::class, 'enumStoreType'])->name('enum-store-type');
    Route::get('enum-store-by-value/{type}/{id}', [EnumStoreController::class, 'enumStoreByValue'])->name('enum-store-by-value');
    Route::get('enum-store-by-name/{type}/{name}', [EnumStoreController::class, 'enumStoreByName'])->name('enum-store-by-name');
    // Route::get('enum-get-message/{subject}/{booking_id}', [EnumStoreController::class, 'enumGetMessage'])->name('enum-get-message');

    //Booking API routes
    Route::get('booking', [BookingController::class, 'index'])->name('booking-index');
    Route::get('booking/{id}', [BookingController::class, 'show'])->name('booking-show');
    Route::post('booking', [BookingController::class, 'store'])->name('booking-store');
    Route::post('booking/{id}', [BookingController::class, 'update'])->name('booking-update');
    Route::delete('booking/{id}', [BookingController::class, 'destroy'])->name('booking-destroy');
    Route::post('booking/{id}/update-status',[BookingController::class, 'updateStatus'])->name('booking-update-status');
    Route::get('booking/invoice/{id}/{payment_id}', [BookingController::class, 'bookingInvoice'])->name('booking-invoice');

    //Payment API routes
    Route::get('payment/next-invoice-no',[PaymentController::class,'nextInvoiceNo'])->name('next-invoice-no');
    Route::post('payment/new/{booking_id}',[PaymentController::class,'newPayment'])->name('new-payment');
    Route::delete('payment/delete/{payment_id}',[PaymentController::class,'deletePayment'])->name('delete-payment');

    //Notifications API routes
    Route::get('notification/get-count',[NotificationController::class,'getCount'])->name('notification-get-count');
    Route::put('notification/update-view-status/{id}',[NotificationController::class,'updateViewStatus'])->name('notification-update-view-status');
    Route::put('notification/update-all-view-status',[NotificationController::class,'updateAllViewStatus'])->name('notification-update-all-view-status');
    Route::put('notification/update-view-none-status',[NotificationController::class,'updateViewNoneStatus'])->name('notification-update-view-none-status');
    
    //Reports
    Route::get('booking-report', [BookingController::class, 'bookingReport'])->name('booking-report');
});