initial commit

This commit is contained in:
TheOnlyMace
2026-05-17 13:26:14 +02:00
commit 75299b723d
176 changed files with 20327 additions and 0 deletions

View File

@@ -0,0 +1,34 @@
<?php
namespace App\Policies;
use App\Models\IpPool;
use App\Models\User;
class IpPoolPolicy
{
public function viewAny(User $user): bool
{
return $user->is_active;
}
public function view(User $user, IpPool $ipPool): bool
{
return $user->is_active;
}
public function create(User $user): bool
{
return $user->isAdmin() && $user->is_active;
}
public function update(User $user, IpPool $ipPool): bool
{
return $user->isAdmin() && $user->is_active;
}
public function delete(User $user, IpPool $ipPool): bool
{
return $user->isAdmin() && $user->is_active;
}
}

View File

@@ -0,0 +1,28 @@
<?php
namespace App\Policies;
use App\Models\User;
class UserPolicy
{
public function viewAny(User $user): bool
{
return $user->isAdmin() && $user->is_active;
}
public function create(User $user): bool
{
return $user->isAdmin() && $user->is_active;
}
public function update(User $user, User $model): bool
{
return $user->isAdmin() && $user->is_active;
}
public function delete(User $user, User $model): bool
{
return $user->isAdmin() && $user->is_active && $user->id !== $model->id;
}
}

39
app/Policies/VmPolicy.php Normal file
View File

@@ -0,0 +1,39 @@
<?php
namespace App\Policies;
use App\Models\Customer;
use App\Models\User;
class VmPolicy
{
public function viewAny(User $user): bool
{
return $user->is_active;
}
public function view(User $user, Customer $vm): bool
{
return $user->is_active && ($user->isAdmin() || $vm->user_id === $user->id);
}
public function create(User $user): bool
{
return $user->is_active;
}
public function update(User $user, Customer $vm): bool
{
return $user->is_active && ($user->isAdmin() || $vm->user_id === $user->id);
}
public function delete(User $user, Customer $vm): bool
{
return $user->is_active && ($user->isAdmin() || $vm->user_id === $user->id);
}
public function manage(User $user, Customer $vm): bool
{
return $this->update($user, $vm) && $vm->status === 'active' && $vm->vmid !== null;
}
}