summaryrefslogtreecommitdiff
path: root/app/models
diff options
context:
space:
mode:
Diffstat (limited to 'app/models')
-rw-r--r--app/models/network.rb23
-rw-r--r--app/models/project.rb7
-rw-r--r--app/models/user.rb4
-rw-r--r--app/models/user_session.rb22
4 files changed, 19 insertions, 37 deletions
diff --git a/app/models/network.rb b/app/models/network.rb
index 8431f75..8ba467d 100644
--- a/app/models/network.rb
+++ b/app/models/network.rb
@@ -16,18 +16,6 @@ class Network
build_response(response)
end
- def authenticate_by_token(api_opts)
- opts = {
- query: api_opts
- }
-
- endpoint = File.join(url, API_PREFIX, 'user.json')
- response = self.class.get(endpoint, default_opts.merge(opts))
-
- build_response(response)
- end
-
-
def projects(api_opts, scope = :owned)
# Dont load archived projects
api_opts.merge!(archived: false)
@@ -74,12 +62,13 @@ class Network
build_response(response)
end
- def enable_ci(project_id, api_opts, token)
+ def enable_ci(project_id, data, api_opts)
opts = {
- body: api_opts.to_json
+ body: data.to_json,
+ query: api_opts
}
- query = "projects/#{project_id}/services/gitlab-ci.json?private_token=#{token}"
+ query = "projects/#{project_id}/services/gitlab-ci.json"
endpoint = File.join(url, API_PREFIX, query)
response = self.class.put(endpoint, default_opts.merge(opts))
@@ -93,8 +82,8 @@ class Network
end
end
- def disable_ci(project_id, token)
- query = "projects/#{project_id}/services/gitlab-ci.json?private_token=#{token}"
+ def disable_ci(project_id, access_token)
+ query = "projects/#{project_id}/services/gitlab-ci.json?access_token=#{access_token}"
endpoint = File.join(url, API_PREFIX, query)
response = self.class.delete(endpoint, default_opts)
diff --git a/app/models/project.rb b/app/models/project.rb
index f103a88..4ec9495 100644
--- a/app/models/project.rb
+++ b/app/models/project.rb
@@ -84,7 +84,12 @@ ls -la
end
def from_gitlab(user, scope = :owned, options)
- opts = { private_token: user.private_token }
+ opts = if user.access_token
+ { access_token: user.access_token }
+ else
+ { private_token: user.private_token }
+ end
+
opts.merge! options
projects = Network.new.projects(opts.compact, scope)
diff --git a/app/models/user.rb b/app/models/user.rb
index 471e124..138e5e4 100644
--- a/app/models/user.rb
+++ b/app/models/user.rb
@@ -57,7 +57,7 @@ class User
def can_manage_project?(project_gitlab_id)
opts = {
- private_token: self.private_token,
+ access_token: self.access_token,
}
Rails.cache.fetch(cache_key('manage', project_gitlab_id, sync_at)) do
@@ -78,7 +78,7 @@ class User
def project_info(project_gitlab_id)
opts = {
- private_token: self.private_token,
+ access_token: self.access_token,
}
Rails.cache.fetch(cache_key("project_info", project_gitlab_id, sync_at)) do
diff --git a/app/models/user_session.rb b/app/models/user_session.rb
index d1c0711..90592d1 100644
--- a/app/models/user_session.rb
+++ b/app/models/user_session.rb
@@ -4,29 +4,17 @@ class UserSession
extend ActiveModel::Naming
def authenticate(auth_opts)
- authenticate_via(auth_opts) do |network, options|
- network.authenticate(options)
- end
- end
-
- def authenticate_by_token(auth_opts)
- result = authenticate_via(auth_opts) do |network, options|
- network.authenticate_by_token(options)
- end
-
- result
- end
-
- private
-
- def authenticate_via(options, &block)
- user = block.call(Network.new, options)
+ network = Network.new
+ user = network.authenticate(auth_opts)
if user
+ user["access_token"] = auth_opts[:access_token]
return User.new(user)
else
nil
end
+
+ user
rescue
nil
end