feat(tenant-admin): refresh event management experience

This commit is contained in:
Codex Agent
2025-09-26 12:17:25 +02:00
parent 215d19f07e
commit 6215ebbaa0
13 changed files with 1255 additions and 300 deletions

View File

@@ -4,6 +4,7 @@ use App\Http\Controllers\Api\EventPublicController;
use App\Http\Controllers\Api\Tenant\EventController;
use App\Http\Controllers\Api\Tenant\SettingsController;
use App\Http\Controllers\Api\Tenant\TaskController;
use App\Http\Controllers\Api\Tenant\PhotoController;
use App\Http\Controllers\OAuthController;
use App\Http\Controllers\RevenueCatWebhookController;
use App\Http\Controllers\Tenant\CreditController;
@@ -43,6 +44,24 @@ Route::prefix('v1')->name('api.v1.')->group(function () {
Route::match(['put', 'patch'], 'events/{event:slug}', [EventController::class, 'update'])->name('tenant.events.update');
});
Route::prefix('events/{event:slug}')->group(function () {
Route::get('stats', [EventController::class, 'stats'])->name('tenant.events.stats');
Route::post('toggle', [EventController::class, 'toggle'])->name('tenant.events.toggle');
Route::post('invites', [EventController::class, 'createInvite'])->name('tenant.events.invites');
Route::get('photos', [PhotoController::class, 'index'])->name('tenant.events.photos.index');
Route::post('photos', [PhotoController::class, 'store'])->name('tenant.events.photos.store');
Route::get('photos/{photo}', [PhotoController::class, 'show'])->name('tenant.events.photos.show');
Route::patch('photos/{photo}', [PhotoController::class, 'update'])->name('tenant.events.photos.update');
Route::delete('photos/{photo}', [PhotoController::class, 'destroy'])->name('tenant.events.photos.destroy');
Route::post('photos/{photo}/feature', [PhotoController::class, 'feature'])->name('tenant.events.photos.feature');
Route::post('photos/{photo}/unfeature', [PhotoController::class, 'unfeature'])->name('tenant.events.photos.unfeature');
Route::post('photos/bulk-approve', [PhotoController::class, 'bulkApprove'])->name('tenant.events.photos.bulk-approve');
Route::post('photos/bulk-reject', [PhotoController::class, 'bulkReject'])->name('tenant.events.photos.bulk-reject');
Route::get('photos/moderation', [PhotoController::class, 'forModeration'])->name('tenant.events.photos.for-moderation');
Route::get('photos/stats', [PhotoController::class, 'stats'])->name('tenant.events.photos.stats');
});
Route::post('events/bulk-status', [EventController::class, 'bulkUpdateStatus'])->name('tenant.events.bulk-status');
Route::get('events/search', [EventController::class, 'search'])->name('tenant.events.search');