2019-09-04 21:01:54 +05:30
|
|
|
# frozen_string_literal: true
|
|
|
|
|
|
|
|
module Types
|
|
|
|
module Notes
|
|
|
|
class DiscussionType < BaseObject
|
|
|
|
graphql_name 'Discussion'
|
|
|
|
|
|
|
|
authorize :read_note
|
|
|
|
|
2020-01-01 13:55:28 +05:30
|
|
|
field :id, GraphQL::ID_TYPE, null: false,
|
|
|
|
description: "ID of this discussion"
|
|
|
|
field :reply_id, GraphQL::ID_TYPE, null: false,
|
|
|
|
description: 'ID used to reply to this discussion'
|
|
|
|
field :created_at, Types::TimeType, null: false,
|
|
|
|
description: "Timestamp of the discussion's creation"
|
|
|
|
field :notes, Types::Notes::NoteType.connection_type, null: false,
|
|
|
|
description: 'All notes in the discussion'
|
2019-09-30 21:07:59 +05:30
|
|
|
|
|
|
|
# The gem we use to generate Global IDs is hard-coded to work with
|
|
|
|
# `id` properties. To generate a GID for the `reply_id` property,
|
|
|
|
# we must use the ::Gitlab::GlobalId module.
|
|
|
|
def reply_id
|
|
|
|
::Gitlab::GlobalId.build(object, id: object.reply_id)
|
|
|
|
end
|
2019-09-04 21:01:54 +05:30
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|