fix: correct Tickets entity field name mappings from Autotask API

Fixed field names to use proper camelCase from Autotask API instead of
snake_case. This should resolve the issue where assigned_resource_id
was NULL because the mapper was looking for incorrect field names.

Changed mappings:
- firstResponseDateTime (was first_response_date_time)
- resolutionPlanDateTime (was resolution_plan_date_time)
- resolvedDateTime (was resolved_date_time)
- firstResponseAssignedResourceID (was first_response_assigned_resource_id)
- firstResponseInitiatingResourceID (was first_response_initiating_resource_id)
- projectID, opportunityID, contractID, monitorID (were snake_case)
- All change approval and ticket fields converted to camelCase
- All service thermometer fields converted to camelCase

This fix should populate assigned_resource_id and other fields correctly
on the next ticket sync.
This commit is contained in:
root 2026-01-26 15:25:03 -05:00
parent 7252d2cfcf
commit cc16d9b32d

View file

@ -156,36 +156,36 @@ function mapTicket(data: any): Record<string, any> {
last_activity_date: data.lastActivityDate, last_activity_date: data.lastActivityDate,
last_customer_notification_date_time: data.lastCustomerNotificationDateTime, last_customer_notification_date_time: data.lastCustomerNotificationDateTime,
last_customer_visible_activity_date_time: data.lastCustomerVisibleActivityDateTime, last_customer_visible_activity_date_time: data.lastCustomerVisibleActivityDateTime,
first_response_date_time: data.first_response_date_time, first_response_date_time: data.firstResponseDateTime,
resolution_plan_date_time: data.resolution_plan_date_time, resolution_plan_date_time: data.resolutionPlanDateTime,
resolved_date_time: data.resolved_date_time, resolved_date_time: data.resolvedDateTime,
first_response_assigned_resource_id: data.first_response_assigned_resource_id, first_response_assigned_resource_id: data.firstResponseAssignedResourceID,
first_response_initiating_resource_id: data.first_response_initiating_resource_id, first_response_initiating_resource_id: data.firstResponseInitiatingResourceID,
project_id: data.project_id, project_id: data.projectID,
opportunity_id: data.opportunity_id, opportunity_id: data.opportunityID,
change_approval_board: data.change_approval_board, change_approval_board: data.changeApprovalBoard,
change_approval_status: data.change_approval_status, change_approval_status: data.changeApprovalStatus,
change_approval_type: data.change_approval_type, change_approval_type: data.changeApprovalType,
change_info_field1: data.change_info_field1, change_info_field1: data.changeInfoField1,
change_info_field2: data.change_info_field2, change_info_field2: data.changeInfoField2,
change_info_field3: data.change_info_field3, change_info_field3: data.changeInfoField3,
change_info_field4: data.change_info_field4, change_info_field4: data.changeInfoField4,
change_info_field5: data.change_info_field5, change_info_field5: data.changeInfoField5,
contract_id: data.contract_id, contract_id: data.contractID,
monitor_id: data.monitor_id, monitor_id: data.monitorID,
monitor_type_id: data.monitor_type_id, monitor_type_id: data.monitorTypeID,
ticket_type: data.ticket_type, ticket_type: data.ticketType,
ticket_category: data.ticket_category, ticket_category: data.ticketCategory,
service_level_agreement_id: data.service_level_agreement_id, service_level_agreement_id: data.serviceLevelAgreementID,
resolution: data.resolution, resolution: data.resolution,
purchase_order_number: data.purchase_order_number, purchase_order_number: data.purchaseOrderNumber,
ticket_completion_date: data.ticket_completion_date, ticket_completion_date: data.ticketCompletionDate,
last_activity_person_type: data.last_activity_person_type, last_activity_person_type: data.lastActivityPersonType,
last_activity_resource_id: data.last_activity_resource_id, last_activity_resource_id: data.lastActivityResourceID,
current_service_thermometer_rating: data.current_service_thermometer_rating, current_service_thermometer_rating: data.currentServiceThermometerRating,
previous_service_thermometer_rating: data.previous_service_thermometer_rating, previous_service_thermometer_rating: data.previousServiceThermometerRating,
service_thermometer_temperature: data.service_thermometer_temperature, service_thermometer_temperature: data.serviceThermometerTemperature,
api_vendor_id: data.api_vendor_id, api_vendor_id: data.apiVendorID,
synced_at: data.synced_at, synced_at: data.synced_at,
is_deleted: data.is_deleted || false, is_deleted: data.is_deleted || false,
}; };