middleware(['auth:api', 'check-brand'])->group(function () { // Clients Route::prefix('customer')->group(function () { Route::get('/{type}/{value}', [CustomerController::class, 'show']); Route::post('/create', [CustomerController::class, 'store']); Route::put('/{id}', [CustomerController::class, 'update']); Route::delete('/{id}', [CustomerController::class, 'delete']); Route::post('/{id}/change-password', [CustomerController::class, 'changePassword']); Route::post('/{id}/activate', [CustomerController::class, 'activateAccount']); Route::post('/{id}/toggle-optin', [CustomerController::class, 'toggleOptin']); Route::post('/{hashcode}/remove-optin', [CustomerController::class, 'removeOptin']); Route::post('/login', [CustomerController::class, 'authenticate']); }); // Optin simple Route::post('/single-optin', [CustomerController::class, 'addSingleOptin']); // Arcadia Route::post('/arcadia/outgoing-mail', [ArcadiaController::class, 'outgoingMail']); }); Route::prefix('v2')->name('apiV2.')->group(function () { Route::get('/ping', [V2ApiController::class, 'ping'])->name('ping'); Route::post('/auth', [V2ApiController::class, 'authenticate'])->name('authenticate'); Route::middleware('auth:api')->group(function () { Route::post('/optin', [V2OptinController::class, 'optin'])->name('optin'); Route::apiResource('customers', V2CustomerController::class)->except(['index']); Route::prefix('customers')->name('customers.')->group(function () { Route::post('/authenticate', [V2CustomerController::class, 'authenticate'])->name('authenticate'); Route::prefix('{customer}')->group(function () { Route::post('/activate', [V2CustomerController::class, 'activateAccount'])->name('activate'); Route::post('/answers', [V2AnswerController::class, 'storeCustomerAnswers']) ->name('answers.store'); }); }); Route::prefix('arcadia')->name('arcadia.')->group(function () { Route::post('/outgoing-mail/default', [V2ArcadiaController::class, 'outgoingMailDefault']) ->name('outgoingMailDefault'); Route::post('/outgoing-mail/game', [V2ArcadiaController::class, 'outgoingMailGame']) ->name('outgoingMailGame'); }); Route::apiResource('questions', V2QuestionController::class)->only(['index']); Route::prefix('questions')->name('questions.')->group(function () { Route::get('/un-answered-by/{customer}', [V2QuestionController::class, 'unAnsweredBy']) ->name('unAnsweredBy'); Route::get('/with-answers/{customer}', [V2QuestionController::class, 'indexWithResponse']) ->name('indexWithResponse'); }); }); });