<?php

// Laravel
use Illuminate\Support\Facades\Route;

// Creatia
use App\Http\Controllers\Provisioning\TunnelController;

class MercuryV2 {
    
    public static function routes() {

        Route::group(['middleware' => ['auth:api'], 'prefix' => "mercury"], function ($router) {
            Route::get('/option', [TunnelController::class, 'get_options']);
        });

        Route::group(['middleware' => ['auth:api'], 'prefix' => "mercury/v2"], function ($router) {
            Route::get('/option', [TunnelController::class, 'get_options']);
        });

        Route::group(['middleware' => ['auth:api','bounce:mercury.v2.view'], 'prefix' => "mercury/v2"], function ($router) {
            Route::get('/tunnel', [TunnelController::class, 'get_tunnels']);
        });

        Route::group(['middleware' => ['auth:api','bounce:mercury.v2.add'], 'prefix' => "mercury/v2"], function ($router) {
            Route::post('/tunnel', [TunnelController::class, 'add_tunnel']);
            Route::post('/tunnel/{_tunnel_id}/endpoint', [TunnelController::class, 'edit_tunnel']);
            Route::put('/tunnel/{_tunnel_id}', [TunnelController::class, 'update_as_set']);
        });

        Route::group(['middleware' => ['auth:api','bounce:mercury.v2.delete'], 'prefix' => "mercury/v2"], function ($router) {
            Route::delete('/tunnel/{_tunnel_id}', [TunnelController::class, 'delete_tunnel']);
        });
    
    }
}
