diff options
Diffstat (limited to 'app/graphql/types/achievements/user_achievement_type.rb')
-rw-r--r-- | app/graphql/types/achievements/user_achievement_type.rb | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/app/graphql/types/achievements/user_achievement_type.rb b/app/graphql/types/achievements/user_achievement_type.rb new file mode 100644 index 00000000000..d2146807445 --- /dev/null +++ b/app/graphql/types/achievements/user_achievement_type.rb @@ -0,0 +1,51 @@ +# frozen_string_literal: true + +module Types + module Achievements + class UserAchievementType < BaseObject + graphql_name 'UserAchievement' + + authorize :read_achievement + + field :id, + ::Types::GlobalIDType[::Achievements::UserAchievement], + null: false, + description: 'ID of the user achievement.' + + field :achievement, + ::Types::Achievements::AchievementType, + null: false, + description: 'Achievement awarded.' + + field :user, + ::Types::UserType, + null: false, + description: 'Achievement recipient.' + + field :awarded_by_user, + ::Types::UserType, + null: false, + description: 'Awarded by.' + + field :revoked_by_user, + ::Types::UserType, + null: true, + description: 'Revoked by.' + + field :created_at, + Types::TimeType, + null: false, + description: 'Timestamp the achievement was created.' + + field :updated_at, + Types::TimeType, + null: false, + description: 'Timestamp the achievement was last updated.' + + field :revoked_at, + Types::TimeType, + null: true, + description: 'Timestamp the achievement was revoked.' + end + end +end |