feat(policies): add EnvironmentVariablePolicy for managing environment variables ( it was missing )

This commit is contained in:
Andras Bacsai
2025-08-26 21:44:36 +02:00
parent e41730a209
commit d98b7ab7e0
3 changed files with 75 additions and 1 deletions

View File

@@ -0,0 +1,73 @@
<?php
namespace App\Policies;
use App\Models\EnvironmentVariable;
use App\Models\User;
class EnvironmentVariablePolicy
{
/**
* Determine whether the user can view any models.
*/
public function viewAny(User $user): bool
{
return true;
}
/**
* Determine whether the user can view the model.
*/
public function view(User $user, EnvironmentVariable $environmentVariable): bool
{
return true;
}
/**
* Determine whether the user can create models.
*/
public function create(User $user): bool
{
return true;
}
/**
* Determine whether the user can update the model.
*/
public function update(User $user, EnvironmentVariable $environmentVariable): bool
{
return true;
}
/**
* Determine whether the user can delete the model.
*/
public function delete(User $user, EnvironmentVariable $environmentVariable): bool
{
return true;
}
/**
* Determine whether the user can restore the model.
*/
public function restore(User $user, EnvironmentVariable $environmentVariable): bool
{
return true;
}
/**
* Determine whether the user can permanently delete the model.
*/
public function forceDelete(User $user, EnvironmentVariable $environmentVariable): bool
{
return true;
}
/**
* Determine whether the user can manage environment variables.
*/
public function manageEnvironment(User $user, EnvironmentVariable $environmentVariable): bool
{
return true;
}
}

View File

@@ -27,6 +27,7 @@ class AuthServiceProvider extends ServiceProvider
\App\Models\ServiceDatabase::class => \App\Policies\ServiceDatabasePolicy::class,
\App\Models\Project::class => \App\Policies\ProjectPolicy::class,
\App\Models\Environment::class => \App\Policies\EnvironmentPolicy::class,
\App\Models\EnvironmentVariable::class => \App\Policies\EnvironmentVariablePolicy::class,
\App\Models\SharedEnvironmentVariable::class => \App\Policies\SharedEnvironmentVariablePolicy::class,
// Database policies - all use the shared DatabasePolicy
\App\Models\StandalonePostgresql::class => \App\Policies\DatabasePolicy::class,

View File

@@ -54,7 +54,7 @@
@endif
</div>
@endcan
@can('manageEnvironment', $this->resource)
@can('update', $this->env)
<div class="flex flex-col w-full gap-2 lg:flex-row">
@if (!$is_redis_credential)
@if ($type === 'service')