Add support API scaffold
This commit is contained in:
@@ -8,6 +8,11 @@ use App\Http\Controllers\Api\Marketing\CouponPreviewController;
|
||||
use App\Http\Controllers\Api\PackageController;
|
||||
use App\Http\Controllers\Api\PhotoboothConnectController;
|
||||
use App\Http\Controllers\Api\SparkboothUploadController;
|
||||
use App\Http\Controllers\Api\Support\SupportGuestPolicyController;
|
||||
use App\Http\Controllers\Api\Support\SupportResourceController;
|
||||
use App\Http\Controllers\Api\Support\SupportTenantActionsController;
|
||||
use App\Http\Controllers\Api\Support\SupportTokenController;
|
||||
use App\Http\Controllers\Api\Support\SupportWatermarkSettingsController;
|
||||
use App\Http\Controllers\Api\Tenant\AdminPushSubscriptionController;
|
||||
use App\Http\Controllers\Api\Tenant\DashboardController;
|
||||
use App\Http\Controllers\Api\Tenant\DataExportController;
|
||||
@@ -39,6 +44,7 @@ use App\Http\Controllers\Api\TenantAuth\TenantAdminPasswordResetController;
|
||||
use App\Http\Controllers\Api\TenantBillingController;
|
||||
use App\Http\Controllers\Api\TenantPackageController;
|
||||
use App\Http\Controllers\RevenueCatWebhookController;
|
||||
use App\Support\SupportApiRegistry;
|
||||
use Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse;
|
||||
use Illuminate\Cookie\Middleware\EncryptCookies;
|
||||
use Illuminate\Session\Middleware\StartSession;
|
||||
@@ -67,6 +73,71 @@ Route::prefix('v1')->name('api.v1.')->group(function () {
|
||||
->middleware('throttle:60,1')
|
||||
->name('webhooks.revenuecat');
|
||||
|
||||
Route::prefix('support')->name('support.')->group(function () {
|
||||
Route::post('/auth/token', [SupportTokenController::class, 'store'])
|
||||
->middleware('throttle:60,1')
|
||||
->name('support.auth.token');
|
||||
|
||||
Route::middleware(['auth:sanctum', 'support.token'])->group(function () {
|
||||
Route::post('/auth/logout', [SupportTokenController::class, 'destroy'])->name('support.auth.logout');
|
||||
Route::get('/auth/me', [SupportTokenController::class, 'me'])->name('support.auth.me');
|
||||
|
||||
Route::get('/settings/guest-policy', [SupportGuestPolicyController::class, 'show'])
|
||||
->name('support.settings.guest-policy.show');
|
||||
Route::patch('/settings/guest-policy', [SupportGuestPolicyController::class, 'update'])
|
||||
->name('support.settings.guest-policy.update');
|
||||
Route::get('/settings/watermark', [SupportWatermarkSettingsController::class, 'show'])
|
||||
->name('support.settings.watermark.show');
|
||||
Route::patch('/settings/watermark', [SupportWatermarkSettingsController::class, 'update'])
|
||||
->name('support.settings.watermark.update');
|
||||
|
||||
Route::prefix('tenants/{tenant}')->group(function () {
|
||||
Route::post('actions/activate', [SupportTenantActionsController::class, 'activate'])
|
||||
->name('support.tenants.actions.activate');
|
||||
Route::post('actions/deactivate', [SupportTenantActionsController::class, 'deactivate'])
|
||||
->name('support.tenants.actions.deactivate');
|
||||
Route::post('actions/suspend', [SupportTenantActionsController::class, 'suspend'])
|
||||
->name('support.tenants.actions.suspend');
|
||||
Route::post('actions/unsuspend', [SupportTenantActionsController::class, 'unsuspend'])
|
||||
->name('support.tenants.actions.unsuspend');
|
||||
Route::post('actions/schedule-deletion', [SupportTenantActionsController::class, 'scheduleDeletion'])
|
||||
->name('support.tenants.actions.schedule-deletion');
|
||||
Route::post('actions/cancel-deletion', [SupportTenantActionsController::class, 'cancelDeletion'])
|
||||
->name('support.tenants.actions.cancel-deletion');
|
||||
Route::post('actions/anonymize', [SupportTenantActionsController::class, 'anonymize'])
|
||||
->name('support.tenants.actions.anonymize');
|
||||
Route::post('actions/add-package', [SupportTenantActionsController::class, 'addPackage'])
|
||||
->name('support.tenants.actions.add-package');
|
||||
Route::post('actions/update-limits', [SupportTenantActionsController::class, 'updateLimits'])
|
||||
->name('support.tenants.actions.update-limits');
|
||||
Route::post('actions/update-subscription-expires-at', [SupportTenantActionsController::class, 'updateSubscriptionExpiresAt'])
|
||||
->name('support.tenants.actions.update-subscription-expires-at');
|
||||
Route::post('actions/set-grace-period', [SupportTenantActionsController::class, 'setGracePeriod'])
|
||||
->name('support.tenants.actions.set-grace-period');
|
||||
Route::post('actions/clear-grace-period', [SupportTenantActionsController::class, 'clearGracePeriod'])
|
||||
->name('support.tenants.actions.clear-grace-period');
|
||||
});
|
||||
|
||||
$resourcePattern = SupportApiRegistry::resourcePattern();
|
||||
|
||||
Route::get('{resource}', [SupportResourceController::class, 'index'])
|
||||
->where('resource', $resourcePattern)
|
||||
->name('support.resources.index');
|
||||
Route::post('{resource}', [SupportResourceController::class, 'store'])
|
||||
->where('resource', $resourcePattern)
|
||||
->name('support.resources.store');
|
||||
Route::get('{resource}/{record}', [SupportResourceController::class, 'show'])
|
||||
->where('resource', $resourcePattern)
|
||||
->name('support.resources.show');
|
||||
Route::patch('{resource}/{record}', [SupportResourceController::class, 'update'])
|
||||
->where('resource', $resourcePattern)
|
||||
->name('support.resources.update');
|
||||
Route::delete('{resource}/{record}', [SupportResourceController::class, 'destroy'])
|
||||
->where('resource', $resourcePattern)
|
||||
->name('support.resources.destroy');
|
||||
});
|
||||
});
|
||||
|
||||
Route::prefix('tenant-auth')->name('tenant-auth.')->group(function () {
|
||||
Route::post('/login', [TenantAdminTokenController::class, 'store'])
|
||||
->middleware('throttle:tenant-auth')
|
||||
|
||||
Reference in New Issue
Block a user