'auth.login']); // allow logging in to the site // -- user $user_read = Permission::create(['name' => 'user.read']); // allow viewing user profiles $user_write = Permission::create(['name' => 'user.write']); // allow updating user profiles $user_delete = Permission::create(['name' => 'user.delete']); // allow deleting user profiles // -- post $post_read = Permission::create(['name' => 'post.read']); // allow viewing posts $post_write = Permission::create(['name' => 'post.write']); // allow creating/updating posts $post_delete = Permission::create(['name' => 'post.delete']); // allow deleting posts // -- comment $comment_read = Permission::create(['name' => 'comment.read']); // allow viewing comments $comment_write = Permission::create(['name' => 'comment.write']); // allow creating/updating comments $comment_delete = Permission::create(['name' => 'comment.delete']); // allow deleting comments // -- tag $tag_read = Permission::create(['name' => 'tag.read']); // allow viewing tags $tag_write = Permission::create(['name' => 'tag.write']); // allow creating/updating tags $tag_delete = Permission::create(['name' => 'tag.delete']); // allow deleting tags // -- tag group $tag_group_read = Permission::create(['name' => 'tag_group.read']); // allow viewing tag groups $tag_group_write = Permission::create(['name' => 'tag_group.write']); // allow creating/updating tag groups $tag_group_delete = Permission::create(['name' => 'tag_group.delete']); // allow deleting tag groups // -- Create roles // -- restricted $restricted_role = app(Role::class)->findOrCreate(RolesEnum::RESTRICTED->value, 'web'); $restricted_role->syncPermissions([ $auth_login, $user_read, $post_read, $comment_read, $tag_read, $tag_group_read, ]); // -- member $member_role = app(Role::class)->findOrCreate(RolesEnum::MEMBER->value, 'web'); $member_role->syncPermissions([ $auth_login, $user_read, $post_read, $post_write, $comment_read, $comment_write, $tag_read, $tag_write, $tag_group_read, ]); // -- moderator $mod_role = app(Role::class)->findOrCreate(RolesEnum::MODERATOR->value, 'web'); $mod_role->syncPermissions([ $auth_login, $user_read, $post_read, $post_write, $post_delete, $comment_read, $comment_write, $comment_delete, $tag_read, $tag_write, $tag_delete, $tag_group_read, $tag_group_write, $tag_group_delete, ]); // -- admin app(Role::class)->findOrCreate(RolesEnum::ADMIN->value, 'web'); } }