ticket_field_factory.rb 862 B

123456789101112131415161718192021222324252627282930313233
  1. module Import
  2. module Zendesk
  3. module TicketFieldFactory
  4. extend Import::Zendesk::BaseFactory
  5. extend Import::Zendesk::LocalIDMapperHook
  6. MAPPING = {
  7. 'subject' => 'title',
  8. 'description' => 'note',
  9. 'status' => 'state_id',
  10. 'tickettype' => 'type',
  11. 'priority' => 'priority_id',
  12. 'group' => 'group_id',
  13. 'assignee' => 'owner_id',
  14. }.freeze
  15. # rubocop:disable Style/ModuleFunction
  16. extend self
  17. def skip?(field, *_args)
  18. # check if the Ticket object already has a same named column / attribute
  19. # so we want to skip instead of importing it
  20. Ticket.column_names.include?( local_attribute(field) )
  21. end
  22. private
  23. def local_attribute(field)
  24. MAPPING.fetch(field.type, field.type)
  25. end
  26. end
  27. end
  28. end