Skip to content

[FEATURE] Tag-based response cache for GET endpoints (#146) - #147

Merged
klamparski merged 6 commits into
release/5.0.0from
146-feature-tag-based-response-cache-for-get-endpoints
Jul 17, 2026
Merged

[FEATURE] Tag-based response cache for GET endpoints (#146)#147
klamparski merged 6 commits into
release/5.0.0from
146-feature-tag-based-response-cache-for-get-endpoints

[BUGFIX] Raise minimum typo3/cms-core to 12.4.18 to fix PHP 8.4 compa…

418624b
Select commit
Loading
Failed to load commit list.
SonarQubeCloud / SonarCloud Code Analysis succeeded Jul 15, 2026 in 23s

Annotations

Check warning on line 15 in Tests/Functional/Domain/Repository/ApiResourceRepositoryTest.php

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Complete the task associated to this "TODO" comment.

See more on https://sonarcloud.io/project/issues?id=sourcebroker_t3api&issues=AZ9ikiVgG8KTb5wKGSod&open=AZ9ikiVgG8KTb5wKGSod&pullRequest=147

Check warning on line 471 in Tests/Unit/Service/ResponseCacheServiceTest.php

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Make sure that this accessibility update is safe here.

See more on https://sonarcloud.io/project/issues?id=sourcebroker_t3api&issues=AZ9ikiWsG8KTb5wKGSo5&open=AZ9ikiWsG8KTb5wKGSo5&pullRequest=147

Check failure on line 399 in Tests/Unit/Service/OperationResponseCacheTest.php

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Define a constant instead of duplicating this literal "thisFunctionDoesNotExist()" 3 times.

See more on https://sonarcloud.io/project/issues?id=sourcebroker_t3api&issues=AZ9ikiWYG8KTb5wKGSow&open=AZ9ikiWYG8KTb5wKGSow&pullRequest=147

Check failure on line 279 in Tests/Unit/Service/ResponseCacheServiceTest.php

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Define a constant instead of duplicating this literal "https://example.com/_api/books/5" 3 times.

See more on https://sonarcloud.io/project/issues?id=sourcebroker_t3api&issues=AZ9ikiWsG8KTb5wKGSo8&open=AZ9ikiWsG8KTb5wKGSo8&pullRequest=147

Check warning on line 974 in Tests/Unit/Service/OperationResponseCacheTest.php

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Remove the unused function parameter "$calledOperation".

See more on https://sonarcloud.io/project/issues?id=sourcebroker_t3api&issues=AZ9ikiWYG8KTb5wKGSo3&open=AZ9ikiWYG8KTb5wKGSo3&pullRequest=147

Check failure on line 34 in Tests/Unit/Domain/Model/ResponseCacheSettingsTest.php

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Define a constant instead of duplicating this literal "request.query.get('nocache') == null" 4 times.

See more on https://sonarcloud.io/project/issues?id=sourcebroker_t3api&issues=AZ9ikiWMG8KTb5wKGSoq&open=AZ9ikiWMG8KTb5wKGSoq&pullRequest=147

Check warning on line 21 in Classes/Service/ResponseCacheService.php

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Class "ResponseCacheService" has 23 methods, which is greater than 20 authorized. Split it into smaller classes.

See more on https://sonarcloud.io/project/issues?id=sourcebroker_t3api&issues=AZ9ikiUzG8KTb5wKGSoW&open=AZ9ikiUzG8KTb5wKGSoW&pullRequest=147

Check failure on line 82 in Tests/Functional/Dispatcher/ResponseCacheDispatcherTest.php

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Define a constant instead of duplicating this literal "First book" 11 times.

See more on https://sonarcloud.io/project/issues?id=sourcebroker_t3api&issues=AZ9ikiV8G8KTb5wKGSoi&open=AZ9ikiV8G8KTb5wKGSoi&pullRequest=147

Check failure on line 36 in Tests/Unit/Domain/Model/ResponseCacheSettingsTest.php

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Define a constant instead of duplicating this literal "request.headers.get('X-App-Version')" 5 times.

See more on https://sonarcloud.io/project/issues?id=sourcebroker_t3api&issues=AZ9ikiWMG8KTb5wKGSom&open=AZ9ikiWMG8KTb5wKGSom&pullRequest=147

Check warning on line 51 in Classes/Service/OperationResponseCache.php

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

This method has 4 returns, which is more than the 3 allowed.

See more on https://sonarcloud.io/project/issues?id=sourcebroker_t3api&issues=AZ9ikiS3G8KTb5wKGSoU&open=AZ9ikiS3G8KTb5wKGSoU&pullRequest=147

Check warning on line 976 in Tests/Unit/Service/OperationResponseCacheTest.php

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Define and throw a dedicated exception instead of using a generic one.

See more on https://sonarcloud.io/project/issues?id=sourcebroker_t3api&issues=AZ9ikiWYG8KTb5wKGSos&open=AZ9ikiWYG8KTb5wKGSos&pullRequest=147

Check failure on line 73 in Tests/Unit/Service/OperationResponseCacheTest.php

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Define a constant instead of duplicating this literal "{"fresh":true}" 64 times.

See more on https://sonarcloud.io/project/issues?id=sourcebroker_t3api&issues=AZ9ikiWYG8KTb5wKGSou&open=AZ9ikiWYG8KTb5wKGSou&pullRequest=147

Check warning on line 456 in Tests/Unit/Service/OperationResponseCacheTest.php

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Remove the unused function parameter "$route".

See more on https://sonarcloud.io/project/issues?id=sourcebroker_t3api&issues=AZ9ikiWYG8KTb5wKGSo1&open=AZ9ikiWYG8KTb5wKGSo1&pullRequest=147

Check warning on line 7 in Tests/Functional/Fixtures/Extensions/t3api_response_cache_test/ext_tables.sql

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Use VARCHAR2 instead of VARCHAR.

See more on https://sonarcloud.io/project/issues?id=sourcebroker_t3api&issues=AZ9ikiVrG8KTb5wKGSoe&open=AZ9ikiVrG8KTb5wKGSoe&pullRequest=147

Check failure on line 41 in Tests/Unit/Domain/Model/ResponseCacheSettingsTest.php

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Define a constant instead of duplicating this literal "'author_' ~ object.getAuthor().getUid()" 6 times.

See more on https://sonarcloud.io/project/issues?id=sourcebroker_t3api&issues=AZ9ikiWMG8KTb5wKGSop&open=AZ9ikiWMG8KTb5wKGSop&pullRequest=147

Check warning on line 17 in Classes/Hook/ResponseCacheDataHandlerHook.php

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Rename function "processDatamap_afterDatabaseOperations" to match the regular expression ^[a-z][a-zA-Z0-9]*$.

See more on https://sonarcloud.io/project/issues?id=sourcebroker_t3api&issues=AZ9ikiVEG8KTb5wKGSoZ&open=AZ9ikiVEG8KTb5wKGSoZ&pullRequest=147

Check failure on line 70 in Tests/Unit/Service/OperationResponseCacheTest.php

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Define a constant instead of duplicating this literal "{"cached":true}" 7 times.

See more on https://sonarcloud.io/project/issues?id=sourcebroker_t3api&issues=AZ9ikiWYG8KTb5wKGSoy&open=AZ9ikiWYG8KTb5wKGSoy&pullRequest=147

Check warning on line 456 in Tests/Unit/Service/OperationResponseCacheTest.php

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Remove the unused function parameter "$expressions".

See more on https://sonarcloud.io/project/issues?id=sourcebroker_t3api&issues=AZ9ikiWYG8KTb5wKGSoz&open=AZ9ikiWYG8KTb5wKGSoz&pullRequest=147

Check failure on line 34 in Tests/Unit/Domain/Model/CacheInvalidationSettingsTest.php

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Define a constant instead of duplicating this literal "'fe_user_' ~ user.getUid()" 4 times.

See more on https://sonarcloud.io/project/issues?id=sourcebroker_t3api&issues=AZ9ikiWEG8KTb5wKGSol&open=AZ9ikiWEG8KTb5wKGSol&pullRequest=147

Check failure on line 211 in Tests/Unit/Service/ResponseCacheServiceTest.php

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Define a constant instead of duplicating this literal "request.headers.get('X-App-Version')" 4 times.

See more on https://sonarcloud.io/project/issues?id=sourcebroker_t3api&issues=AZ9ikiWsG8KTb5wKGSo6&open=AZ9ikiWsG8KTb5wKGSo6&pullRequest=147

Check failure on line 205 in Tests/Unit/Domain/Model/ResponseCacheSettingsTest.php

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Define a constant instead of duplicating this literal "'resource_' ~ user.getUid()" 3 times.

See more on https://sonarcloud.io/project/issues?id=sourcebroker_t3api&issues=AZ9ikiWMG8KTb5wKGSoo&open=AZ9ikiWMG8KTb5wKGSoo&pullRequest=147

Check warning on line 59 in Classes/Service/ExpressionLanguageService.php

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Either remove or fill this block of code.

See more on https://sonarcloud.io/project/issues?id=sourcebroker_t3api&issues=AZ9ikiU7G8KTb5wKGSoY&open=AZ9ikiU7G8KTb5wKGSoY&pullRequest=147

Check failure on line 45 in Tests/Unit/Service/ApiResourceConfigurationValidatorTest.php

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Define a constant instead of duplicating this literal "Vendor\\Ext\\Domain\\Model\\Book" 6 times.

See more on https://sonarcloud.io/project/issues?id=sourcebroker_t3api&issues=AZ9ikiWhG8KTb5wKGSo4&open=AZ9ikiWhG8KTb5wKGSo4&pullRequest=147

Check warning on line 89 in Classes/Hook/ResponseCacheDataHandlerHook.php

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

Remove the unused function parameter "$dataHandler".

See more on https://sonarcloud.io/project/issues?id=sourcebroker_t3api&issues=AZ9ikiVEG8KTb5wKGSoc&open=AZ9ikiVEG8KTb5wKGSoc&pullRequest=147

Check warning on line 36 in Classes/Service/ResponseCacheService.php

See this annotation in the file changed.

@sonarqubecloud sonarqubecloud / SonarCloud Code Analysis

This method has 5 returns, which is more than the 3 allowed.

See more on https://sonarcloud.io/project/issues?id=sourcebroker_t3api&issues=AZ9ikiUzG8KTb5wKGSoV&open=AZ9ikiUzG8KTb5wKGSoV&pullRequest=147