/**
  * Execute the job.
  *
  * @return void
  */
 public function handle(TicketInterface $ticket, TicketActionInterface $action)
 {
     $ticketOld = $ticket->find($this->data->get('ticket_id'));
     $actionOld = $action->findWhere(['ticket_id' => $this->data->get('ticket_id'), 'type' => 'create'])->first();
     // dd($this->data);
     $ticket->update($this->data->only(['user_id', 'priority', 'org_id'])->toArray(), $this->data->get('ticket_id'));
     $action->update($this->data->only(['body', 'title'])->toArray(), $actionOld->id);
     $ticketUpdated = $ticket->find($this->data->get('ticket_id'));
     $actionUpdated = $action->find($actionOld->id);
     $changes = array_merge($this->getActionChanges($actionOld, $actionUpdated), $this->getTicketChanges($ticketOld, $ticketUpdated));
     if (empty($changes)) {
         return null;
     }
     $action = $this->createEditAction($action, $changes);
     $action->ticketOld = $ticketOld;
     $action->actionOld = $actionOld;
     $action->ticketUpdated = $ticketUpdated;
     //throw event
     if (!$this->data->get('defer_event')) {
         event(new ActionCreatedEvent($action));
     }
     return $action;
 }