blob: b2ee7d7e85059891b34745a50f1968eb110c0580 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
# frozen_string_literal: true
module ResolvesProject
# Accepts EITHER one of
# - full_path: String (see Project#full_path)
# - project_id: GlobalID. Arguments should be typed as: `::Types::GlobalIDType[Project]`
def resolve_project(full_path: nil, project_id: nil)
unless full_path.present? ^ project_id.present?
raise ::Gitlab::Graphql::Errors::ArgumentError, 'Incompatible arguments: projectId, projectPath.'
end
if full_path.present?
::Gitlab::Graphql::Loaders::FullPathModelLoader.new(Project, full_path).find
else
::GitlabSchema.object_from_id(project_id, expected_type: Project)
end
end
end
|