Implemented the authenticated admin contact system.

This commit is contained in:
2026-05-16 22:02:32 +03:30
parent 04e7931ccc
commit e633805ed3
28 changed files with 2200 additions and 14 deletions

View File

@@ -3,12 +3,15 @@
use App\Http\Controllers\AdminChannelCreationController;
use App\Http\Controllers\AdminDashboardController;
use App\Http\Controllers\AdminModerationController;
use App\Http\Controllers\AdminSupportConversationController;
use App\Http\Controllers\ChannelController;
use App\Http\Controllers\ChatMessageController;
use App\Http\Controllers\CreatorDashboardController;
use App\Http\Controllers\FollowController;
use App\Http\Controllers\HomeController;
use App\Http\Controllers\MediaMtxController;
use App\Http\Controllers\SupportAttachmentController;
use App\Http\Controllers\SupportConversationController;
use Illuminate\Support\Facades\Route;
Route::get('/', HomeController::class)->name('home');
@@ -37,6 +40,12 @@ Route::middleware(['auth', 'verified'])->group(function () {
Route::middleware('admin')->prefix('admin')->name('admin.')->group(function () {
Route::get('/', AdminDashboardController::class)->name('dashboard');
Route::get('support', [AdminSupportConversationController::class, 'index'])->name('support.index');
Route::get('support/{conversation}', [AdminSupportConversationController::class, 'show'])->name('support.show');
Route::post('support/{conversation}/messages', [AdminSupportConversationController::class, 'reply'])
->middleware('throttle:20,1')
->name('support.messages.store');
Route::patch('support/{conversation}', [AdminSupportConversationController::class, 'update'])->name('support.update');
Route::patch('channel-creation', [AdminChannelCreationController::class, 'updateDefault'])->name('channel-creation.update');
Route::post('channels/{channel:slug}/suspend', [AdminModerationController::class, 'suspendChannel'])->name('channels.suspend');
Route::post('channels/{channel:slug}/restore', [AdminModerationController::class, 'restoreChannel'])->name('channels.restore');
@@ -47,4 +56,16 @@ Route::middleware(['auth', 'verified'])->group(function () {
});
});
Route::middleware('auth')->group(function () {
Route::get('contact', [SupportConversationController::class, 'index'])->name('support.index');
Route::post('contact', [SupportConversationController::class, 'store'])
->middleware('throttle:10,1')
->name('support.store');
Route::get('contact/attachments/{attachment}', SupportAttachmentController::class)->name('support.attachments.show');
Route::get('contact/{conversation}', [SupportConversationController::class, 'show'])->name('support.show');
Route::post('contact/{conversation}/messages', [SupportConversationController::class, 'reply'])
->middleware('throttle:20,1')
->name('support.messages.store');
});
require __DIR__.'/settings.php';