From c53778ab36f9825160cbee14a98b093472138532 Mon Sep 17 00:00:00 2001 From: Jacek Pyziak Date: Fri, 27 Feb 2026 13:32:36 +0100 Subject: [PATCH] build: update package v0.324 Co-Authored-By: Claude Opus 4.6 --- updates/0.30/ver_0.324.zip | Bin 0 -> 25160 bytes updates/0.30/ver_0.324_files.txt | 7 +++ updates/0.30/ver_0.324_manifest.json | 79 +++++++++++++++++++++++++++ updates/0.30/ver_0.324_sql.txt | 45 +++++++++++++++ updates/changelog.php | 26 +++++---- updates/versions.php | 2 +- 6 files changed, 148 insertions(+), 11 deletions(-) create mode 100644 updates/0.30/ver_0.324.zip create mode 100644 updates/0.30/ver_0.324_files.txt create mode 100644 updates/0.30/ver_0.324_manifest.json create mode 100644 updates/0.30/ver_0.324_sql.txt diff --git a/updates/0.30/ver_0.324.zip b/updates/0.30/ver_0.324.zip new file mode 100644 index 0000000000000000000000000000000000000000..5029e773e30e17e4d92f2620731bf78acb1154fc GIT binary patch literal 25160 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 VeMIZPz~DYUB@kd>(FXsz`VS`_ghBuS literal 0 HcmV?d00001 diff --git a/updates/0.30/ver_0.324_files.txt b/updates/0.30/ver_0.324_files.txt new file mode 100644 index 0000000..55ac504 --- /dev/null +++ b/updates/0.30/ver_0.324_files.txt @@ -0,0 +1,7 @@ +F: ../autoload/.DS_Store +F: ../autoload/front/.DS_Store +F: ../logs/2024-01-05-order-set-as-paid.txt +F: ../logs/2024-08-20-order-set-as-paid.txt +F: ../logs/apilo.txt +F: ../logs/logs-db-2024-08-31.log +F: ../templates/.DS_Store \ No newline at end of file diff --git a/updates/0.30/ver_0.324_manifest.json b/updates/0.30/ver_0.324_manifest.json new file mode 100644 index 0000000..95d1f38 --- /dev/null +++ b/updates/0.30/ver_0.324_manifest.json @@ -0,0 +1,79 @@ +{ + "changelog": "NEW - system kolejki zadań cron (DB), priorytetowe przetwarzanie, retry/backoff, ochrona endpointu cron", + "version": "0.324", + "files": { + "added": [ + "autoload/Domain/CronJob/CronJobProcessor.php", + "autoload/Domain/CronJob/CronJobRepository.php", + "autoload/Domain/CronJob/CronJobType.php" + ], + "deleted": [ + "autoload/.DS_Store", + "autoload/front/.DS_Store", + "logs/2024-01-05-order-set-as-paid.txt", + "logs/2024-08-20-order-set-as-paid.txt", + "logs/apilo.txt", + "logs/logs-db-2024-08-31.log", + "templates/.DS_Store" + ], + "modified": [ + "autoload/Domain/Order/OrderAdminService.php", + "autoload/admin/App.php", + "autoload/api/ApiRouter.php", + "autoload/front/App.php", + "cron.php" + ] + }, + "checksum_zip": "sha256:63237e6bdb2ed2c2632cebb45431b26ecd5717b129aa2180540ebce0c3bff77f", + "sql": [ + "-- System kolejki zadaĹ„ cron", + "-- Wersja: 0.324", + "CREATE TABLE IF NOT EXISTS pp_cron_jobs (", + " id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,", + " job_type VARCHAR(50) NOT NULL,", + " status ENUM(\u0027pending\u0027,\u0027processing\u0027,\u0027completed\u0027,\u0027failed\u0027,\u0027cancelled\u0027) NOT NULL DEFAULT \u0027pending\u0027,", + " priority TINYINT UNSIGNED NOT NULL DEFAULT 100,", + " payload TEXT NULL,", + " result TEXT NULL,", + " attempts SMALLINT UNSIGNED NOT NULL DEFAULT 0,", + " max_attempts SMALLINT UNSIGNED NOT NULL DEFAULT 10,", + " last_error VARCHAR(500) NULL,", + " scheduled_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,", + " started_at DATETIME NULL,", + " completed_at DATETIME NULL,", + " created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,", + " updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,", + " INDEX idx_status_priority_scheduled (status, priority, scheduled_at),", + " INDEX idx_job_type (job_type),", + " INDEX idx_status (status)", + ") ENGINE=InnoDB DEFAULT CHARSET=utf8;", + "CREATE TABLE IF NOT EXISTS pp_cron_schedules (", + " id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,", + " job_type VARCHAR(50) NOT NULL UNIQUE,", + " interval_seconds INT UNSIGNED NOT NULL,", + " priority TINYINT UNSIGNED NOT NULL DEFAULT 100,", + " max_attempts SMALLINT UNSIGNED NOT NULL DEFAULT 3,", + " payload TEXT NULL,", + " enabled TINYINT(1) NOT NULL DEFAULT 1,", + " last_run_at DATETIME NULL,", + " next_run_at DATETIME NULL,", + " created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,", + " INDEX idx_enabled_next_run (enabled, next_run_at)", + ") ENGINE=InnoDB DEFAULT CHARSET=utf8;", + "-- Harmonogramy zadaĹ„", + "INSERT INTO pp_cron_schedules (job_type, interval_seconds, priority, max_attempts) VALUES", + "(\u0027apilo_token_keepalive\u0027, 240, 10, 3),", + "(\u0027apilo_send_order\u0027, 60, 40, 10),", + "(\u0027apilo_product_sync\u0027, 600, 100, 3),", + "(\u0027apilo_pricelist_sync\u0027, 3600, 100, 3),", + "(\u0027apilo_status_poll\u0027, 600, 100, 3),", + "(\u0027price_history\u0027, 86400, 100, 3),", + "(\u0027order_analysis\u0027, 600, 100, 3),", + "(\u0027trustmate_invitation\u0027, 600, 200, 3),", + "(\u0027google_xml_feed\u0027, 3600, 200, 3);" + ], + "date": "2026-02-27", + "directories_deleted": [ + + ] +} \ No newline at end of file diff --git a/updates/0.30/ver_0.324_sql.txt b/updates/0.30/ver_0.324_sql.txt new file mode 100644 index 0000000..73765e3 --- /dev/null +++ b/updates/0.30/ver_0.324_sql.txt @@ -0,0 +1,45 @@ +-- System kolejki zadaĹ„ cron +-- Wersja: 0.324 +CREATE TABLE IF NOT EXISTS pp_cron_jobs ( + id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY, + job_type VARCHAR(50) NOT NULL, + status ENUM('pending','processing','completed','failed','cancelled') NOT NULL DEFAULT 'pending', + priority TINYINT UNSIGNED NOT NULL DEFAULT 100, + payload TEXT NULL, + result TEXT NULL, + attempts SMALLINT UNSIGNED NOT NULL DEFAULT 0, + max_attempts SMALLINT UNSIGNED NOT NULL DEFAULT 10, + last_error VARCHAR(500) NULL, + scheduled_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, + started_at DATETIME NULL, + completed_at DATETIME NULL, + created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, + updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + INDEX idx_status_priority_scheduled (status, priority, scheduled_at), + INDEX idx_job_type (job_type), + INDEX idx_status (status) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE IF NOT EXISTS pp_cron_schedules ( + id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY, + job_type VARCHAR(50) NOT NULL UNIQUE, + interval_seconds INT UNSIGNED NOT NULL, + priority TINYINT UNSIGNED NOT NULL DEFAULT 100, + max_attempts SMALLINT UNSIGNED NOT NULL DEFAULT 3, + payload TEXT NULL, + enabled TINYINT(1) NOT NULL DEFAULT 1, + last_run_at DATETIME NULL, + next_run_at DATETIME NULL, + created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, + INDEX idx_enabled_next_run (enabled, next_run_at) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +-- Harmonogramy zadaĹ„ +INSERT INTO pp_cron_schedules (job_type, interval_seconds, priority, max_attempts) VALUES +('apilo_token_keepalive', 240, 10, 3), +('apilo_send_order', 60, 40, 10), +('apilo_product_sync', 600, 100, 3), +('apilo_pricelist_sync', 3600, 100, 3), +('apilo_status_poll', 600, 100, 3), +('price_history', 86400, 100, 3), +('order_analysis', 600, 100, 3), +('trustmate_invitation', 600, 200, 3), +('google_xml_feed', 3600, 200, 3); \ No newline at end of file diff --git a/updates/changelog.php b/updates/changelog.php index fddb32a..192c206 100644 --- a/updates/changelog.php +++ b/updates/changelog.php @@ -1,23 +1,29 @@ +ver. 0.324 - 27.02.2026
+NEW - system kolejki zadań cron (DB), priorytetowe przetwarzanie, retry/backoff, ochrona endpointu cron +
+ver. 0.324 - 27.02.2026
+NEW - system kolejki zadań cron (DB), priorytetowe przetwarzanie, retry/backoff, ochrona endpointu cron +
ver. 0.323 - 24.02.2026
FIX - refactor importu zdjec w shopPRO import (walidacja HTTP, curl timeouty, logi), FIX - saveCustomFields tylko przy jawnym podaniu, FIX - delete() czysci custom_fields, FIX - sciezka upload w API, NEW - trwale usuwanie produktow z archiwum
ver. 0.322 - 24.02.2026
-FIX - custom_fields: jawne mapowanie kluczy w ProductRepository, spójne !empty w ProductsApiController +FIX - custom_fields: jawne mapowanie kluczy w ProductRepository, spĂłjne !empty w ProductsApiController
ver. 0.321 - 24.02.2026
-NEW - API: obsługa custom_fields w create/update produktu +NEW - API: obsĹ‚uga custom_fields w create/update produktu
ver. 0.320 - 24.02.2026
-NEW - API: endpoint ensure_producer (znajdź lub utwórz producenta); GET product zwraca producer_name +NEW - API: endpoint ensure_producer (znajdĹş lub utwĂłrz producenta); GET product zwraca producer_name
ver. 0.319 - 24.02.2026
-FIX - usunięcie shopPRO eksportu produktów; API produktu: dodano custom_fields i security_information +FIX - usuniÄ™cie shopPRO eksportu produktĂłw; API produktu: dodano custom_fields i security_information
ver. 0.318 - 24.02.2026
-NEW - shopPRO export produktów + API endpoints (ensure_attribute, ensure_attribute_value, upload_image) +NEW - shopPRO export produktĂłw + API endpoints (ensure_attribute, ensure_attribute_value, upload_image)
ver. 0.317 - 23.02.2026
-FIX - klucz API: fix zapisu (brakowalo w whiteliście), przycisk Generuj losowy klucz, ulepszony routing API +FIX - klucz API: fix zapisu (brakowalo w whiteliĹ›cie), przycisk Generuj losowy klucz, ulepszony routing API
ver. 0.316 - 23.02.2026
FIX - migracja brakujacej kolumny type w pp_shop_products_custom_fields @@ -26,16 +32,16 @@ FIX - migracja brakujacej kolumny type w pp_shop_products_custom_fields FIX - PDOException w listowaniu atrybutow admin (SQLSTATE HY093)
ver. 0.314 - 23.02.2026
-FIX - naprawa globalnej wyszukiwarki admin (Content-Type, Cache-Control, POST, try/catch), NEW - title strony z numerem zamówienia +FIX - naprawa globalnej wyszukiwarki admin (Content-Type, Cache-Control, POST, try/catch), NEW - title strony z numerem zamĂłwienia
ver. 0.313 - 23.02.2026
-FIX - sync płatności Apilo (int cast na apilo_order_id PPxxxxxx dawał 0) + logowanie decyzji sync do pp_log +FIX - sync pĹ‚atnoĹ›ci Apilo (int cast na apilo_order_id PPxxxxxx dawaĹ‚ 0) + logowanie decyzji sync do pp_log
ver. 0.312 - 23.02.2026
-FIX - krytyczne bugi integracji Apilo: curl_getinfo po curl_close, nieskończona pętla wysyłki, ceny 0.00 PLN, walidacja cen +FIX - krytyczne bugi integracji Apilo: curl_getinfo po curl_close, nieskoĹ„czona pÄ™tla wysyĹ‚ki, ceny 0.00 PLN, walidacja cen
ver. 0.311 - 23.02.2026
-FIX - race condition callback płatności Apilo, persistence filtrów tabel admin, poprawki cen zamówień +FIX - race condition callback pĹ‚atnoĹ›ci Apilo, persistence filtrĂłw tabel admin, poprawki cen zamĂłwieĹ„
ver. 0.310 - 23.02.2026
NEW - Zakladka Logi w sekcji Integracje (podglad pp_log z paginacja, sortowaniem, filtrami) diff --git a/updates/versions.php b/updates/versions.php index 177ec24..145b27d 100644 --- a/updates/versions.php +++ b/updates/versions.php @@ -1,5 +1,5 @@