Skip to content

refactor(model): unify field names for multi-cloud compatibility#152

Merged
mpyw merged 3 commits intomulticloudfrom
refactor/usecase-read-provider-interfaces
Jan 20, 2026
Merged

refactor(model): unify field names for multi-cloud compatibility#152
mpyw merged 3 commits intomulticloudfrom
refactor/usecase-read-provider-interfaces

Conversation

@mpyw
Copy link
Owner

@mpyw mpyw commented Jan 20, 2026

Summary

  • Rename Secret.VersionIDVersion (consistent with Parameter)
  • Rename Parameter.LastModifiedUpdatedAt
  • Rename Secret.CreatedDateCreatedAt
  • Add UpdatedAt field to Secret for providers that track both dates
  • Update all layers: model, provider, usecase, cli, gui

Motivation

The previous model types were too AWS-centric. This change makes the model layer truly provider-agnostic, supporting AWS, Azure, and GCP field semantics uniformly.

Test plan

  • go test ./... passes
  • make lint passes

🤖 Generated with Claude Code

mpyw and others added 2 commits January 20, 2026 09:01
- Change ShowClient interface to use provider.ParameterReader and
  provider.ParameterTagger instead of paramapi types
- Move version resolution logic (shift handling) to usecase layer
- Update ShowOutput to use string types for Version and Type
  (provider-agnostic, no longer tied to AWS-specific enums)
- Update CLI show command to use awsparam.NewAdapter
- Update GUI ParamShow to use awsparam.NewAdapter with parseInt64 helper
- Update all tests to use model.Parameter and model.AWSParameterMeta

Part of multi-cloud refactoring: PR #2 (Read UseCase Migration)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Rename Secret.VersionID to Version (consistent with Parameter)
- Rename Parameter.LastModified to UpdatedAt
- Rename Secret.CreatedDate to CreatedAt
- Add UpdatedAt field to Secret for providers that track both dates
- Update all layers: model, provider, usecase, cli, gui

This makes the model layer truly provider-agnostic, supporting
AWS, Azure, and GCP field semantics uniformly.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@github-actions github-actions bot added go Pull requests that update Go code cli CLI functionality gui GUI functionality param AWS Parameter Store related labels Jan 20, 2026
@codecov
Copy link

codecov bot commented Jan 20, 2026

Codecov Report

❌ Patch coverage is 88.48485% with 19 lines in your changes missing coverage. Please review.
✅ Project coverage is 87.82%. Comparing base (39c14f8) to head (7feffd0).
⚠️ Report is 1 commits behind head on multicloud.

Files with missing lines Patch % Lines
internal/provider/aws/secret/adapter.go 0.00% 16 Missing ⚠️
internal/provider/aws/param/adapter.go 75.00% 3 Missing ⚠️
Additional details and impacted files
@@              Coverage Diff               @@
##           multicloud     #152      +/-   ##
==============================================
+ Coverage       86.87%   87.82%   +0.94%     
==============================================
  Files             139      139              
  Lines            8198     8204       +6     
==============================================
+ Hits             7122     7205      +83     
+ Misses            831      753      -78     
- Partials          245      246       +1     
Flag Coverage Δ
e2e 65.46% <73.33%> (+0.92%) ⬆️
platform-darwin 64.38% <ø> (ø)
platform-linux 62.85% <ø> (ø)
platform-windows 73.46% <ø> (ø)
unittests 76.26% <75.75%> (+0.06%) ⬆️

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.

…ion helper

- Move version resolution logic from usecase to paramversion.GetParameterWithVersion()
- Update paramversion to use provider.ParameterReader interface
- Add ParamReader field to staging diff runner for version resolution
- Use hybrid approach in staging: Client for apply ops, Reader for version resolution
- Update all test files with correct mocks for new interfaces

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@github-actions github-actions bot added the staging Staging workflow functionality label Jan 20, 2026
@mpyw mpyw merged commit 53b8cf3 into multicloud Jan 20, 2026
25 checks passed
@mpyw mpyw deleted the refactor/usecase-read-provider-interfaces branch January 20, 2026 03:25
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 staging Staging workflow functionality

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant