Commit 39e37677f291c344e25583916a1811a052e38db6

Authored by Dmitriy Zaporozhets
1 parent 081c272b

add remove keys from gitlab-shell by id

app/models/key.rb
... ... @@ -81,7 +81,7 @@ class Key < ActiveRecord::Base
81 81 Key.where(identifier: identifier).count == 0
82 82 end
83 83  
84   - def owner_name
85   - user.username
  84 + def shell_id
  85 + "key-#{self.id}"
86 86 end
87 87 end
... ...
app/observers/key_observer.rb
... ... @@ -4,7 +4,7 @@ class KeyObserver < ActiveRecord::Observer
4 4 def after_save(key)
5 5 GitoliteWorker.perform_async(
6 6 :add_key,
7   - key.owner_name,
  7 + key.shell_id,
8 8 key.key
9 9 )
10 10 end
... ... @@ -12,7 +12,7 @@ class KeyObserver < ActiveRecord::Observer
12 12 def after_destroy(key)
13 13 GitoliteWorker.perform_async(
14 14 :remove_key,
15   - key.owner_name,
  15 + key.shell_id,
16 16 key.key,
17 17 )
18 18 end
... ...
lib/gitlab/backend/shell.rb
... ... @@ -27,19 +27,19 @@ module Gitlab
27 27 # Add new key to gitlab-shell
28 28 #
29 29 # Ex.
30   - # add_key("randx", "sha-rsa ...")
  30 + # add_key("key-42", "sha-rsa ...")
31 31 #
32   - def add_key(username, key_content)
33   - system("/home/git/gitlab-shell/bin/gitlab-keys add-key #{username} \"#{key_content}\"")
  32 + def add_key(key_id, key_content)
  33 + system("/home/git/gitlab-shell/bin/gitlab-keys add-key #{key_id} \"#{key_content}\"")
34 34 end
35 35  
36 36 # Remove ssh key from gitlab shell
37 37 #
38 38 # Ex.
39   - # remove_key("sha-rsa")
  39 + # remove_key("key-342", "sha-rsa ...")
40 40 #
41   - def remove_key(username, key_content)
42   - system("/home/git/gitlab-shell/bin/gitlab-keys rm-key #{username} \"#{key_content}\"")
  41 + def remove_key(key_id, key_content)
  42 + system("/home/git/gitlab-shell/bin/gitlab-keys rm-key #{key_id} \"#{key_content}\"")
43 43 end
44 44  
45 45  
... ...