<?php

use App\Modules\PublicArea\AuthController;
use App\Modules\Admin\AdminDashboardController;
use App\Modules\Admin\AdminProductController;
use App\Modules\Admin\AdminPurchaseController;
use App\Modules\Admin\AdminSettingController;
use App\Modules\Admin\AdminUserController;
use App\Modules\PublicArea\ClientDashboardController;
use App\Modules\PublicArea\ClientPurchaseController;
use App\Modules\PublicArea\MediaController;
use App\Modules\PublicArea\HomeController;

return [
    ['GET', '/', [HomeController::class, 'index']],
    ['GET', '/register', [AuthController::class, 'showRegister']],
    ['POST', '/register', [AuthController::class, 'register']],
    ['GET', '/login', [AuthController::class, 'showLogin']],
    ['POST', '/login', [AuthController::class, 'login']],
    ['POST', '/logout', [AuthController::class, 'logout']],
    ['GET', '/dashboard', [ClientDashboardController::class, 'index']],
    ['GET', '/dashboard/purchases', [ClientPurchaseController::class, 'index']],
    ['POST', '/dashboard/purchases', [ClientPurchaseController::class, 'store']],
    ['GET', '/dashboard/upload', [ClientPurchaseController::class, 'upload']],
    ['POST', '/dashboard/upload', [ClientPurchaseController::class, 'uploadStore']],
    ['GET', '/dashboard/status', [ClientPurchaseController::class, 'status']],
    ['GET', '/media', [MediaController::class, 'show']],
    ['GET', '/admin/dashboard', [AdminDashboardController::class, 'index']],
    ['GET', '/admin/products', [AdminProductController::class, 'index']],
    ['POST', '/admin/products', [AdminProductController::class, 'store']],
    ['POST', '/admin/products/toggle', [AdminProductController::class, 'toggle']],
    ['POST', '/admin/products/delete', [AdminProductController::class, 'delete']],
    ['GET', '/admin/users', [AdminUserController::class, 'index']],
    ['GET', '/admin/purchases', [AdminPurchaseController::class, 'index']],
    ['POST', '/admin/purchases/verify', [AdminPurchaseController::class, 'verify']],
    ['POST', '/admin/purchases/complete', [AdminPurchaseController::class, 'complete']],
    ['POST', '/admin/purchases/reject', [AdminPurchaseController::class, 'reject']],
    ['GET', '/admin/settings', [AdminSettingController::class, 'index']],
    ['POST', '/admin/settings', [AdminSettingController::class, 'update']],
];
