blue-twilight/database/seeds/PermissionsSeeder.php

160 lines
5.2 KiB
PHP

<?php
use Illuminate\Database\Seeder;
class PermissionsSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
$this->seedAlbumPermissions();
$this->seedAdminPermissions();
}
private function seedAdminPermissions()
{
// admin:access = controls if the admin panel is accessible
DatabaseSeeder::createOrUpdate('permissions', [
'section' => 'admin',
'description' => 'access',
'is_default' => false,
'sort_order' => 0
]);
// admin:configure = controls if the system is configurable
DatabaseSeeder::createOrUpdate('permissions', [
'section' => 'admin',
'description' => 'configure',
'is_default' => false,
'sort_order' => 0
]);
// admin:manage-albums = controls if albums can be managed
DatabaseSeeder::createOrUpdate('permissions', [
'section' => 'admin',
'description' => 'manage-albums',
'is_default' => false,
'sort_order' => 0
]);
// admin:manage-groups = controls if groups can be managed
DatabaseSeeder::createOrUpdate('permissions', [
'section' => 'admin',
'description' => 'manage-groups',
'is_default' => false,
'sort_order' => 0
]);
// admin:manage-storage = controls if storages can be managed
DatabaseSeeder::createOrUpdate('permissions', [
'section' => 'admin',
'description' => 'manage-storage',
'is_default' => false,
'sort_order' => 0
]);
// admin:manage-users = controls if users can be managed
DatabaseSeeder::createOrUpdate('permissions', [
'section' => 'admin',
'description' => 'manage-users',
'is_default' => false,
'sort_order' => 0
]);
// admin:manage-labels = controls if photo labels can be managed
DatabaseSeeder::createOrUpdate('permissions', [
'section' => 'admin',
'description' => 'manage-labels',
'is_default' => false,
'sort_order' => 0
]);
}
private function seedAlbumPermissions()
{
// album:list = controls if the album is visible in listings
DatabaseSeeder::createOrUpdate('permissions', [
'section' => 'album',
'description' => 'list',
'is_default' => true,
'sort_order' => 0
]);
// album:view = controls if the album can be viewed
DatabaseSeeder::createOrUpdate('permissions', [
'section' => 'album',
'description' => 'view',
'is_default' => true,
'sort_order' => 20
]);
// album:edit = controls if the album can be edited in the admin panel
DatabaseSeeder::createOrUpdate('permissions', [
'section' => 'album',
'description' => 'edit',
'is_default' => false,
'sort_order' => 10
]);
// album:delete = controls if the album can be deleted from the admin panel
DatabaseSeeder::createOrUpdate('permissions', [
'section' => 'album',
'description' => 'delete',
'is_default' => false,
'sort_order' => 20
]);
// album:upload-photos = controls if photos can be uploaded into the album
DatabaseSeeder::createOrUpdate('permissions', [
'section' => 'album',
'description' => 'upload-photos',
'is_default' => false,
'sort_order' => 30
]);
// album:edit-own-photos = controls if existing photos, owned by the current user, in the album can be edited
DatabaseSeeder::createOrUpdate('permissions', [
'section' => 'album',
'description' => 'manipulate-photos',
'is_default' => false,
'sort_order' => 40
]);
// album:edit-other-photos = controls if existing photos, owned by other users, in the album can be edited
DatabaseSeeder::createOrUpdate('permissions', [
'section' => 'album',
'description' => 'change-photo-metadata',
'is_default' => false,
'sort_order' => 50
]);
// album:delete-own-photos = controls if existing photos, owned by the current user, in the album can be deleted
DatabaseSeeder::createOrUpdate('permissions', [
'section' => 'album',
'description' => 'delete-photos',
'is_default' => false,
'sort_order' => 60
]);
// album:moderate-comments = moderate comments posted on photos
DatabaseSeeder::createOrUpdate('permissions', [
'section' => 'album',
'description' => 'moderate-comments',
'is_default' => false,
'sort_order' => 70
]);
// album:moderate-comments = moderate comments posted on photos
DatabaseSeeder::createOrUpdate('permissions', [
'section' => 'album',
'description' => 'post-comment',
'is_default' => false,
'sort_order' => 80
]);
}
}