feat: add Weeztix OAuth, coupon codes, and Mailwizz mapping
Implement Weeztix integration per documentation: database config and subscriber coupon_code, OAuth redirect/callback, admin setup UI with company/coupon selection via AJAX, synchronous coupon creation on public subscribe with duplicate and rate-limit handling, Mailwizz field mapping for coupon codes, subscriber table and CSV export, and connection hint on the pages list. Made-with: Cursor
This commit is contained in:
@@ -8,6 +8,9 @@ use App\Http\Controllers\Admin\MailwizzController;
|
||||
use App\Http\Controllers\Admin\PageController;
|
||||
use App\Http\Controllers\Admin\SubscriberController;
|
||||
use App\Http\Controllers\Admin\UserController;
|
||||
use App\Http\Controllers\Admin\WeeztixApiController;
|
||||
use App\Http\Controllers\Admin\WeeztixController;
|
||||
use App\Http\Controllers\Admin\WeeztixOAuthController;
|
||||
use App\Http\Controllers\ProfileController;
|
||||
use App\Http\Controllers\PublicPageController;
|
||||
use Illuminate\Support\Facades\Route;
|
||||
@@ -46,6 +49,16 @@ Route::middleware(['auth', 'verified'])->prefix('admin')->name('admin.')->group(
|
||||
Route::post('mailwizz/lists', [MailwizzApiController::class, 'lists'])->name('mailwizz.lists');
|
||||
Route::post('mailwizz/fields', [MailwizzApiController::class, 'fields'])->name('mailwizz.fields');
|
||||
|
||||
// Weeztix configuration (nested under pages)
|
||||
Route::get('pages/{page}/weeztix', [WeeztixController::class, 'edit'])->name('pages.weeztix.edit');
|
||||
Route::put('pages/{page}/weeztix', [WeeztixController::class, 'update'])->name('pages.weeztix.update');
|
||||
Route::delete('pages/{page}/weeztix', [WeeztixController::class, 'destroy'])->name('pages.weeztix.destroy');
|
||||
Route::get('pages/{page}/weeztix/oauth/redirect', [WeeztixOAuthController::class, 'redirect'])->name('pages.weeztix.oauth.redirect');
|
||||
Route::get('weeztix/callback', [WeeztixOAuthController::class, 'callback'])->name('weeztix.callback');
|
||||
|
||||
Route::post('weeztix/companies', [WeeztixApiController::class, 'companies'])->name('weeztix.companies');
|
||||
Route::post('weeztix/coupons', [WeeztixApiController::class, 'coupons'])->name('weeztix.coupons');
|
||||
|
||||
// User management (superadmin only)
|
||||
Route::middleware('role:superadmin')->group(function () {
|
||||
Route::resource('users', UserController::class)->except(['show']);
|
||||
|
||||
Reference in New Issue
Block a user