2020-06-04 15:08:21 +00:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
|
|
|
module Types
|
|
|
|
class ProjectMemberType < BaseObject
|
|
|
|
graphql_name 'ProjectMember'
|
2020-08-21 12:10:22 +00:00
|
|
|
description 'Represents a Project Membership'
|
2020-06-09 15:08:05 +00:00
|
|
|
|
|
|
|
expose_permissions Types::PermissionTypes::Project
|
|
|
|
|
|
|
|
implements MemberInterface
|
2020-06-04 15:08:21 +00:00
|
|
|
|
|
|
|
authorize :read_project
|
|
|
|
|
2020-06-09 15:08:05 +00:00
|
|
|
field :project, Types::ProjectType, null: true,
|
2022-08-03 06:10:47 +00:00
|
|
|
description: 'Project that User is a member of.'
|
2020-09-25 09:09:40 +00:00
|
|
|
|
|
|
|
def project
|
|
|
|
Gitlab::Graphql::Loaders::BatchModelLoader.new(Project, object.source_id).find
|
|
|
|
end
|
2020-06-04 15:08:21 +00:00
|
|
|
end
|
|
|
|
end
|