feat(imagor): skip AI watermark in admin API context #42

Merged
csaeum merged 1 commit from feature/imagor-skip-admin-api into main 2026-08-09 17:25:31 +00:00
Owner

Closes #41.

Wunsch

Admin (Media-Modul etc.) soll immer Original-Bilder ohne Logo/Text zeigen, nur Storefront/Store-API bekommen die Kennzeichnung.

Fix

ImagorUrlBuilder::build() liefert null zurück, sobald der aktuelle Request (via RequestStack) aus dem Admin-API-Kontext kommt (_routeScope enthält api, Shopwares eigener Mechanismus zur Unterscheidung von Admin/Storefront/Store-API-Requests). Zentral an einer Stelle, greift damit gleichermaßen für den Basis-URL-Decorator (ImagorMediaUrlGenerator) und den Thumbnail-Hook (RemoteThumbnailUrlSubscriber).

Testplan

  • 59/59 Unit-Tests grün in DDEV, inkl. zweier neuer Tests (Admin-Scope → null, Storefront-Scope → Label wird gesetzt)
  • php -l
  • bin/console cache:clear mit komplett geleertem var/cache/dev* — DI-Container kompiliert fehlerfrei mit dem neuen request_stack-Argument
  • Live-Test nach Deploy: Admin-Media zeigt Originale, Storefront weiterhin mit Wasserzeichen
Closes #41. ## Wunsch Admin (Media-Modul etc.) soll immer Original-Bilder ohne Logo/Text zeigen, nur Storefront/Store-API bekommen die Kennzeichnung. ## Fix `ImagorUrlBuilder::build()` liefert `null` zurück, sobald der aktuelle Request (via `RequestStack`) aus dem Admin-API-Kontext kommt (`_routeScope` enthält `api`, Shopwares eigener Mechanismus zur Unterscheidung von Admin/Storefront/Store-API-Requests). Zentral an einer Stelle, greift damit gleichermaßen für den Basis-URL-Decorator (`ImagorMediaUrlGenerator`) und den Thumbnail-Hook (`RemoteThumbnailUrlSubscriber`). ## Testplan - [x] 59/59 Unit-Tests grün in DDEV, inkl. zweier neuer Tests (Admin-Scope → `null`, Storefront-Scope → Label wird gesetzt) - [x] `php -l` - [x] `bin/console cache:clear` mit komplett geleertem `var/cache/dev*` — DI-Container kompiliert fehlerfrei mit dem neuen `request_stack`-Argument - [ ] Live-Test nach Deploy: Admin-Media zeigt Originale, Storefront weiterhin mit Wasserzeichen
ImagorMediaUrlGenerator and RemoteThumbnailUrlSubscriber both route
through ImagorUrlBuilder::build() regardless of who requested the URL.
Now that remote_thumbnails routes every admin thumbnail through the same
code path, admin media listings showed the watermark too. build() now
returns null whenever the current request's _routeScope is the admin API,
via the injected RequestStack - storefront and store-api keep the label.
csaeum merged commit 9c39e59703 into main 2026-08-09 17:25:31 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
SW-Plugins/wsc_swplugin_aiseotools!42
No description provided.