diff --git a/api.php b/api.php index 14b007f..9a0a3b0 100644 --- a/api.php +++ b/api.php @@ -3040,8 +3040,8 @@ switch ($action) { } } if ($match) { - if (!empty($rule['set_status'])) $ticket['status'] = $rule['set_status']; - if (!empty($rule['set_type'])) $ticket['type'] = $rule['set_type']; + if (!empty($rule['status_set'])) $ticket['status'] = $rule['status_set']; + if (!empty($rule['type_set'])) $ticket['type'] = $rule['type_set']; if (!empty($rule['set_priority'])) $ticket['priority'] = $rule['set_priority']; if (!empty($rule['set_tags'])) { $ruleTags = array_map('trim', explode(',', $rule['set_tags'])); diff --git a/db.php b/db.php index 7584667..f5968bb 100644 --- a/db.php +++ b/db.php @@ -704,6 +704,31 @@ function initDatabase(): void { } } } catch (\Throwable $e) { /* ohitetaan */ } + + // Migraatio: täytä fetched_message_ids olemassaolevien tikettien message_id:illä + // (ajetaan vain kerran — kun taulu on tyhjä) + try { + $cnt = $db->query("SELECT COUNT(*) AS cnt FROM fetched_message_ids")->fetch_assoc(); + if ((int)($cnt['cnt'] ?? 0) === 0) { + // Tikettien omat message_id:t + $db->query("INSERT IGNORE INTO fetched_message_ids (company_id, message_id) + SELECT company_id, message_id FROM tickets WHERE message_id IS NOT NULL AND message_id != ''"); + // Tikettien viestien message_id:t (JSON messages-kentästä) + $rows = $db->query("SELECT company_id, messages FROM tickets WHERE messages IS NOT NULL AND messages != ''"); + while ($row = $rows->fetch_assoc()) { + $msgs = json_decode($row['messages'], true); + if (is_array($msgs)) { + foreach ($msgs as $m) { + if (!empty($m['message_id'])) { + $cid = $db->real_escape_string($row['company_id']); + $mid = $db->real_escape_string($m['message_id']); + $db->query("INSERT IGNORE INTO fetched_message_ids (company_id, message_id) VALUES ('$cid', '$mid')"); + } + } + } + } + } + } catch (\Throwable $e) { /* ohitetaan */ } } // ==================== YRITYKSET ==================== @@ -1591,8 +1616,8 @@ function dbSaveTicketRule(string $companyId, array $rule): void { 'priority' => $rule['priority'] ?? 0, 'tag' => $rule['tag'] ?? '', 'assign_to' => $rule['assign_to'] ?? '', - 'status_set' => $rule['status_set'] ?? '', - 'type_set' => $rule['type_set'] ?? '', + 'status_set' => $rule['set_status'] ?? $rule['status_set'] ?? '', + 'type_set' => $rule['set_type'] ?? $rule['type_set'] ?? '', 'set_priority' => $rule['set_priority'] ?? '', 'set_tags' => $rule['set_tags'] ?? '', 'auto_close_days' => $rule['auto_close_days'] ?? 0,