summaryrefslogtreecommitdiff
path: root/app/graphql/types/event_type.rb
blob: f4e680e93eff80474824c67754bdb90f17fef895 (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
34
35
36
# frozen_string_literal: true

module Types
  class EventType < BaseObject
    graphql_name 'Event'
    description 'Representing an event'

    present_using EventPresenter

    authorize :read_event

    field :id, GraphQL::Types::ID,
          description: 'ID of the event.',
          null: false

    field :author, Types::UserType,
          description: 'Author of this event.',
          null: false

    field :action, Types::EventActionEnum,
          description: 'Action of the event.',
          null: false

    field :created_at, Types::TimeType,
          description: 'When this event was created.',
          null: false

    field :updated_at, Types::TimeType,
          description: 'When this event was updated.',
          null: false

    def author
      Gitlab::Graphql::Loaders::BatchModelLoader.new(User, object.author_id).find
    end
  end
end