summaryrefslogtreecommitdiff
path: root/app/graphql/types/event_type.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/graphql/types/event_type.rb')
-rw-r--r--app/graphql/types/event_type.rb36
1 files changed, 36 insertions, 0 deletions
diff --git a/app/graphql/types/event_type.rb b/app/graphql/types/event_type.rb
new file mode 100644
index 00000000000..2a4c2e7c60a
--- /dev/null
+++ b/app/graphql/types/event_type.rb
@@ -0,0 +1,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::ID_TYPE,
+ 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