<?php

use Illuminate\Support\Facades\Route;

/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/

Route::get('/', "GuestController@home")->name("home");

Route::prefix("me")->group(function () {

    Route::get("dashboard", "UserController@showDashboard")->name("me.dashboard");

});

Route::prefix("oauth")->group(function () {

    Route::prefix("twitch")->group(function () {

        Route::get("login", "UserController@login")->name("oauth.twitch.login");

        Route::get("/", "UserController@authorized")->name("oauth.twitch");

        Route::get("logout", "UserController@logout")->name("oauth.twitch.logout");

    });

});

Route::prefix("hooks")->group(function () {

    Route::prefix("twitch")->group(function() {

        Route::post("subscribe", "WebhookController@subscribe")->name("hooks.twitch.subscribe");

        Route::prefix("action")->group(function () {

            // Route::get("/", "WebhookController@listAction")->name("hooks.twitch.action.list");

            Route::post("/", "WebhookController@addAction")->name("hooks.twitch.action.add");

            // Route::delete("/", "WebhookController@deleteAction")->name("hooks.twitch.action.delete");

            Route::prefix("test")->group(function () {

                Route::post("discord", "WebhookController@testWebhook")->name("hooks.twitch.action.test.discord");

            });
        });

        Route::get("stream", "WebhookController@verifySubscription")->name("hooks.twitch.stream");
        Route::post("stream", "WebhookController@streamUpdate");

    });

});