Skip to content

docs(small modules): document the remaining undocumented fields in 6 short modules#94

Merged
joshrotenberg merged 1 commit into
mainfrom
docs/missing-field-docs-small-modules
May 19, 2026
Merged

docs(small modules): document the remaining undocumented fields in 6 short modules#94
joshrotenberg merged 1 commit into
mainfrom
docs/missing-field-docs-small-modules

Conversation

@joshrotenberg
Copy link
Copy Markdown
Contributor

Summary

Closes the missing-docs errors in the six smaller modules (everything except the four big request/response files and users.rs).

Module Errors closed
src/account.rs 12
src/acl.rs 9
src/cloud_accounts.rs 3
src/connectivity/psc.rs 3
src/connectivity/transit_gateway.rs 2
src/connectivity/vpc_peering.rs 2
Total 31

Strict-lint missing-docs error count on main: 368 → 337.

Notes

  • Used replace_all to apply a consistent doc to the 6 read-only command_type fields in acl.rs — they have the same meaning across every request struct.
  • Path-mirrored ID fields (user_id, role_id, redis_rule_id, subscription_id, etc.) on update requests are all documented as "server-populated from the path".
  • No code or wire-shape changes.

Remaining #80 work

After this PR plus #91 (already merged: connectivity/mod.rs), #92 (already merged: types.rs), the remaining errors are concentrated in:

  • src/fixed/databases.rs (70)
  • src/fixed/subscriptions.rs (65)
  • src/flexible/databases.rs (62)
  • src/flexible/subscriptions.rs (52)
  • src/users.rs (21)

These ship as separate per-module PRs.

Test plan

  • cargo fmt --all -- --check
  • cargo clippy --workspace --all-targets -- -D warnings
  • cargo test --workspace — all pass

Refs #80

…short modules

Adds field-level docstrings to all 31 of the missing-docs errors
concentrated in the smaller modules:

- src/account.rs (12): the AccountSystemLogEntry log-event fields
  (id/time/originator/api_key_name/resource/r#type/description),
  ModulesData.modules, Regions.regions, PaymentMethods.account_id,
  AccountSystemLogEntries.entries, AccountSessionLogEntries.entries.
- src/acl.rs (9): the 6 read-only command_type fields (one blanket
  doc applied via replace_all since the field has the same meaning
  across every request struct), plus user_id/redis_rule_id/role_id
  on the AclUserUpdateRequest, AclRedisRuleUpdateRequest, and the
  role update request — all 'server-populated from path' fields.
- src/cloud_accounts.rs (3): cloud_account_id on the update request,
  plus the two command_type fields on create/update request bodies.
- src/connectivity/psc.rs (3): PscEndpointUpdateRequest's three
  path-mirrored IDs (subscription_id, psc_service_id, endpoint_id).
- src/connectivity/transit_gateway.rs (2): Cidr.cidr_address and
  TgwUpdateCidrsRequest.command_type.
- src/connectivity/vpc_peering.rs (2): VpcPeeringUpdateAwsRequest's
  subscription_id and command_type.

Strict-lint missing-docs error count drops from 368 to 337 on main.

The remaining ~270 errors are concentrated in the four large
request/response modules (fixed/databases, fixed/subscriptions,
flexible/databases, flexible/subscriptions) plus users.rs. Those
ship as separate per-module PRs.

Refs #80 (rustdoc umbrella — P0 missing-docs slice for small modules)
@joshrotenberg joshrotenberg merged commit 4c081aa into main May 19, 2026
8 checks passed
@joshrotenberg joshrotenberg deleted the docs/missing-field-docs-small-modules branch May 19, 2026 18:33
joshrotenberg added a commit that referenced this pull request May 19, 2026
…e models (#95)

Closes the 21 missing-docs errors in src/users.rs. Now every field on
AccountUserUpdateRequest, AccountUsers, AccountUserOptions, the local
TaskStateUpdate copy, and AccountUser carries a brief description.

Highlights:

- user_id on update request: 'server-populated from path' pattern
  consistent with the other update-request structs in the crate.
- command_type on update: read-only response field with an example
  operation type, matching the convention applied in
  cloud_accounts/acl/connectivity update requests.
- AccountUserOptions: documents the four notification/access flags
  (billing, email_alerts, operational_emails, mfa_enabled) so callers
  know what each toggle controls.
- AccountUser: documents the eight user-record fields (id/name/email
  /role/sign_up/user_type/has_api_key/options) with realistic
  examples for the enum-like string fields.
- The local TaskStateUpdate copy is doc-noted as a duplicate of
  crate::types::TaskStateUpdate, with a pointer to #64 for the
  canonical-type consolidation.

Strict-lint missing-docs error count drops by 21 (302 → 281 on main).
After this and #94 merge, all remaining errors are concentrated in
the four large request/response modules (fixed/databases,
fixed/subscriptions, flexible/databases, flexible/subscriptions).

Refs #80 (rustdoc umbrella — P0 missing-docs slice for users.rs)
Refs #64 (canonical task type)
joshrotenberg added a commit that referenced this pull request May 19, 2026
…les (#96)

Add field-level rustdoc to the four largest model modules so the crate
compiles cleanly under `RUSTDOCFLAGS="-D missing_docs"`:

- `src/fixed/databases.rs`
- `src/fixed/subscriptions.rs`
- `src/flexible/databases.rs`
- `src/flexible/subscriptions.rs`

Closes the missing-docs gap for these files (249 -> 0) using the
conventions established in #92 and #94 — short, factual one-liners,
`subscription_id`/`database_id` on request bodies noted as
"Server-populated from the path", `command_type` documented as a
read-only server-set discriminator, and nested structs linked via
intra-doc references.

Pure docs change: no struct fields, types, or wire shapes were
modified. Refs #80.
joshrotenberg added a commit that referenced this pull request May 19, 2026
…nks (#98)

All 368 missing-docs errors surfaced by the 2026-05 review are now
closed across the cloud crate (#90, #91, #92, #93, #94, #95, #96).
This commit promotes those lints to compile errors so the bar
cannot regress without a deliberate decision.

- Adds #![deny(missing_docs)] to lib.rs — every public item must
  carry a docstring.
- Adds #![deny(rustdoc::broken_intra_doc_links)] — the intra-doc
  links added throughout the rustdoc pass (TaskStateUpdate ↔
  TaskStatus, ConnectivityHandler delegation pointers, etc.) stay
  valid going forward.

No source-level behavior changes. cargo fmt, cargo clippy
--workspace --all-targets -- -D warnings, cargo test --workspace,
and cargo doc --no-deps all pass.

Closes #80
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