130 lines
7.3 KiB
PHP
130 lines
7.3 KiB
PHP
|
|
<?php
|
||
|
|
|
||
|
|
use Illuminate\Support\Facades\Route;
|
||
|
|
use Modules\Authentication\Http\Controllers\API\AttendanceSyncController;
|
||
|
|
use Modules\Authentication\Http\Controllers\API\AuthController;
|
||
|
|
use Modules\Authentication\Http\Controllers\API\BillingController;
|
||
|
|
use Modules\Authentication\Http\Controllers\API\DashboardController;
|
||
|
|
use Modules\Authentication\Http\Controllers\API\FeedbackController;
|
||
|
|
use Modules\Authentication\Http\Controllers\API\GalleryController;
|
||
|
|
use Modules\Authentication\Http\Controllers\API\LanguageController;
|
||
|
|
use Modules\Authentication\Http\Controllers\API\OnboardingsController;
|
||
|
|
use Modules\Authentication\Http\Controllers\API\PackageController;
|
||
|
|
use Modules\Authentication\Http\Controllers\API\PermissionController;
|
||
|
|
use Modules\Authentication\Http\Controllers\API\RestaurantController;
|
||
|
|
use Modules\Authentication\Http\Controllers\API\RestaurantImageSAASSettingController;
|
||
|
|
use Modules\Authentication\Http\Controllers\API\RestaurantImageSettingController;
|
||
|
|
use Modules\Authentication\Http\Controllers\API\RoleController;
|
||
|
|
use Modules\Authentication\Http\Controllers\API\SAASFaqController;
|
||
|
|
use Modules\Authentication\Http\Controllers\API\SAASSubscriptionController;
|
||
|
|
use Modules\Authentication\Http\Controllers\API\SAASSubscriptionUpgradeController;
|
||
|
|
use Modules\Authentication\Http\Controllers\API\UserController;
|
||
|
|
use Modules\Authentication\Http\Controllers\API\UtilityController;
|
||
|
|
use Modules\Authentication\Http\Controllers\API\ZoomController;
|
||
|
|
|
||
|
|
Route::prefix('/v1')->group(function () {
|
||
|
|
// Auth Routes
|
||
|
|
Route::controller(AuthController::class)->group(function () {
|
||
|
|
Route::post('/login', 'login');
|
||
|
|
Route::post('/register', 'register');
|
||
|
|
});
|
||
|
|
|
||
|
|
// Protected Routes (Requires Authentication)
|
||
|
|
Route::middleware(['auth:api'])->group(function () {
|
||
|
|
Route::controller(AuthController::class)->group(function () {
|
||
|
|
Route::get('/profile', 'user');
|
||
|
|
Route::post('/logout', 'logout');
|
||
|
|
Route::post('/change-password', 'changePassword');
|
||
|
|
Route::post('/profile-update', 'profileUpdate');
|
||
|
|
});
|
||
|
|
|
||
|
|
// User Routes
|
||
|
|
Route::apiResource('users', UserController::class);
|
||
|
|
|
||
|
|
// Other API Resources
|
||
|
|
Route::get('restaurant-status-update/{restaurantId}', [RestaurantController::class, 'statusUpdate']);
|
||
|
|
Route::post('restaurants-theme', [RoleController::class, 'restaurantTheme']);
|
||
|
|
Route::apiResource('restaurants', RestaurantController::class);
|
||
|
|
Route::get('permissions-list', [RoleController::class, 'permissionsList']);
|
||
|
|
Route::apiResource('roles', RoleController::class);
|
||
|
|
Route::apiResource('permissions', PermissionController::class);
|
||
|
|
Route::apiResource('users', UserController::class);
|
||
|
|
Route::apiResource('packages', PackageController::class);
|
||
|
|
Route::apiResource('saas-subscriptions', SAASSubscriptionController::class);
|
||
|
|
|
||
|
|
// Onboarding
|
||
|
|
Route::get('onboardings-list', [OnboardingsController::class, 'index']);
|
||
|
|
Route::get('onboardings-approve/{onboardingId}', [OnboardingsController::class, 'approve']);
|
||
|
|
Route::post('/subscription/upgrade', [OnboardingsController::class, 'upgrade']);
|
||
|
|
|
||
|
|
Route::get('restaurant-settings', [UtilityController::class, 'restaurantSettingsUpdate']);
|
||
|
|
Route::post('restaurant-settings-update', [UtilityController::class, 'restaurantSettingsUpdate']);
|
||
|
|
Route::post('restaurant-logo-update', [UtilityController::class, 'restaurantLogoUpdate']);
|
||
|
|
|
||
|
|
// Utility Routes
|
||
|
|
Route::post('/global-status-update', [UtilityController::class, 'globalStatusUpdate']);
|
||
|
|
|
||
|
|
Route::apiResource('feedbacks', FeedbackController::class);
|
||
|
|
Route::apiResource('saas-faqs', SAASFaqController::class);
|
||
|
|
Route::get('saas-dashboard-data', [DashboardController::class, 'saasDashboardData']);
|
||
|
|
Route::get('dashboard-data', [DashboardController::class, 'index']);
|
||
|
|
Route::post('saas-settings-update', [DashboardController::class, 'saasSettingsUpdate']);
|
||
|
|
Route::post('saas-settings-upload-logo', [DashboardController::class, 'uploadLogo']);
|
||
|
|
Route::get('saas-settings-mail-config', [DashboardController::class, 'getMailConfig']);
|
||
|
|
Route::post('saas-settings-mail-update', [DashboardController::class, 'updateMailConfig']);
|
||
|
|
|
||
|
|
// Image Upload settings
|
||
|
|
Route::apiResource('restaurant-image-settings', RestaurantImageSettingController::class);
|
||
|
|
Route::apiResource('restaurant-image-saas-settings', RestaurantImageSAASSettingController::class);
|
||
|
|
|
||
|
|
Route::prefix('subscription')->group(function () {
|
||
|
|
Route::get('/request-upgrade-list', [SAASSubscriptionUpgradeController::class, 'requestUpgradeList']);
|
||
|
|
Route::post('/request-upgrade', [SAASSubscriptionUpgradeController::class, 'requestUpgrade']);
|
||
|
|
Route::get('/approve-request/{id}', [SAASSubscriptionUpgradeController::class, 'approveRequest']);
|
||
|
|
Route::post('/payment-upgrade', [SAASSubscriptionUpgradeController::class, 'paymentSubscriptions']);
|
||
|
|
});
|
||
|
|
|
||
|
|
// Zoom API
|
||
|
|
Route::apiResource('zooms', ZoomController::class);
|
||
|
|
|
||
|
|
// Language API
|
||
|
|
Route::prefix('languages')->group(function () {
|
||
|
|
Route::get('/', [LanguageController::class, 'index']);
|
||
|
|
Route::post('/', [LanguageController::class, 'store']);
|
||
|
|
Route::put('/{id}', [LanguageController::class, 'update']);
|
||
|
|
Route::get('/export/{name}', [LanguageController::class, 'export']);
|
||
|
|
Route::post('/update-key/{name}', [LanguageController::class, 'updateKey']);
|
||
|
|
Route::post('/import/{name}', [LanguageController::class, 'import']);
|
||
|
|
Route::post('/set-default/{name}', [LanguageController::class, 'setDefault']);
|
||
|
|
});
|
||
|
|
|
||
|
|
// SAAS Module Billing Routes
|
||
|
|
Route::get('billing-expiring-soon', [BillingController::class, 'expiringSoon']);
|
||
|
|
Route::get('billing-transactions', [BillingController::class, 'transactions']);
|
||
|
|
Route::get('billing-invoices', [BillingController::class, 'invoices']);
|
||
|
|
Route::get('billing-revenue-analytics', [BillingController::class, 'revenueAnalytics']);
|
||
|
|
|
||
|
|
// Mail OR SMS Sending For Billing Notifications
|
||
|
|
Route::post('send-billing-notification', [BillingController::class, 'sendBillingNotification']);
|
||
|
|
});
|
||
|
|
});
|
||
|
|
|
||
|
|
Route::get('v1/get-saas-settings', [DashboardController::class, 'getSAASSettings']);
|
||
|
|
Route::get('v1/get-feedbacks', [FeedbackController::class, 'getFeedbacks']);
|
||
|
|
Route::get('v1/get-packages', [DashboardController::class, 'getPackages']);
|
||
|
|
Route::get('v1/get-saas-faqs', [SAASFaqController::class, 'getSaasFaqs']);
|
||
|
|
Route::post('v1/saas-subscriptions-email-store', [SAASSubscriptionController::class, 'publicStore']);
|
||
|
|
|
||
|
|
Route::get('v1/get-image-folder-urls', [UtilityController::class, 'getAllImageFolderUrls']);
|
||
|
|
Route::get('v1/system/link-storage', [UtilityController::class, 'linkStorage']);
|
||
|
|
Route::get('v1/system/unlink-storage', [UtilityController::class, 'unlinkStorage']);
|
||
|
|
Route::get('v1/system/clear-cache', [UtilityController::class, 'clearAllCache']);
|
||
|
|
Route::resource('v1/galleries', GalleryController::class);
|
||
|
|
|
||
|
|
// Domain Check
|
||
|
|
Route::get('v1/system/domain-check', [UtilityController::class, 'domainCheck']);
|
||
|
|
|
||
|
|
// Device Get Users Via Middleware
|
||
|
|
Route::middleware('device.api.key')->get('v1/system/all-users-get', [AttendanceSyncController::class, 'allUsersGet']);
|
||
|
|
Route::post('user-device-attendance', [AttendanceSyncController::class, 'sync']);
|