ebf98f27c4
Enables frozen string for the following: * lib/gitlab/fogbugz_import/**/*.rb * lib/gitlab/gfm/**/*.rb * lib/gitlab/git/**/*.rb * lib/gitlab/gitaly_client/**/*.rb * lib/gitlab/gitlab_import/**/*.rb * lib/gitlab/google_code_import/**/*.rb * lib/gitlab/gpg/**/*.rb * lib/gitlab/grape_logging/**/*.rb * lib/gitlab/graphql/**/*.rb * lib/gitlab/graphs/**/*.rb * lib/gitlab/hashed_storage/**/*.rb * lib/gitlab/health_checks/**/*.rb Partially address gitlab-org/gitlab-ce#47424.
25 lines
820 B
Ruby
25 lines
820 B
Ruby
# frozen_string_literal: true
|
|
|
|
module Gitlab
|
|
module GitalyClient
|
|
class StorageService
|
|
def initialize(storage)
|
|
@storage = storage
|
|
end
|
|
|
|
# Returns all directories in the git storage directory, lexically ordered
|
|
def list_directories(depth: 1)
|
|
request = Gitaly::ListDirectoriesRequest.new(storage_name: @storage, depth: depth)
|
|
|
|
GitalyClient.call(@storage, :storage_service, :list_directories, request)
|
|
.flat_map(&:paths)
|
|
end
|
|
|
|
# Delete all repositories in the storage. This is a slow and VERY DESTRUCTIVE operation.
|
|
def delete_all_repositories
|
|
request = Gitaly::DeleteAllRepositoriesRequest.new(storage_name: @storage)
|
|
GitalyClient.call(@storage, :storage_service, :delete_all_repositories, request)
|
|
end
|
|
end
|
|
end
|
|
end
|