Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLin Jen-Shin <godfat@godfat.org>2018-07-24 17:30:09 +0300
committerLin Jen-Shin <godfat@godfat.org>2018-07-25 16:06:27 +0300
commite3aaa56c92f97f8aff3aeb847754794e9eae4706 (patch)
treeeb6c343901284f826ed808e500a53c7e804988dd
parent3f14c56bfe77e83084b58dc2bd3c34e3c84c6cae (diff)
Introduce PolicyCheckable for checking policies
-rw-r--r--app/models/deploy_token.rb5
-rw-r--r--app/policies/concerns/policy_checkable.rb36
-rw-r--r--config/application.rb1
3 files changed, 38 insertions, 4 deletions
diff --git a/app/models/deploy_token.rb b/app/models/deploy_token.rb
index 7ab647abe93..51029950dda 100644
--- a/app/models/deploy_token.rb
+++ b/app/models/deploy_token.rb
@@ -1,6 +1,7 @@
class DeployToken < ActiveRecord::Base
include Expirable
include TokenAuthenticatable
+ include PolicyCheckable
add_authentication_token_field :token
AVAILABLE_SCOPES = %i(read_repository read_registry).freeze
@@ -58,10 +59,6 @@ class DeployToken < ActiveRecord::Base
write_attribute(:expires_at, value.presence || Forever.date)
end
- def admin?
- false
- end
-
private
def ensure_at_least_one_scope
diff --git a/app/policies/concerns/policy_checkable.rb b/app/policies/concerns/policy_checkable.rb
new file mode 100644
index 00000000000..5aae23c18e9
--- /dev/null
+++ b/app/policies/concerns/policy_checkable.rb
@@ -0,0 +1,36 @@
+# frozen_string_literal: true
+
+# Include this module if we want to pass something else than the user to
+# check policies. This defines several methods which the policy checker
+# would call and check.
+module PolicyCheckable
+ extend ActiveSupport::Concern
+
+ def blocked?
+ false
+ end
+
+ def admin?
+ false
+ end
+
+ def external?
+ false
+ end
+
+ def internal?
+ false
+ end
+
+ def access_locked?
+ false
+ end
+
+ def required_terms_not_accepted?
+ false
+ end
+
+ def can_create_group
+ false
+ end
+end
diff --git a/config/application.rb b/config/application.rb
index 0304f466734..80d6ab7e9fa 100644
--- a/config/application.rb
+++ b/config/application.rb
@@ -43,6 +43,7 @@ module Gitlab
#{config.root}/app/models/members
#{config.root}/app/models/project_services
#{config.root}/app/workers/concerns
+ #{config.root}/app/policies/concerns
#{config.root}/app/services/concerns
#{config.root}/app/serializers/concerns
#{config.root}/app/finders/concerns