Sha256: 5bf5048f07025ef3471bac1401bcbfc8ae0bf5849d7d4b1195f34ee25102497f
Contents?: true
Size: 710 Bytes
Versions: 2
Compression:
Stored size: 710 Bytes
Contents
module Mutations module UserManager class RemoveUserRole < BaseMutation argument :target_user_id, String, required: true argument :user_roles, [String], required: true field :user, Types::UserType, null: true def resolve(**args) check_user_permissions(context[:user], context[:user], :update_user_role?) _, user_id = SoulsApiSchema.from_global_id(args[:target_user_id]) target_user = ::User.find(user_id) args[:user_roles].each { |role| target_user.roles.delete(role) } return { user: target_user } if target_user.save raise rescue StandardError => e GraphQL::ExecutionError.new(e.to_s) end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
souls-0.22.8 | hoy/app/graphql/mutations/user_manager/remove_user_role.rb |
souls-0.22.7 | hoy/app/graphql/mutations/user_manager/remove_user_role.rb |