Skip to content

Commit 58c77d6

Browse files
committed
Add port related policies
1 parent c66580a commit 58c77d6

9 files changed

Lines changed: 92 additions & 0 deletions

app/Policies/PortAdslPolicy.php

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
<?php
2+
3+
namespace App\Policies;
4+
5+
class PortAdslPolicy extends PortRelatedPolicy
6+
{
7+
}

app/Policies/PortRelatedPolicy.php

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
<?php
2+
3+
namespace App\Policies;
4+
5+
use App\Models\User;
6+
7+
/**
8+
* Shared policy for port-scoped, read-only resources.
9+
*
10+
* Authorization is governed entirely by the global `port` permission set;
11+
* row-level port/device access is enforced by each model's query scope, not here.
12+
* Concrete per-model policies extend this so Laravel can resolve them by the
13+
* `<Model>Policy` naming convention.
14+
*/
15+
abstract class PortRelatedPolicy
16+
{
17+
use ChecksGlobalPermissions;
18+
19+
public function __construct()
20+
{
21+
$this->globalPrefix = 'port';
22+
}
23+
24+
public function viewAny(User $user): bool
25+
{
26+
return $this->hasGlobalPermission($user, 'view')
27+
|| $this->hasGlobalPermission($user, 'viewAll')
28+
|| $this->hasGlobalPermission($user, 'update')
29+
|| $this->hasGlobalPermission($user, 'delete');
30+
}
31+
32+
public function view(User $user): bool
33+
{
34+
return $this->hasGlobalPermission($user, 'view');
35+
}
36+
}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
<?php
2+
3+
namespace App\Policies;
4+
5+
class PortSecurityPolicy extends PortRelatedPolicy
6+
{
7+
}

app/Policies/PortStackPolicy.php

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
<?php
2+
3+
namespace App\Policies;
4+
5+
class PortStackPolicy extends PortRelatedPolicy
6+
{
7+
}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
<?php
2+
3+
namespace App\Policies;
4+
5+
class PortStatisticPolicy extends PortRelatedPolicy
6+
{
7+
}

app/Policies/PortStpPolicy.php

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
<?php
2+
3+
namespace App\Policies;
4+
5+
class PortStpPolicy extends PortRelatedPolicy
6+
{
7+
}

app/Policies/PortVdslPolicy.php

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
<?php
2+
3+
namespace App\Policies;
4+
5+
class PortVdslPolicy extends PortRelatedPolicy
6+
{
7+
}

app/Policies/PortVlanPolicy.php

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
<?php
2+
3+
namespace App\Policies;
4+
5+
class PortVlanPolicy extends PortRelatedPolicy
6+
{
7+
}

app/Policies/PortsFdbPolicy.php

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
<?php
2+
3+
namespace App\Policies;
4+
5+
class PortsFdbPolicy extends PortRelatedPolicy
6+
{
7+
}

0 commit comments

Comments
 (0)