chore: update composer dependencies to include phppresentation chore: update composer.lock after adding phppresentation feat: create categories migration for category management feat: create templates migration for template storage feat: create template generations migration for tracking template usage feat: create template keys migration for template customization feat: create notifications migration for user notifications feat: update API routes for categories, templates, and user profile management docs: update API documentation to include new endpoints for profile and wallet
40 lines
798 B
PHP
40 lines
798 B
PHP
<?php
|
|
|
|
namespace App\Policies;
|
|
|
|
use App\Models\Template;
|
|
use App\Models\User;
|
|
|
|
class TemplatePolicy
|
|
{
|
|
public function viewAny(User $user): bool
|
|
{
|
|
return $this->canManage($user);
|
|
}
|
|
|
|
public function view(User $user, Template $template): bool
|
|
{
|
|
return $this->canManage($user);
|
|
}
|
|
|
|
public function create(User $user): bool
|
|
{
|
|
return $this->canManage($user);
|
|
}
|
|
|
|
public function update(User $user, Template $template): bool
|
|
{
|
|
return $this->canManage($user);
|
|
}
|
|
|
|
public function delete(User $user, Template $template): bool
|
|
{
|
|
return $this->canManage($user);
|
|
}
|
|
|
|
private function canManage(User $user): bool
|
|
{
|
|
return $user->hasRole('admin') || $user->hasPermission('templates.manage');
|
|
}
|
|
}
|