- Add UserManagementController@store for creating users - Add POST /api/admin/users endpoint - Support user types: Free, Pro, Admin - Auto-create 100-year subscription for Pro/Admin users - Add user creation modal to Users.jsx - Complete SaaS limit testing: - Free user limits: 1 account, 10 categories, 3 budgets, 100 tx - Middleware blocks correctly at limits - Error messages are user-friendly - Usage stats API working correctly - Update SAAS_STATUS.md with test results - Bump version to 1.51.0
33 lines
730 B
PHP
33 lines
730 B
PHP
<?php
|
|
|
|
namespace App\Http\Middleware;
|
|
|
|
use Closure;
|
|
use Illuminate\Http\Request;
|
|
use Symfony\Component\HttpFoundation\Response;
|
|
|
|
class AdminOnly
|
|
{
|
|
/**
|
|
* Admin email - only this user can access restricted features
|
|
*/
|
|
private const ADMIN_EMAIL = 'marco@cnxifly.com';
|
|
|
|
/**
|
|
* Handle an incoming request.
|
|
*/
|
|
public function handle(Request $request, Closure $next): Response
|
|
{
|
|
$user = $request->user();
|
|
|
|
if (!$user || $user->email !== self::ADMIN_EMAIL) {
|
|
return response()->json([
|
|
'success' => false,
|
|
'message' => 'Access denied. This feature is not available.',
|
|
], 403);
|
|
}
|
|
|
|
return $next($request);
|
|
}
|
|
}
|