feat: cloud

This commit is contained in:
Andras Bacsai
2023-08-14 15:22:29 +02:00
parent b941f35812
commit e4279bf257
17 changed files with 189 additions and 74 deletions

View File

@@ -8,32 +8,38 @@ use Symfony\Component\HttpFoundation\Response;
class SubscriptionValid
{
public function handle(Request $request, Closure $next): Response
{
if (auth()->user()) {
if (is_cloud() && !isSubscribed()) {
ray('SubscriptionValid Middleware');
$is_instance_admin = auth()->user()?->isInstanceAdmin();
$allowed_paths = [
'subscription',
'login',
'register',
'logout',
'livewire/message/check-license',
'livewire/message/switch-team',
];
if (!in_array($request->path(), $allowed_paths)) {
return redirect('subscription');
} else {
return $next($request);
}
if (!auth()->user() || !is_cloud()) {
if ($request->path() === 'subscription' && !$is_instance_admin) {
return redirect('/');
} else {
if ($request->path() === 'subscription' && !auth()->user()->isInstanceAdmin()) {
return redirect('/');
} else {
return $next($request);
}
return $next($request);
}
}
if (is_subscription_active() && $request->path() === 'subscription' && !$is_instance_admin) {
return redirect('/');
}
if (is_subscription_in_grace_period()) {
return $next($request);
}
if (!is_subscription_active() && !is_subscription_in_grace_period()) {
ray('SubscriptionValid Middleware');
$allowed_paths = [
'subscription',
'login',
'register',
'logout',
'livewire/message/check-license',
'livewire/message/switch-team',
];
if (!in_array($request->path(), $allowed_paths)) {
return redirect('subscription');
} else {
return $next($request);
}
}
return $next($request);