Files
law-api/routes/api.php
2026-07-14 00:10:53 +03:30

116 lines
7.0 KiB
PHP

<?php
use App\Http\Controllers\api\ArtController;
use App\Http\Controllers\api\AuthController;
use App\Http\Controllers\api\BookController;
use App\Http\Controllers\api\CategoriesController;
use App\Http\Controllers\api\ChapterController;
use App\Http\Controllers\api\FolderController;
use App\Http\Controllers\api\GateController;
use App\Http\Controllers\api\HomeController;
use App\Http\Controllers\api\LawController;
use App\Http\Controllers\api\NoteController;
use App\Http\Controllers\api\NotificationController;
use App\Http\Controllers\api\PartController;
use App\Http\Controllers\api\PayController;
use App\Http\Controllers\api\SectionController;
use App\Http\Controllers\api\SubscribePlanController;
use App\Http\Controllers\api\VersionController;
use App\Http\Controllers\api\VolumController;
use App\Http\Controllers\SuggestionController;
use Illuminate\Support\Facades\Route;
Route::prefix('v1')->group(function () {
Route::post('login', [AuthController::class, 'login']);
Route::post('verify', [AuthController::class, 'verify']);
Route::post('version', [VersionController::class, 'index']);
Route::post('/payment/callback', [SubscribePlanController::class, 'paymentCallback'])->name('payment.callback');
});
Route::prefix('v1')->middleware('auth:sanctum')->group(function () {
Route::get('home', [HomeController::class, 'index']);
Route::get('home-v2', [HomeController::class, 'homeV2']);
Route::get('notifications', [NotificationController::class, 'index']);
Route::get('art', [ArtController::class, 'index']);
Route::get('categories', [CategoriesController::class, 'index']);
Route::post('art/search', [ArtController::class, 'search']);
Route::post('fast-search', [ArtController::class, 'fash_search']); // Legacy Art fast search
Route::post('art/note', [NoteController::class, 'create']);
Route::put('art/note/{id}', [NoteController::class, 'update']);
Route::delete('art/note/{id}', [NoteController::class, 'destroy']);
Route::get('art/{id}', [ArtController::class, 'single']);
Route::get('laws', [LawController::class, 'index']);
Route::get('book', [BookController::class, 'index']);
Route::get('volum', [VolumController::class, 'index']);
Route::get('book_check', [VolumController::class, 'check']);
Route::get('book_filter', [VolumController::class, 'check_filter']);
Route::get('list', [VolumController::class, 'check_filter_with_art']);
Route::get('section', [SectionController::class, 'index']);
Route::get('gate', [GateController::class, 'index']);
Route::get('chapter', [ChapterController::class, 'index']);
Route::get('parts', [PartController::class, 'index']);
Route::get('section/{section}/like', [SectionController::class, 'like']);
Route::get('art/{art}/like', [ArtController::class, 'like']);
Route::get('likes', [ArtController::class, 'likes']);
Route::get('subscribe-plans', [SubscribePlanController::class, 'index']);
Route::post('subscribe-plan-user', [SubscribePlanController::class, 'subscribe']);
Route::post('subscribe-plan-user-new', [SubscribePlanController::class, 'subscribe_new']);
Route::post('subscribe-plan-user-myket', [SubscribePlanController::class, 'subscribeMyket']);
Route::get('subscribe-plan-current', [SubscribePlanController::class, 'current']);
Route::post('pay', [PayController::class, 'pay']);
Route::get('folders', [FolderController::class, 'index']);
Route::post('folders', [FolderController::class, 'create']);
Route::post('assign_folder', [FolderController::class, 'assign']);
Route::get('folders/{id}', [FolderController::class, 'folder']);
Route::delete('folders/{id}', [FolderController::class, 'delete_folder']);
Route::delete('folders/{id}/art/{art_id}', [FolderController::class, 'delete_art']);
Route::post('suggestions', [SuggestionController::class, 'index']);
// Judicial Precedents
Route::get('judicial-precedents/categories', [\App\Http\Controllers\api\JudicialPrecedentApiController::class, 'categories']);
Route::get('judicial-precedents', [\App\Http\Controllers\api\JudicialPrecedentApiController::class, 'index']);
Route::get('judicial-precedents/{id}/pager', [\App\Http\Controllers\api\JudicialPrecedentApiController::class, 'pager']);
Route::post('judicial-precedents/search', [\App\Http\Controllers\api\JudicialPrecedentApiController::class, 'search']);
Route::post('judicial-precedents/fast-search', [\App\Http\Controllers\api\JudicialPrecedentApiController::class, 'fast_search']); // NEW
// Legal Opinions
Route::get('legal-opinions/categories', [\App\Http\Controllers\api\LegalOpinionApiController::class, 'categories']);
Route::get('legal-opinions', [\App\Http\Controllers\api\LegalOpinionApiController::class, 'index']);
Route::get('legal-opinions/{id}/pager', [\App\Http\Controllers\api\LegalOpinionApiController::class, 'pager']);
Route::post('legal-opinions/search', [\App\Http\Controllers\api\LegalOpinionApiController::class, 'search']);
Route::post('legal-opinions/fast-search', [\App\Http\Controllers\api\LegalOpinionApiController::class, 'fast_search']); // NEW
// Bylaws
Route::get('bylaws/categories', [\App\Http\Controllers\api\BylawApiController::class, 'categories']);
Route::get('bylaws/authorities', [\App\Http\Controllers\api\BylawApiController::class, 'authorities']);
Route::get('bylaws', [\App\Http\Controllers\api\BylawApiController::class, 'index']);
Route::get('bylaws/{id}/pager', [\App\Http\Controllers\api\BylawApiController::class, 'pager']);
Route::post('bylaws/search', [\App\Http\Controllers\api\BylawApiController::class, 'search']);
Route::post('bylaws/fast-search', [\App\Http\Controllers\api\BylawApiController::class, 'fast_search']); // NEW
// Global Search
Route::post('global-search', [\App\Http\Controllers\api\GlobalSearchApiController::class, 'search']);
Route::post('global-search/fast-search', [\App\Http\Controllers\api\GlobalSearchApiController::class, 'fast_search']); // NEW
// Bylaw Notes
Route::post('/bylaw-notes', [\App\Http\Controllers\api\BylawNoteController::class, 'create']);
Route::put('/bylaw-notes/{id}', [\App\Http\Controllers\api\BylawNoteController::class, 'update']);
Route::delete('/bylaw-notes/{id}', [\App\Http\Controllers\api\BylawNoteController::class, 'destroy']);
// Judicial Precedent Notes
Route::post('/judicial-notes', [\App\Http\Controllers\api\JudicialPrecedentNoteController::class, 'create']);
Route::put('/judicial-notes/{id}', [\App\Http\Controllers\api\JudicialPrecedentNoteController::class, 'update']);
Route::delete('/judicial-notes/{id}', [\App\Http\Controllers\api\JudicialPrecedentNoteController::class, 'destroy']);
// Legal Opinion Notes
Route::post('/opinion-notes', [\App\Http\Controllers\api\LegalOpinionNoteController::class, 'create']);
Route::put('/opinion-notes/{id}', [\App\Http\Controllers\api\LegalOpinionNoteController::class, 'update']);
Route::delete('/opinion-notes/{id}', [\App\Http\Controllers\api\LegalOpinionNoteController::class, 'destroy']);
});