Skip to content

Tidy DTO naming, suppressions, and gitignore#329

Draft
danielabbatt wants to merge 3 commits intomainfrom
claude/flamboyant-curie-752c24
Draft

Tidy DTO naming, suppressions, and gitignore#329
danielabbatt wants to merge 3 commits intomainfrom
claude/flamboyant-curie-752c24

Conversation

@danielabbatt
Copy link
Copy Markdown
Contributor

Summary

Best-practice cleanup pass across the library — no functional / wire-format changes.

  • Rename 11 camelCase DTO properties to PascalCase. They were bypassing the project's [DataMember(Name = "...")] convention and were hidden by an assembly-wide IDE1006 suppression. Wire format is unchanged via the existing DataMember attributes; the suppression is now removed so future stragglers fail the build.
  • Remove a redundant CA1848 suppression scoped to Meraki.Api.Data — the broader Meraki.Api suppression already covers it via namespaceanddescendants. Also drops a stale "TODO - remove this suppression" justification.
  • Delete two commented-out properties in SecureConnectDeploymentsSection.cs that had no rationale.
  • Document DTO property naming in CONTRIBUTING.md so the convention is explicit.
  • Ignore .claude/settings.local.json in .gitignore.
  • Minor: fix a "deserilize" typo in a suppression justification.

Breaking changes

Source-breaking for downstream consumers reading the renamed properties by their old camelCase names. JSON (de)serialization is unchanged.

Type Old → New
Authorization authorizedByEmailAuthorizedByEmail
CameraCustomAnalyticsParameters valueValue
ClientOverview usageUsage
ClientPolicyPolicyBySsid groupPolicyIdGroupPolicyId
LinkLayerNodeDiscoveredLldp managementAddressManagementAddress
MerakiVpnPeers networkIdNetworkId
NetworkCellularGatewayEsimsInventoryItem lastUpdatedAtLastUpdatedAt
OrganizationAssuranceAlertsOverviewHistoricalItemByAlertType typeType
SecureConnectDestinationList modifiedAtModifiedAt
SecureConnectTunnelClientAuthenticationParameters modifiedAtModifiedAt
VpnStats networkIdNetworkId

Worth a CHANGELOG note and a minor-version bump.

Test plan

  • dotnet build Meraki.Api/Meraki.Api.csproj -c Release — 0 warnings, 0 errors across netstandard2.0, net9.0, net10.0.
  • Run existing test suite in CI
  • Confirm no downstream internal consumer within the Panoramic Data org relies on the old camelCase property names

Eleven public DTO properties were written in camelCase, bypassing the
project's convention of PascalCase C# names with [DataMember(Name = "...")]
attributes preserving the wire format. An assembly-wide IDE1006 suppression
was masking them.

Renamed the properties, wire names unchanged via existing DataMember
attributes, and removed the blanket suppression. This is a source-breaking
change for consumers that read the old names (e.g. obj.networkId -> obj.NetworkId).
- Remove redundant CA1848 suppression scoped to Meraki.Api.Data; the
  broader Meraki.Api-scoped suppression already covers it via
  namespaceanddescendants. This also removes a stale "TODO - remove
  this suppression" justification.
- Delete two commented-out properties in SecureConnectDeploymentsSection
  that had no rationale; git history keeps them if they're ever needed.
- Add a "DTO property naming" section to CONTRIBUTING.md documenting
  PascalCase C# names with [DataMember(Name = "camelCase")] attributes.
- Fix a "deserilize" typo in the CA1056 suppression justification.
@codacy-production
Copy link
Copy Markdown

codacy-production Bot commented Apr 18, 2026

Up to standards ✅

🟢 Issues 0 issues

Results:
0 new issues

View in Codacy

🟢 Metrics 0 complexity · 0 duplication

Metric Results
Complexity 0
Duplication 0

View in Codacy

AI Reviewer: run a review on demand. To trigger the first review automatically, go to your organization or repository integration settings. AI can make mistakes. Always validate suggestions.

Run reviewer

TIP This summary will be updated as you push new changes. Give us feedback

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