<?php

use App\Modules\Latency\Controllers\AdminController;
use App\Modules\Latency\Controllers\GuestController;

use Illuminate\Support\Facades\Route;
use Illuminate\Support\Facades\Broadcast;

Route::group([], function ($router) {
    Route::get('latency', [GuestController::class, 'get_verbose_latencies']);
    Route::get('location', [GuestController::class, 'get_locations']);
});

Route::group(['middleware' => ['auth:api','bounce:latency.view']], function ($router) {
    Route::get('admin/latency', [AdminController::class, 'get_static_latencies']);
    Route::get('admin/latency/{location_id}', [AdminController::class, 'get_location_static_latency']);
    Route::get('admin/location', [AdminController::class, 'get_locations']);
});

Route::group(['middleware' => ['auth:api','bounce:latency.edit']], function ($router) {
    Route::put('admin/latency/{location_id}', [AdminController::class, 'post_latencies']);
    Route::post('admin/location', [AdminController::class, 'post_location']);
});

Broadcast::channel('mapInformation', function () { 
    return true;
});