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']); Route::delete('/folders/{id}/bylaw/{bylaw_id}', [\App\Http\Controllers\api\FolderController::class, 'delete_bylaw']); Route::delete('/folders/{id}/judicial/{judicial_id}', [\App\Http\Controllers\api\FolderController::class, 'delete_judicial']); Route::delete('/folders/{id}/opinion/{opinion_id}', [\App\Http\Controllers\api\FolderController::class, 'delete_opinion']); // --- HIGHLIGHTS --- Route::prefix('highlights')->middleware('auth:sanctum')->group(function () { // Arts Route::post('/art', [\App\Http\Controllers\api\ArtHighlightController::class, 'create']); Route::put('/art/{id}', [\App\Http\Controllers\api\ArtHighlightController::class, 'update']); Route::delete('/art/{id}', [\App\Http\Controllers\api\ArtHighlightController::class, 'destroy']); // Bylaws Route::post('/bylaw', [\App\Http\Controllers\api\BylawHighlightController::class, 'create']); Route::put('/bylaw/{id}', [\App\Http\Controllers\api\BylawHighlightController::class, 'update']); Route::delete('/bylaw/{id}', [\App\Http\Controllers\api\BylawHighlightController::class, 'destroy']); // Judicial Precedents Route::post('/judicial', [\App\Http\Controllers\api\JudicialPrecedentHighlightController::class, 'create']); Route::put('/judicial/{id}', [\App\Http\Controllers\api\JudicialPrecedentHighlightController::class, 'update']); Route::delete('/judicial/{id}', [\App\Http\Controllers\api\JudicialPrecedentHighlightController::class, 'destroy']); // Legal Opinions Route::post('/opinion', [\App\Http\Controllers\api\LegalOpinionHighlightController::class, 'create']); Route::put('/opinion/{id}', [\App\Http\Controllers\api\LegalOpinionHighlightController::class, 'update']); Route::delete('/opinion/{id}', [\App\Http\Controllers\api\LegalOpinionHighlightController::class, 'destroy']); }); });