136 lines
4.4 KiB
PHP
136 lines
4.4 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
|
|
]);
|
|
}
|
|
|
|
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
|
|
]);
|
|
}
|
|
}
|