PixelPlacerBot/routes/web.php

72 lines
3.2 KiB
PHP
Raw Normal View History

2024-07-19 19:51:38 -04:00
<?php
use App\Http\Controllers\ProfileController;
use Illuminate\Support\Facades\Route;
2024-07-20 13:02:52 -04:00
use App\Http\Controllers\TwitchController;
2024-07-27 15:40:35 -04:00
use App\Http\Controllers\GameSessionController;
use App\Http\Controllers\PaletteController;
2024-07-28 18:06:05 -04:00
use App\Http\Controllers\CommandController;
use App\Http\Controllers\CurrentStateController;
use App\Http\Controllers\AdministrationController;
2024-07-27 15:40:35 -04:00
2024-07-28 18:06:05 -04:00
// Administration routes
Route::get('/administration', [AdministrationController::class, 'index'])->name('administration.index');
Route::post('/administration/reset-board', [AdministrationController::class, 'resetBoard'])->name('administration.resetBoard');
Route::post('/administration/change-palette', [AdministrationController::class, 'changePalette'])->name('administration.changePalette');
Route::post('/administration/create-game', [AdministrationController::class, 'createGame'])->name('administration.createGame');
// Command parsing route
Route::post('/command/parse', [CommandController::class, 'parseChatMessage']);
// Current state route
Route::get('/api/current-state', [CurrentStateController::class, 'index']);
// Palette Editor routes
2024-07-27 15:40:35 -04:00
Route::get('/palette-editor', [PaletteController::class, 'index']);
Route::post('/palette-editor', [PaletteController::class, 'store']);
2024-07-28 18:06:05 -04:00
Route::post('/palette-editor/{palette}/rename', [PaletteController::class, 'rename']);
Route::delete('/palette-editor/{palette}', [PaletteController::class, 'delete']);
Route::get('/palette-editor/{palette}/colors', [PaletteController::class, 'getColors']);
2024-07-27 15:40:35 -04:00
Route::post('/palette-editor/{palette}/colors', [PaletteController::class, 'addColor']);
Route::put('/palette-editor/{palette}/colors/{color}', [PaletteController::class, 'updateColor']);
Route::delete('/palette-editor/{palette}/colors/{color}', [PaletteController::class, 'deleteColor']);
2024-07-28 18:06:05 -04:00
Route::get('/palette-editor/{palette}/export', [PaletteController::class, 'export']);
Route::post('/palette-editor/import', [PaletteController::class, 'import']);
2024-07-27 15:40:35 -04:00
2024-07-20 13:02:52 -04:00
2024-07-28 18:06:05 -04:00
// Twitch chat message parsing route
2024-07-20 13:02:52 -04:00
Route::post('/twitch/parse', [TwitchController::class, 'parseChatMessage']);
2024-07-19 19:51:38 -04:00
2024-07-28 18:06:05 -04:00
// Game session routes
2024-07-27 15:40:35 -04:00
Route::post('/game-session/start', [GameSessionController::class, 'start']);
2024-07-28 18:06:05 -04:00
Route::post('/game-session/end/{id}', [GameSessionController::class, 'end']);
2024-07-27 15:40:35 -04:00
Route::get('/game-session/current', [GameSessionController::class, 'current']);
2024-07-28 18:06:05 -04:00
// Static views
2024-07-19 19:51:38 -04:00
Route::get('/', function () {
return view('welcome');
});
2024-07-20 13:02:52 -04:00
Route::get('/prototype', function () {
return view('prototype');
});
2024-07-19 19:51:38 -04:00
Route::get('/dashboard', function () {
return view('dashboard');
2024-07-27 15:40:35 -04:00
});
2024-07-19 19:51:38 -04:00
2024-07-20 13:02:52 -04:00
Route::get('/testing', function () {
return view('testing');
})->middleware(['auth', 'verified'])->name('testing');
2024-07-28 18:06:05 -04:00
// Authenticated user profile routes
2024-07-19 19:51:38 -04:00
Route::middleware('auth')->group(function () {
Route::get('/profile', [ProfileController::class, 'edit'])->name('profile.edit');
Route::patch('/profile', [ProfileController::class, 'update'])->name('profile.update');
Route::delete('/profile', [ProfileController::class, 'destroy'])->name('profile.destroy');
2024-07-28 18:06:05 -04:00
Route::get('/register', [ProfileController::class, 'register'])->name('register');
Route::post('/register', [ProfileController::class, 'store'])->name('register.store');
2024-07-19 19:51:38 -04:00
});
require __DIR__.'/auth.php';