Skip to content

refactor(usecase): migrate tag operations to provider interfaces#147

Merged
mpyw merged 1 commit intomulticloudfrom
refactor/usecase-tag-provider-interfaces
Jan 19, 2026
Merged

refactor(usecase): migrate tag operations to provider interfaces#147
mpyw merged 1 commit intomulticloudfrom
refactor/usecase-tag-provider-interfaces

Conversation

@mpyw
Copy link
Owner

@mpyw mpyw commented Jan 19, 2026

Summary

  • Migrate param and secret TagUseCase to use provider.ParameterTagger and provider.SecretTagger interfaces
  • Add NewParamAdapter() and NewSecretAdapter() factory functions to infra package
  • Update CLI commands and GUI to use adapters instead of raw AWS clients
  • Simplify test mocks to implement provider interfaces (~160 lines reduced)

Test plan

  • All existing tests pass (make test)
  • Lint passes (make lint)
  • Build succeeds (go build ./...)

🤖 Generated with Claude Code

@github-actions github-actions bot added go Pull requests that update Go code cli CLI functionality gui GUI functionality param AWS Parameter Store related secret AWS Secrets Manager related labels Jan 19, 2026
@codecov
Copy link

codecov bot commented Jan 19, 2026

Codecov Report

❌ Patch coverage is 81.81818% with 4 lines in your changes missing coverage. Please review.
✅ Project coverage is 87.14%. Comparing base (f2021f7) to head (f6dc176).
⚠️ Report is 1 commits behind head on multicloud.

Files with missing lines Patch % Lines
internal/provider/aws/param/adapter.go 60.00% 1 Missing and 1 partial ⚠️
internal/provider/aws/secret/adapter.go 60.00% 1 Missing and 1 partial ⚠️
Additional details and impacted files
@@              Coverage Diff               @@
##           multicloud     #147      +/-   ##
==============================================
+ Coverage       86.60%   87.14%   +0.54%     
==============================================
  Files             139      139              
  Lines            8195     8170      -25     
==============================================
+ Hits             7097     7120      +23     
+ Misses            855      806      -49     
- Partials          243      244       +1     
Flag Coverage Δ
e2e 64.75% <81.81%> (-2.73%) ⬇️
platform-darwin 64.38% <ø> (ø)
platform-linux 62.85% <ø> (ø)
platform-windows 73.46% <ø> (ø)
unittests 76.43% <18.18%> (-0.18%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

- Update param and secret TagUseCase to use provider.ParameterTagger
  and provider.SecretTagger interfaces instead of AWS SDK types
- Add NewAdapter() factory functions to provider/aws/param and
  provider/aws/secret packages (moved from infra package)
- Update CLI commands (tag, untag) and GUI to use new adapter locations
- Simplify test mocks to implement provider interfaces

This reduces coupling to AWS SDK and prepares for multi-cloud support.
Code reduced by ~160 lines while improving maintainability.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@mpyw mpyw force-pushed the refactor/usecase-tag-provider-interfaces branch from e6f2531 to f6dc176 Compare January 19, 2026 03:38
@mpyw mpyw merged commit 53ecc39 into multicloud Jan 19, 2026
24 of 25 checks passed
@mpyw mpyw deleted the refactor/usecase-tag-provider-interfaces branch January 19, 2026 04:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cli CLI functionality go Pull requests that update Go code gui GUI functionality param AWS Parameter Store related secret AWS Secrets Manager related

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant