summaryrefslogtreecommitdiff
path: root/lib/gitlab/bitbucket_import/key_deleter.rb
blob: f4dd393ad29f04c9ee43b6fa7319b4f59a2adf82 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
module Gitlab
  module BitbucketImport
    class KeyDeleter
      attr_reader :project, :current_user, :client

      def initialize(project)
        @project = project
        @current_user = project.creator
        import_data = project.import_data.try(:data)
        bb_session = import_data["bb_session"] if import_data
        @client = Client.new(bb_session["bitbucket_access_token"],
                             bb_session["bitbucket_access_token_secret"])
      end

      def execute
        return false unless BitbucketImport.public_key.present?

        client.delete_deploy_key(project.import_source, BitbucketImport.public_key)

        true
      rescue
        false
      end
    end
  end
end