From 919294d1f797b86615f23f9bd0b4cfbf3e308e38 Mon Sep 17 00:00:00 2001 From: Jacek Pyziak Date: Fri, 6 Feb 2026 19:57:01 +0100 Subject: [PATCH] feat: Update version to 0.244 and refactor article_save and article_delete methods in ArticleRepository --- .phpunit.result.cache | 2 +- updates/0.20/ver_0.244.zip | Bin 0 -> 9040 bytes updates/changelog.php | 7 ++++++- updates/versions.php | 2 +- 4 files changed, 8 insertions(+), 3 deletions(-) create mode 100644 updates/0.20/ver_0.244.zip diff --git a/.phpunit.result.cache b/.phpunit.result.cache index 7917679..a579776 100644 --- a/.phpunit.result.cache +++ b/.phpunit.result.cache @@ -1 +1 @@ -{"version":1,"defects":[],"times":{"Tests\\Unit\\Domain\\Product\\ProductRepositoryTest::testGetQuantityReturnsCorrectValue":0.001,"Tests\\Unit\\Domain\\Product\\ProductRepositoryTest::testGetQuantityReturnsNullWhenProductNotFound":0,"Tests\\Unit\\Domain\\Product\\ProductRepositoryTest::testFindReturnsProductData":0,"Tests\\Unit\\Domain\\Product\\ProductRepositoryTest::testUpdateQuantitySuccess":0,"Tests\\Unit\\Domain\\Product\\ProductRepositoryTest::testGetPriceReturnsRegularPrice":0,"Tests\\Unit\\Domain\\Product\\ProductRepositoryTest::testGetPriceReturnsPromoPrice":0,"Tests\\Unit\\Domain\\Product\\ProductRepositoryTest::testGetPriceReturnsRegularWhenPromoIsHigher":0,"Tests\\Unit\\Domain\\Product\\ProductRepositoryTest::testGetPriceReturnsNullWhenNotFound":0,"Tests\\Unit\\Domain\\Product\\ProductRepositoryTest::testGetNameReturnsProductName":0,"Tests\\Unit\\Domain\\Product\\ProductRepositoryTest::testGetNameReturnsNullWhenNotFound":0,"Tests\\Unit\\Domain\\Product\\ProductRepositoryTest::testGetQuantityReturnsInteger":0,"Tests\\Unit\\Domain\\Product\\ProductRepositoryTest::testUnarchiveUpdatesProductAndChildren":0,"Tests\\Unit\\Domain\\Product\\ProductRepositoryTest::testArchiveUpdatesProductAndChildren":0,"Tests\\Unit\\Domain\\Product\\ProductRepositoryTest::testUnarchiveReturnsBool":0,"Tests\\Unit\\Domain\\Product\\ProductRepositoryTest::testArchiveReturnsBool":0,"Tests\\Unit\\admin\\Controllers\\ProductArchiveControllerTest::testConstructorAcceptsRepository":0.001,"Tests\\Unit\\admin\\Controllers\\ProductArchiveControllerTest::testHasListMethod":0,"Tests\\Unit\\admin\\Controllers\\ProductArchiveControllerTest::testHasUnarchiveMethod":0,"Tests\\Unit\\admin\\Controllers\\ProductArchiveControllerTest::testListMethodReturnType":0,"Tests\\Unit\\admin\\Controllers\\ProductArchiveControllerTest::testUnarchiveMethodReturnType":0,"Tests\\Unit\\admin\\Controllers\\ProductArchiveControllerTest::testConstructorRequiresProductRepository":0,"Tests\\Unit\\Domain\\Banner\\BannerRepositoryTest::testFindReturnsBannerWithTranslations":0.001,"Tests\\Unit\\Domain\\Banner\\BannerRepositoryTest::testFindReturnsNullWhenNotFound":0,"Tests\\Unit\\Domain\\Banner\\BannerRepositoryTest::testDeleteReturnsTrue":0.002,"Tests\\Unit\\Domain\\Banner\\BannerRepositoryTest::testSaveInsertsNewBanner":0,"Tests\\Unit\\Domain\\Cache\\CacheRepositoryTest::testClearCacheWithRedis":0.001,"Tests\\Unit\\Domain\\Cache\\CacheRepositoryTest::testClearCacheRedisUnavailable":0,"Tests\\Unit\\Domain\\Cache\\CacheRepositoryTest::testClearCacheWithoutRedis":0,"Tests\\Unit\\Domain\\Cache\\CacheRepositoryTest::testClearCacheReturnStructure":0,"Tests\\Unit\\Domain\\Settings\\SettingsRepositoryTest::testCanBeInstantiated":0.001,"Tests\\Unit\\Domain\\Settings\\SettingsRepositoryTest::testHasSaveSettingsMethod":0,"Tests\\Unit\\Domain\\Settings\\SettingsRepositoryTest::testHasGetSettingsMethod":0,"Tests\\Unit\\admin\\Controllers\\SettingsControllerTest::testConstructorAcceptsRepository":0.001,"Tests\\Unit\\admin\\Controllers\\SettingsControllerTest::testHasClearCacheMethod":0,"Tests\\Unit\\admin\\Controllers\\SettingsControllerTest::testHasClearCacheAjaxMethod":0,"Tests\\Unit\\admin\\Controllers\\SettingsControllerTest::testHasSaveMethod":0,"Tests\\Unit\\admin\\Controllers\\SettingsControllerTest::testHasViewMethod":0,"Tests\\Unit\\admin\\Controllers\\SettingsControllerTest::testIsNotAbstract":0,"Tests\\Unit\\admin\\Controllers\\SettingsControllerTest::testActionMethodReturnTypes":0,"Tests\\Unit\\admin\\Controllers\\ArticlesControllerTest::testCanCreateController":0.001,"Tests\\Unit\\admin\\Controllers\\ArticlesControllerTest::testHasListMethod":0,"Tests\\Unit\\admin\\Controllers\\ArticlesControllerTest::testListMethodReturnType":0,"Tests\\Unit\\admin\\Controllers\\ArticlesControllerTest::testHasEditMethod":0,"Tests\\Unit\\admin\\Controllers\\ArticlesControllerTest::testEditMethodReturnType":0,"Tests\\Unit\\admin\\Controllers\\ArticlesControllerTest::testConstructorAcceptsRepository":0,"Tests\\Unit\\admin\\Controllers\\ArticlesControllerTest::testConstructorRequiresArticleRepository":0,"Tests\\Unit\\Domain\\Article\\ArticleRepositoryTest::testFindReturnsArticleWithRelations":0.003,"Tests\\Unit\\Domain\\Article\\ArticleRepositoryTest::testFindReturnsNullWhenArticleDoesNotExist":0,"Tests\\Unit\\Domain\\Article\\ArticleRepositoryTest::testDeleteNonassignedFilesDeletesDbRows":0,"Tests\\Unit\\Domain\\Article\\ArticleRepositoryTest::testDeleteNonassignedImagesDeletesDbRows":0}} \ No newline at end of file +{"version":1,"defects":{"Tests\\Unit\\Domain\\Article\\ArticleRepositoryTest::testSaveCreatesNewArticle":3,"Tests\\Unit\\Domain\\Article\\ArticleRepositoryTest::testSaveUpdatesExistingArticle":3,"Tests\\Unit\\Domain\\Article\\ArticleRepositoryTest::testSaveTranslationsInsertsForNewArticle":4,"Tests\\Unit\\Domain\\Article\\ArticleRepositoryTest::testSaveTranslationsUpsertsForExistingArticle":4,"Tests\\Unit\\Domain\\Article\\ArticleRepositoryTest::testSavePagesForNewArticle":4,"Tests\\Unit\\Domain\\Article\\ArticleRepositoryTest::testSaveDeletesMarkedImagesOnUpdate":4},"times":{"Tests\\Unit\\Domain\\Product\\ProductRepositoryTest::testGetQuantityReturnsCorrectValue":0.001,"Tests\\Unit\\Domain\\Product\\ProductRepositoryTest::testGetQuantityReturnsNullWhenProductNotFound":0,"Tests\\Unit\\Domain\\Product\\ProductRepositoryTest::testFindReturnsProductData":0,"Tests\\Unit\\Domain\\Product\\ProductRepositoryTest::testUpdateQuantitySuccess":0,"Tests\\Unit\\Domain\\Product\\ProductRepositoryTest::testGetPriceReturnsRegularPrice":0,"Tests\\Unit\\Domain\\Product\\ProductRepositoryTest::testGetPriceReturnsPromoPrice":0,"Tests\\Unit\\Domain\\Product\\ProductRepositoryTest::testGetPriceReturnsRegularWhenPromoIsHigher":0,"Tests\\Unit\\Domain\\Product\\ProductRepositoryTest::testGetPriceReturnsNullWhenNotFound":0,"Tests\\Unit\\Domain\\Product\\ProductRepositoryTest::testGetNameReturnsProductName":0,"Tests\\Unit\\Domain\\Product\\ProductRepositoryTest::testGetNameReturnsNullWhenNotFound":0,"Tests\\Unit\\Domain\\Product\\ProductRepositoryTest::testGetQuantityReturnsInteger":0,"Tests\\Unit\\Domain\\Product\\ProductRepositoryTest::testUnarchiveUpdatesProductAndChildren":0,"Tests\\Unit\\Domain\\Product\\ProductRepositoryTest::testArchiveUpdatesProductAndChildren":0,"Tests\\Unit\\Domain\\Product\\ProductRepositoryTest::testUnarchiveReturnsBool":0,"Tests\\Unit\\Domain\\Product\\ProductRepositoryTest::testArchiveReturnsBool":0,"Tests\\Unit\\admin\\Controllers\\ProductArchiveControllerTest::testConstructorAcceptsRepository":0.001,"Tests\\Unit\\admin\\Controllers\\ProductArchiveControllerTest::testHasListMethod":0,"Tests\\Unit\\admin\\Controllers\\ProductArchiveControllerTest::testHasUnarchiveMethod":0,"Tests\\Unit\\admin\\Controllers\\ProductArchiveControllerTest::testListMethodReturnType":0,"Tests\\Unit\\admin\\Controllers\\ProductArchiveControllerTest::testUnarchiveMethodReturnType":0,"Tests\\Unit\\admin\\Controllers\\ProductArchiveControllerTest::testConstructorRequiresProductRepository":0,"Tests\\Unit\\Domain\\Banner\\BannerRepositoryTest::testFindReturnsBannerWithTranslations":0.001,"Tests\\Unit\\Domain\\Banner\\BannerRepositoryTest::testFindReturnsNullWhenNotFound":0,"Tests\\Unit\\Domain\\Banner\\BannerRepositoryTest::testDeleteReturnsTrue":0.002,"Tests\\Unit\\Domain\\Banner\\BannerRepositoryTest::testSaveInsertsNewBanner":0,"Tests\\Unit\\Domain\\Cache\\CacheRepositoryTest::testClearCacheWithRedis":0.001,"Tests\\Unit\\Domain\\Cache\\CacheRepositoryTest::testClearCacheRedisUnavailable":0,"Tests\\Unit\\Domain\\Cache\\CacheRepositoryTest::testClearCacheWithoutRedis":0,"Tests\\Unit\\Domain\\Cache\\CacheRepositoryTest::testClearCacheReturnStructure":0,"Tests\\Unit\\Domain\\Settings\\SettingsRepositoryTest::testCanBeInstantiated":0.001,"Tests\\Unit\\Domain\\Settings\\SettingsRepositoryTest::testHasSaveSettingsMethod":0,"Tests\\Unit\\Domain\\Settings\\SettingsRepositoryTest::testHasGetSettingsMethod":0,"Tests\\Unit\\admin\\Controllers\\SettingsControllerTest::testConstructorAcceptsRepository":0.001,"Tests\\Unit\\admin\\Controllers\\SettingsControllerTest::testHasClearCacheMethod":0,"Tests\\Unit\\admin\\Controllers\\SettingsControllerTest::testHasClearCacheAjaxMethod":0,"Tests\\Unit\\admin\\Controllers\\SettingsControllerTest::testHasSaveMethod":0,"Tests\\Unit\\admin\\Controllers\\SettingsControllerTest::testHasViewMethod":0,"Tests\\Unit\\admin\\Controllers\\SettingsControllerTest::testIsNotAbstract":0,"Tests\\Unit\\admin\\Controllers\\SettingsControllerTest::testActionMethodReturnTypes":0,"Tests\\Unit\\admin\\Controllers\\ArticlesControllerTest::testCanCreateController":0.001,"Tests\\Unit\\admin\\Controllers\\ArticlesControllerTest::testHasListMethod":0,"Tests\\Unit\\admin\\Controllers\\ArticlesControllerTest::testListMethodReturnType":0,"Tests\\Unit\\admin\\Controllers\\ArticlesControllerTest::testHasEditMethod":0,"Tests\\Unit\\admin\\Controllers\\ArticlesControllerTest::testEditMethodReturnType":0,"Tests\\Unit\\admin\\Controllers\\ArticlesControllerTest::testConstructorAcceptsRepository":0,"Tests\\Unit\\admin\\Controllers\\ArticlesControllerTest::testConstructorRequiresArticleRepository":0,"Tests\\Unit\\Domain\\Article\\ArticleRepositoryTest::testFindReturnsArticleWithRelations":0.004,"Tests\\Unit\\Domain\\Article\\ArticleRepositoryTest::testFindReturnsNullWhenArticleDoesNotExist":0,"Tests\\Unit\\Domain\\Article\\ArticleRepositoryTest::testDeleteNonassignedFilesDeletesDbRows":0,"Tests\\Unit\\Domain\\Article\\ArticleRepositoryTest::testDeleteNonassignedImagesDeletesDbRows":0,"Tests\\Unit\\Domain\\Article\\ArticleRepositoryTest::testSaveCreatesNewArticle":0.001,"Tests\\Unit\\Domain\\Article\\ArticleRepositoryTest::testSaveReturnsZeroWhenInsertFails":0,"Tests\\Unit\\Domain\\Article\\ArticleRepositoryTest::testSaveUpdatesExistingArticle":0,"Tests\\Unit\\Domain\\Article\\ArticleRepositoryTest::testSaveTranslationsInsertsForNewArticle":0,"Tests\\Unit\\Domain\\Article\\ArticleRepositoryTest::testSaveTranslationsUpsertsForExistingArticle":0,"Tests\\Unit\\Domain\\Article\\ArticleRepositoryTest::testSavePagesForNewArticle":0,"Tests\\Unit\\Domain\\Article\\ArticleRepositoryTest::testSaveDeletesMarkedImagesOnUpdate":0,"Tests\\Unit\\Domain\\Article\\ArticleRepositoryTest::testArchiveSetsStatusToMinusOne":0,"Tests\\Unit\\Domain\\Article\\ArticleRepositoryTest::testArchiveReturnsFalseWhenUpdateFails":0}} \ No newline at end of file diff --git a/updates/0.20/ver_0.244.zip b/updates/0.20/ver_0.244.zip new file mode 100644 index 0000000000000000000000000000000000000000..07a3da259d31a80d46b440193f130f0a25c72a5b GIT binary patch literal 9040 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 literal 0 HcmV?d00001 diff --git a/updates/changelog.php b/updates/changelog.php index c752bac..b567ed7 100644 --- a/updates/changelog.php +++ b/updates/changelog.php @@ -1,4 +1,9 @@ -ver. 0.243
+ver. 0.244
+- UPDATE - refaktoryzacja: article_save przeniesiony do Domain\Article\ArticleRepository::save() z prywatnymi helperami +- UPDATE - refaktoryzacja: article_delete przeniesiony do Domain\Article\ArticleRepository::archive() +- UPDATE - ArticlesController: nowe akcje save() i delete() z DI +- UPDATE - admin\factory\Articles::article_save() i articles_set_archive() delegują do repozytorium (kompatybilność) +
ver. 0.243
- UPDATE - refaktoryzacja: cleanup nieprzypisanych plików/zdjęć artykułów przeniesiony do Domain\Article\ArticleRepository - UPDATE - ArticlesController::edit() używa repozytorium do cleanupu, a admin\factory\Articles zachowuje delegowanie (kompatybilność)
ver. 0.242
diff --git a/updates/versions.php b/updates/versions.php index a94dc14..5af97b3 100644 --- a/updates/versions.php +++ b/updates/versions.php @@ -1,5 +1,5 @@