summaryrefslogtreecommitdiff
path: root/app/models/key.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/models/key.rb')
-rw-r--r--app/models/key.rb86
1 files changed, 0 insertions, 86 deletions
diff --git a/app/models/key.rb b/app/models/key.rb
deleted file mode 100644
index 016eee86992..00000000000
--- a/app/models/key.rb
+++ /dev/null
@@ -1,86 +0,0 @@
-# == Schema Information
-#
-# Table name: keys
-#
-# id :integer not null, primary key
-# user_id :integer
-# created_at :datetime
-# updated_at :datetime
-# key :text
-# title :string(255)
-# type :string(255)
-# fingerprint :string(255)
-#
-
-require 'digest/md5'
-
-class Key < ActiveRecord::Base
- include Sortable
-
- belongs_to :user
-
- before_validation :strip_white_space, :generate_fingerprint
-
- validates :title, presence: true, length: { within: 0..255 }
- validates :key, presence: true, length: { within: 0..5000 }, format: { with: /\A(ssh|ecdsa)-.*\Z/ }, uniqueness: true
- validates :fingerprint, uniqueness: true, presence: { message: 'cannot be generated' }
-
- delegate :name, :email, to: :user, prefix: true
-
- after_create :add_to_shell
- after_create :notify_user
- after_create :post_create_hook
- after_destroy :remove_from_shell
- after_destroy :post_destroy_hook
-
- def strip_white_space
- self.key = key.strip unless key.blank?
- end
-
- # projects that has this key
- def projects
- user.authorized_projects
- end
-
- def shell_id
- "key-#{id}"
- end
-
- def add_to_shell
- GitlabShellWorker.perform_async(
- :add_key,
- shell_id,
- key
- )
- end
-
- def notify_user
- NotificationService.new.new_key(self)
- end
-
- def post_create_hook
- SystemHooksService.new.execute_hooks_for(self, :create)
- end
-
- def remove_from_shell
- GitlabShellWorker.perform_async(
- :remove_key,
- shell_id,
- key,
- )
- end
-
- def post_destroy_hook
- SystemHooksService.new.execute_hooks_for(self, :destroy)
- end
-
- private
-
- def generate_fingerprint
- self.fingerprint = nil
-
- return unless self.key.present?
-
- self.fingerprint = Gitlab::KeyFingerprint.new(self.key).fingerprint
- end
-end