Files
ntspi-app/routes/api.php
T
F4ilji 88e729aa87 added API VICON integration for updating admission plans via admin panel (queued).
Updated exams and contests display on programs/show page.
Added relevant enums for admission plans.
2025-04-09 15:58:29 +05:00

79 lines
3.9 KiB
PHP

<?php
use App\Http\Controllers\api\NavigateController;
use App\Http\Controllers\ClientWidgetAdditionalEducationalProgramController;
use App\Http\Controllers\ClientWidgetContactController;
use App\Http\Controllers\ClientWidgetEducationalProgramController;
use App\Http\Controllers\ClientWidgetFormController;
use App\Http\Controllers\ClientWidgetPageController;
use App\Http\Controllers\ClientWidgetPageReferenceListController;
use App\Http\Controllers\ClientWidgetPostController;
use App\Http\Controllers\ClientWidgetSliderController;
use App\Http\Controllers\SearchController;
use App\Http\Controllers\StaticSearchController;
use App\Http\Controllers\UpdateAdmissionPlansDataApiController;
use App\Http\Controllers\UpdateEduDataApiController;
use App\Models\AdmissionCampaign;
use App\Services\VK\VkAuthService;
use Illuminate\Support\Facades\Route;
Route::get('/getAcademicYear', function () {
$activeCampaign = AdmissionCampaign::query()->where('status', 1)->first();
return $activeCampaign->academic_year;
})->name('academic.year');
Route::middleware('ensure.browser')->group(function () {
Route::get('/getNavigation', [NavigateController::class, 'index'])->name('client.main.navigate');
Route::get('/search', [SearchController::class, 'index'])->name('client.search.index');
Route::get('/static/search', [StaticSearchController::class, 'search'])->name('client.search.static');
Route::get('/static/categories', [StaticSearchController::class, 'getCategories'])->name('client.categories.static');
Route::get('/widget/get-posts', [ClientWidgetPostController::class, 'index'])->name('client.widget.post.index');
Route::get('/widget/get-posts/{id}', [ClientWidgetPostController::class, 'single'])->name('client.widget.post.single');
Route::get('/widget/get-additional-programs', [ClientWidgetAdditionalEducationalProgramController::class, 'index'])->name('client.widget.additional.program.index');
Route::get('/widget/get-educational-programs', [ClientWidgetEducationalProgramController::class, 'index'])->name('client.widget.educational.program.index');
Route::get('/widget/get-page-resource/{id}', [ClientWidgetPageReferenceListController::class, 'show'])->name('client.widget.page.resource.show');
Route::get('/widget/get-contact-widget/{id}', [ClientWidgetContactController::class, 'show'])->name('client.widget.contact.show');
Route::get('/widget/get-page/{path}', [ClientWidgetPageController::class, 'single'])->name('client.widget.page.single');
Route::get('/widget/get-form/{id}', [ClientWidgetFormController::class, 'single'])->middleware('rate.limited.check')->name('client.widget.form.single');
Route::post('/widget/get-form/{id}/submit', [ClientWidgetFormController::class, 'submit'])->middleware(['rate.limited.counter', 'rate.limited.check', 'form.time.period'])->name('client.widget.form.submit');
Route::get('/widget/get-slider/{slug}', [ClientWidgetSliderController::class, 'show'])->name('client.widget.slider.show');
});
Route::middleware(['auth', 'superadmin'])->group(function () {
Route::get('/get-edu-program-data', [UpdateEduDataApiController::class, 'index']);
Route::get('/get-admission-plans-data', [UpdateAdmissionPlansDataApiController::class, 'index']);
Route::get('/login/vk', [VkAuthService::class, 'redirectToProvider'])->name('vk.login');
Route::get('/login/vk/callback', [VkAuthService::class, 'handleProviderCallback'])->name('vk.callback');
Route::get('/vk-get-token', [VkAuthService::class, 'getToken'])->name('vk.getToken');
Route::get('/vk-refresh-token', [VkAuthService::class, 'refresh'])->name('vk.refreshToken');
Route::get('/vk-logout', [VkAuthService::class, 'logout'])->name('vk.logout');
});
//Route::get('/vk-handle', [VkPostController::class, 'index']);
//Route::get('/vk-handle/get-auth-token', [VkAuthController::class, 'getToken']);
//Route::get('/vk-handle/wall', [VkPostController::class, 'wall']);