summaryrefslogtreecommitdiff
path: root/app/models/deploy_keys_project.rb
diff options
context:
space:
mode:
authorDouwe Maan <douwe@gitlab.com>2018-01-05 15:23:44 +0000
committerStan Hu <stanhu@gmail.com>2018-01-16 17:04:51 -0800
commit536a47b4b70df0f2a8438ed0ada7654593fa5cd0 (patch)
tree709e6cb2c25b4e92d4ce6570f053c6083a4dceab /app/models/deploy_keys_project.rb
parent3fc0564ae09a9edf87a71a8c85ff9bf8ad35121d (diff)
downloadgitlab-ce-536a47b4b70df0f2a8438ed0ada7654593fa5cd0.tar.gz
Merge branch 'sh-migrate-can-push-to-deploy-keys-projects-10-3' into 'security-10-3'
[10.3] Migrate `can_push` column from `keys` to `deploy_keys_project` See merge request gitlab/gitlabhq!2276 (cherry picked from commit f6ca52d31bac350a23938e0aebf717c767b4710c) 1f2bd3c0 Backport to 10.3
Diffstat (limited to 'app/models/deploy_keys_project.rb')
-rw-r--r--app/models/deploy_keys_project.rb10
1 files changed, 8 insertions, 2 deletions
diff --git a/app/models/deploy_keys_project.rb b/app/models/deploy_keys_project.rb
index b37b9bfbdac..6eef12c4373 100644
--- a/app/models/deploy_keys_project.rb
+++ b/app/models/deploy_keys_project.rb
@@ -1,8 +1,14 @@
class DeployKeysProject < ActiveRecord::Base
belongs_to :project
- belongs_to :deploy_key
+ belongs_to :deploy_key, inverse_of: :deploy_keys_projects
- validates :deploy_key_id, presence: true
+ scope :without_project_deleted, -> { joins(:project).where(projects: { pending_delete: false }) }
+ scope :in_project, ->(project) { where(project: project) }
+ scope :with_write_access, -> { where(can_push: true) }
+
+ accepts_nested_attributes_for :deploy_key
+
+ validates :deploy_key, presence: true
validates :deploy_key_id, uniqueness: { scope: [:project_id], message: "already exists in project" }
validates :project_id, presence: true