Harden per-branch billing with seat caps and mid-cycle expansion.
Deploy Ladill Frontdesk / deploy (push) Successful in 55s

Enforce billed_branches when adding or reactivating branches, charge
wallet for extra seats mid-cycle, fix Settings for Enterprise, and
cover multi-branch checkout and renewal amounts in tests.
This commit is contained in:
isaacclad
2026-07-16 08:08:10 +00:00
parent bdbf572f19
commit 59433f2b7b
8 changed files with 449 additions and 24 deletions
+2
View File
@@ -180,6 +180,7 @@ Route::middleware(['auth', 'platform.session'])->group(function () {
Route::post('/pro/subscribe', [ProController::class, 'subscribe'])->name('frontdesk.pro.subscribe');
Route::post('/pro/subscribe-enterprise', [ProController::class, 'subscribeEnterprise'])->name('frontdesk.pro.subscribe-enterprise');
Route::post('/pro/subscribe-prepaid', [ProController::class, 'subscribePrepaid'])->name('frontdesk.pro.subscribe-prepaid');
Route::post('/pro/expand-branches', [ProController::class, 'expandBranches'])->name('frontdesk.pro.expand-branches');
Route::get('/pro/paystack/callback', [ProController::class, 'paystackCallback'])->name('frontdesk.pro.paystack.callback');
Route::get('/report-issue', [IssueReportController::class, 'create'])->name('frontdesk.issues.create');
@@ -187,6 +188,7 @@ Route::middleware(['auth', 'platform.session'])->group(function () {
Route::get('/settings', [SettingsController::class, 'edit'])->name('frontdesk.settings');
Route::put('/settings', [SettingsController::class, 'update'])->name('frontdesk.settings.update');
// Legacy alias — defaults branches to active count when omitted.
Route::post('/settings/upgrade', [ProController::class, 'subscribe'])->name('frontdesk.settings.upgrade');
Route::get('/branches', [BranchController::class, 'index'])->name('frontdesk.branches.index');