Files
law-api/routes/web.php
2026-08-19 12:18:35 +03:30

99 lines
5.3 KiB
PHP

<?php
use App\Http\Controllers\Admin\ArtController;
use App\Http\Controllers\Admin\BookController;
use App\Http\Controllers\Admin\BranchController;
use App\Http\Controllers\Admin\BylawCodificationLinkController;
use App\Http\Controllers\Admin\BylawDocumentController;
use App\Http\Controllers\Admin\BylawLegalAuthorityController;
use App\Http\Controllers\Admin\BylawNodeController;
use App\Http\Controllers\Admin\BylawNodeTypeController;
use App\Http\Controllers\Admin\BylawSubjectCategoryController;
use App\Http\Controllers\Admin\CategoryController;
use App\Http\Controllers\Admin\ChapterController;
use App\Http\Controllers\Admin\DivisionController;
use App\Http\Controllers\Admin\GateController;
use App\Http\Controllers\Admin\HomeController;
use App\Http\Controllers\Admin\JudicialPrecedentCategoryController;
use App\Http\Controllers\Admin\JudicialPrecedentController;
use App\Http\Controllers\Admin\LawController;
use App\Http\Controllers\Admin\LegalOpinionCategoryController;
use App\Http\Controllers\Admin\LegalOpinionController;
use App\Http\Controllers\Admin\NotificationController;
use App\Http\Controllers\Admin\PartController;
use App\Http\Controllers\Admin\SectionController;
use App\Http\Controllers\Admin\SubscribePlanController;
use App\Http\Controllers\Admin\SuggestionController;
use App\Http\Controllers\Admin\UsersController;
use App\Http\Controllers\Admin\VersionController;
use App\Http\Controllers\Admin\VolumController;
use App\Http\Controllers\api\PayController;
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\Admin\TicketController;
use App\Http\Controllers\Admin\DashboardController;
use App\Http\Controllers\Admin\QuizController;
use App\Http\Controllers\Admin\QuizCategoryController;
use App\Http\Controllers\Admin\QuizSubjectController;
use App\Http\Controllers\Admin\DailyQuestController;
Route::get('payment/callback', [PayController::class, 'callback']);
Route::middleware(['auth', config('jetstream.auth_session')])->group(function () {
Route::resource('categories', CategoryController::class);
Route::resource('versions', VersionController::class);
Route::resource('users', UsersController::class);
Route::resource('law', LawController::class);
Route::resource('art', ArtController::class);
Route::resource('volum', VolumController::class);
Route::resource('book', BookController::class);
Route::resource('section', SectionController::class);
Route::resource('gate', GateController::class);
Route::resource('part', PartController::class);
Route::resource('chapter', ChapterController::class);
Route::resource('division', DivisionController::class);
Route::resource('branch', BranchController::class);
Route::resource('subscribe-plans', SubscribePlanController::class);
Route::resource('notifications', NotificationController::class);
Route::resource('judicial-precedent', JudicialPrecedentController::class);
Route::resource('judicial-precedent-category', JudicialPrecedentCategoryController::class);
Route::resource('legal-opinion', LegalOpinionController::class);
Route::resource('legal-opinion-category', LegalOpinionCategoryController::class);
Route::resource('bylaw-legal-authority', BylawLegalAuthorityController::class);
Route::resource('bylaw-subject-category', BylawSubjectCategoryController::class);
Route::resource('bylaw-document', BylawDocumentController::class);
Route::resource('bylaw-node-type', BylawNodeTypeController::class);
Route::resource('bylaw-node', BylawNodeController::class);
Route::resource('bylaw-codification-link', BylawCodificationLinkController::class);
Route::get('suggestions', [SuggestionController::class, 'index'])->name('suggestions.index');
Route::get('tickets', [TicketController::class, 'index'])->name('tickets.index');
Route::get('tickets/{ticket}', [TicketController::class, 'show'])->name('tickets.show');
Route::post('tickets/{ticket}/reply', [TicketController::class, 'reply'])->name('tickets.reply');
Route::post('tickets/{ticket}/close', [TicketController::class, 'close'])->name('tickets.close');
Route::resource('quizzes', QuizController::class);
Route::get('quizzes/{quiz}/questions', [QuizController::class, 'questions'])->name('quizzes.questions.index');
Route::post('quizzes/{quiz}/questions', [QuizController::class, 'storeQuestion'])->name('quizzes.questions.store');
Route::delete('questions/{question}', [QuizController::class, 'destroyQuestion'])->name('questions.destroy');
Route::resource('quiz-categories', QuizCategoryController::class)->except(['create', 'show', 'edit', 'update']);
Route::resource('quiz-subjects', QuizSubjectController::class)->except(['create', 'show', 'edit', 'update']);
Route::get('/dashboard', [DashboardController::class, 'index'])->name('dashboard');
Route::post('/users/manual-subscription', [\App\Http\Controllers\Admin\UsersController::class, 'addManualSubscription'])
->name('admin.subscriptions.manual');
Route::post('/users/revoke-subscription', [\App\Http\Controllers\Admin\UsersController::class, 'revokeSubscription'])
->name('admin.subscriptions.revoke');
Route::prefix('admin')->middleware(['auth', 'admin'])->group(function () {
// ... your other admin routes
Route::resource('daily-quests', DailyQuestController::class)->except(['show']);
});
});