blob: 52e5e5c63a47be0399bf03d9d8c50b7e97e72e66 (
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
27
28
29
30
31
32
33
|
# frozen_string_literal: true
module QA
module Tools
module Lib
module Project
def delete_projects(project_ids, api_client, dry_run = false)
if dry_run
$stdout.puts "Following #{project_ids.length} projects would be deleted:"
else
$stdout.puts "Deleting #{project_ids.length} projects..."
end
project_ids.each do |project_id|
request_url = Runtime::API::Request.new(api_client, "/projects/#{project_id}").url
parsed_body = parse_body(get(request_url))
path = parsed_body[:path_with_namespace]
created_at = parsed_body[:created_at]
if dry_run
$stdout.puts "#{path} - created at: #{created_at}"
else
$stdout.puts "\nDeleting project #{path} - created at: #{created_at}"
delete_response = delete(request_url)
dot_or_f = delete_response.code.between?(200, 300) ? "\e[32m.\e[0m" : "\e[31mF - #{delete_response}\e[0m"
print dot_or_f
end
end
end
end
end
end
end
|