add.rb 880 B

12345678910111213141516171819202122232425262728
  1. # Copyright (C) 2012-2024 Zammad Foundation, https://zammad-foundation.org/
  2. module Gql::Mutations
  3. class Account::Avatar::Add < BaseMutation
  4. description 'Add a new avatar for the currently logged in user.'
  5. argument :images, Gql::Types::Input::AvatarInputType, description: 'Images to be uploaded.'
  6. field :avatar, Gql::Types::AvatarType, description: 'The newly created avatar.'
  7. def resolve(images:)
  8. original = images[:original]
  9. resized = images[:resized]
  10. if original[:error].present? || resized[:error].present?
  11. return error_response({ message: original[:message] || resized[:message] })
  12. end
  13. { avatar: add(original, resized) }
  14. end
  15. private
  16. def add(original, resized)
  17. Service::Avatar::Add.new(current_user: context.current_user).execute(full_image: original, resize_image: resized)
  18. end
  19. end
  20. end