first commit

This commit is contained in:
Saufi
2026-06-24 20:32:14 +08:00
commit 10fb30ad69
201 changed files with 21356 additions and 0 deletions

View File

@@ -0,0 +1,46 @@
<?php
namespace App\Policies;
use App\Models\DataCentre;
use App\Models\User;
class DataCentrePolicy
{
public function viewAny(User $user): bool
{
return $user->can('pusat_data.urus') || $user->can('serahan.urus_sendiri');
}
/** Perunding hanya boleh lihat pusat data yang sedang ditugaskan kepadanya. */
public function view(User $user, DataCentre $dataCentre): bool
{
if ($user->can('pusat_data.urus')) {
return true;
}
$consultantId = $user->consultant?->id;
return $consultantId !== null && (int) $dataCentre->current_consultant_id === (int) $consultantId;
}
public function create(User $user): bool
{
return $user->can('pusat_data.urus');
}
public function update(User $user, DataCentre $dataCentre): bool
{
return $user->can('pusat_data.urus');
}
public function delete(User $user, DataCentre $dataCentre): bool
{
return $user->can('pusat_data.urus');
}
public function assignConsultant(User $user, DataCentre $dataCentre): bool
{
return $user->can('tugasan.urus');
}
}