Class: ForestAdminDatasourceZendesk::Schema::CustomFieldsIntrospector
- Inherits:
-
Object
- Object
- ForestAdminDatasourceZendesk::Schema::CustomFieldsIntrospector
- Defined in:
- lib/forest_admin_datasource_zendesk/schema/custom_fields_introspector.rb
Overview
Returns entries shaped { column_name:, zendesk_id:, zendesk_key:, schema: }. ‘zendesk_key` is set for user/org fields (Zendesk addresses those by key); ticket fields use `zendesk_id` only.
Constant Summary collapse
- ColumnSchema =
ForestAdminDatasourceToolkit::Schema::ColumnSchema
- Operators =
ForestAdminDatasourceToolkit::Components::Query::ConditionTree::Operators
- STRING_OPS =
[Operators::EQUAL, Operators::NOT_EQUAL, Operators::IN, Operators::NOT_IN, Operators::PRESENT, Operators::BLANK].freeze
- NUMBER_OPS =
(STRING_OPS + [Operators::GREATER_THAN, Operators::LESS_THAN]).freeze
- DATE_OPS =
[Operators::EQUAL, Operators::BEFORE, Operators::AFTER, Operators::PRESENT, Operators::BLANK].freeze
- ZENDESK_TO_COLUMN_TYPE =
{ 'text' => 'String', 'textarea' => 'String', 'regexp' => 'String', 'partialcreditcard' => 'String', 'integer' => 'Number', 'decimal' => 'Number', 'date' => 'Dateonly', 'checkbox' => 'Boolean', 'dropdown' => 'Enum', 'tagger' => 'Enum', 'multiselect' => 'Json', 'lookup' => 'Number' }.freeze
Instance Method Summary collapse
-
#initialize(client) ⇒ CustomFieldsIntrospector
constructor
A new instance of CustomFieldsIntrospector.
- #organization_custom_fields ⇒ Object
- #ticket_custom_fields ⇒ Object
- #user_custom_fields ⇒ Object
Constructor Details
#initialize(client) ⇒ CustomFieldsIntrospector
Returns a new instance of CustomFieldsIntrospector.
31 32 33 |
# File 'lib/forest_admin_datasource_zendesk/schema/custom_fields_introspector.rb', line 31 def initialize(client) @client = client end |
Instance Method Details
#organization_custom_fields ⇒ Object
43 44 45 |
# File 'lib/forest_admin_datasource_zendesk/schema/custom_fields_introspector.rb', line 43 def organization_custom_fields introspect(@client.fetch_organization_fields, key_strategy: :user_or_org) end |
#ticket_custom_fields ⇒ Object
35 36 37 |
# File 'lib/forest_admin_datasource_zendesk/schema/custom_fields_introspector.rb', line 35 def ticket_custom_fields introspect(@client.fetch_ticket_fields, key_strategy: :ticket) end |
#user_custom_fields ⇒ Object
39 40 41 |
# File 'lib/forest_admin_datasource_zendesk/schema/custom_fields_introspector.rb', line 39 def user_custom_fields introspect(@client.fetch_user_fields, key_strategy: :user_or_org) end |