change caber permission names to verbs

This commit is contained in:
James Smith committed 2024-08-30 17:13:53 +01:00
1 parent 02213b615c
commit e4db079fb0
8 files changed
+22 -22

No files matched your search

+1 -1
View File
@@ -14,7 +14,7 @@ class ProcessUploadedFileJob < ApplicationJob
model_name = model_path.humanize.tr("+", " ").titleize
# Create model
model = library.models.create(name: model_name, path: "#{model_path}##{SecureRandom.hex(4)}")
model.grant_permission_to "owner", owner
model.grant_permission_to "own", owner
model.update! path: "#{model_path}##{model.id}" # Set to proper ID after saving
# Handle different file types
begin
@@ -7,9 +7,9 @@ module DefaultViewPermissions
def assign_default_view_permissions
# Grant local view access by default
grant_permission_to("viewer", Role.find_or_create_by(name: :viewer))
grant_permission_to("view", Role.find_or_create_by(name: :viewer))
# Set default owner
owner = SiteSettings.default_user
grant_permission_to("owner", owner) if owner
grant_permission_to("own", owner) if owner
end
end
+2 -2
View File
@@ -21,7 +21,7 @@ module Followable
private
def post_creation_activity
user = permitted_users.with_permission("owner").first || SiteSettings.default_user
user = permitted_users.with_permission("own").first || SiteSettings.default_user
return if user.nil?
user.create_actor_if_missing
Federails::Activity.create!(
@@ -34,7 +34,7 @@ module Followable
def post_update_activity
return if actor.activities_as_entity.where(created_at: TIMEOUT.minutes.ago..).count > 0
user = permitted_users.with_permission("owner").first || SiteSettings.default_user
user = permitted_users.with_permission("own").first || SiteSettings.default_user
return if user.nil?
Federails::Activity.create!(
actor: user.actor,
+5 -5
View File
@@ -15,7 +15,7 @@ class ApplicationPolicy
def show?
one_of(
user&.is_moderator?,
check_permissions(record, ["viewer", "editor", "owner"], user, role_fallback: :viewer)
check_permissions(record, ["view", "edit", "own"], user, role_fallback: :viewer)
)
end
@@ -30,7 +30,7 @@ class ApplicationPolicy
def update?
one_of(
user&.is_moderator?,
check_permissions(record, ["editor", "owner"], user, role_fallback: :moderator)
check_permissions(record, ["edit", "own"], user, role_fallback: :moderator)
)
end
@@ -42,7 +42,7 @@ class ApplicationPolicy
all_of(
one_of(
user&.is_moderator?,
check_permissions(record, ["editor", "owner"], user, role_fallback: :moderator)
check_permissions(record, ["edit", "own"], user, role_fallback: :moderator)
),
none_of(
SiteSettings.demo_mode_enabled?
@@ -59,8 +59,8 @@ class ApplicationPolicy
def resolve
return scope.all if user.is_moderator? || !scope.respond_to?(:granted_to)
result = scope.granted_to(["viewer", "editor", "owner"], [user, nil])
result = result.or(scope.granted_to(["viewer", "editor", "owner"], user.roles)) if user
result = scope.granted_to(["view", "edit", "own"], [user, nil])
result = result.or(scope.granted_to(["view", "edit", "own"], user.roles)) if user
result
end
+1 -1
View File
@@ -3,7 +3,7 @@ class ModelPolicy < ApplicationPolicy
all_of(
one_of(
user&.is_moderator?,
check_permissions(record, ["editor", "owner"], user)
check_permissions(record, ["edit", "own"], user)
),
none_of(
SiteSettings.demo_mode_enabled?
+3 -3
View File
@@ -2,8 +2,8 @@
Caber.configure do |config|
# List the object-level permissions you want
config.permissions = [
"viewer",
"editor",
"owner"
"view",
"edit",
"own"
]
end
+2 -2
View File
@@ -44,12 +44,12 @@ RSpec.describe ProcessUploadedFileJob do
it "Sets default owner permission if no owner set" do
job.perform(library.id, file)
expect(Model.last.permitted_users.with_permission(:owner)).to include admin
expect(Model.last.permitted_users.with_permission(:own)).to include admin
end
it "Sets owner permission to provided user" do
job.perform(library.id, file, owner: uploader)
expect(Model.last.permitted_users.with_permission(:owner)).to include uploader
expect(Model.last.permitted_users.with_permission(:own)).to include uploader
end
end
+6 -6
View File
@@ -18,7 +18,7 @@ describe ApplicationPolicy do
context "when default viewer role access is removed" do
before do
model.revoke_permission("viewer", Role.find_by(name: :viewer))
model.revoke_permission("view", Role.find_by(name: :viewer))
end
it "denies users without individual viewer permission" do
@@ -26,7 +26,7 @@ describe ApplicationPolicy do
end
it "allows users with individual viewer permission" do
model.grant_permission_to "viewer", viewer
model.grant_permission_to "view", viewer
expect(policy).to permit(viewer, model)
end
end
@@ -37,7 +37,7 @@ describe ApplicationPolicy do
end
it "allows access if public view permission is set" do
model.grant_permission_to "viewer", nil
model.grant_permission_to "view", nil
expect(policy).to permit(nil, model)
end
end
@@ -72,17 +72,17 @@ describe ApplicationPolicy do
end
it "allows users with granted edit permission" do
model.grant_permission_to "editor", viewer
model.grant_permission_to "edit", viewer
expect(policy).to permit(viewer, model)
end
it "allows users with granted owner permission" do
model.grant_permission_to "owner", viewer
model.grant_permission_to "own", viewer
expect(policy).to permit(viewer, model)
end
it "denies unknown users on public models" do
model.grant_permission_to "viewer", nil
model.grant_permission_to "view", nil
expect(policy).not_to permit(nil, model)
end
end