Skip to content

fix: extract Shopmon integration management and adopt legacy credentials - #494

Merged
shyim merged 5 commits into
mainfrom
fix/shopmon-integration-lifecycle
Oct 24, 2026
Merged

shyim merged 5 commits into
mainfrom
fix/shopmon-integration-lifecycle

Conversation

@shyim

@shyim shyim commented Oct 23, 2026

Copy link
Copy Markdown
Member

Move Shopmon integration management from the controller into ShopmonIntegrationService. Installation and updates refresh the dedicated ACL role and create an integration automatically when both SHOPMON_ACCESS_KEY and SHOPMON_ACCESS_SECRET are set.

Adopt existing FroshShopmon integrations and their stored setup data without rotating credentials or creating duplicates. Repeated manual setup also preserves credentials. Removal cleans up the integration, role, and configuration for both plugins.

The README documents environment setup and the requirement to keep user data when uninstalling FroshShopmon, whose uninstall routine otherwise deletes the adopted integration.

Validation: full PHP suite passed on Shopware 6.7 / PHP 8.3: 439 tests, 5,066 assertions, one skipped. Includes regression coverage for legacy adoption, credential preservation, ACL updates, environment-based setup, malformed configuration, and removal.

@shyim
shyim marked this pull request as ready for review October 23, 2026 18:16
@greptile-apps

greptile-apps Bot commented Oct 23, 2026 •

Copy link
Copy Markdown
Contributor

RetriggerView in GreptileConfidence Score: 5/5

[Medium impact] The changes since the previous review appear safe to merge.

Summary

Moves Shopmon setup, status, and removal into ShopmonIntegrationService.

  • Shopmon setup keeps matching credentials and adopts legacy integrations.
  • FroshTools initializes Shopmon during install and update.

Since the previous review, the only change extracts the existing permissions list into PERMISSIONS. No new issues were found. No previous review threads were supplied.

Diagram

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A[Plugin installation or update] --> B[Initialize Shopmon]
    B --> C{Existing integration?}
    C -->|Yes| D[Refresh permissions and preserve credentials]
    C -->|No| E{Both environment credentials set?}
    E -->|Yes| F[Create integration and save setup data]
    E -->|No| G[Leave shop unconfigured]
    H[Manual setup] --> I[Reuse stored credentials or create credentials]
    J[Remove integration] --> K[Delete integrations, roles, and both plugins' settings]
Loading

Reviews (4) · Last reviewed commit: "refactor: define Shopmon permissions as ..." · Reviewed by Greptile

@shyim

shyim commented Oct 23, 2026

Copy link
Copy Markdown
Member Author

@frosh-ci fix-cs

@frosh-automation

Copy link
Copy Markdown
Contributor

Code style has been fixed and pushed to the branch.

@shyim
shyim merged commit 7775e65 into main Oct 24, 2026
13 checks passed
@shyim
shyim deleted the fix/shopmon-integration-lifecycle branch October 24, 2026 05:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant