- Added standard Laravel directory structure and configuration. - Included Svelte and Tailwind configuration for the admin interface. - Added core PHPUnit and testing scripts.
92 lines
5.3 KiB
PHP
92 lines
5.3 KiB
PHP
<?php
|
|
|
|
namespace Database\Seeders;
|
|
|
|
use Illuminate\Database\Console\Seeds\WithoutModelEvents;
|
|
use Illuminate\Database\Seeder;
|
|
use App\Models\Permission;
|
|
|
|
class PermissionSeeder extends Seeder
|
|
{
|
|
/**
|
|
* Run the database seeds.
|
|
*/
|
|
public function run(): void
|
|
{
|
|
$permissions = [
|
|
// Page management
|
|
['name' => 'View Pages', 'slug' => 'view-pages', 'resource' => 'pages', 'action' => 'view'],
|
|
['name' => 'Create Pages', 'slug' => 'create-pages', 'resource' => 'pages', 'action' => 'create'],
|
|
['name' => 'Edit Pages', 'slug' => 'edit-pages', 'resource' => 'pages', 'action' => 'edit'],
|
|
['name' => 'Delete Pages', 'slug' => 'delete-pages', 'resource' => 'pages', 'action' => 'delete'],
|
|
|
|
// User management
|
|
['name' => 'View Users', 'slug' => 'view-users', 'resource' => 'users', 'action' => 'view'],
|
|
['name' => 'Create Users', 'slug' => 'create-users', 'resource' => 'users', 'action' => 'create'],
|
|
['name' => 'Edit Users', 'slug' => 'edit-users', 'resource' => 'users', 'action' => 'edit'],
|
|
['name' => 'Delete Users', 'slug' => 'delete-users', 'resource' => 'users', 'action' => 'delete'],
|
|
|
|
// Role management
|
|
['name' => 'View Roles', 'slug' => 'view-roles', 'resource' => 'roles', 'action' => 'view'],
|
|
['name' => 'Create Roles', 'slug' => 'create-roles', 'resource' => 'roles', 'action' => 'create'],
|
|
['name' => 'Edit Roles', 'slug' => 'edit-roles', 'resource' => 'roles', 'action' => 'edit'],
|
|
['name' => 'Delete Roles', 'slug' => 'delete-roles', 'resource' => 'roles', 'action' => 'delete'],
|
|
['name' => 'Assign Permissions', 'slug' => 'assign-permissions', 'resource' => 'roles', 'action' => 'assign'],
|
|
|
|
// Theme management
|
|
['name' => 'View Themes', 'slug' => 'view-themes', 'resource' => 'themes', 'action' => 'view'],
|
|
['name' => 'Activate Themes', 'slug' => 'activate-themes', 'resource' => 'themes', 'action' => 'activate'],
|
|
['name' => 'Upload Themes', 'slug' => 'upload-themes', 'resource' => 'themes', 'action' => 'upload'],
|
|
['name' => 'Edit Themes', 'slug' => 'edit-themes', 'resource' => 'themes', 'action' => 'edit'],
|
|
|
|
// Media management
|
|
['name' => 'View Media', 'slug' => 'view-media', 'resource' => 'media', 'action' => 'view'],
|
|
['name' => 'Upload Media', 'slug' => 'upload-media', 'resource' => 'media', 'action' => 'upload'],
|
|
['name' => 'Edit Media', 'slug' => 'edit-media', 'resource' => 'media', 'action' => 'edit'],
|
|
['name' => 'Delete Media', 'slug' => 'delete-media', 'resource' => 'media', 'action' => 'delete'],
|
|
|
|
// Settings
|
|
['name' => 'Manage Settings', 'slug' => 'manage-settings', 'resource' => 'settings', 'action' => 'manage'],
|
|
|
|
// Backups
|
|
['name' => 'Manage Backups', 'slug' => 'manage-backups', 'resource' => 'backups', 'action' => 'manage'],
|
|
|
|
// Custom Post Types
|
|
['name' => 'View CPT', 'slug' => 'view-cpt', 'resource' => 'cpt', 'action' => 'view'],
|
|
['name' => 'Create CPT', 'slug' => 'create-cpt', 'resource' => 'cpt', 'action' => 'create'],
|
|
['name' => 'Edit CPT', 'slug' => 'edit-cpt', 'resource' => 'cpt', 'action' => 'edit'],
|
|
['name' => 'Delete CPT', 'slug' => 'delete-cpt', 'resource' => 'cpt', 'action' => 'delete'],
|
|
|
|
// Posts
|
|
['name' => 'View Posts', 'slug' => 'view-posts', 'resource' => 'posts', 'action' => 'view'],
|
|
['name' => 'Create Posts', 'slug' => 'create-posts', 'resource' => 'posts', 'action' => 'create'],
|
|
['name' => 'Edit Posts', 'slug' => 'edit-posts', 'resource' => 'posts', 'action' => 'edit'],
|
|
['name' => 'Delete Posts', 'slug' => 'delete-posts', 'resource' => 'posts', 'action' => 'delete'],
|
|
|
|
// Forms
|
|
['name' => 'View Forms', 'slug' => 'view-forms', 'resource' => 'forms', 'action' => 'view'],
|
|
['name' => 'Create Forms', 'slug' => 'create-forms', 'resource' => 'forms', 'action' => 'create'],
|
|
['name' => 'Edit Forms', 'slug' => 'edit-forms', 'resource' => 'forms', 'action' => 'edit'],
|
|
['name' => 'Delete Forms', 'slug' => 'delete-forms', 'resource' => 'forms', 'action' => 'delete'],
|
|
['name' => 'View Submissions', 'slug' => 'view-submissions', 'resource' => 'forms', 'action' => 'view-submissions'],
|
|
|
|
// Analytics
|
|
['name' => 'View Analytics', 'slug' => 'view-analytics', 'resource' => 'analytics', 'action' => 'view'],
|
|
|
|
// Navigation
|
|
['name' => 'Manage Navigation', 'slug' => 'manage-navigation', 'resource' => 'navigation', 'action' => 'manage'],
|
|
|
|
// Translations
|
|
['name' => 'Manage Translations', 'slug' => 'manage-translations', 'resource' => 'translations', 'action' => 'manage'],
|
|
|
|
// Settings
|
|
['name' => 'View Settings', 'slug' => 'view-settings', 'resource' => 'settings', 'action' => 'view'],
|
|
['name' => 'Update Settings', 'slug' => 'update-settings', 'resource' => 'settings', 'action' => 'update'],
|
|
];
|
|
|
|
foreach ($permissions as $permission) {
|
|
Permission::updateOrCreate(['slug' => $permission['slug']], $permission);
|
|
}
|
|
}
|
|
}
|