Skip to content

Commit af6453c

Browse files
committed
Enhance projects method to include sorting options and update repository count for owners after synchronization
1 parent 5329678 commit af6453c

File tree

2 files changed

+16
-3
lines changed

2 files changed

+16
-3
lines changed

app/models/hosts/gitlab.rb

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,18 @@ def project(id_or_full_name, license: false)
4848
nil
4949
end
5050

51-
def projects(per_page:, archived:, id_before: nil, id_after: nil, simple:, page: 1, order_by: nil)
52-
url = "#{@endpoint}/projects?per_page=#{per_page}&archived=#{archived}&id_before=#{id_before}&id_after=#{id_after}&simple=#{simple}&page=#{page}&order_by=#{order_by}"
51+
def projects(per_page:, archived:, id_before: nil, id_after: nil, simple:, page: 1, order_by: nil, sort: nil)
52+
if id_before
53+
sort ||= "desc"
54+
order_by ||= "id"
55+
elsif id_after
56+
sort ||= "asc"
57+
order_by ||= "id"
58+
else
59+
sort ||= "desc"
60+
order_by ||= "id"
61+
end
62+
url = "#{@endpoint}/projects?per_page=#{per_page}&archived=#{archived}&id_before=#{id_before}&id_after=#{id_after}&simple=#{simple}&page=#{page}&order_by=#{order_by}&sort=#{sort}"
5363
Rails.logger.debug("Gitlab[projects]: Fetching projects from URL: #{url}")
5464

5565
response = faraday_client.get(url)
@@ -331,7 +341,7 @@ def crawl_repositories_backwards
331341
def crawl_repositories_forward
332342
recent_id = REDIS.get("gitlab_recent_id:#{@host.id}")
333343
if recent_id.nil?
334-
recent_id = @host.repositories.maximum(:id)
344+
recent_id = @host.repositories.maximum(:uuid)
335345
end
336346
repos = api_client.projects(per_page: 100, archived: false, id_after: recent_id, simple: true)
337347
repos.reject! { |repo| repo.dig("namespace", "kind") == "user" } if ENV["SKIP_USER_REPOS"]

lib/tasks/dinum.rake

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -134,6 +134,9 @@ module Dinum
134134
sleep 1
135135
break if host.reload.repositories_count == repo_count
136136
end
137+
host.owners.each do |owner|
138+
owner.update_repositories_count
139+
end
137140
end
138141

139142
# Method to perform a full synchronization for all pso hosts

0 commit comments

Comments
 (0)